*** DRAFT ***

SQLite Requirement Matrix Details
db_cacheflush.html

Index Summary Markup Original


R-30842-64597-38059-54199-19748-27245-38788-44472 tcl slt th3 src

If a write-transaction is open on database connection D when the sqlite3_db_cacheflush(D) interface invoked, any dirty pages in the pager-cache that are not currently in use are written out to disk.

/* IMP: R-30842-64597 */
# EVIDENCE-OF: R-30842-64597 If a write-transaction is open on database
# connection D when the sqlite3_db_cacheflush(D) interface invoked, any
# dirty pages in the pager-cache that are not currently in use are
# written out to disk.

R-39070-64522-51812-62435-11898-58079-59310-06231 tcl slt th3 src

The sqlite3_db_cacheflush(D) interface flushes caches for all schemas - "main", "temp", and any attached databases.

/* IMP: R-39070-64522 */
# EVIDENCE-OF: R-39070-64522 The sqlite3_db_cacheflush(D) interface
# flushes caches for all schemas - "main", "temp", and any attached
# databases.

R-03511-33422-55072-31663-17873-23476-48339-34907 tcl slt th3 src

If this function needs to obtain extra database locks before dirty pages can be flushed to disk, it does so.

/* IMP: R-03511-33422 */
# EVIDENCE-OF: R-03511-33422 If this function needs to obtain extra
# database locks before dirty pages can be flushed to disk, it does so.

R-29872-04040-27270-03833-42234-32060-43929-61511 tcl slt th3 src

If those locks cannot be obtained immediately and there is a busy-handler callback configured, it is invoked in the usual manner.

/* IMP: R-29872-04040 */
# EVIDENCE-OF: R-29872-04040 If those locks cannot be obtained
# immediately and there is a busy-handler callback configured, it is
# invoked in the usual manner.

R-33800-32193-29222-19847-14904-43461-36254-14018 tcl slt th3 src

If the required lock still cannot be obtained, then the database is skipped and an attempt made to flush any dirty pages belonging to the next (if any) database.

/* IMP: R-33800-32193 */
# EVIDENCE-OF: R-33800-32193 If the required lock still cannot be
# obtained, then the database is skipped and an attempt made to flush
# any dirty pages belonging to the next (if any) database.

R-54967-64139-35056-57094-27190-32604-29267-26110 tcl slt th3 src

If any databases are skipped because locks cannot be obtained, but no other error occurs, this function returns SQLITE_BUSY.

/* IMP: R-54967-64139 */
# EVIDENCE-OF: R-54967-64139 If any databases are skipped because locks
# cannot be obtained, but no other error occurs, this function returns
# SQLITE_BUSY.

R-14174-63475-36300-18663-27828-32664-44187-42924 tcl slt th3 src

If any other error occurs while flushing dirty pages to disk (for example an IO error or out-of-memory condition), then processing is abandoned and an SQLite error code is returned to the caller immediately.

/* IMP: R-14174-63475 */
# EVIDENCE-OF: R-14174-63475 If any other error occurs while flushing
# dirty pages to disk (for example an IO error or out-of-memory
# condition), then processing is abandoned and an SQLite error code is
# returned to the caller immediately.

R-13164-16564-32961-63761-40355-01269-15862-60679 tcl slt th3 src

Otherwise, if no error occurs, sqlite3_db_cacheflush() returns SQLITE_OK.

/* IMP: R-13164-16564 */
# EVIDENCE-OF: R-13164-16564 Otherwise, if no error occurs,
# sqlite3_db_cacheflush() returns SQLITE_OK.

R-54592-23151-09328-60476-49284-22460-04291-25126 tcl slt th3 src

This function does not set the database handle error code or message returned by the sqlite3_errcode() and sqlite3_errmsg() functions.

/* IMP: R-54592-23151 */
# EVIDENCE-OF: R-54592-23151 This function does not set the database
# handle error code or message returned by the sqlite3_errcode() and
# sqlite3_errmsg() functions.