Updated: 2022/Sep/29

Please read Privacy Policy. It's for your privacy.


SQLITE3_CREATE_MODULE(3)   Library Functions Manual   SQLITE3_CREATE_MODULE(3)

NAME
     sqlite3_create_module, sqlite3_create_module_v2 - register a virtual
     table implementation

SYNOPSIS
     #include <sqlite3.h>

     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.

     If the third parameter (the pointer to the sqlite3_module object) is NULL
     then no new module is created and any existing modules with the same name
     are dropped.

IMPLEMENTATION NOTES
     These declarations were extracted from the interface documentation at
     line 7422.

     SQLITE_API int sqlite3_create_module(
       sqlite3 *db,               /* SQLite connection to register module with */
       const char *zName,         /* Name of the module */
       const sqlite3_module *p,   /* Methods for the module */
       void *pClientData          /* Client data for xCreate/xConnect */
     );
     SQLITE_API int sqlite3_create_module_v2(
       sqlite3 *db,               /* SQLite connection to register module with */
       const char *zName,         /* Name of the module */
       const sqlite3_module *p,   /* Methods for the module */
       void *pClientData,         /* Client data for xCreate/xConnect */
       void(*xDestroy)(void*)     /* Module destructor function */
     );

SEE ALSO
     sqlite3(3), sqlite3_drop_modules(3), sqlite3_module(3)

NetBSD 10.99                    August 24, 2023                   NetBSD 10.99