| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
|
|
| source [file join [file dirname [info script]] rbu_common.tcl] |
| if_no_rbu_support { finish_test ; return } |
| source $testdir/lock_common.tcl |
| set ::testprefix rbu13 |
|
|
| do_execsql_test 1.0 { |
| CREATE TABLE t1(a PRIMARY KEY, b, c, d, e, f, g, h); |
| WITH ii(i) AS (SELECT 0 UNION ALL SELECT i+1 FROM ii WHERE i<127) |
| INSERT INTO t1 SELECT i, 0, 0, 0, 0, 0, 0, 0 FROM ii; |
| } |
|
|
| forcedelete rbu.db |
| do_execsql_test 1.1 { |
| ATTACH 'rbu.db' AS rbu; |
| CREATE TABLE rbu.data_t1(a, b, c, d, e, f, g, h, rbu_control); |
| } |
|
|
| do_test 1.2 { |
| for {set i 0} {$i<128} {incr i} { |
| set control "." |
| for {set bit 6} {$bit>=0} {incr bit -1} { |
| if { $i & (1<<$bit) } { |
| append control "x" |
| } else { |
| append control "." |
| } |
| } |
| execsql { INSERT INTO data_t1 VALUES($i, 1, 1, 1, 1, 1, 1, 1, $control) } |
| } |
| } {} |
|
|
| do_test 1.3 { |
| sqlite3rbu rbu test.db rbu.db |
| while 1 { |
| set rc [rbu step] |
| if {$rc!="SQLITE_OK"} break |
| } |
| rbu close |
| } {SQLITE_DONE} |
|
|
| do_execsql_test 1.4 { |
| SELECT count(*) FROM t1 WHERE |
| a == ( (b<<6) + (c<<5) + (d<<4) + (e<<3) + (f<<2) + (g<<1) + (h<<0) ) |
| } {128} |
|
|
|
|
| finish_test |
|
|