![]() |
|
|||
WebMoney: WMZ Z294115950220 WMR R409981405661 WME E134003968233 |
Visa 4274 3200 2453 6495 |
Этот макрос определяет различные варианты
sqlite3_vtab_config(), который
можно использовать, чтобы настроить и оптимизировать
виртуальную таблицу. Если X будет отличным от нуля, то виртуальное внедрение таблицы
гарантирует, что, если xUpdate вернет
SQLITE_CONSTRAINT, это сделает так, прежде чем
любые модификации к внутренним или персистентным структурам данных были
сделаны. Если ON CONFLICT = ABORT, FAIL,
IGNORE или ROLLBACK, SQLite в состоянии отменить запрос
или транзакцию базы данных, и оставить или продолжить обрабатывать текущий
SQL-оператор. Если ON CONFLICT = REPLACE и
xUpdate вернет SQLITE_CONSTRAINT,
SQLite обращается с этим, как будто ON CONFLICT был ABORT. Виртуальные таблицы, которые требуются, чтобы обращаться с OR REPLACE,
должны сделать это в рамках метода xUpdate.
Если запрос sqlite3_vtab_on_conflict()
указывает, что текущая политика ON CONFLICT = REPLACE,
виртуальная таблица должна тихо заменить соответствующие строки в отзыве
xUpdate и вернуть SQLITE_OK. Или, если это невозможно, это может возвратить
SQLITE_CONSTRAINT, в этом случае SQLite отступает к ограничительной
обработке OR ABORT.
Choose any three.
SQLite C Interface
Виртуальные параметры конфигурации таблицы
#define SQLITE_VTAB_CONSTRAINT_SUPPORT 1
#define SQLITE_VTAB_INNOCUOUS 2
#define SQLITE_VTAB_DIRECTONLY 3
#define SQLITE_VTAB_USES_ALL_SCHEMAS 4