diff options
author | drh <drh@noemail.net> | 2011-06-01 18:15:55 +0000 |
---|---|---|
committer | drh <drh@noemail.net> | 2011-06-01 18:15:55 +0000 |
commit | 124c0b49a19ce24302c6594e60c80c7ba4df6c98 (patch) | |
tree | 5066d410d5c3c2a95b66023abfcd1af829c4d160 /src/tokenize.c | |
parent | ed9624187d89a96e591353a7bdee53b292e6f849 (diff) | |
download | sqlite-124c0b49a19ce24302c6594e60c80c7ba4df6c98.tar.gz sqlite-124c0b49a19ce24302c6594e60c80c7ba4df6c98.zip |
Refactor the SQL parameter processing so that parameter names for values
that are optimized out of the prepare statement are not forgotten.
FossilOrigin-Name: b3aaf715b60b8a338cc6c92dad1ead4a3f7146a3
Diffstat (limited to 'src/tokenize.c')
-rw-r--r-- | src/tokenize.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/tokenize.c b/src/tokenize.c index c624efdcc..016a21826 100644 --- a/src/tokenize.c +++ b/src/tokenize.c @@ -412,9 +412,8 @@ int sqlite3RunParser(Parse *pParse, const char *zSql, char **pzErrMsg){ assert( pParse->pNewTable==0 ); assert( pParse->pNewTrigger==0 ); assert( pParse->nVar==0 ); - assert( pParse->nVarExpr==0 ); - assert( pParse->nVarExprAlloc==0 ); - assert( pParse->apVarExpr==0 ); + assert( pParse->nzVar==0 ); + assert( pParse->azVar==0 ); enableLookaside = db->lookaside.bEnabled; if( db->lookaside.pStart ) db->lookaside.bEnabled = 1; while( !db->mallocFailed && zSql[i]!=0 ){ @@ -508,7 +507,8 @@ abort_parse: } sqlite3DeleteTrigger(db, pParse->pNewTrigger); - sqlite3DbFree(db, pParse->apVarExpr); + for(i=pParse->nzVar-1; i>=0; i--) sqlite3DbFree(db, pParse->azVar[i]); + sqlite3DbFree(db, pParse->azVar); sqlite3DbFree(db, pParse->aAlias); while( pParse->pAinc ){ AutoincInfo *p = pParse->pAinc; |