aboutsummaryrefslogtreecommitdiff
path: root/src/tokenize.c
diff options
context:
space:
mode:
authordanielk1977 <danielk1977@noemail.net>2006-01-07 13:21:04 +0000
committerdanielk1977 <danielk1977@noemail.net>2006-01-07 13:21:04 +0000
commitc00da105654fb2bd0712acccac3e36b539805d08 (patch)
treebe8fb606d3568c09ec40310e35179152dcd56a03 /src/tokenize.c
parent8c0ca7d27c60c5a43dbfeab3c869a45e0e3603b1 (diff)
downloadsqlite-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.c9
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);