diff options
author | danielk1977 <danielk1977@noemail.net> | 2007-05-03 11:43:33 +0000 |
---|---|---|
committer | danielk1977 <danielk1977@noemail.net> | 2007-05-03 11:43:33 +0000 |
commit | 20713f34a5a7084dd80abc2aeefb29da21f288a0 (patch) | |
tree | ccc35c587828b7f3d501b6f43845e598156d2367 /src/vdbeblob.c | |
parent | b7af4452d90be40cec561da111589c73d1d98c67 (diff) | |
download | sqlite-20713f34a5a7084dd80abc2aeefb29da21f288a0.tar.gz sqlite-20713f34a5a7084dd80abc2aeefb29da21f288a0.zip |
Minor bugfixes for incrblob mode. (CVS 3903)
FossilOrigin-Name: db54a9466e3bea9c03740ce0b755cfa02bafaccd
Diffstat (limited to 'src/vdbeblob.c')
-rw-r--r-- | src/vdbeblob.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/vdbeblob.c b/src/vdbeblob.c index 711802b9f..7c55a635b 100644 --- a/src/vdbeblob.c +++ b/src/vdbeblob.c @@ -10,7 +10,7 @@ ** ************************************************************************* ** -** $Id: vdbeblob.c,v 1.2 2007/05/02 16:48:37 danielk1977 Exp $ +** $Id: vdbeblob.c,v 1.3 2007/05/03 11:43:33 danielk1977 Exp $ */ #include "sqliteInt.h" @@ -91,11 +91,17 @@ int sqlite3_blob_open( memset(&sParse, 0, sizeof(Parse)); sParse.db = db; + rc = sqlite3SafetyOn(db); + if( rc!=SQLITE_OK ){ + return rc; + } + pTab = sqlite3LocateTable(&sParse, zTable, zDb); if( !pTab ){ sqlite3Error(db, sParse.rc, "%s", sParse.zErrMsg); sqliteFree(sParse.zErrMsg); rc = sParse.rc; + sqlite3SafetyOff(db); goto blob_open_out; } @@ -109,6 +115,7 @@ int sqlite3_blob_open( sqlite3Error(db, SQLITE_ERROR, "no such column: %s", zColumn); sqliteFree(sParse.zErrMsg); rc = SQLITE_ERROR; + sqlite3SafetyOff(db); goto blob_open_out; } @@ -145,6 +152,11 @@ int sqlite3_blob_open( sqlite3VdbeMakeReady(v, 1, 0, 1, 0); } + rc = sqlite3SafetyOff(db); + if( rc!=SQLITE_OK ){ + return rc; + } + sqlite3_bind_int64((sqlite3_stmt *)v, 1, iRow); rc = sqlite3_step((sqlite3_stmt *)v); if( rc!=SQLITE_ROW ){ |