*** DRAFT ***

SQLite Requirement Matrix Details
autovacuum_pages.html

Index Summary Markup Original


R-08782-14491-16976-46290-53742-52079-02561-50311 tcl slt th3 src

The sqlite3_autovacuum_pages(D,C,P,X) interface registers a callback function C that is invoked prior to each autovacuum of the database file.

th3/cov1/autovac01.test:21

/* IMP: R-08782-14491 */
# EVIDENCE-OF: R-08782-14491 The sqlite3_autovacuum_pages(D,C,P,X)
# interface registers a callback function C that is invoked prior to
# each autovacuum of the database file.

R-00160-62826-06599-62604-50169-49638-00739-38455 tcl slt th3 src

The callback is passed a copy of the generic data pointer (P), the schema-name of the attached database that is being autovacuumed, the size of the database file in pages, the number of free pages, and the number of bytes per page, respectively.

th3/cov1/autovac01.test:25

/* IMP: R-00160-62826 */
# EVIDENCE-OF: R-00160-62826 The callback is passed a copy of the
# generic data pointer (P), the schema-name of the attached database
# that is being autovacuumed, the size of the database file in pages,
# the number of free pages, and the number of bytes per page,
# respectively.

R-13942-56227-29182-17952-26079-42982-33569-18657 tcl slt th3 src

If the callback returns zero, then no autovacuum happens.

th3/cov1/autovac01.test:115

/* IMP: R-13942-56227 */
# EVIDENCE-OF: R-13942-56227 If the callback returns zero, then no
# autovacuum happens.

R-40317-56781-64457-03743-19969-30394-04244-36420 tcl slt th3 src

If the value returned is greater than or equal to the number of free pages, then a complete autovacuum happens.

th3/cov1/autovac01.test:103

/* IMP: R-40317-56781 */
# EVIDENCE-OF: R-40317-56781 If the value returned is greater than or
# equal to the number of free pages, then a complete autovacuum happens.

R-26084-48949-64878-55281-48565-40359-59604-32431 tcl slt th3 src

If there are multiple ATTACH-ed database files that are being modified as part of a transaction commit, then the autovacuum pages callback is invoked separately for each file.

th3/cov1/autovac01.test:137

/* IMP: R-26084-48949 */
# EVIDENCE-OF: R-26084-48949 If there are multiple ATTACH-ed database
# files that are being modified as part of a transaction commit, then
# the autovacuum pages callback is invoked separately for each file.

R-24336-64733-64595-09951-63248-40632-37615-43311 tcl slt th3 src

The X parameter to sqlite3_autovacuum_pages(D,C,P,X) is an optional destructor for the P parameter.

th3/cov1/autovac01.test:31

/* IMP: R-24336-64733 */
# EVIDENCE-OF: R-24336-64733 The X parameter to
# sqlite3_autovacuum_pages(D,C,P,X) is an optional destructor for the P
# parameter.

R-26171-42722-11458-03689-53861-19437-55507-39257 tcl slt th3 src

If X is not NULL, then X(P) is invoked whenever the database connection closes or when the callback is overwritten by another invocation of sqlite3_autovacuum_pages().

th3/cov1/autovac01.test:35

/* IMP: R-26171-42722 */
# EVIDENCE-OF: R-26171-42722 If X is not NULL, then X(P) is invoked
# whenever the database connection closes or when the callback is
# overwritten by another invocation of sqlite3_autovacuum_pages().

R-46291-03074-57887-12924-47057-50116-02665-17152 tcl slt th3 src

There is only one autovacuum pages callback per database connection.

th3/cov1/autovac01.test:85

/* IMP: R-46291-03074 */
# EVIDENCE-OF: R-46291-03074 There is only one autovacuum pages callback
# per database connection.

R-09861-58956-64676-24756-26552-19713-44272-01342 tcl slt th3 src

Each call to the sqlite3_autovacuum_pages() interface overrides all previous invocations for that database connection.

th3/cov1/autovac01.test:88

/* IMP: R-09861-58956 */
# EVIDENCE-OF: R-09861-58956 Each call to the sqlite3_autovacuum_pages()
# interface overrides all previous invocations for that database
# connection.

R-08713-21404-16233-00698-59438-08453-31603-49865 tcl slt th3 src

If the callback argument (C) to sqlite3_autovacuum_pages(D,C,P,X) is a NULL pointer, then the autovacuum steps callback is cancelled.

th3/cov1/autovac01.test:92

/* IMP: R-08713-21404 */
# EVIDENCE-OF: R-08713-21404 If the callback argument (C) to
# sqlite3_autovacuum_pages(D,C,P,X) is a NULL pointer, then the
# autovacuum steps callback is cancelled.