# 2007 June 8 # # 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. The # focus of this file is testing that terms in the ON clause of # a LEFT OUTER JOIN are not used with indices. See ticket #3015. # # $Id: where6.test,v 1.1 2008/03/26 14:56:35 drh Exp $ set testdir [file dirname $argv0] source $testdir/tester.tcl # Build some test data # do_test where6-1.0 { execsql { CREATE TABLE t1(a INTEGER PRIMARY KEY,b,c); INSERT INTO t1 VALUES(1,3,1); INSERT INTO t1 VALUES(2,4,2); CREATE TABLE t2(x INTEGER PRIMARY KEY); INSERT INTO t2 VALUES(3); SELECT * FROM t1 LEFT JOIN t2 ON b=x AND c=1; } } {1 3 1 3 2 4 2 {}} do_test where6-1.1 { execsql { SELECT * FROM t1 LEFT JOIN t2 ON b=x WHERE c=1; } } {1 3 1 3} do_test where6-1.2 { execsql { CREATE INDEX i1 ON t1(c); SELECT * FROM t1 LEFT JOIN t2 ON b=x AND c=1; } } {1 3 1 3 2 4 2 {}} do_test where6-1.3 { execsql { SELECT * FROM t1 LEFT JOIN t2 ON b=x WHERE c=1; } } {1 3 1 3} finish_test