aboutsummaryrefslogtreecommitdiff
path: root/src/tokenize.c
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2018-04-21 13:51:42 +0000
committerdrh <drh@noemail.net>2018-04-21 13:51:42 +0000
commitfb32c44e41f9fba15f84dfca6e165a32fbb0e679 (patch)
treeaca83b1b1effb5cc44ebcc0b7bbb4fb9126fe180 /src/tokenize.c
parentf3d7bbb767c2d225b816557ba0a86442650d1ae0 (diff)
downloadsqlite-fb32c44e41f9fba15f84dfca6e165a32fbb0e679.tar.gz
sqlite-fb32c44e41f9fba15f84dfca6e165a32fbb0e679.zip
Add the %extra_context directive to lemon, as an alternative to %extra_argument.
Use this to improve the performance of the parser. FossilOrigin-Name: be47a6f5262a43f477700579512fe7112a0872faedcbbe5c3383d13a08af6440
Diffstat (limited to 'src/tokenize.c')
-rw-r--r--src/tokenize.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/tokenize.c b/src/tokenize.c
index e6da3fb54..b591d2223 100644
--- a/src/tokenize.c
+++ b/src/tokenize.c
@@ -496,9 +496,9 @@ int sqlite3RunParser(Parse *pParse, const char *zSql, char **pzErrMsg){
/* sqlite3ParserTrace(stdout, "parser: "); */
#ifdef sqlite3Parser_ENGINEALWAYSONSTACK
pEngine = &sEngine;
- sqlite3ParserInit(pEngine);
+ sqlite3ParserInit(pEngine, pParse);
#else
- pEngine = sqlite3ParserAlloc(sqlite3Malloc);
+ pEngine = sqlite3ParserAlloc(sqlite3Malloc, pParse);
if( pEngine==0 ){
sqlite3OomFault(db);
return SQLITE_NOMEM_BKPT;
@@ -542,7 +542,7 @@ int sqlite3RunParser(Parse *pParse, const char *zSql, char **pzErrMsg){
}else{
pParse->sLastToken.z = zSql;
pParse->sLastToken.n = n;
- sqlite3Parser(pEngine, tokenType, pParse->sLastToken, pParse);
+ sqlite3Parser(pEngine, tokenType, pParse->sLastToken);
lastTokenParsed = tokenType;
zSql += n;
if( pParse->rc!=SQLITE_OK || db->mallocFailed ) break;