1# 2022 September 07 2# 3# The author disclaims copyright to this source code. In place of 4# a legal notice, here is a blessing: 5# 6# May you do good and not evil. 7# May you find forgiveness for yourself and forgive others. 8# May you share freely, never taking more than you give. 9# 10#*********************************************************************** 11# 12# Tests for the SQLITE_RECOVER_ROWIDS option. 13# 14 15source [file join [file dirname [info script]] recover_common.tcl] 16set testprefix recoverrowid 17 18proc recover {db bRowids output} { 19 forcedelete $output 20 21 set R [sqlite3_recover_init db main test.db2] 22 $R config rowids $bRowids 23 $R run 24 $R finish 25} 26 27do_execsql_test 1.0 { 28 CREATE TABLE t1(a, b); 29 INSERT INTO t1 VALUES(1, 1), (2, 2), (3, 3), (4, 4); 30 DELETE FROM t1 WHERE a IN (1, 3); 31} 32 33do_test 1.1 { 34 recover db 0 test.db2 35 sqlite3 db2 test.db2 36 execsql { SELECT rowid, a, b FROM t1 ORDER BY rowid} db2 37} {1 2 2 2 4 4} 38 39do_test 1.2 { 40 db2 close 41 recover db 1 test.db2 42 sqlite3 db2 test.db2 43 execsql { SELECT rowid, a, b FROM t1 ORDER BY rowid} db2 44} {2 2 2 4 4 4} 45db2 close 46 47 48 49 50finish_test 51