aboutsummaryrefslogtreecommitdiff
path: root/src/main.c
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2003-01-29 14:06:07 +0000
committerdrh <drh@noemail.net>2003-01-29 14:06:07 +0000
commit326dce74511a963dba56c046a86e82193c44e128 (patch)
tree0d60f783771ac4eefc7698de64031c2ac883e5ae /src/main.c
parentb86ccfb26ec22446a99b12c38e295b5505201556 (diff)
downloadsqlite-326dce74511a963dba56c046a86e82193c44e128.tar.gz
sqlite-326dce74511a963dba56c046a86e82193c44e128.zip
The callback-free API is now working, though much more testing is need. (CVS 853)
FossilOrigin-Name: 162b259188e6967fe9c3722da26b81aab5655d83
Diffstat (limited to 'src/main.c')
-rw-r--r--src/main.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/src/main.c b/src/main.c
index 2be750bec..7b5c76e5e 100644
--- a/src/main.c
+++ b/src/main.c
@@ -14,7 +14,7 @@
** other files are for internal use by SQLite and should not be
** accessed by users of the library.
**
-** $Id: main.c,v 1.110 2003/01/28 23:13:12 drh Exp $
+** $Id: main.c,v 1.111 2003/01/29 14:06:08 drh Exp $
*/
#include "sqliteInt.h"
#include "os.h"
@@ -622,8 +622,7 @@ static int sqliteMain(
sqliteSetString(pzErrMsg, "obsolete database file format", 0);
return SQLITE_ERROR;
}
- if( db->recursionDepth==0 ){ db->nChange = 0; }
- db->recursionDepth++;
+ if( db->pVdbe==0 ){ db->nChange = 0; }
memset(&sParse, 0, sizeof(sParse));
sParse.db = db;
sParse.pBe = db->pBe;
@@ -642,6 +641,7 @@ static int sqliteMain(
db->flags &= ~SQLITE_InTrans;
sqliteResetInternalSchema(db);
}
+ if( sParse.rc==SQLITE_DONE ) sParse.rc = SQLITE_OK;
if( sParse.rc!=SQLITE_OK && pzErrMsg && *pzErrMsg==0 ){
sqliteSetString(pzErrMsg, sqlite_error_string(sParse.rc), 0);
}
@@ -649,11 +649,10 @@ static int sqliteMain(
if( sParse.rc==SQLITE_SCHEMA ){
sqliteResetInternalSchema(db);
}
- db->recursionDepth--;
if( sParse.useCallback==0 ){
assert( ppVm );
- *ppVm = sParse.pVdbe;
- *pzTail = &sParse.sLastToken.z[sParse.sLastToken.n];
+ *ppVm = (sqlite_vm*)sParse.pVdbe;
+ *pzTail = sParse.zTail;
}
if( sqliteSafetyOff(db) ) goto exec_misuse;
return sParse.rc;