Add code to invoke the virtual table transaction interface. Untested at this point. (CVS 3261)
FossilOrigin-Name: 6125140228e09cad2029a48e92aa0123d3daecfb
diff --git a/src/sqliteInt.h b/src/sqliteInt.h
index bec2be0..95d2966 100644
--- a/src/sqliteInt.h
+++ b/src/sqliteInt.h
@@ -11,7 +11,7 @@
*************************************************************************
** Internal interface definitions for SQLite.
**
-** @(#) $Id: sqliteInt.h,v 1.507 2006/06/16 08:01:04 danielk1977 Exp $
+** @(#) $Id: sqliteInt.h,v 1.508 2006/06/16 16:08:55 danielk1977 Exp $
*/
#ifndef _SQLITEINT_H_
#define _SQLITEINT_H_
@@ -494,6 +494,8 @@
#ifndef SQLITE_OMIT_VIRTUALTABLE
Hash aModule; /* populated by sqlite3_create_module() */
Table *pVTab; /* vtab with active Connect/Create method */
+ sqlite3_vtab **aVTrans; /* Virtual tables with open transactions */
+ int nVTrans; /* Allocated size of aVTrans */
#endif
Hash aFunc; /* All functions that can be in SQL exprs */
Hash aCollSeq; /* All collating sequences */
@@ -722,6 +724,7 @@
u8 isVirtual; /* True if this is a virtual table */
int nModuleArg; /* Number of arguments to the module */
char **azModuleArg; /* Text of all module args. [0] is module name */
+ u8 isCommit; /* True once the CREATE TABLE has been committed */
#endif
Schema *pSchema;
};
@@ -1304,10 +1307,11 @@
TriggerStack *trigStack; /* Trigger actions being coded */
const char *zAuthContext; /* The 6th parameter to db->xAuth callbacks */
#ifndef SQLITE_OMIT_VIRTUALTABLE
- int nArgAlloc; /* Number of bytes allocated for zArg[] */
- int nArgUsed; /* Number of bytes of zArg[] used so far */
- char *zArg; /* Complete text of a module argument */
- u8 declareVtab; /* True if inside sqlite3_declare_vtab() */
+ int nArgAlloc; /* Number of bytes allocated for zArg[] */
+ int nArgUsed; /* Number of bytes of zArg[] used so far */
+ char *zArg; /* Complete text of a module argument */
+ u8 declareVtab; /* True if inside sqlite3_declare_vtab() */
+ Table *pVirtualLock; /* Require virtual table lock on this table */
#endif
};
@@ -1815,8 +1819,15 @@
#ifdef SQLITE_OMIT_VIRTUALTABLE
# define sqlite3VtabClear(X)
+# define sqlite3VtabCodeLock(X,Y)
+# define sqlite3VtabSync(X,Y) (Y)
+# define sqlite3VtabRollback(X)
+# define sqlite3VtabCommit(X)
#else
- void sqlite3VtabClear(Table*);
+ void sqlite3VtabCodeLock(Parse *pParse, Table *pTab);
+ int sqlite3VtabSync(sqlite3 *db, int rc);
+ int sqlite3VtabRollback(sqlite3 *db);
+ int sqlite3VtabCommit(sqlite3 *db);
#endif
void sqlite3VtabBeginParse(Parse*, Token*, Token*, Token*);
void sqlite3VtabFinishParse(Parse*, Token*);
@@ -1825,6 +1836,7 @@
int sqlite3VtabCallCreate(sqlite3*, int, const char *, char **);
int sqlite3VtabCallConnect(Parse*, Table*);
int sqlite3VtabCallDestroy(sqlite3*, int, const char *);
+int sqlite3VtabBegin(sqlite3 *, sqlite3_vtab *);
#ifdef SQLITE_SSE
#include "sseInt.h"