*** DRAFT ***

SQLite Requirement Matrix Details
interrupt.html

Index Summary Markup Original


R-18964-51531-38235-16261-57269-07859-04237-25462 tcl slt th3 src

This function causes any pending database operation to abort and return at its earliest opportunity.

/* IMP: R-18964-51531 */
# EVIDENCE-OF: R-18964-51531 This function causes any pending database
# operation to abort and return at its earliest opportunity.

R-01707-21292-14865-10862-25623-35625-38879-45651 tcl slt th3 src

It is safe to call this routine from a thread different from the thread that is currently running the database operation.

/* IMP: R-01707-21292 */
# EVIDENCE-OF: R-01707-21292 It is safe to call this routine from a
# thread different from the thread that is currently running the
# database operation.

R-27910-63456-49633-56474-25927-30250-35983-46521 tcl slt th3 src

If an SQL operation is very nearly finished at the time when sqlite3_interrupt() is called, then it might not have an opportunity to be interrupted and might continue to completion.

/* IMP: R-27910-63456 */
# EVIDENCE-OF: R-27910-63456 If an SQL operation is very nearly finished
# at the time when sqlite3_interrupt() is called, then it might not have
# an opportunity to be interrupted and might continue to completion.

R-64809-29224-33309-48329-38874-47326-32566-40643 tcl slt th3 src

An SQL operation that is interrupted will return SQLITE_INTERRUPT.

/* IMP: R-64809-29224 */
# EVIDENCE-OF: R-64809-29224 An SQL operation that is interrupted will
# return SQLITE_INTERRUPT.

R-41837-07814-38752-23130-22847-42887-22849-22070 tcl slt th3 src

If the interrupted SQL operation is an INSERT, UPDATE, or DELETE that is inside an explicit transaction, then the entire transaction will be rolled back automatically.

/* IMP: R-41837-07814 */
# EVIDENCE-OF: R-41837-07814 If the interrupted SQL operation is an
# INSERT, UPDATE, or DELETE that is inside an explicit transaction, then
# the entire transaction will be rolled back automatically.

R-21274-02227-62864-03639-07150-27166-13487-20730 tcl slt th3 src

The sqlite3_interrupt(D) call is in effect until all currently running SQL statements on database connection D complete.

/* IMP: R-21274-02227 */
# EVIDENCE-OF: R-21274-02227 The sqlite3_interrupt(D) call is in effect
# until all currently running SQL statements on database connection D
# complete.

R-02653-06118-57159-51555-56170-47267-50367-42791 tcl slt th3 src

Any new SQL statements that are started after the sqlite3_interrupt() call and before the running statement count reaches zero are interrupted as if they had been running prior to the sqlite3_interrupt() call.

/* IMP: R-02653-06118 */
# EVIDENCE-OF: R-02653-06118 Any new SQL statements that are started
# after the sqlite3_interrupt() call and before the running statement
# count reaches zero are interrupted as if they had been running prior
# to the sqlite3_interrupt() call.

R-62469-05091-48869-23817-54734-43619-45624-64340 tcl slt th3 src

New SQL statements that are started after the running statement count reaches zero are not effected by the sqlite3_interrupt().

/* IMP: R-62469-05091 */
# EVIDENCE-OF: R-62469-05091 New SQL statements that are started after
# the running statement count reaches zero are not effected by the
# sqlite3_interrupt().

R-04156-06964-57164-01636-33935-16787-30855-09296 tcl slt th3 src

A call to sqlite3_interrupt(D) that occurs when there are no running SQL statements is a no-op and has no effect on SQL statements that are started after the sqlite3_interrupt() call returns.

/* IMP: R-04156-06964 */
# EVIDENCE-OF: R-04156-06964 A call to sqlite3_interrupt(D) that occurs
# when there are no running SQL statements is a no-op and has no effect
# on SQL statements that are started after the sqlite3_interrupt() call
# returns.

R-26673-15838-15533-01034-32643-40457-40986-48817 tcl slt th3 src

The sqlite3_is_interrupted(D) interface can be used to determine whether or not an interrupt is currently in effect for database connection D.

/* IMP: R-26673-15838 */
# EVIDENCE-OF: R-26673-15838 The sqlite3_is_interrupted(D) interface can
# be used to determine whether or not an interrupt is currently in
# effect for database connection D.