mirror of
https://github.com/sqlite/sqlite.git
synced 2025-07-29 08:01:23 +03:00
Add test cases that compare the performance of the transitive_closure
virtual table again common table expressions for walking a tree. FossilOrigin-Name: 9a23f020e8ed0e7a1ad227b4ab379fdf5e2de222
This commit is contained in:
@ -59,6 +59,7 @@
|
||||
# do_test TESTNAME SCRIPT EXPECTED
|
||||
# do_execsql_test TESTNAME SQL EXPECTED
|
||||
# do_catchsql_test TESTNAME SQL EXPECTED
|
||||
# do_timed_execsql_test TESTNAME SQL EXPECTED
|
||||
#
|
||||
# Commands providing a lower level interface to the global test counters:
|
||||
#
|
||||
@ -717,6 +718,11 @@ proc do_catchsql_test {testname sql result} {
|
||||
fix_testname testname
|
||||
uplevel do_test [list $testname] [list "catchsql {$sql}"] [list $result]
|
||||
}
|
||||
proc do_timed_execsql_test {testname sql {result {}}} {
|
||||
fix_testname testname
|
||||
uplevel do_test [list $testname] [list "execsql_timed {$sql}"]\
|
||||
[list [list {*}$result]]
|
||||
}
|
||||
proc do_eqp_test {name sql res} {
|
||||
uplevel do_execsql_test $name [list "EXPLAIN QUERY PLAN $sql"] [list $res]
|
||||
}
|
||||
@ -1013,6 +1019,14 @@ proc execsql {sql {db db}} {
|
||||
# puts "SQL = $sql"
|
||||
uplevel [list $db eval $sql]
|
||||
}
|
||||
proc execsql_timed {sql {db db}} {
|
||||
set tm [time {
|
||||
set x [uplevel [list $db eval $sql]]
|
||||
} 1]
|
||||
set tm [lindex $tm 0]
|
||||
puts -nonewline " ([expr {$tm*0.001}]ms) "
|
||||
set x
|
||||
}
|
||||
|
||||
# Execute SQL and catch exceptions.
|
||||
#
|
||||
|
Reference in New Issue
Block a user