aboutsummaryrefslogtreecommitdiff
path: root/src/tokenize.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/tokenize.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/tokenize.c')
-rw-r--r--src/tokenize.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/tokenize.c b/src/tokenize.c
index df27fa732..7dd49b21a 100644
--- a/src/tokenize.c
+++ b/src/tokenize.c
@@ -15,7 +15,7 @@
** individual tokens and sends those tokens one-by-one over to the
** parser for analysis.
**
-** $Id: tokenize.c,v 1.54 2003/01/28 23:13:12 drh Exp $
+** $Id: tokenize.c,v 1.55 2003/01/29 14:06:09 drh Exp $
*/
#include "sqliteInt.h"
#include "os.h"
@@ -422,6 +422,7 @@ int sqliteRunParser(Parse *pParse, const char *zSql, char **pzErrMsg){
return 1;
}
pParse->sLastToken.dyn = 0;
+ pParse->zTail = zSql;
while( sqlite_malloc_failed==0 && zSql[i]!=0 ){
assert( i>=0 );
@@ -445,6 +446,10 @@ int sqliteRunParser(Parse *pParse, const char *zSql, char **pzErrMsg){
nErr++;
goto abort_parse;
}
+ case TK_SEMI: {
+ pParse->zTail = &zSql[i];
+ /* Fall thru into the default case */
+ }
default: {
sqliteParser(pEngine, tokenType, pParse->sLastToken, pParse);
lastTokenParsed = tokenType;
@@ -459,6 +464,7 @@ abort_parse:
if( zSql[i]==0 && nErr==0 && pParse->rc==SQLITE_OK ){
if( lastTokenParsed!=TK_SEMI ){
sqliteParser(pEngine, TK_SEMI, pParse->sLastToken, pParse);
+ pParse->zTail = &zSql[i];
}
sqliteParser(pEngine, 0, pParse->sLastToken, pParse);
}