aboutsummaryrefslogtreecommitdiff
path: root/src/vdbeblob.c
diff options
context:
space:
mode:
authordanielk1977 <danielk1977@noemail.net>2007-05-03 11:43:33 +0000
committerdanielk1977 <danielk1977@noemail.net>2007-05-03 11:43:33 +0000
commit20713f34a5a7084dd80abc2aeefb29da21f288a0 (patch)
treeccc35c587828b7f3d501b6f43845e598156d2367 /src/vdbeblob.c
parentb7af4452d90be40cec561da111589c73d1d98c67 (diff)
downloadsqlite-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.c14
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 ){