1# 2008 October 06 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# 12# This file implements regression tests for SQLite library. The 13# focus of this file is testing the fix for ticket #3419. 14# Ticket #3419 is really a duplication of #3408 and had already 15# been fixed by the time it was reported. But it never hurts to 16# add new test cases. 17# 18# $Id: tkt3419.test,v 1.1 2008/10/06 15:31:13 drh Exp $ 19 20set testdir [file dirname $argv0] 21source $testdir/tester.tcl 22 23do_test tkt3419-1.1 { 24 execsql { 25 create table a(id integer primary key); 26 create table b(id integer primary key, a_id integer); 27 create table c(id integer primary key, b_id integer); 28 29 insert into a values (1); 30 insert into a values (2); 31 32 insert into b values (3, 1); 33 insert into b values (4, 1); 34 insert into b values (5, 1); 35 insert into b values (6, 1); 36 insert into b values (9, 2); 37 38 insert into c values (4, 3); 39 insert into c values (5, 5); 40 insert into c values (6, 4); 41 insert into c values (7, 6); 42 insert into c values (8, 9); 43 44 select * FROM a, b, c WHERE a.id=2 AND b.a_id = a.id AND b.id=c.b_id; 45 } 46} {2 9 2 8 9} 47do_test tkt3419-1.2 { 48 execsql { 49 select * FROM a, c, b WHERE a.id=2 AND b.a_id = a.id AND b.id=c.b_id; 50 } 51} {2 8 9 9 2} 52do_test tkt3419-1.3 { 53 execsql { 54 select * FROM b, a, c WHERE a.id=2 AND b.a_id = a.id AND b.id=c.b_id; 55 } 56} {9 2 2 8 9} 57do_test tkt3419-1.4 { 58 execsql { 59 select * FROM b, c, a WHERE a.id=2 AND b.a_id = a.id AND b.id=c.b_id; 60 } 61} {9 2 8 9 2} 62do_test tkt3419-1.5 { 63 execsql { 64 select * FROM c, a, b WHERE a.id=2 AND b.a_id = a.id AND b.id=c.b_id; 65 } 66} {8 9 2 9 2} 67do_test tkt3419-1.6 { 68 execsql { 69 select * FROM c, b, a WHERE a.id=2 AND b.a_id = a.id AND b.id=c.b_id; 70 } 71} {8 9 9 2 2} 72 73finish_test 74