Updated: 2021/Apr/14

SQLITE3_CREATE_MODULE(3)   Library Functions Manual   SQLITE3_CREATE_MODULE(3)

     sqlite3_create_module, sqlite3_create_module_v2 - Register A Virtual
     Table Implementation

     sqlite3_create_module(sqlite3 *db, const char *zName,
         const sqlite3_module *p, void *pClientData          );

     sqlite3_create_module_v2(sqlite3 *db, const char *zName,
         const sqlite3_module *p, void *pClientData,
         void(*xDestroy)(void*)     );

     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

     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.

     sqlite3(3), sqlite3_module(3)

NetBSD 9.99                    December 19, 2018                   NetBSD 9.99