diff options
author | drh <> | 2024-08-16 11:26:21 +0000 |
---|---|---|
committer | drh <> | 2024-08-16 11:26:21 +0000 |
commit | 2ed4f5016a591b5aaabe4a80fc073faab4ad907d (patch) | |
tree | 3a26a048f96987ae2c2b95c308eca322fef8dfd0 /test/tester.tcl | |
parent | 42f997d768f3853c9d5bca5e3e07878236ee698b (diff) | |
download | sqlite-2ed4f5016a591b5aaabe4a80fc073faab4ad907d.tar.gz sqlite-2ed4f5016a591b5aaabe4a80fc073faab4ad907d.zip |
Fix handling of COLLATE. Add test cases for the same. Code cleanup for
improved understandability and maintainability.
FossilOrigin-Name: 41a41c173a9d15d94f23d73a5c04bfb1616cb9223bc81d41808f9b4d00817fbf
Diffstat (limited to 'test/tester.tcl')
-rw-r--r-- | test/tester.tcl | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/test/tester.tcl b/test/tester.tcl index 63c83187a..43f7c7a04 100644 --- a/test/tester.tcl +++ b/test/tester.tcl @@ -1056,6 +1056,29 @@ proc do_eqp_test {name sql res} { } } +# Do both an eqp_test and an execsql_test on the same SQL. +# +proc do_eqp_execsql_test {name sql res1 res2} { + if {[regexp {^\s+QUERY PLAN\n} $res1]} { + + set query_plan [query_plan_graph $sql] + + if {[list {*}$query_plan]==[list {*}$res1]} { + uplevel [list do_test ${name}a [list set {} ok] ok] + } else { + uplevel [list \ + do_test ${name}a [list query_plan_graph $sql] $res1 + ] + } + } else { + if {[string index $res 0]!="/"} { + set res1 "/*$res1*/" + } + uplevel do_execsql_test ${name}a [list "EXPLAIN QUERY PLAN $sql"] [list $res1] + } + uplevel do_execsql_test ${name}b [list $sql] [list $res2] +} + #------------------------------------------------------------------------- # Usage: do_select_tests PREFIX ?SWITCHES? TESTLIST |