1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-11-14 00:22:38 +03:00

Fix a bug in the handling of I/O errors introduced by the addition

of extended error codes in check-in (3422). (CVS 3438)

FossilOrigin-Name: 20d7b29443ea7d9ec1ef81219c74ba725e8711e3
This commit is contained in:
drh
2006-09-23 21:44:23 +00:00
parent 8c77bdde9f
commit aac2f5542d
3 changed files with 10 additions and 9 deletions

View 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: