From: drh Date: Tue, 13 Oct 2009 15:36:51 +0000 (+0000) Subject: When a write transaction fails to being because the database is read-only, X-Git-Tag: fts3-refactor~101 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=9e9f1bd1c0ea5d2a012f103108bfb183915eebb8;p=thirdparty%2Fsqlite.git When a write transaction fails to being because the database is read-only, fail right away. Do not give the error code an opportunity to be overwritten with SQLITE_OK. Ticket [5ee23731f15]. FossilOrigin-Name: bc1101179abb4577417c971a7e4fbacde50e19a2 --- diff --git a/manifest b/manifest index 7e4c87ffbf..dcaf1a2b3e 100644 --- a/manifest +++ b/manifest @@ -1,8 +1,8 @@ -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 -C Suppress\ssome\sharmless\scompiler\swarnings. -D 2009-10-13T13:08:19 +C When\sa\swrite\stransaction\sfails\sto\sbeing\sbecause\sthe\sdatabase\sis\sread-only,\nfail\sright\saway.\s\sDo\snot\sgive\sthe\serror\scode\san\sopportunity\sto\sbe\noverwritten\swith\sSQLITE_OK.\s\sTicket\s[5ee23731f15]. +D 2009-10-13T15:36:52 F Makefile.arm-wince-mingw32ce-gcc fcd5e9cd67fe88836360bb4f9ef4cb7f8e2fb5a0 F Makefile.in 4ca3f1dd6efa2075bcb27f4dc43eef749877740d F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654 @@ -209,7 +209,7 @@ F src/update.c 2c8a64237e4fae604468d14380b877d169545b63 F src/utf.c 99cf927eabb104621ba889ac0dd075fc1657ad30 F src/util.c 59d4e9456bf1fe581f415a783fa0cee6115c8f35 F src/vacuum.c 869d08eaab64e2a4eaf4ef9ea34b851892b65a75 -F src/vdbe.c df2824f4f8b38f313aea5f6ce651bff20eb29715 +F src/vdbe.c 93fb0b490db0e27291d5240b00320a378199e0b8 F src/vdbe.h 7d5075e3fa4e5587a9be8d5e503857c825490cef F src/vdbeInt.h 7afb76c0296f9a2310e565803fa66798ef47e9d5 F src/vdbeapi.c 524d79eb17bbcbe31c37c908b8e01edc5c684a90 @@ -759,14 +759,14 @@ F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224 F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f -P 16254ad5aad355acedf72e0a1c618438041d5889 -R 4f8e7e65dc8d019f2765d8b855b372d8 +P 5d381daa6e5248ec171aa682e2dad058d4012f24 +R 82aefe732ff2b55891702d5cb2bd1d26 U drh -Z 4b1e05ae87c2ba51322519f78eeb4596 +Z f616115b8c448ae264a6a089ef3b0977 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux) -iD8DBQFK1HvGoxKgR168RlERAnAxAKCA0AURoDspoLahsP60GNKqD6FfcACbBQn5 -JrHiMxbaVUJo9UuTfq5SOxQ= -=D6iI +iD8DBQFK1J6boxKgR168RlERAo9iAJ9WIMlx71E2TQm57QHZDmfdzis5XgCePK7n +LwSyII4j0UCsbTnAweHtMWg= +=DxJy -----END PGP SIGNATURE----- diff --git a/manifest.uuid b/manifest.uuid index f2d9b8c46f..e88df9ca4a 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -5d381daa6e5248ec171aa682e2dad058d4012f24 \ No newline at end of file +bc1101179abb4577417c971a7e4fbacde50e19a2 \ No newline at end of file diff --git a/src/vdbe.c b/src/vdbe.c index d0fef80fea..c89dbd7bc4 100644 --- a/src/vdbe.c +++ b/src/vdbe.c @@ -2769,7 +2769,7 @@ case OP_Transaction: { p->rc = rc = SQLITE_BUSY; goto vdbe_return; } - if( rc!=SQLITE_OK && rc!=SQLITE_READONLY /* && rc!=SQLITE_BUSY */ ){ + if( rc!=SQLITE_OK ){ goto abort_due_to_error; }