Объект экземпляра виртуальной таблицы
struct sqlite3_vtab {
const sqlite3_module *pModule; /* The module for this virtual table */
int nRef; /* Number of open cursors */
char *zErrMsg; /* Error message from sqlite3_mprintf() */
/* Virtual table implementations will typically add additional fields */
};
Каждая реализация модуля виртуальной таблицы использует подкласс этого объекта для описания конкретного экземпляра виртуальной таблицы. Каждый подкласс будет настроен в соответствии со специфическими потребностями реализации модуля. Цель этого суперкласса — определить определенные поля, общие для всех реализаций модулей.
Методы виртуальных таблиц могут установить сообщение об ошибке, присвоив строку, полученную из sqlite3_mprintf(), полю zErrMsg. Метод должен позаботиться об освобождении любой предыдущей строки с помощью вызова sqlite3_free() перед присвоением новой строки полю zErrMsg. После того, как сообщение об ошибке передано прикладному программному обеспечению, строка будет автоматически освобождена функцией sqlite3_free(), а поле zErrMsg будет обнулено.
См. также списки объектов, констант и функций.
SQLite is in the Public Domain.
https://sqlite.org/c3ref/vtab.html