![]() |
|
|||
WebMoney: WMZ Z294115950220 WMR R409981405661 WME E134003968233 |
Visa 4274 3200 2453 6495 |
Эта хранимая процедура используется, чтобы зарегистрировать новое имя
виртуального модуля таблицы.
Имена модуля должны быть зарегистрированы прежде, чем составить новую
виртуальную таблицу, используя модуль и перед
использованием существующей ранее
виртуальной таблицы для модуля. Имя модуля зарегистрировано на соединении с базой
данных, определенном первым параметром. Название модуля дано вторым
параметром. Третий параметр это указатель на внедрение
виртуального модуля таблицы.
Четвертый параметр это произвольный указатель данных клиента, через который
передают в xCreate и
xConnect
виртуального модуля таблицы, когда новая виртуальная таблица
создана или повторно инициализирована. sqlite3_create_module_v2() имеет пятый параметр, который является
указателем на деструктор для pClientData. SQLite вызовет функцию деструктора
(если это не будет NULL), когда SQLite больше не нужен pClientData.
Деструктор будет также вызван, если запрос sqlite3_create_module_v2()
потерпит неудачу. sqlite3_create_module() эквивалентен
sqlite3_create_module_v2() с деструктором NULL. Если третий параметр (указатель на объект sqlite3_module) = NULL,
тогда никакой новый модуль не создается, и пропущены любые существующие
модули с тем же самым именем. См. также: sqlite3_drop_modules()
Choose any three.
SQLite C Interface
Зарегистрируйте виртуальное внедрение таблицы
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 */
);
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 */
);