12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- # 2024 Feb 18
- #
- # The author disclaims copyright to this source code. In place of
- # a legal notice, here is a blessing:
- #
- # May you do good and not evil.
- # May you find forgiveness for yourself and forgive others.
- # May you share freely, never taking more than you give.
- #
- #***********************************************************************
- #
- if {![info exists testdir]} {
- set testdir [file join [file dirname [info script]] .. .. test]
- }
- source $testdir/tester.tcl
- ifcapable !vtab||!pragma {
- proc return_if_no_intck {} {
- finish_test
- return -code return
- }
- return
- } else {
- proc return_if_no_intck {} {}
- }
- proc do_intck {db {bSuspend 0}} {
- set ic [sqlite3_intck $db main]
- set ret [list]
- while {"SQLITE_OK"==[$ic step]} {
- set msg [$ic message]
- if {$msg!=""} {
- lappend ret $msg
- }
- if {$bSuspend} {
- $ic unlock
- #puts "SQL: [$ic test_sql {}]"
- #execsql_pp "EXPLAIN query plan [$ic test_sql {}]"
- #explain_i [$ic test_sql {}]
- }
- }
- set err [$ic error]
- if {[lindex $err 0]!="SQLITE_OK"} {
- error $err
- }
- $ic close
- return $ret
- }
- proc intck_sql {db tbl} {
- set ic [sqlite3_intck $db main]
- set sql [$ic test_sql $tbl]
- $ic close
- return $sql
- }
- proc do_intck_test {tn expect} {
- uplevel [list do_test $tn.a [list do_intck db] [list {*}$expect]]
- uplevel [list do_test $tn.b [list do_intck db 1] [list {*}$expect]]
- }
|