]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Fix a bug in the handling of I/O errors introduced by the addition
authordrh <drh@noemail.net>
Sat, 23 Sep 2006 21:44:23 +0000 (21:44 +0000)
committerdrh <drh@noemail.net>
Sat, 23 Sep 2006 21:44:23 +0000 (21:44 +0000)
of extended error codes in check-in (3422). (CVS 3438)

FossilOrigin-Name: 20d7b29443ea7d9ec1ef81219c74ba725e8711e3

manifest
manifest.uuid
src/vdbeaux.c

index 9289acc725c2f0c3f951895c94e0dedfbfe02bb9..91c86182971ada573bc4cf4b038a339d5f141265 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Fix\sdocumentation\stypo.\s\sTicket\s#1986\s(CVS\s3437)
-D 2006-09-23T20:46:23
+C Fix\sa\sbug\sin\sthe\shandling\sof\sI/O\serrors\sintroduced\sby\sthe\saddition\nof\sextended\serror\scodes\sin\scheck-in\s(3422).\s(CVS\s3438)
+D 2006-09-23T21:44:24
 F Makefile.in cabd42d34340f49260bc2a7668c38eba8d4cfd99
 F Makefile.linux-gcc 2d8574d1ba75f129aba2019f0b959db380a90935
 F README 9c4e2d6706bdcc3efdd773ce752a8cdab4f90028
@@ -116,7 +116,7 @@ F src/vdbe.c 84a9c0b0dd037c064ffed651977e20dd9d2bc1d1
 F src/vdbe.h 258b5d1c0aaa72192f09ff0568ce42b383f156fa
 F src/vdbeInt.h e3eaab262b67b84474625cfc38aec1125c32834b
 F src/vdbeapi.c f1858a5edc3a5e32d038514dd9e7e9091400a782
-F src/vdbeaux.c 7d15dcf0eab43b0f6b1bb840dc2a3126eb370f5b
+F src/vdbeaux.c 6fcc47988bdd563755193c922695032f9d5e5e2b
 F src/vdbefifo.c 9efb94c8c3f4c979ebd0028219483f88e57584f5
 F src/vdbemem.c 26623176bf1c616aa478da958fac49502491a921
 F src/vtab.c aa30e940058ea56a1b7a9a7019ec21d307316fb4
@@ -399,7 +399,7 @@ F www/tclsqlite.tcl bb0d1357328a42b1993d78573e587c6dcbc964b9
 F www/vdbe.tcl 87a31ace769f20d3627a64fa1fade7fed47b90d0
 F www/version3.tcl 890248cf7b70e60c383b0e84d77d5132b3ead42b
 F www/whentouse.tcl 97e2b5cd296f7d8057e11f44427dea8a4c2db513
-P dc797bf4fa96deabd9ceb6cc062b98d2ac49a574
-R c64c07d59a123b00c1c923a04e96a169
+P 58c32ce35a04838b4a8e4210299bac935e60bfb9
+R 2afdb185e1e329265aedf8c7cead51f2
 U drh
-Z b6422e8d52e514594753b1da26faf8e8
+Z 50acfd17be318b0ee5e48adc5bd14aff
index 4b025eb6c0707b4fac908436fa104148ea5e4bd9..cefc49311b48d2cf3aa99af568fd0312897a0f8d 100644 (file)
@@ -1 +1 @@
-58c32ce35a04838b4a8e4210299bac935e60bfb9
\ No newline at end of file
+20d7b29443ea7d9ec1ef81219c74ba725e8711e3
\ No newline at end of file
index 5c534d1220e6301df079ac6ded59821b7d82be37..15483f3a852f3aaedac117f5cd5d88a8ce0cd325 100644 (file)
@@ -1289,9 +1289,10 @@ int sqlite3VdbeHalt(Vdbe *p){
 
   /* No commit or rollback needed if the program never started */
   if( p->pc>=0 ){
-
+    int mrc;   /* Primary error code from p->rc */
     /* Check for one of the special errors - SQLITE_NOMEM or SQLITE_IOERR */
-    isSpecialError = ((p->rc==SQLITE_NOMEM || p->rc==SQLITE_IOERR)?1:0);
+    mrc = p->rc & 0xff;
+    isSpecialError = ((mrc==SQLITE_NOMEM || mrc==SQLITE_IOERR)?1:0);
     if( isSpecialError ){
       /* This loop does static analysis of the query to see which of the
       ** following three categories it falls into: