aboutsummaryrefslogtreecommitdiff
path: root/src/sqliteInt.h
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2019-08-16 22:58:29 +0000
committerdrh <drh@noemail.net>2019-08-16 22:58:29 +0000
commitcc5979dbd384049c1efef847e5cc22082191024b (patch)
tree6d78eae3ee76266e7869e0fffa568c9a828e9763 /src/sqliteInt.h
parent4043cfef7590c5a8b90cfbee44b45f6ca8bbf176 (diff)
downloadsqlite-cc5979dbd384049c1efef847e5cc22082191024b.tar.gz
sqlite-cc5979dbd384049c1efef847e5cc22082191024b.zip
Add the ability to unregister a virtual table module by invoking
sqlite3_create_module() with a NULL sqlite3_module pointer. FossilOrigin-Name: 31e34fa3390196cdc3178bf120224b08df5ec58fa2c77079ede6e9461a430dad
Diffstat (limited to 'src/sqliteInt.h')
-rw-r--r--src/sqliteInt.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/sqliteInt.h b/src/sqliteInt.h
index 52c982159..07e241a1c 100644
--- a/src/sqliteInt.h
+++ b/src/sqliteInt.h
@@ -1797,6 +1797,7 @@ struct Savepoint {
struct Module {
const sqlite3_module *pModule; /* Callback pointers */
const char *zName; /* Name passed to create_module() */
+ int nRefModule; /* Number of pointers to this object */
void *pAux; /* pAux passed to create_module() */
void (*xDestroy)(void *); /* Module destructor function */
Table *pEpoTab; /* Eponymous table for this module */
@@ -4438,6 +4439,7 @@ void sqlite3AutoLoadExtensions(sqlite3*);
# define sqlite3VtabInSync(db) 0
# define sqlite3VtabLock(X)
# define sqlite3VtabUnlock(X)
+# define sqlite3VtabModuleUnref(D,X)
# define sqlite3VtabUnlockList(X)
# define sqlite3VtabSavepoint(X, Y, Z) SQLITE_OK
# define sqlite3GetVTable(X,Y) ((VTable*)0)
@@ -4449,6 +4451,7 @@ void sqlite3AutoLoadExtensions(sqlite3*);
int sqlite3VtabCommit(sqlite3 *db);
void sqlite3VtabLock(VTable *);
void sqlite3VtabUnlock(VTable *);
+ void sqlite3VtabModuleUnref(sqlite3*,Module*);
void sqlite3VtabUnlockList(sqlite3*);
int sqlite3VtabSavepoint(sqlite3 *, int, int);
void sqlite3VtabImportErrmsg(Vdbe*, sqlite3_vtab*);