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), если запрос использует
какие-либо виртуальные таблицы.
|