Merge sqlite-release(3.38.3) into prerelease-integration
[sqlcipher.git] / test / tkt1444.test
blob13870db8e807ce62eaef919922e450b74125e447
1 # 2005 September 19
3 # The author disclaims copyright to this source code.  In place of
4 # a legal notice, here is a blessing:
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.
10 #***********************************************************************
11 # This file implements regression tests for SQLite library.
13 # This file implements tests to verify that ticket #1444 has been
14 # fixed.  
17 set testdir [file dirname $argv0]
18 source $testdir/tester.tcl
20 ifcapable !compound||!view {
21   finish_test
22   return 
25 # The use of a VIEW that contained an ORDER BY clause within a UNION ALL
26 # was causing problems.  See ticket #1444.
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}
56 finish_test