diff options
author | drh <drh@noemail.net> | 2016-12-23 03:59:31 +0000 |
---|---|---|
committer | drh <drh@noemail.net> | 2016-12-23 03:59:31 +0000 |
commit | 9bf755cc4467dd1e2d2fb8257f14ef974ec8bc41 (patch) | |
tree | fe4338736e7319a9d947ecbf8a7a3231a4eceef9 /src/tokenize.c | |
parent | 344a1bf133771614774acd3233fc098eae26e5f7 (diff) | |
download | sqlite-9bf755cc4467dd1e2d2fb8257f14ef974ec8bc41.tar.gz sqlite-9bf755cc4467dd1e2d2fb8257f14ef974ec8bc41.zip |
Use the VList object to replace Parse.azVar for tracking the mapping between
SQL parameter names and parameter numbers. There is a performance
improvement, though there are still a few hiccups in the current code.
FossilOrigin-Name: 68ecafa1425a41358c88f41efea3262f1b4490f2
Diffstat (limited to 'src/tokenize.c')
-rw-r--r-- | src/tokenize.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/src/tokenize.c b/src/tokenize.c index 0e60c56d6..c400dcd55 100644 --- a/src/tokenize.c +++ b/src/tokenize.c @@ -500,8 +500,7 @@ int sqlite3RunParser(Parse *pParse, const char *zSql, char **pzErrMsg){ assert( pParse->pNewTable==0 ); assert( pParse->pNewTrigger==0 ); assert( pParse->nVar==0 ); - assert( pParse->nzVar==0 ); - assert( pParse->azVar==0 ); + assert( pParse->pVList==0 ); while( 1 ){ assert( i>=0 ); if( zSql[i]!=0 ){ @@ -588,8 +587,7 @@ int sqlite3RunParser(Parse *pParse, const char *zSql, char **pzErrMsg){ if( pParse->pWithToFree ) sqlite3WithDelete(db, pParse->pWithToFree); sqlite3DeleteTrigger(db, pParse->pNewTrigger); - for(i=pParse->nzVar-1; i>=0; i--) sqlite3DbFree(db, pParse->azVar[i]); - sqlite3DbFree(db, pParse->azVar); + sqlite3DbFree(db, pParse->pVList); while( pParse->pAinc ){ AutoincInfo *p = pParse->pAinc; pParse->pAinc = p->pNext; |