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
17set testdir [file dirname $argv0]
18source $testdir/tester.tcl
19
20ifcapable !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#
28do_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}
38do_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}
43do_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}
50do_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
56finish_test
57