R-42285-56877-09234-46641-17073-37053-15248-47437 tcl slt th3 src
The sqlite3_snapshot_open(D,S,P) interface starts a read transaction for schema S of database connection D such that the read transaction refers to historical snapshot P, rather than the most recent change to the database.
/* IMP: R-42285-56877 */
# EVIDENCE-OF: R-42285-56877 The sqlite3_snapshot_open(D,S,P) interface # starts a read transaction for schema S of database connection D such # that the read transaction refers to historical snapshot P, rather than # the most recent change to the database.
R-06640-03838-35138-60782-53418-54966-60899-05980 tcl slt th3 src
The sqlite3_snapshot_open() interface returns SQLITE_OK on success or an appropriate error code if it fails.
/* IMP: R-06640-03838 */
# EVIDENCE-OF: R-06640-03838 The sqlite3_snapshot_open() interface # returns SQLITE_OK on success or an appropriate error code if it fails.
R-33198-05775-12486-51098-43766-32149-25799-18917 tcl slt th3 src
In order to succeed, a call to sqlite3_snapshot_open(D,S,P) must be the first operation following the BEGIN that takes the schema S out of autocommit mode.
/* IMP: R-33198-05775 */
# EVIDENCE-OF: R-33198-05775 In order to succeed, a call to # sqlite3_snapshot_open(D,S,P) must be the first operation following the # BEGIN that takes the schema S out of autocommit mode.
R-31310-22333-18574-57043-24725-36788-30807-54807 tcl slt th3 src
In other words, schema S must not currently be in a transaction for sqlite3_snapshot_open(D,S,P) to work, but the database connection D must be out of autocommit mode.
/* IMP: R-31310-22333 */
# EVIDENCE-OF: R-31310-22333 In other words, schema S must not currently # be in a transaction for sqlite3_snapshot_open(D,S,P) to work, but the # database connection D must be out of autocommit mode.
R-35040-01730-43982-30750-52073-28087-17408-35843 tcl slt th3 src
A snapshot will fail to open if it has been overwritten by a checkpoint.
/* IMP: R-35040-01730 */
# EVIDENCE-OF: R-35040-01730 A snapshot will fail to open if it has been # overwritten by a checkpoint.
R-40460-39888-52540-38305-24333-10191-58577-29064 tcl slt th3 src
A call to sqlite3_snapshot_open(D,S,P) will fail if the database connection D does not know that the database file for schema S is in WAL mode. A database connection might not know that the database file is in WAL mode if there has been no prior I/O on that database connection, or if the database entered WAL mode after the most recent I/O on the database connection.
/* IMP: R-40460-39888 */
# EVIDENCE-OF: R-40460-39888 A call to sqlite3_snapshot_open(D,S,P) will # fail if the database connection D does not know that the database file # for schema S is in WAL mode. A database connection might not know that # the database file is in WAL mode if there has been no prior I/O on # that database connection, or if the database entered WAL mode after # the most recent I/O on the database connection.