Small. Fast. Reliable.
Choose any three.

SQLite C Interface

Prepare Flags

#define SQLITE_PREPARE_PERSISTENT              0x01
#define SQLITE_PREPARE_NORMALIZE               0x02

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.

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.

The SQLITE_PREPARE_NORMALIZE flag indicates that a normalized representation of the SQL statement should be calculated and then associated with the prepared statement, which can be obtained via the sqlite3_normalized_sql() interface. The semantics used to normalize a SQL statement are unspecified and subject to change. At a minimum, literal values will be replaced with suitable placeholders.

See also lists of Objects, Constants, and Functions.