Index: third_party/sqlite/sqlite-src-3100200/test/vtabH.test |
diff --git a/third_party/sqlite/sqlite-src-3100200/test/vtabH.test b/third_party/sqlite/sqlite-src-3100200/test/vtabH.test |
deleted file mode 100644 |
index 7bd542e05b0c7acc2458562981fa078b90bbfc5f..0000000000000000000000000000000000000000 |
--- a/third_party/sqlite/sqlite-src-3100200/test/vtabH.test |
+++ /dev/null |
@@ -1,202 +0,0 @@ |
-# 2015 Nov 24 |
-# |
-# 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. |
-# |
-#*********************************************************************** |
-# This file implements regression tests for SQLite library. Specifically, |
-# it tests that the GLOB, LIKE and REGEXP operators are correctly exposed |
-# to virtual table implementations. |
-# |
- |
-set testdir [file dirname $argv0] |
-source $testdir/tester.tcl |
-set testprefix vtabH |
- |
-ifcapable !vtab { |
- finish_test |
- return |
-} |
- |
-register_echo_module db |
- |
-do_execsql_test 1.0 { |
- CREATE TABLE t6(a, b TEXT); |
- CREATE INDEX i6 ON t6(b, a); |
- CREATE VIRTUAL TABLE e6 USING echo(t6); |
-} |
- |
-foreach {tn sql expect} { |
- 1 "SELECT * FROM e6 WHERE b LIKE 'abc'" { |
- xBestIndex {SELECT rowid, a, b FROM 't6' WHERE b like ?} |
- xFilter {SELECT rowid, a, b FROM 't6' WHERE b like ?} abc |
- } |
- |
- 2 "SELECT * FROM e6 WHERE b GLOB 'abc'" { |
- xBestIndex {SELECT rowid, a, b FROM 't6' WHERE b glob ?} |
- xFilter {SELECT rowid, a, b FROM 't6' WHERE b glob ?} abc |
- } |
-} { |
- do_test 1.$tn { |
- set echo_module {} |
- execsql $sql |
- set ::echo_module |
- } [list {*}$expect] |
-} |
- |
- |
-#-------------------------------------------------------------------------- |
- |
-register_tclvar_module db |
-set ::xyz 10 |
-do_execsql_test 2.0 { |
- CREATE VIRTUAL TABLE vars USING tclvar; |
- SELECT * FROM vars WHERE name = 'xyz'; |
-} {xyz {} 10} |
- |
-set x1 aback |
-set x2 abaft |
-set x3 abandon |
-set x4 abandonint |
-set x5 babble |
-set x6 baboon |
-set x7 backbone |
-set x8 backarrow |
-set x9 castle |
- |
-db func glob gfunc |
-proc gfunc {a b} { |
- incr ::gfunc |
- return 1 |
-} |
- |
-db func like lfunc |
-proc lfunc {a b} { |
- incr ::gfunc 100 |
- return 1 |
-} |
- |
-db func regexp rfunc |
-proc rfunc {a b} { |
- incr ::gfunc 10000 |
- return 1 |
-} |
- |
-foreach ::tclvar_set_omit {0 1} { |
- foreach {tn expr res cnt} { |
- 1 {value GLOB 'aban*'} {x3 abandon x4 abandonint} 2 |
- 2 {value LIKE '%ac%'} {x1 aback x7 backbone x8 backarrow} 300 |
- 3 {value REGEXP '^......$'} {x5 babble x6 baboon x9 castle} 30000 |
- } { |
- db cache flush |
- set ::gfunc 0 |
- if {$::tclvar_set_omit} {set cnt 0} |
- |
- do_test 2.$tclvar_set_omit.$tn.1 { |
- execsql "SELECT name, value FROM vars WHERE name MATCH 'x*' AND $expr" |
- } $res |
- |
- do_test 2.$tclvar_set_omit.$tn.2 { |
- set ::gfunc |
- } $cnt |
- } |
-} |
- |
-#------------------------------------------------------------------------- |
-# |
-if {1} { |
- reset_db |
- register_fs_module db |
- do_execsql_test 3.0 { |
- SELECT name FROM fsdir WHERE dir = '.' AND name = 'test.db'; |
- SELECT name FROM fsdir WHERE dir = '.' AND name = '.' |
- } {test.db .} |
- |
- proc list_root_files {} { |
- if {$::tcl_platform(platform) eq "windows"} { |
- set res [list] |
- foreach name [glob -directory $::env(SystemDrive)/ -- *] { |
- if {[string index [file tail $name] 0] eq "."} continue |
- lappend res $name |
- } |
- return $res |
- } else { |
- return [string map {/ {}} [glob /*]] |
- } |
- } |
- |
- proc list_files { pattern } { |
- if {$::tcl_platform(platform) eq "windows"} { |
- set res [list] |
- foreach name [glob -nocomplain $pattern] { |
- if {[string index [file tail $name] 0] eq "."} continue |
- lappend res $name |
- } |
- return $res |
- } else { |
- return [glob -nocomplain $pattern] |
- } |
- } |
- |
- # Read all entries in the current directory. |
- # |
- proc contents {pattern} { |
- set res [list] |
- foreach f [list_files $pattern] { |
- lappend res $f |
- if {[file isdir $f]} { |
- set res [concat $res [contents "$f/*"]] |
- } |
- } |
- set res |
- } |
- set pwd "[pwd]/*" |
- set res [contents $pwd] |
- do_execsql_test 3.2 { |
- SELECT path FROM fstree WHERE path GLOB $pwd ORDER BY 1 |
- } [lsort $res] |
- |
- # Add some sub-directories and files to the current directory. |
- # |
- do_test 3.3 { |
- catch { file delete -force subdir } |
- foreach {path sz} { |
- subdir/x1.txt 143 |
- subdir/x2.txt 153 |
- } { |
- set dir [file dirname $path] |
- catch { file mkdir $dir } |
- set fd [open $path w] |
- puts -nonewline $fd [string repeat 1 $sz] |
- close $fd |
- } |
- } {} |
- |
- set pwd [pwd] |
- do_execsql_test 3.5 { |
- SELECT path, size FROM fstree WHERE path GLOB $pwd || '/subdir/*' ORDER BY 1 |
- } [list \ |
- "$pwd/subdir/x1.txt" 143 \ |
- "$pwd/subdir/x2.txt" 153 \ |
- ] |
- do_execsql_test 3.6 { |
- SELECT path, size FROM fstree WHERE path LIKE $pwd || '/subdir/%' ORDER BY 1 |
- } [list \ |
- "$pwd/subdir/x1.txt" 143 \ |
- "$pwd/subdir/x2.txt" 153 \ |
- ] |
- do_execsql_test 3.7 { |
- SELECT sum(size) FROM fstree WHERE path LIKE $pwd || '/subdir/%' |
- } 296 |
- do_execsql_test 3.8 { |
- SELECT size FROM fstree WHERE path = $pwd || '/subdir/x1.txt' |
- } 143 |
- |
-} |
- |
- |
-finish_test |