RussianLDP Рейтинг@Mail.ru
WebMoney: 
WMZ Z294115950220 
WMR R409981405661 
WME E134003968233 
Visa 
4274 3200 2453 6495 

Small. Fast. Reliable.
Choose any three.

SQLite C Interface

Подготовленные флаги

#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() относительно скоро. Текущее внедрение действует на этот намек, избегая использования сохраняющей памяти , чтобы не исчерпать ограниченный запас сохраняющей памяти. Будущие версии SQLite могут действовать на этот намек по-другому.

SQLITE_PREPARE_NORMALIZE
SQLITE_PREPARE_NORMALIZE не делает ничего. Этот флаг раньше требовался для любого подготовленного запроса, который хотел использовать sqlite3_normalized_sql(). Но sqlite3_normalized_sql() теперь доступен всем подготовленным запросам, независимо от того, используют ли они этот флаг.

SQLITE_PREPARE_NO_VTAB
SQLITE_PREPARE_NO_VTAB заставляет компилятор SQL возвращать ошибку (код ошибки SQLITE_ERROR), если запрос использует какие-либо виртуальные таблицы.