Подготовка флагов
#define SQLITE_PREPARE_PERSISTENT 0x01 #define SQLITE_PREPARE_NORMALIZE 0x02 #define SQLITE_PREPARE_NO_VTAB 0x04
Эти константы определяют различные флаги, которые могут быть переданы в параметр "prepFlags" интерфейсов sqlite3_prepare_v3() и sqlite3_prepare16_v3().
В будущих версиях SQLite могут быть добавлены новые флаги.
- SQLITE_PREPARE_PERSISTENT
- Флаг SQLITE_PREPARE_PERSISTENT — это подсказка для планировщика запросов о том, что подготовленное утверждение будет сохранено на долгое время и, вероятно, будет многократно использовано. Без этого флага sqlite3_prepare_v3() и sqlite3_prepare16_v3() предполагают, что подготовленное утверждение будет использоваться только один раз или, самое большее, несколько раз, а затем будет уничтожено с помощью sqlite3_finalize() относительно скоро. Текущая реализация учитывает эту подсказку, избегая использования памяти lookaside, чтобы не истощить ограниченное хранилище lookaside-памяти. Будущие версии SQLite могут действовать на эту подсказку по-другому.
- SQLITE_PREPARE_NORMALIZE
- Флаг SQLITE_PREPARE_NORMALIZE — это пустая операция. Этот флаг раньше был необходим для любого подготовленного утверждения, которое хотело использовать интерфейс sqlite3_normalized_sql(). Однако теперь интерфейс sqlite3_normalized_sql() доступен для всех подготовленных утверждений, независимо от того, используют ли они этот флаг.
- SQLITE_PREPARE_NO_VTAB
- Флаг SQLITE_PREPARE_NO_VTAB заставляет компилятор SQL возвращать ошибку (код ошибки SQLITE_ERROR), если утверждение использует какие-либо виртуальные таблицы.
См. также списки Объектов, Констант и Функций.
SQLite is in the Public Domain.
https://sqlite.org/c3ref/c_prepare_normalize.html