Small. Fast. Reliable.
Choose any three.

SQLite Requirement Matrix Details
expanded_sql.html

Index Summary Markup Original


R-34314-06007-23852-03493-52380-57466-48633-09703 tcl slt th3 src

The sqlite3_sql(P) interface returns a pointer to a copy of the UTF-8 SQL text used to create prepared statement P if P was created by sqlite3_prepare_v2(), sqlite3_prepare_v3(), sqlite3_prepare16_v2(), or sqlite3_prepare16_v3().

th3/req1/sql01.test:18   th3/th3util.c:2698

/* IMP: R-34314-06007 */
# EVIDENCE-OF: R-34314-06007 The sqlite3_sql(P) interface returns a
# pointer to a copy of the UTF-8 SQL text used to create prepared
# statement P if P was created by sqlite3_prepare_v2(),
# sqlite3_prepare_v3(), sqlite3_prepare16_v2(), or
# sqlite3_prepare16_v3().

R-64182-49733-18009-45461-02192-56112-34061-30398 tcl slt th3 src

The sqlite3_expanded_sql(P) interface returns a pointer to a UTF-8 string containing the SQL text of prepared statement P with bound parameters expanded.

th3/req1/sql01.test:60

/* IMP: R-64182-49733 */
# EVIDENCE-OF: R-64182-49733 The sqlite3_expanded_sql(P) interface
# returns a pointer to a UTF-8 string containing the SQL text of
# prepared statement P with bound parameters expanded.

R-32163-18986-58302-09222-31539-08493-63340-58892 tcl slt th3 src

The sqlite3_normalized_sql(P) interface returns a pointer to a UTF-8 string containing the normalized SQL text of prepared statement P.

/* IMP: R-32163-18986 */
# EVIDENCE-OF: R-32163-18986 The sqlite3_normalized_sql(P) interface
# returns a pointer to a UTF-8 string containing the normalized SQL text
# of prepared statement P.

R-04945-22784-17023-15023-27622-31516-40757-39566 tcl slt th3 src

For example, if a prepared statement is created using the SQL text "SELECT $abc,:xyz" and if parameter $abc is bound to integer 2345 and parameter :xyz is unbound, then sqlite3_sql() will return the original string, "SELECT $abc,:xyz" but sqlite3_expanded_sql() will return "SELECT 2345,NULL".

th3/req1/sql01.test:64

/* IMP: R-04945-22784 */
# EVIDENCE-OF: R-04945-22784 For example, if a prepared statement is
# created using the SQL text "SELECT $abc,:xyz" and if parameter $abc is
# bound to integer 2345 and parameter :xyz is unbound, then
# sqlite3_sql() will return the original string, "SELECT $abc,:xyz" but
# sqlite3_expanded_sql() will return "SELECT 2345,NULL".

R-48508-22969-00511-42065-43898-18607-20276-53224 tcl slt th3 src

The sqlite3_expanded_sql() interface returns NULL if insufficient memory is available to hold the result, or if the result would exceed the the maximum string length determined by the SQLITE_LIMIT_LENGTH.

/* IMP: R-48508-22969 */
# EVIDENCE-OF: R-48508-22969 The sqlite3_expanded_sql() interface
# returns NULL if insufficient memory is available to hold the result,
# or if the result would exceed the the maximum string length determined
# by the SQLITE_LIMIT_LENGTH.

R-02603-20369-49628-47923-33871-62989-43083-21610 tcl slt th3 src

The SQLITE_TRACE_SIZE_LIMIT compile-time option limits the size of bound parameter expansions.

th3/cov1/main16.test:188

/* IMP: R-02603-20369 */
# EVIDENCE-OF: R-02603-20369 The SQLITE_TRACE_SIZE_LIMIT compile-time
# option limits the size of bound parameter expansions.

R-39074-57615-41505-43616-22624-34066-27860-62726 tcl slt th3 src

The SQLITE_OMIT_TRACE compile-time option causes sqlite3_expanded_sql() to always return NULL.

th3/req1/sql01.test:80

/* IMP: R-39074-57615 */
# EVIDENCE-OF: R-39074-57615 The SQLITE_OMIT_TRACE compile-time option
# causes sqlite3_expanded_sql() to always return NULL.

R-03177-38447-54493-08883-15341-37081-39578-45414 tcl slt th3 src

The strings returned by sqlite3_sql(P) and sqlite3_normalized_sql(P) are managed by SQLite and are automatically freed when the prepared statement is finalized.

th3/req1/sql01.test:24

/* IMP: R-03177-38447 */
# EVIDENCE-OF: R-03177-38447 The strings returned by sqlite3_sql(P) and
# sqlite3_normalized_sql(P) are managed by SQLite and are automatically
# freed when the prepared statement is finalized.

R-13901-14007-64763-25986-03152-23899-30045-21244 tcl slt th3 src

The string returned by sqlite3_expanded_sql(P), on the other hand, is obtained from sqlite3_malloc() and must be freed by the application by passing it to sqlite3_free().

th3/req1/sql01.test:85

/* IMP: R-13901-14007 */
# EVIDENCE-OF: R-13901-14007 The string returned by
# sqlite3_expanded_sql(P), on the other hand, is obtained from
# sqlite3_malloc() and must be freed by the application by passing it to
# sqlite3_free().

R-19322-51547-46174-45390-10480-27965-13547-38348 tcl slt th3 src

The sqlite3_normalized_sql() interface is only available if the SQLITE_ENABLE_NORMALIZE compile-time option is defined.

/* IMP: R-19322-51547 */
# EVIDENCE-OF: R-19322-51547 The sqlite3_normalized_sql() interface is
# only available if the SQLITE_ENABLE_NORMALIZE compile-time option is
# defined.