Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(207)

Unified Diff: third_party/sqlite/sqlite-src-3080704/test/skipscan5.test

Issue 2363173002: [sqlite] Remove obsolete reference version 3.8.7.4. (Closed)
Patch Set: Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/sqlite/sqlite-src-3080704/test/skipscan5.test
diff --git a/third_party/sqlite/sqlite-src-3080704/test/skipscan5.test b/third_party/sqlite/sqlite-src-3080704/test/skipscan5.test
deleted file mode 100644
index 7c3b166a8c2f4fa8da2427194fc97f7410d87beb..0000000000000000000000000000000000000000
--- a/third_party/sqlite/sqlite-src-3080704/test/skipscan5.test
+++ /dev/null
@@ -1,182 +0,0 @@
-# 2013-11-13
-#
-# 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 tests of the "skip-scan" query strategy. In
-# particular it tests that stat4 data can be used by a range query
-# that uses the skip-scan approach.
-#
-
-set testdir [file dirname $argv0]
-source $testdir/tester.tcl
-set testprefix skipscan5
-
-ifcapable !stat4 {
- finish_test
- return
-}
-
-do_execsql_test 1.1 {
- CREATE TABLE t1(a INT, b INT, c INT);
- CREATE INDEX i1 ON t1(a, b);
-} {}
-
-expr srand(4)
-do_test 1.2 {
- for {set i 0} {$i < 100} {incr i} {
- set a [expr int(rand()*4.0) + 1]
- set b [expr int(rand()*20.0) + 1]
- execsql { INSERT INTO t1 VALUES($a, $b, NULL) }
- }
- execsql ANALYZE
-} {}
-
-foreach {tn q res} {
- 1 "b = 5" {/*ANY(a) AND b=?*/}
- 2 "b > 12 AND b < 16" {/*ANY(a) AND b>? AND b<?*/}
- 3 "b > 2 AND b < 16" {/*SCAN TABLE t1*/}
- 4 "b > 18 AND b < 25" {/*ANY(a) AND b>? AND b<?*/}
- 5 "b > 15" {/*ANY(a) AND b>?*/}
- 6 "b > 5" {/*SCAN TABLE t1*/}
- 7 "b < 15" {/*SCAN TABLE t1*/}
- 8 "b < 5" {/*ANY(a) AND b<?*/}
- 9 "5 > b" {/*ANY(a) AND b<?*/}
- 10 "b = '5'" {/*ANY(a) AND b=?*/}
- 11 "b > '12' AND b < '16'" {/*ANY(a) AND b>? AND b<?*/}
- 12 "b > '2' AND b < '16'" {/*SCAN TABLE t1*/}
- 13 "b > '18' AND b < '25'" {/*ANY(a) AND b>? AND b<?*/}
- 14 "b > '15'" {/*ANY(a) AND b>?*/}
- 15 "b > '5'" {/*SCAN TABLE t1*/}
- 16 "b < '15'" {/*SCAN TABLE t1*/}
- 17 "b < '5'" {/*ANY(a) AND b<?*/}
- 18 "'5' > b" {/*ANY(a) AND b<?*/}
-} {
- set sql "EXPLAIN QUERY PLAN SELECT * FROM t1 WHERE $q"
- do_execsql_test 1.3.$tn $sql $res
-}
-
-
-#-------------------------------------------------------------------------
-# Test that range-query/skip-scan estimation works with text values.
-# And on UTF-16 databases when there is no UTF-16 collation sequence
-# available.
-#
-
-proc test_collate {enc lhs rhs} {
- string compare $lhs $rhs
-}
-
-foreach {tn dbenc coll} {
- 1 UTF-8 { add_test_collate db 0 0 1 }
- 2 UTF-16 { add_test_collate db 1 0 0 }
- 3 UTF-8 { add_test_collate db 0 1 0 }
-} {
- reset_db
- eval $coll
-
- do_execsql_test 2.$tn.1 " PRAGMA encoding = '$dbenc' "
- do_execsql_test 2.$tn.2 {
- CREATE TABLE t2(a TEXT, b TEXT, c TEXT COLLATE test_collate, d TEXT);
- CREATE INDEX i2 ON t2(a, b, c);
- }
-
- set vocab(d) { :) }
- set vocab(c) { a b c d e f g h i j k l m n o p q r s t }
- set vocab(b) { one two three }
- set vocab(a) { sql }
-
- do_test 2.$tn.3 {
- for {set i 0} {$i < 100} {incr i} {
- foreach var {a b c d} {
- set $var [lindex $vocab($var) [expr $i % [llength $vocab($var)]]]
- }
- execsql { INSERT INTO t2 VALUES($a, $b, $c, $d) }
- }
- execsql ANALYZE
- } {}
-
- foreach {tn2 q res} {
- 1 { c BETWEEN 'd' AND 'e' } {/*ANY(a) AND ANY(b) AND c>? AND c<?*/}
- 2 { c BETWEEN 'b' AND 'r' } {/*SCAN TABLE t2*/}
- 3 { c > 'q' } {/*ANY(a) AND ANY(b) AND c>?*/}
- 4 { c > 'e' } {/*SCAN TABLE t2*/}
- 5 { c < 'q' } {/*SCAN TABLE t2*/}
- 6 { c < 'c' } {/*ANY(a) AND ANY(b) AND c<?*/}
- } {
- set sql "EXPLAIN QUERY PLAN SELECT * FROM t2 WHERE $q"
- do_execsql_test 2.$tn.$tn2 $sql $res
- }
-
-}
-
-#-------------------------------------------------------------------------
-# Test that range-query/skip-scan estimation works on columns that contain
-# a variety of types.
-#
-
-reset_db
-do_execsql_test 3.1 {
- CREATE TABLE t3(a, b, c);
- CREATE INDEX i3 ON t3(a, b);
-}
-
-set values {
- NULL NULL NULL
- NULL -9567 -9240
- -8725 -8659 -8248.340244520614
- -8208 -7939 -7746.985758536954
- -7057 -6550 -5916
- -5363 -4935.781822975623 -4935.063633571875
- -3518.4554911770183 -2537 -2026
- -1511.2603881914456 -1510.4195994839156 -1435
- -1127.4210136045804 -1045 99
- 1353 1457 1563.2908193223611
- 2245 2286 2552
- 2745.18831295203 2866.279926554429 3075.0468527316334
- 3447 3867 4237.892420141907
- 4335 5052.9775000424015 5232.178240656935
- 5541.784919585003 5749.725576373621 5758
- 6005 6431 7263.477992854769
- 7441 7541 8667.279760663994
- 8857 9199.638673662972 'dl'
- 'dro' 'h' 'igprfq'
- 'jnbd' 'k' 'kordee'
- 'lhwcv' 'mzlb' 'nbjked'
- 'nufpo' 'nxqkdq' 'shelln'
- 'tvzn' 'wpnt' 'wylf'
- 'ydkgu' 'zdb' X''
- X'0a' X'203f6429f1f33f' X'23858e324545e0362b'
- X'3f9f8a' X'516f7ddd4b' X'68f1df0930ac6b'
- X'9ea60d' X'a06f' X'aefd342a39ce36df'
- X'afaa020fe2' X'be201c' X'c47d97b209601e45'
-}
-
-do_test 3.2 {
- set c 0
- foreach v $values {
- execsql "INSERT INTO t3 VALUES($c % 2, $v, $c)"
- incr c
- }
- execsql ANALYZE
-} {}
-
-foreach {tn q res} {
- 1 "b BETWEEN -10000 AND -8000" {/*ANY(a) AND b>? AND b<?*/}
- 2 "b BETWEEN -10000 AND 'qqq'" {/*SCAN TABLE t3*/}
- 3 "b < X'5555'" {/*SCAN TABLE t3*/}
- 4 "b > X'5555'" {/*ANY(a) AND b>?*/}
- 5 "b > 'zzz'" {/*ANY(a) AND b>?*/}
- 6 "b < 'zzz'" {/*SCAN TABLE t3*/}
-} {
- set sql "EXPLAIN QUERY PLAN SELECT * FROM t3 WHERE $q"
- do_execsql_test 3.3.$tn $sql $res
-}
-
-finish_test
« no previous file with comments | « third_party/sqlite/sqlite-src-3080704/test/skipscan3.test ('k') | third_party/sqlite/sqlite-src-3080704/test/soak.test » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698