aboutsummaryrefslogtreecommitdiff
path: root/src/sqliteInt.h
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2008-04-28 18:46:43 +0000
committerdrh <drh@noemail.net>2008-04-28 18:46:43 +0000
commit4f3dd1502e052b7dd3f1581aec32f294710a84d9 (patch)
treee4eb1c0c94156658870aeb25f039f66cee405a34 /src/sqliteInt.h
parent952856ad3a297443dfd175655f1988e275296ff5 (diff)
downloadsqlite-4f3dd1502e052b7dd3f1581aec32f294710a84d9.tar.gz
sqlite-4f3dd1502e052b7dd3f1581aec32f294710a84d9.zip
Make sure that transactions are started on all virtual tables that
changes in a single statement, not just the first. Ticket #3083. Need to add test cases. (CVS 5063) FossilOrigin-Name: 133b7ee50ea6012739ebe0e334374c5d9b1fcc7f
Diffstat (limited to 'src/sqliteInt.h')
-rw-r--r--src/sqliteInt.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/sqliteInt.h b/src/sqliteInt.h
index 733ffd475..9a53aaaa5 100644
--- a/src/sqliteInt.h
+++ b/src/sqliteInt.h
@@ -11,7 +11,7 @@
*************************************************************************
** Internal interface definitions for SQLite.
**
-** @(#) $Id: sqliteInt.h,v 1.699 2008/04/28 17:41:31 shane Exp $
+** @(#) $Id: sqliteInt.h,v 1.700 2008/04/28 18:46:43 drh Exp $
*/
#ifndef _SQLITEINT_H_
#define _SQLITEINT_H_
@@ -1519,7 +1519,8 @@ struct Parse {
#ifndef SQLITE_OMIT_VIRTUALTABLE
Token sArg; /* Complete text of a module argument */
u8 declareVtab; /* True if inside sqlite3_declare_vtab() */
- Table *pVirtualLock; /* Require virtual table lock on this table */
+ int nVtabLock; /* Number of virtual tables to lock */
+ Table **apVtabLock; /* Pointer to virtual tables needing locking */
#endif
#if defined(SQLITE_TEST) || SQLITE_MAX_EXPR_DEPTH>0
int nHeight; /* Expression tree height of current sub-select */
@@ -2124,6 +2125,7 @@ int sqlite3AutoLoadExtensions(sqlite3*);
int sqlite3VtabRollback(sqlite3 *db);
int sqlite3VtabCommit(sqlite3 *db);
#endif
+void sqlite3VtabMakeWritable(Parse*,Table*);
void sqlite3VtabLock(sqlite3_vtab*);
void sqlite3VtabUnlock(sqlite3*, sqlite3_vtab*);
void sqlite3VtabBeginParse(Parse*, Token*, Token*, Token*);