1 # 2005 September 19 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 # This file implements regression tests for SQLite library. 12 # 13 # This file implements tests to verify that ticket #1444 has been 14 # fixed. 15 # 16 17 set testdir [file dirname $argv0] 18 source $testdir/tester.tcl 19 20 ifcapable !compound||!view { 21 finish_test 22 return 23 } 24 25 # The use of a VIEW that contained an ORDER BY clause within a UNION ALL 26 # was causing problems. See ticket #1444. 27 # 28 do_test tkt1444-1.1 { 29 execsql { 30 CREATE TABLE DemoTable (x INTEGER, TextKey TEXT, DKey Real); 31 CREATE INDEX DemoTableIdx ON DemoTable (TextKey); 32 INSERT INTO DemoTable VALUES(9,8,7); 33 INSERT INTO DemoTable VALUES(1,2,3); 34 CREATE VIEW DemoView AS SELECT * FROM DemoTable ORDER BY TextKey; 35 SELECT * FROM DemoTable UNION ALL SELECT * FROM DemoView ORDER BY 1; 36 } 37 } {1 2 3.0 1 2 3.0 9 8 7.0 9 8 7.0} 38 do_test tkt1444-1.2 { 39 execsql { 40 SELECT * FROM DemoTable UNION ALL SELECT * FROM DemoView; 41 } 42 } {9 8 7.0 1 2 3.0 1 2 3.0 9 8 7.0} 43 do_test tkt1444-1.3 { 44 execsql { 45 DROP VIEW DemoView; 46 CREATE VIEW DemoView AS SELECT * FROM DemoTable; 47 SELECT * FROM DemoTable UNION ALL SELECT * FROM DemoView ORDER BY 1; 48 } 49 } {1 2 3.0 1 2 3.0 9 8 7.0 9 8 7.0} 50 do_test tkt1444-1.4 { 51 execsql { 52 SELECT * FROM DemoTable UNION ALL SELECT * FROM DemoView; 53 } 54 } {9 8 7.0 1 2 3.0 9 8 7.0 1 2 3.0} 55 56 finish_test 57