Создание нового объекта сеанса
int sqlite3session_create( sqlite3 *db, /* Database handle */ const char *zDb, /* Name of db (e.g. "main") */ sqlite3_session **ppSession /* OUT: New session object */ );
Создайте новый объект сеанса, привязанный к обработчику базы данных db. При успешном выполнении указатель на новый объект записывается в *ppSession, и возвращается SQLITE_OK. При возникновении ошибки *ppSession устанавливается в NULL, и возвращается код ошибки SQLite (например, SQLITE_NOMEM).
Возможна создание нескольких объектов сеанса, привязанных к одному обработчику базы данных.
Объекты сеанса, созданные с помощью этой функции, должны быть удалены с помощью функции sqlite3session_delete() до закрытия обработчика базы данных, к которому они привязаны. Если обработчик базы данных закрывается до удаления объекта сеанса, то результаты вызова любой функции модуля сеанса, включая sqlite3session_delete() для объекта сеанса, не определены.
Поскольку модуль сеанса использует API sqlite3_preupdate_hook(), приложение не может зарегистрировать предварительную обработку обновления для обработчика базы данных, к которому привязаны один или несколько объектов сеанса. Также невозможно создать объект сеанса, привязанный к обработчику базы данных, для которого уже определена предварительная обработка обновления. Результаты попытки выполнения любого из этих действий не определены.
Объект сеанса будет использоваться для создания наборов изменений для таблиц в базе данных zDb, где zDb — это "main", "temp" или имя присоединённой базы данных. Не является ошибкой, если база данных zDb не присоединена к базе данных при создании объекта сеанса.
См. также списки Объектов, Констант и Функций.
SQLite is in the Public Domain.
https://sqlite.org/session/sqlite3session_create.html