Index: third_party/sqlite/sqlite-src-3070603/test/tkt1444.test |
diff --git a/third_party/sqlite/sqlite-src-3070603/test/tkt1444.test b/third_party/sqlite/sqlite-src-3070603/test/tkt1444.test |
new file mode 100644 |
index 0000000000000000000000000000000000000000..13870db8e807ce62eaef919922e450b74125e447 |
--- /dev/null |
+++ b/third_party/sqlite/sqlite-src-3070603/test/tkt1444.test |
@@ -0,0 +1,56 @@ |
+# 2005 September 19 |
+# |
+# The author disclaims copyright to this source code. In place of |
+# a legal notice, here is a blessing: |
+# |
+# May you do good and not evil. |
+# May you find forgiveness for yourself and forgive others. |
+# May you share freely, never taking more than you give. |
+# |
+#*********************************************************************** |
+# This file implements regression tests for SQLite library. |
+# |
+# This file implements tests to verify that ticket #1444 has been |
+# fixed. |
+# |
+ |
+set testdir [file dirname $argv0] |
+source $testdir/tester.tcl |
+ |
+ifcapable !compound||!view { |
+ finish_test |
+ return |
+} |
+ |
+# The use of a VIEW that contained an ORDER BY clause within a UNION ALL |
+# was causing problems. See ticket #1444. |
+# |
+do_test tkt1444-1.1 { |
+ execsql { |
+ CREATE TABLE DemoTable (x INTEGER, TextKey TEXT, DKey Real); |
+ CREATE INDEX DemoTableIdx ON DemoTable (TextKey); |
+ INSERT INTO DemoTable VALUES(9,8,7); |
+ INSERT INTO DemoTable VALUES(1,2,3); |
+ CREATE VIEW DemoView AS SELECT * FROM DemoTable ORDER BY TextKey; |
+ SELECT * FROM DemoTable UNION ALL SELECT * FROM DemoView ORDER BY 1; |
+ } |
+} {1 2 3.0 1 2 3.0 9 8 7.0 9 8 7.0} |
+do_test tkt1444-1.2 { |
+ execsql { |
+ SELECT * FROM DemoTable UNION ALL SELECT * FROM DemoView; |
+ } |
+} {9 8 7.0 1 2 3.0 1 2 3.0 9 8 7.0} |
+do_test tkt1444-1.3 { |
+ execsql { |
+ DROP VIEW DemoView; |
+ CREATE VIEW DemoView AS SELECT * FROM DemoTable; |
+ SELECT * FROM DemoTable UNION ALL SELECT * FROM DemoView ORDER BY 1; |
+ } |
+} {1 2 3.0 1 2 3.0 9 8 7.0 9 8 7.0} |
+do_test tkt1444-1.4 { |
+ execsql { |
+ SELECT * FROM DemoTable UNION ALL SELECT * FROM DemoView; |
+ } |
+} {9 8 7.0 1 2 3.0 9 8 7.0 1 2 3.0} |
+ |
+finish_test |