1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-08-08 14:02:16 +03:00

Merge the latest trunk enhancements into the wal2 branch.

FossilOrigin-Name: a78208b597ee34b1121dd8014b3c1376b46baddff41448c96a37723cc9ede921
This commit is contained in:
drh
2024-08-16 18:58:50 +00:00
51 changed files with 1766 additions and 870 deletions

View File

@@ -1057,6 +1057,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