NAME
sqlite3_create_module,
sqlite3_create_module_v2 —
Register A
Virtual Table Implementation
SYNOPSIS
int
sqlite3_create_module(
sqlite3 *db,
const char *zName,
const sqlite3_module
*p,
void *pClientData );
int
sqlite3_create_module_v2(
sqlite3 *db,
const char *zName,
const sqlite3_module
*p,
void *pClientData,
void(*xDestroy)(void*) );
DESCRIPTION
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.
SEE ALSO
sqlite3(3),
sqlite3_module(3)