OLD | NEW |
| (Empty) |
1 # 2007 May 6 | |
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 # | |
12 # $Id: tkt2339.test,v 1.2 2007/09/12 17:01:45 danielk1977 Exp $ | |
13 # | |
14 | |
15 set testdir [file dirname $argv0] | |
16 source $testdir/tester.tcl | |
17 | |
18 ifcapable !subquery||!compound { | |
19 finish_test | |
20 return | |
21 } | |
22 | |
23 do_test tkt2339.1 { | |
24 execsql { | |
25 create table t1(num int); | |
26 insert into t1 values (1); | |
27 insert into t1 values (2); | |
28 insert into t1 values (3); | |
29 insert into t1 values (4); | |
30 | |
31 create table t2(num int); | |
32 insert into t2 values (11); | |
33 insert into t2 values (12); | |
34 insert into t2 values (13); | |
35 insert into t2 values (14); | |
36 | |
37 SELECT * FROM (SELECT * FROM t1 ORDER BY num DESC LIMIT 2) | |
38 UNION | |
39 SELECT * FROM (SELECT * FROM t2 ORDER BY num DESC LIMIT 2) | |
40 } | |
41 } {3 4 13 14} | |
42 do_test tkt2339.2 { | |
43 execsql { | |
44 SELECT * FROM (SELECT * FROM t1 ORDER BY num DESC LIMIT 2) | |
45 UNION ALL | |
46 SELECT * FROM (SELECT * FROM t2 ORDER BY num DESC LIMIT 2) | |
47 } | |
48 } {4 3 14 13} | |
49 do_test tkt2339.3 { | |
50 execsql { | |
51 SELECT * FROM (SELECT * FROM t1 ORDER BY num DESC) | |
52 UNION ALL | |
53 SELECT * FROM (SELECT * FROM t2 ORDER BY num DESC LIMIT 2) | |
54 } | |
55 } {4 3 2 1 14 13} | |
56 do_test tkt2339.4 { | |
57 execsql { | |
58 SELECT * FROM (SELECT * FROM t1 ORDER BY num DESC LIMIT 2) | |
59 UNION ALL | |
60 SELECT * FROM (SELECT * FROM t2 ORDER BY num DESC) | |
61 } | |
62 } {4 3 14 13 12 11} | |
63 do_test tkt2339.5 { | |
64 execsql { | |
65 SELECT * FROM (SELECT * FROM t1 ORDER BY num DESC LIMIT 2) | |
66 UNION | |
67 SELECT * FROM (SELECT * FROM t2 ORDER BY num DESC) | |
68 } | |
69 } {3 4 11 12 13 14} | |
70 do_test tkt2339.6 { | |
71 execsql { | |
72 SELECT * FROM (SELECT * FROM t1 ORDER BY num DESC LIMIT 2) | |
73 EXCEPT | |
74 SELECT * FROM (SELECT * FROM t2 ORDER BY num DESC) | |
75 } | |
76 } {3 4} | |
77 do_test tkt2339.7 { | |
78 execsql { | |
79 SELECT * FROM (SELECT * FROM t1 LIMIT 2) | |
80 UNION | |
81 SELECT * FROM (SELECT * FROM t2 ORDER BY num DESC LIMIT 2) | |
82 } | |
83 } {1 2 13 14} | |
84 do_test tkt2339.8 { | |
85 execsql { | |
86 SELECT * FROM (SELECT * FROM t1 LIMIT 2) | |
87 UNION | |
88 SELECT * FROM (SELECT * FROM t2 LIMIT 2) | |
89 } | |
90 } {1 2 11 12} | |
91 do_test tkt2339.9 { | |
92 execsql { | |
93 SELECT * FROM (SELECT * FROM t1 ORDER BY num DESC LIMIT 2) | |
94 UNION | |
95 SELECT * FROM (SELECT * FROM t2 LIMIT 2) | |
96 } | |
97 } {3 4 11 12} | |
98 | |
99 | |
100 finish_test | |
OLD | NEW |