diff options
author | drh <drh@noemail.net> | 2003-01-29 14:06:07 +0000 |
---|---|---|
committer | drh <drh@noemail.net> | 2003-01-29 14:06:07 +0000 |
commit | 326dce74511a963dba56c046a86e82193c44e128 (patch) | |
tree | 0d60f783771ac4eefc7698de64031c2ac883e5ae /src/tokenize.c | |
parent | b86ccfb26ec22446a99b12c38e295b5505201556 (diff) | |
download | sqlite-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.c | 8 |
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); } |