AryaWu/sqlite
0
1# 2007 January 032#3# The author disclaims copyright to this source code. In place of4# 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# This file implements regression tests for SQLite library.12#13# This file implements tests to verify that ticket #2141 has been14# fixed. 15#16#17# $Id: tkt2141.test,v 1.2 2007/09/12 17:01:45 danielk1977 Exp $18 19set testdir [file dirname $argv0]20source $testdir/tester.tcl21 22ifcapable !subquery {23 finish_test24 return25}26 27do_test tkt2141-1.1 {28 execsql {29 CREATE TABLE tab1 (t1_id integer PRIMARY KEY, t1_desc);30 INSERT INTO tab1 VALUES(1,'rec 1 tab 1');31 CREATE TABLE tab2 (t2_id integer PRIMARY KEY, t2_id_t1, t2_desc);32 INSERT INTO tab2 VALUES(1,1,'rec 1 tab 2');33 CREATE TABLE tab3 (t3_id integer PRIMARY KEY, t3_id_t2, t3_desc);34 INSERT INTO tab3 VALUES(1,1,'aa');35 SELECT *36 FROM tab1 t1 LEFT JOIN tab2 t2 ON t1.t1_id = t2.t2_id_t137 WHERE t2.t2_id IN38 (SELECT t2_id FROM tab2, tab3 ON t2_id = t3_id_t239 WHERE t3_id IN (1,2) GROUP BY t2_id);40 }41} {1 {rec 1 tab 1} 1 1 {rec 1 tab 2}}42do_test tkt2141-1.2 {43 execsql {44 SELECT *45 FROM tab1 t1 LEFT JOIN tab2 t2 ON t1.t1_id = t2.t2_id_t146 WHERE t2.t2_id IN47 (SELECT t2_id FROM tab2, tab3 ON t2_id = t3_id_t248 WHERE t3_id IN (1,2));49 }50} {1 {rec 1 tab 1} 1 1 {rec 1 tab 2}}51do_test tkt2141-1.3 {52 execsql {53 SELECT *54 FROM tab1 t1 LEFT JOIN tab2 t255 WHERE t2.t2_id IN56 (SELECT t2_id FROM tab2, tab3 ON t2_id = t3_id_t257 WHERE t3_id IN (1,2));58 }59} {1 {rec 1 tab 1} 1 1 {rec 1 tab 2}}60 61finish_test62 