Small. Fast. Reliable.
Choose any three.

SQLite Requirement Matrix Details
exec.html

Index Summary Markup Original


R-09704-29281-62509-09033-18405-10464-02206-26533 tcl slt th3 src

The sqlite3_exec() interface runs zero or more UTF-8 encoded, semicolon-separate SQL statements passed into its 2nd argument, in the context of the database connection passed in as its 1st argument.

th3/req1/exec01.test:63

/* IMP: R-09704-29281 */
# EVIDENCE-OF: R-09704-29281 The sqlite3_exec() interface runs zero or
# more UTF-8 encoded, semicolon-separate SQL statements passed into its
# 2nd argument, in the context of the database connection passed in as
# its 1st argument.

R-55733-20912-49393-01361-02084-05970-17120-19612 tcl slt th3 src

If the callback function of the 3rd argument to sqlite3_exec() is not NULL, then it is invoked for each result row coming out of the evaluated SQL statements.

th3/req1/exec01.test:88

/* IMP: R-55733-20912 */
# EVIDENCE-OF: R-55733-20912 If the callback function of the 3rd
# argument to sqlite3_exec() is not NULL, then it is invoked for each
# result row coming out of the evaluated SQL statements.

R-18567-63872-28950-34991-21095-45728-61145-64681 tcl slt th3 src

The 4th argument to sqlite3_exec() is relayed through to the 1st argument of each callback invocation.

th3/req1/exec01.test:92

/* IMP: R-18567-63872 */
# EVIDENCE-OF: R-18567-63872 The 4th argument to sqlite3_exec() is
# relayed through to the 1st argument of each callback invocation.

R-34354-51417-57740-57504-01542-51579-51443-23369 tcl slt th3 src

If the callback pointer to sqlite3_exec() is NULL, then no callback is ever invoked and result rows are ignored.

th3/req1/exec01.test:68

/* IMP: R-34354-51417 */
# EVIDENCE-OF: R-34354-51417 If the callback pointer to sqlite3_exec()
# is NULL, then no callback is ever invoked and result rows are ignored.

R-41103-34171-63381-59793-03319-04831-02307-39561 tcl slt th3 src

If an error occurs while evaluating the SQL statements passed into sqlite3_exec(), then execution of the current statement stops and subsequent statements are skipped.

th3/req1/exec01.test:102

/* IMP: R-41103-34171 */
# EVIDENCE-OF: R-41103-34171 If an error occurs while evaluating the SQL
# statements passed into sqlite3_exec(), then execution of the current
# statement stops and subsequent statements are skipped.

R-15162-34851-63939-05950-21084-00823-32030-36120 tcl slt th3 src

If the 5th parameter to sqlite3_exec() is not NULL then any error message is written into memory obtained from sqlite3_malloc() and passed back through the 5th parameter.

th3/req1/exec01.test:125

/* IMP: R-15162-34851 */
# EVIDENCE-OF: R-15162-34851 If the 5th parameter to sqlite3_exec() is
# not NULL then any error message is written into memory obtained from
# sqlite3_malloc() and passed back through the 5th parameter.

R-40244-56906-37355-29196-11093-05053-42353-15016 tcl slt th3 src

If the 5th parameter to sqlite3_exec() is not NULL and no errors occur, then sqlite3_exec() sets the pointer in its 5th parameter to NULL before returning.

th3/req1/exec01.test:116

/* IMP: R-40244-56906 */
# EVIDENCE-OF: R-40244-56906 If the 5th parameter to sqlite3_exec() is
# not NULL and no errors occur, then sqlite3_exec() sets the pointer in
# its 5th parameter to NULL before returning.

R-61011-49942-02510-58821-51919-09145-23706-24617 tcl slt th3 src

If an sqlite3_exec() callback returns non-zero, the sqlite3_exec() routine returns SQLITE_ABORT without invoking the callback again and without running any subsequent SQL statements.

th3/req1/exec01.test:135

/* IMP: R-61011-49942 */
# EVIDENCE-OF: R-61011-49942 If an sqlite3_exec() callback returns
# non-zero, the sqlite3_exec() routine returns SQLITE_ABORT without
# invoking the callback again and without running any subsequent SQL
# statements.

R-02063-40503-04157-38005-61496-25541-17209-31219 tcl slt th3 src

The 2nd argument to the sqlite3_exec() callback function is the number of columns in the result.

th3/req1/exec01.test:27

/* IMP: R-02063-40503 */
# EVIDENCE-OF: R-02063-40503 The 2nd argument to the sqlite3_exec()
# callback function is the number of columns in the result.

R-24157-46062-13277-37526-03999-51751-53681-32386 tcl slt th3 src

The 3rd argument to the sqlite3_exec() callback is an array of pointers to strings obtained as if from sqlite3_column_text(), one for each column.

th3/req1/exec01.test:39

/* IMP: R-24157-46062 */
# EVIDENCE-OF: R-24157-46062 The 3rd argument to the sqlite3_exec()
# callback is an array of pointers to strings obtained as if from
# sqlite3_column_text(), one for each column.

R-03774-63970-49348-18096-09598-62977-03168-07384 tcl slt th3 src

If an element of a result row is NULL then the corresponding string pointer for the sqlite3_exec() callback is a NULL pointer.

th3/req1/exec01.test:152

/* IMP: R-03774-63970 */
# EVIDENCE-OF: R-03774-63970 If an element of a result row is NULL then
# the corresponding string pointer for the sqlite3_exec() callback is a
# NULL pointer.

R-26228-33773-01538-19072-29962-47655-12853-04397 tcl slt th3 src

The 4th argument to the sqlite3_exec() callback is an array of pointers to strings where each entry represents the name of corresponding result column as obtained from sqlite3_column_name().

th3/req1/exec01.test:33

/* IMP: R-26228-33773 */
# EVIDENCE-OF: R-26228-33773 The 4th argument to the sqlite3_exec()
# callback is an array of pointers to strings where each entry
# represents the name of corresponding result column as obtained from
# sqlite3_column_name().

R-31406-45734-45366-20105-37202-23050-60311-59562 tcl slt th3 src

If the 2nd parameter to sqlite3_exec() is a NULL pointer, a pointer to an empty string, or a pointer that contains only whitespace and/or SQL comments, then no SQL statements are evaluated and the database is not changed.

th3/req1/exec01.test:165

/* IMP: R-31406-45734 */
# EVIDENCE-OF: R-31406-45734 If the 2nd parameter to sqlite3_exec() is a
# NULL pointer, a pointer to an empty string, or a pointer that contains
# only whitespace and/or SQL comments, then no SQL statements are
# evaluated and the database is not changed.