小。速度很快。可靠。
选择任意三个选项。

SQLite C接口

注册虚拟表实现

int sqlite3_create_module(sqlite3*db,/*SQLite连接到注册模块*/const char*zName,/*模块的名称*/const sqlite3_module*p,/*模块的方法*/void*pClientData/*xCreate/xConnect的客户端数据*/);int sqlite3_create_module_v2(sqlite3*db,/*SQLite连接到注册模块*/const char*zName,/*模块的名称*/const sqlite3_module*p,/*模块的方法*/void*pClientData,/*xCreate/xConnect的客户端数据*/void(*xDestroy)(void*)/*模块析构函数*/);

这些例程用于注册新的虚拟表模块名称。必须在之前注册模块名称创建新的虚拟表使用模块,然后再使用预先存在的虚拟表用于模块。

模块名称注册在数据库连接明确规定通过第一个参数。模块的名称由第二个参数。第三个参数是指向实施虚拟表模块.第四参数是传递的任意客户端数据指针进入x创建x连接虚拟表模块的方法创建或重新初始化新虚拟表时。

sqlite3_create_module_v2()接口有第五个参数是指向pClientData的析构函数的指针。SQLite将当SQLite时调用析构函数(如果它不为NULL)不再需要pClientData指针。析构函数也将如果调用sqlite3_create_module_v2()失败,则调用。sqlite3_create_module()接口等效于带有NULL的sqlite3_create_module_v2()析构函数。

如果第三个参数(指向sqlite3_module对象的指针)是NULL,则不创建新模块,并且任何现有模块删除了相同的名称。

另请参见:sqlite3_drop_modules()

另请参见列表物体,常量、和功能.