Navigation
API > API/Plugins > API/Plugins/SQLiteCore > API/Plugins/SQLiteCore/sqlite
References
| Module | SQLiteCore |
| Header | /Engine/Plugins/Runtime/Database/SQLiteCore/Source/SQLiteCore/Public/sqlite/sqlite3.h |
| Include | #include "sqlite/sqlite3.h" |
int sqlite3_create_module
(
sqlite3 * db,
const char * zName,
const sqlite3_module * p,
void * pClientData
)
Remarks
CAPI3REF: Register A Virtual Table Implementation METHOD: sqlite3
^These routines are used to register a new [virtual table module] name. ^Module names must be registered before creating a new [virtual table] using the module and before using a preexisting [virtual table] for the module.
^The module name is registered on the [database connection] specified by the first parameter. ^The name of the module is given by the second parameter. ^The third parameter is a pointer to the implementation of the [virtual table module]. ^The fourth parameter is an arbitrary client data pointer that is passed through into the [xCreate] and [xConnect] methods of the virtual table module when a new virtual table is be being created or reinitialized.
^The sqlite3_create_module_v2() interface has a fifth parameter which is a pointer to a destructor for the pClientData. ^SQLite will invoke the destructor function (if it is not NULL) when SQLite no longer needs the pClientData pointer. ^The destructor will also be invoked if the call to sqlite3_create_module_v2() fails. ^The sqlite3_create_module() interface is equivalent to sqlite3_create_module_v2() with a NULL destructor.
^If the third parameter (the pointer to the sqlite3_module object) is NULL then no new module is create and any existing modules with the same name are dropped.
See also: [sqlite3_drop_modules()]