diff options
Diffstat (limited to 'libraries/sqlite/unix/sqlite-3.5.1/test/tkt2339.test')
-rw-r--r-- | libraries/sqlite/unix/sqlite-3.5.1/test/tkt2339.test | 100 |
1 files changed, 100 insertions, 0 deletions
diff --git a/libraries/sqlite/unix/sqlite-3.5.1/test/tkt2339.test b/libraries/sqlite/unix/sqlite-3.5.1/test/tkt2339.test new file mode 100644 index 0000000..41acd37 --- /dev/null +++ b/libraries/sqlite/unix/sqlite-3.5.1/test/tkt2339.test | |||
@@ -0,0 +1,100 @@ | |||
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 | ||