1# 2012 April 02 2# 3# The author disclaims copyright to this source code. In place of 4# a legal notice, here is a blessing: 5# 6# May you do good and not evil. 7# May you find forgiveness for yourself and forgive others. 8# May you share freely, never taking more than you give. 9# 10#*********************************************************************** 11# The tests in this file were used while developing the SQLite 4 code. 12# 13set testdir [file dirname $argv0] 14source $testdir/tester.tcl 15set testprefix tkt-385a5b56b9 16 17do_execsql_test 1.0 { 18 CREATE TABLE t1(x, y); 19 INSERT INTO t1 VALUES(1, NULL); 20 INSERT INTO t1 VALUES(2, NULL); 21 INSERT INTO t1 VALUES(1, NULL); 22} 23 24do_execsql_test 1.1 { SELECT DISTINCT x, y FROM t1 } {1 {} 2 {}} 25do_execsql_test 1.2 { CREATE UNIQUE INDEX i1 ON t1(x, y) } 26do_execsql_test 1.3 { SELECT DISTINCT x, y FROM t1 } {1 {} 2 {}} 27 28 29#------------------------------------------------------------------------- 30 31do_execsql_test 2.0 { 32 CREATE TABLE t2(x, y NOT NULL); 33 CREATE UNIQUE INDEX t2x ON t2(x); 34 CREATE UNIQUE INDEX t2y ON t2(y); 35} 36 37do_eqp_test 2.1 { SELECT DISTINCT x FROM t2 } \ 38 {SCAN t2 USING COVERING INDEX t2x} 39 40do_eqp_test 2.2 { SELECT DISTINCT y FROM t2 } \ 41 {SCAN t2 USING COVERING INDEX t2y} 42 43do_eqp_test 2.3 { SELECT DISTINCT x, y FROM t2 WHERE y=10 } \ 44 {SEARCH t2 USING INDEX t2y (y=?)} 45 46do_eqp_test 2.4 { SELECT DISTINCT x, y FROM t2 WHERE x=10 } \ 47 {SEARCH t2 USING INDEX t2x (x=?)} 48 49 50finish_test 51