1.Dd December 19, 2018 2.Dt SQLITE_PREPARE_PERSISTENT 3 3.Os 4.Sh NAME 5.Nm SQLITE_PREPARE_PERSISTENT , 6.Nm SQLITE_PREPARE_NORMALIZE 7.Nd Prepare Flags 8.Sh SYNOPSIS 9.Fd #define SQLITE_PREPARE_PERSISTENT 10.Fd #define SQLITE_PREPARE_NORMALIZE 11.Sh DESCRIPTION 12These constants define various flags that can be passed into "prepFlags" 13parameter of the sqlite3_prepare_v3() and sqlite3_prepare16_v3() 14interfaces. 15.Pp 16New flags may be added in future releases of SQLite. 17.Bl -tag -width Ds 18.It SQLITE_PREPARE_PERSISTENT 19The SQLITE_PREPARE_PERSISTENT flag is a hint to the query planner that 20the prepared statement will be retained for a long time and probably 21reused many times. 22Without this flag, sqlite3_prepare_v3() and sqlite3_prepare16_v3() 23assume that the prepared statement will be used just once or at most 24a few times and then destroyed using sqlite3_finalize() 25relatively soon. 26The current implementation acts on this hint by avoiding the use of 27lookaside memory so as not to deplete the limited store 28of lookaside memory. 29Future versions of SQLite may act on this hint differently. 30.It SQLITE_PREPARE_NORMALIZE 31The SQLITE_PREPARE_NORMALIZE flag indicates that a normalized representation 32of the SQL statement should be calculated and then associated with 33the prepared statement, which can be obtained via the sqlite3_normalized_sql() 34interface. 35The semantics used to normalize a SQL statement are unspecified and 36subject to change. 37At a minimum, literal values will be replaced with suitable placeholders. 38.El 39.Pp 40.Sh SEE ALSO 41.Xr sqlite3_finalize 3 , 42.Xr sqlite3_sql 3 , 43.Xr sqlite3_prepare 3 44