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
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>