1# 2016-07-01 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# Test cases for a crash bug. 12# 13 14set testdir [file dirname $argv0] 15source $testdir/tester.tcl 16 17do_execsql_test collateB-1.1 { 18 CREATE TABLE t1(a INTEGER PRIMARY KEY); 19 CREATE TABLE t2(b INTEGER PRIMARY KEY, x1 INT COLLATE NOCASE); 20 CREATE TABLE t3(x2 INT); 21 SELECT * FROM t3, t2, t1 WHERE x2=b AND x1=a AND a=1; 22} {} 23do_execsql_test collateB-1.2 { 24 INSERT INTO t1(a) VALUES(1),(2),(3); 25 INSERT INTO t2(b,x1) VALUES(11,1),(22,2),(33,3); 26 INSERT INTO t3(x2) VALUES(11),(22),(33); 27 SELECT *,'|' FROM t3, t2, t1 WHERE x2=b AND x1=a AND a=1; 28} {11 11 1 1 |} 29do_execsql_test collateB-1.3 { 30 SELECT *,'|' FROM t3, t1, t2 WHERE x2=b AND x1=a AND a=1; 31} {11 1 11 1 |} 32do_execsql_test collateB-1.4 { 33 SELECT *,'|' FROM t2, t3, t1 WHERE x2=b AND x1=a AND a=1; 34} {11 1 11 1 |} 35do_execsql_test collateB-1.5 { 36 SELECT *,'|' FROM t2, t1, t3 WHERE x2=b AND x1=a AND a=1; 37} {11 1 1 11 |} 38do_execsql_test collateB-1.6 { 39 SELECT *,'|' FROM t1, t2, t3 WHERE x2=b AND x1=a AND a=1; 40} {1 11 1 11 |} 41do_execsql_test collateB-1.7 { 42 SELECT *,'|' FROM t1, t2, t3 WHERE x2=b AND x1=a AND a=1; 43} {1 11 1 11 |} 44do_execsql_test collateB-1.12 { 45 SELECT *,'|' FROM t3, t2, t1 WHERE b=x2 AND a=x1 AND 1=a; 46} {11 11 1 1 |} 47do_execsql_test collateB-1.13 { 48 SELECT *,'|' FROM t3, t1, t2 WHERE b=x2 AND a=x1 AND 1=a; 49} {11 1 11 1 |} 50do_execsql_test collateB-1.14 { 51 SELECT *,'|' FROM t2, t3, t1 WHERE b=x2 AND a=x1 AND 1=a; 52} {11 1 11 1 |} 53do_execsql_test collateB-1.15 { 54 SELECT *,'|' FROM t2, t1, t3 WHERE b=x2 AND a=x1 AND 1=a; 55} {11 1 1 11 |} 56do_execsql_test collateB-1.16 { 57 SELECT *,'|' FROM t1, t2, t3 WHERE b=x2 AND a=x1 AND 1=a; 58} {1 11 1 11 |} 59do_execsql_test collateB-1.17 { 60 SELECT *,'|' FROM t1, t2, t3 WHERE b=x2 AND a=x1 AND 1=a; 61} {1 11 1 11 |} 62 63finish_test 64