blob: 13870db8e807ce62eaef919922e450b74125e447 [file] [log] [blame]
drh4b14b4d2005-09-19 17:35:53 +00001# 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
danielk19773bdca9c2006-01-17 09:35:01 +000020ifcapable !compound||!view {
danielk1977ff890792006-01-16 16:24:25 +000021 finish_test
22 return
23}
24
drh4b14b4d2005-09-19 17:35:53 +000025# 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 }
drh8a512562005-11-14 22:29:05 +000037} {1 2 3.0 1 2 3.0 9 8 7.0 9 8 7.0}
drh4b14b4d2005-09-19 17:35:53 +000038do_test tkt1444-1.2 {
39 execsql {
40 SELECT * FROM DemoTable UNION ALL SELECT * FROM DemoView;
41 }
danielk1977f2a3e682006-06-23 14:43:30 +000042} {9 8 7.0 1 2 3.0 1 2 3.0 9 8 7.0}
drh4b14b4d2005-09-19 17:35:53 +000043do_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 }
danielk1977f2a3e682006-06-23 14:43:30 +000049} {1 2 3.0 1 2 3.0 9 8 7.0 9 8 7.0}
drh4b14b4d2005-09-19 17:35:53 +000050do_test tkt1444-1.4 {
51 execsql {
52 SELECT * FROM DemoTable UNION ALL SELECT * FROM DemoView;
53 }
danielk1977f2a3e682006-06-23 14:43:30 +000054} {9 8 7.0 1 2 3.0 9 8 7.0 1 2 3.0}
drh4b14b4d2005-09-19 17:35:53 +000055
56finish_test