diff options
author | danielk1977 <danielk1977@noemail.net> | 2006-01-07 13:21:04 +0000 |
---|---|---|
committer | danielk1977 <danielk1977@noemail.net> | 2006-01-07 13:21:04 +0000 |
commit | c00da105654fb2bd0712acccac3e36b539805d08 (patch) | |
tree | be8fb606d3568c09ec40310e35179152dcd56a03 /src/tokenize.c | |
parent | 8c0ca7d27c60c5a43dbfeab3c869a45e0e3603b1 (diff) | |
download | sqlite-c00da105654fb2bd0712acccac3e36b539805d08.tar.gz sqlite-c00da105654fb2bd0712acccac3e36b539805d08.zip |
In shared-cache mode, lock all required tables before beginning to execute the body of the statement program. (CVS 2881)
FossilOrigin-Name: 23b587b05b89727248805e6d9e5141e018cf2152
Diffstat (limited to 'src/tokenize.c')
-rw-r--r-- | src/tokenize.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/tokenize.c b/src/tokenize.c index b3294ef18..6ea3b6878 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.110 2005/12/09 20:02:06 drh Exp $ +** $Id: tokenize.c,v 1.111 2006/01/07 13:21:04 danielk1977 Exp $ */ #include "sqliteInt.h" #include "os.h" @@ -425,6 +425,13 @@ abort_parse: sqlite3VdbeDelete(pParse->pVdbe); pParse->pVdbe = 0; } +#ifndef SQLITE_OMIT_SHARED_CACHE + if( pParse->nested==0 ){ + sqliteFree(pParse->aTableLock); + pParse->aTableLock = 0; + pParse->nTableLock = 0; + } +#endif sqlite3DeleteTable(pParse->db, pParse->pNewTable); sqlite3DeleteTrigger(pParse->pNewTrigger); sqliteFree(pParse->apVarExpr); |