Small. Fast. Reliable.
Choose any three.
#define SQLITE_PREPARE_PERSISTENT 0x01
#define SQLITE_PREPARE_NORMALIZE 0x02
#define SQLITE_PREPARE_NO_VTAB 0x04
These constants define various flags that can be passed into
"prepFlags" parameter of the sqlite3_prepare_v3() and
sqlite3_prepare16_v3() interfaces.
New flags may be added in future releases of SQLite.
- SQLITE_PREPARE_PERSISTENT
- The SQLITE_PREPARE_PERSISTENT flag is a hint to the query planner
that the prepared statement will be retained for a long time and
probably reused many times. Without this flag, sqlite3_prepare_v3()
and sqlite3_prepare16_v3() assume that the prepared statement will
be used just once or at most a few times and then destroyed using
sqlite3_finalize() relatively soon. The current implementation acts
on this hint by avoiding the use of lookaside memory so as not to
deplete the limited store of lookaside memory. Future versions of
SQLite may act on this hint differently.
- SQLITE_PREPARE_NORMALIZE
- The SQLITE_PREPARE_NORMALIZE flag is a no-op. This flag used
to be required for any prepared statement that wanted to use the
sqlite3_normalized_sql() interface. However, the
sqlite3_normalized_sql() interface is now available to all
prepared statements, regardless of whether or not they use this
flag.
- SQLITE_PREPARE_NO_VTAB
- The SQLITE_PREPARE_NO_VTAB flag causes the SQL compiler
to return an error (error code SQLITE_ERROR) if the statement uses
any virtual tables.
See also lists of
Objects,
Constants, and
Functions.