sl@0: # 2008 Feb 6 sl@0: # sl@0: # The author disclaims copyright to this source code. In place of sl@0: # a legal notice, here is a blessing: sl@0: # sl@0: # May you do good and not evil. sl@0: # May you find forgiveness for yourself and forgive others. sl@0: # May you share freely, never taking more than you give. sl@0: # sl@0: #*********************************************************************** sl@0: # sl@0: # This file is to test that ticket #2927 is fixed. sl@0: # sl@0: # $Id: tkt2927.test,v 1.4 2008/08/04 03:51:24 danielk1977 Exp $ sl@0: # sl@0: sl@0: set testdir [file dirname $argv0] sl@0: source $testdir/tester.tcl sl@0: sl@0: ifcapable !compound { sl@0: finish_test sl@0: return sl@0: } sl@0: sl@0: # Create a database. sl@0: # sl@0: do_test tkt2927-1.1 { sl@0: db eval { sl@0: CREATE TABLE t1(a, b); sl@0: INSERT INTO t1 VALUES(1,11); sl@0: INSERT INTO t1 VALUES(2,22); sl@0: INSERT INTO t1 VALUES(3,33); sl@0: INSERT INTO t1 VALUES(4,44); sl@0: INSERT INTO t1 VALUES(5,55); sl@0: SELECT * FROM t1; sl@0: } sl@0: } {1 11 2 22 3 33 4 44 5 55} sl@0: sl@0: sl@0: do_test tkt2927-2.1 { sl@0: db eval { sl@0: SELECT a, b FROM t1 sl@0: UNION ALL sl@0: SELECT a, b FROM t1 sl@0: } sl@0: } {1 11 2 22 3 33 4 44 5 55 1 11 2 22 3 33 4 44 5 55} sl@0: do_test tkt2927-2.2 { sl@0: #set sqlite_addop_trace 1 sl@0: db eval { sl@0: SELECT a, b FROM t1 sl@0: UNION ALL sl@0: SELECT a, abs(b) FROM t1 sl@0: } sl@0: } {1 11 2 22 3 33 4 44 5 55 1 11 2 22 3 33 4 44 5 55} sl@0: do_test tkt2927-2.3 { sl@0: db eval { sl@0: SELECT a, b FROM t1 sl@0: UNION ALL sl@0: SELECT abs(a), b FROM t1 sl@0: } sl@0: } {1 11 2 22 3 33 4 44 5 55 1 11 2 22 3 33 4 44 5 55} sl@0: do_test tkt2927-2.4 { sl@0: db eval { sl@0: SELECT a, b FROM t1 sl@0: UNION ALL sl@0: SELECT abs(a), abs(b) FROM t1 sl@0: } sl@0: } {1 11 2 22 3 33 4 44 5 55 1 11 2 22 3 33 4 44 5 55} sl@0: do_test tkt2927-2.5 { sl@0: db eval { sl@0: SELECT a, abs(b) FROM t1 sl@0: UNION ALL sl@0: SELECT a, b FROM t1 sl@0: } sl@0: } {1 11 2 22 3 33 4 44 5 55 1 11 2 22 3 33 4 44 5 55} sl@0: do_test tkt2927-2.6 { sl@0: db eval { sl@0: SELECT a, abs(b) FROM t1 sl@0: UNION ALL sl@0: SELECT a, abs(b) FROM t1 sl@0: } sl@0: } {1 11 2 22 3 33 4 44 5 55 1 11 2 22 3 33 4 44 5 55} sl@0: do_test tkt2927-2.7 { sl@0: db eval { sl@0: SELECT a, abs(b) FROM t1 sl@0: UNION ALL sl@0: SELECT abs(a), b FROM t1 sl@0: } sl@0: } {1 11 2 22 3 33 4 44 5 55 1 11 2 22 3 33 4 44 5 55} sl@0: do_test tkt2927-2.8 { sl@0: db eval { sl@0: SELECT a, abs(b) FROM t1 sl@0: UNION ALL sl@0: SELECT abs(a), abs(b) FROM t1 sl@0: } sl@0: } {1 11 2 22 3 33 4 44 5 55 1 11 2 22 3 33 4 44 5 55} sl@0: do_test tkt2927-2.9 { sl@0: db eval { sl@0: SELECT abs(a), b FROM t1 sl@0: UNION ALL sl@0: SELECT a, b FROM t1 sl@0: } sl@0: } {1 11 2 22 3 33 4 44 5 55 1 11 2 22 3 33 4 44 5 55} sl@0: do_test tkt2927-2.10 { sl@0: db eval { sl@0: SELECT abs(a), b FROM t1 sl@0: UNION ALL sl@0: SELECT a, abs(b) FROM t1 sl@0: } sl@0: } {1 11 2 22 3 33 4 44 5 55 1 11 2 22 3 33 4 44 5 55} sl@0: do_test tkt2927-2.11 { sl@0: db eval { sl@0: SELECT abs(a), b FROM t1 sl@0: UNION ALL sl@0: SELECT abs(a), b FROM t1 sl@0: } sl@0: } {1 11 2 22 3 33 4 44 5 55 1 11 2 22 3 33 4 44 5 55} sl@0: do_test tkt2927-2.12 { sl@0: db eval { sl@0: SELECT abs(a), b FROM t1 sl@0: UNION ALL sl@0: SELECT abs(a), abs(b) FROM t1 sl@0: } sl@0: } {1 11 2 22 3 33 4 44 5 55 1 11 2 22 3 33 4 44 5 55} sl@0: do_test tkt2927-2.13 { sl@0: db eval { sl@0: SELECT abs(a), abs(b) FROM t1 sl@0: UNION ALL sl@0: SELECT a, b FROM t1 sl@0: } sl@0: } {1 11 2 22 3 33 4 44 5 55 1 11 2 22 3 33 4 44 5 55} sl@0: do_test tkt2927-2.14 { sl@0: db eval { sl@0: SELECT abs(a), abs(b) FROM t1 sl@0: UNION ALL sl@0: SELECT a, abs(b) FROM t1 sl@0: } sl@0: } {1 11 2 22 3 33 4 44 5 55 1 11 2 22 3 33 4 44 5 55} sl@0: do_test tkt2927-2.15 { sl@0: db eval { sl@0: SELECT abs(a), abs(b) FROM t1 sl@0: UNION ALL sl@0: SELECT abs(a), b FROM t1 sl@0: } sl@0: } {1 11 2 22 3 33 4 44 5 55 1 11 2 22 3 33 4 44 5 55} sl@0: do_test tkt2927-2.16 { sl@0: db eval { sl@0: SELECT abs(a), abs(b) FROM t1 sl@0: UNION ALL sl@0: SELECT abs(a), abs(b) FROM t1 sl@0: } sl@0: } {1 11 2 22 3 33 4 44 5 55 1 11 2 22 3 33 4 44 5 55} sl@0: sl@0: sl@0: do_test tkt2927-3.1 { sl@0: db eval { sl@0: SELECT a, b FROM t1 sl@0: UNION sl@0: SELECT a, b FROM t1 sl@0: ORDER BY 1 sl@0: } sl@0: } {1 11 2 22 3 33 4 44 5 55} sl@0: do_test tkt2927-3.2 { sl@0: db eval { sl@0: SELECT a, b FROM t1 sl@0: UNION sl@0: SELECT a, abs(b) FROM t1 sl@0: ORDER BY 1 sl@0: } sl@0: } {1 11 2 22 3 33 4 44 5 55} sl@0: do_test tkt2927-3.3 { sl@0: db eval { sl@0: SELECT a, b FROM t1 sl@0: UNION sl@0: SELECT abs(a), b FROM t1 sl@0: ORDER BY 1 sl@0: } sl@0: } {1 11 2 22 3 33 4 44 5 55} sl@0: do_test tkt2927-3.4 { sl@0: db eval { sl@0: SELECT a, b FROM t1 sl@0: UNION sl@0: SELECT abs(a), abs(b) FROM t1 sl@0: ORDER BY 1 sl@0: } sl@0: } {1 11 2 22 3 33 4 44 5 55} sl@0: do_test tkt2927-3.5 { sl@0: db eval { sl@0: SELECT a, abs(b) FROM t1 sl@0: UNION sl@0: SELECT a, b FROM t1 sl@0: ORDER BY 1 sl@0: } sl@0: } {1 11 2 22 3 33 4 44 5 55} sl@0: do_test tkt2927-3.6 { sl@0: db eval { sl@0: SELECT a, abs(b) FROM t1 sl@0: UNION sl@0: SELECT a, abs(b) FROM t1 sl@0: ORDER BY 1 sl@0: } sl@0: } {1 11 2 22 3 33 4 44 5 55} sl@0: do_test tkt2927-3.7 { sl@0: db eval { sl@0: SELECT a, abs(b) FROM t1 sl@0: UNION sl@0: SELECT abs(a), b FROM t1 sl@0: ORDER BY 1 sl@0: } sl@0: } {1 11 2 22 3 33 4 44 5 55} sl@0: do_test tkt2927-3.8 { sl@0: db eval { sl@0: SELECT a, abs(b) FROM t1 sl@0: UNION sl@0: SELECT abs(a), abs(b) FROM t1 sl@0: ORDER BY 1 sl@0: } sl@0: } {1 11 2 22 3 33 4 44 5 55} sl@0: do_test tkt2927-3.9 { sl@0: db eval { sl@0: SELECT abs(a), b FROM t1 sl@0: UNION sl@0: SELECT a, b FROM t1 sl@0: ORDER BY 1 sl@0: } sl@0: } {1 11 2 22 3 33 4 44 5 55} sl@0: do_test tkt2927-3.10 { sl@0: db eval { sl@0: SELECT abs(a), b FROM t1 sl@0: UNION sl@0: SELECT a, abs(b) FROM t1 sl@0: ORDER BY 1 sl@0: } sl@0: } {1 11 2 22 3 33 4 44 5 55} sl@0: do_test tkt2927-3.11 { sl@0: db eval { sl@0: SELECT abs(a), b FROM t1 sl@0: UNION sl@0: SELECT abs(a), b FROM t1 sl@0: ORDER BY 1 sl@0: } sl@0: } {1 11 2 22 3 33 4 44 5 55} sl@0: do_test tkt2927-3.12 { sl@0: db eval { sl@0: SELECT abs(a), b FROM t1 sl@0: UNION sl@0: SELECT abs(a), abs(b) FROM t1 sl@0: ORDER BY 1 sl@0: } sl@0: } {1 11 2 22 3 33 4 44 5 55} sl@0: do_test tkt2927-3.13 { sl@0: db eval { sl@0: SELECT abs(a), abs(b) FROM t1 sl@0: UNION sl@0: SELECT a, b FROM t1 sl@0: ORDER BY 1 sl@0: } sl@0: } {1 11 2 22 3 33 4 44 5 55} sl@0: do_test tkt2927-3.14 { sl@0: db eval { sl@0: SELECT abs(a), abs(b) FROM t1 sl@0: UNION sl@0: SELECT a, abs(b) FROM t1 sl@0: ORDER BY 1 sl@0: } sl@0: } {1 11 2 22 3 33 4 44 5 55} sl@0: do_test tkt2927-3.15 { sl@0: db eval { sl@0: SELECT abs(a), abs(b) FROM t1 sl@0: UNION sl@0: SELECT abs(a), b FROM t1 sl@0: ORDER BY 1 sl@0: } sl@0: } {1 11 2 22 3 33 4 44 5 55} sl@0: do_test tkt2927-3.16 { sl@0: db eval { sl@0: SELECT abs(a), abs(b) FROM t1 sl@0: UNION sl@0: SELECT abs(a), abs(b) FROM t1 sl@0: ORDER BY 1 sl@0: } sl@0: } {1 11 2 22 3 33 4 44 5 55} sl@0: sl@0: sl@0: do_test tkt2927-4.1 { sl@0: db eval { sl@0: SELECT a+b, a-b, a, b FROM t1 sl@0: UNION ALL sl@0: SELECT a+b, a-b, a, b FROM t1 sl@0: } sl@0: } {12 -10 1 11 24 -20 2 22 36 -30 3 33 48 -40 4 44 60 -50 5 55 12 -10 1 11 24 -20 2 22 36 -30 3 33 48 -40 4 44 60 -50 5 55} sl@0: do_test tkt2927-4.2 { sl@0: db eval { sl@0: SELECT a+b, a-b, a, b FROM t1 sl@0: UNION ALL sl@0: SELECT a+b, a-b, a, abs(b) FROM t1 sl@0: } sl@0: } {12 -10 1 11 24 -20 2 22 36 -30 3 33 48 -40 4 44 60 -50 5 55 12 -10 1 11 24 -20 2 22 36 -30 3 33 48 -40 4 44 60 -50 5 55} sl@0: do_test tkt2927-4.3 { sl@0: db eval { sl@0: SELECT a+b, a-b, a, b FROM t1 sl@0: UNION ALL sl@0: SELECT a+b, a-b, abs(a), b FROM t1 sl@0: } sl@0: } {12 -10 1 11 24 -20 2 22 36 -30 3 33 48 -40 4 44 60 -50 5 55 12 -10 1 11 24 -20 2 22 36 -30 3 33 48 -40 4 44 60 -50 5 55} sl@0: do_test tkt2927-4.4 { sl@0: db eval { sl@0: SELECT a+b, a-b, a, b FROM t1 sl@0: UNION ALL sl@0: SELECT a+b, a-b, abs(a), abs(b) FROM t1 sl@0: } sl@0: } {12 -10 1 11 24 -20 2 22 36 -30 3 33 48 -40 4 44 60 -50 5 55 12 -10 1 11 24 -20 2 22 36 -30 3 33 48 -40 4 44 60 -50 5 55} sl@0: do_test tkt2927-4.5 { sl@0: db eval { sl@0: SELECT a+b, a-b, a, abs(b) FROM t1 sl@0: UNION ALL sl@0: SELECT a+b, a-b, a, b FROM t1 sl@0: } sl@0: } {12 -10 1 11 24 -20 2 22 36 -30 3 33 48 -40 4 44 60 -50 5 55 12 -10 1 11 24 -20 2 22 36 -30 3 33 48 -40 4 44 60 -50 5 55} sl@0: do_test tkt2927-4.6 { sl@0: db eval { sl@0: SELECT a+b, a-b, a, abs(b) FROM t1 sl@0: UNION ALL sl@0: SELECT a+b, a-b, a, abs(b) FROM t1 sl@0: } sl@0: } {12 -10 1 11 24 -20 2 22 36 -30 3 33 48 -40 4 44 60 -50 5 55 12 -10 1 11 24 -20 2 22 36 -30 3 33 48 -40 4 44 60 -50 5 55} sl@0: do_test tkt2927-4.7 { sl@0: db eval { sl@0: SELECT a+b, a-b, a, abs(b) FROM t1 sl@0: UNION ALL sl@0: SELECT a+b, a-b, abs(a), b FROM t1 sl@0: } sl@0: } {12 -10 1 11 24 -20 2 22 36 -30 3 33 48 -40 4 44 60 -50 5 55 12 -10 1 11 24 -20 2 22 36 -30 3 33 48 -40 4 44 60 -50 5 55} sl@0: do_test tkt2927-4.8 { sl@0: db eval { sl@0: SELECT a+b, a-b, a, abs(b) FROM t1 sl@0: UNION ALL sl@0: SELECT a+b, a-b, abs(a), abs(b) FROM t1 sl@0: } sl@0: } {12 -10 1 11 24 -20 2 22 36 -30 3 33 48 -40 4 44 60 -50 5 55 12 -10 1 11 24 -20 2 22 36 -30 3 33 48 -40 4 44 60 -50 5 55} sl@0: do_test tkt2927-4.9 { sl@0: db eval { sl@0: SELECT a+b, a-b, abs(a), b FROM t1 sl@0: UNION ALL sl@0: SELECT a+b, a-b, a, b FROM t1 sl@0: } sl@0: } {12 -10 1 11 24 -20 2 22 36 -30 3 33 48 -40 4 44 60 -50 5 55 12 -10 1 11 24 -20 2 22 36 -30 3 33 48 -40 4 44 60 -50 5 55} sl@0: do_test tkt2927-4.10 { sl@0: db eval { sl@0: SELECT a+b, a-b, abs(a), b FROM t1 sl@0: UNION ALL sl@0: SELECT a+b, a-b, a, abs(b) FROM t1 sl@0: } sl@0: } {12 -10 1 11 24 -20 2 22 36 -30 3 33 48 -40 4 44 60 -50 5 55 12 -10 1 11 24 -20 2 22 36 -30 3 33 48 -40 4 44 60 -50 5 55} sl@0: do_test tkt2927-4.11 { sl@0: db eval { sl@0: SELECT a+b, a-b, abs(a), b FROM t1 sl@0: UNION ALL sl@0: SELECT a+b, a-b, abs(a), b FROM t1 sl@0: } sl@0: } {12 -10 1 11 24 -20 2 22 36 -30 3 33 48 -40 4 44 60 -50 5 55 12 -10 1 11 24 -20 2 22 36 -30 3 33 48 -40 4 44 60 -50 5 55} sl@0: do_test tkt2927-4.12 { sl@0: db eval { sl@0: SELECT a+b, a-b, abs(a), b FROM t1 sl@0: UNION ALL sl@0: SELECT a+b, a-b, abs(a), abs(b) FROM t1 sl@0: } sl@0: } {12 -10 1 11 24 -20 2 22 36 -30 3 33 48 -40 4 44 60 -50 5 55 12 -10 1 11 24 -20 2 22 36 -30 3 33 48 -40 4 44 60 -50 5 55} sl@0: do_test tkt2927-4.13 { sl@0: db eval { sl@0: SELECT a+b, a-b, abs(a), abs(b) FROM t1 sl@0: UNION ALL sl@0: SELECT a+b, a-b, a, b FROM t1 sl@0: } sl@0: } {12 -10 1 11 24 -20 2 22 36 -30 3 33 48 -40 4 44 60 -50 5 55 12 -10 1 11 24 -20 2 22 36 -30 3 33 48 -40 4 44 60 -50 5 55} sl@0: do_test tkt2927-4.14 { sl@0: db eval { sl@0: SELECT a+b, a-b, abs(a), abs(b) FROM t1 sl@0: UNION ALL sl@0: SELECT a+b, a-b, a, abs(b) FROM t1 sl@0: } sl@0: } {12 -10 1 11 24 -20 2 22 36 -30 3 33 48 -40 4 44 60 -50 5 55 12 -10 1 11 24 -20 2 22 36 -30 3 33 48 -40 4 44 60 -50 5 55} sl@0: do_test tkt2927-4.15 { sl@0: db eval { sl@0: SELECT a+b, a-b, abs(a), abs(b) FROM t1 sl@0: UNION ALL sl@0: SELECT a+b, a-b, abs(a), b FROM t1 sl@0: } sl@0: } {12 -10 1 11 24 -20 2 22 36 -30 3 33 48 -40 4 44 60 -50 5 55 12 -10 1 11 24 -20 2 22 36 -30 3 33 48 -40 4 44 60 -50 5 55} sl@0: do_test tkt2927-4.16 { sl@0: db eval { sl@0: SELECT a+b, a-b, abs(a), abs(b) FROM t1 sl@0: UNION ALL sl@0: SELECT a+b, a-b, abs(a), abs(b) FROM t1 sl@0: } sl@0: } {12 -10 1 11 24 -20 2 22 36 -30 3 33 48 -40 4 44 60 -50 5 55 12 -10 1 11 24 -20 2 22 36 -30 3 33 48 -40 4 44 60 -50 5 55} sl@0: sl@0: sl@0: do_test tkt2927-5.1 { sl@0: db eval { sl@0: SELECT a, b FROM t1 sl@0: EXCEPT sl@0: SELECT a, b FROM t1 sl@0: } sl@0: } {} sl@0: do_test tkt2927-5.2 { sl@0: db eval { sl@0: SELECT a, b FROM t1 sl@0: EXCEPT sl@0: SELECT a, abs(b) FROM t1 sl@0: } sl@0: } {} sl@0: do_test tkt2927-5.3 { sl@0: db eval { sl@0: SELECT a, b FROM t1 sl@0: EXCEPT sl@0: SELECT abs(a), b FROM t1 sl@0: } sl@0: } {} sl@0: do_test tkt2927-5.4 { sl@0: db eval { sl@0: SELECT a, b FROM t1 sl@0: EXCEPT sl@0: SELECT abs(a), abs(b) FROM t1 sl@0: } sl@0: } {} sl@0: do_test tkt2927-5.5 { sl@0: db eval { sl@0: SELECT a, abs(b) FROM t1 sl@0: EXCEPT sl@0: SELECT a, b FROM t1 sl@0: } sl@0: } {} sl@0: do_test tkt2927-5.6 { sl@0: db eval { sl@0: SELECT a, abs(b) FROM t1 sl@0: EXCEPT sl@0: SELECT a, abs(b) FROM t1 sl@0: } sl@0: } {} sl@0: do_test tkt2927-5.7 { sl@0: db eval { sl@0: SELECT a, abs(b) FROM t1 sl@0: EXCEPT sl@0: SELECT abs(a), b FROM t1 sl@0: } sl@0: } {} sl@0: do_test tkt2927-5.8 { sl@0: db eval { sl@0: SELECT a, abs(b) FROM t1 sl@0: EXCEPT sl@0: SELECT abs(a), abs(b) FROM t1 sl@0: } sl@0: } {} sl@0: do_test tkt2927-5.9 { sl@0: db eval { sl@0: SELECT abs(a), b FROM t1 sl@0: EXCEPT sl@0: SELECT a, b FROM t1 sl@0: } sl@0: } {} sl@0: do_test tkt2927-5.10 { sl@0: db eval { sl@0: SELECT abs(a), b FROM t1 sl@0: EXCEPT sl@0: SELECT a, abs(b) FROM t1 sl@0: } sl@0: } {} sl@0: do_test tkt2927-5.11 { sl@0: db eval { sl@0: SELECT abs(a), b FROM t1 sl@0: EXCEPT sl@0: SELECT abs(a), b FROM t1 sl@0: } sl@0: } {} sl@0: do_test tkt2927-5.12 { sl@0: db eval { sl@0: SELECT abs(a), b FROM t1 sl@0: EXCEPT sl@0: SELECT abs(a), abs(b) FROM t1 sl@0: } sl@0: } {} sl@0: do_test tkt2927-5.13 { sl@0: db eval { sl@0: SELECT abs(a), abs(b) FROM t1 sl@0: EXCEPT sl@0: SELECT a, b FROM t1 sl@0: } sl@0: } {} sl@0: do_test tkt2927-5.14 { sl@0: db eval { sl@0: SELECT abs(a), abs(b) FROM t1 sl@0: EXCEPT sl@0: SELECT a, abs(b) FROM t1 sl@0: } sl@0: } {} sl@0: do_test tkt2927-5.15 { sl@0: db eval { sl@0: SELECT abs(a), abs(b) FROM t1 sl@0: EXCEPT sl@0: SELECT abs(a), b FROM t1 sl@0: } sl@0: } {} sl@0: do_test tkt2927-5.16 { sl@0: db eval { sl@0: SELECT abs(a), abs(b) FROM t1 sl@0: EXCEPT sl@0: SELECT abs(a), abs(b) FROM t1 sl@0: } sl@0: } {} sl@0: sl@0: sl@0: do_test tkt2927-6.1 { sl@0: db eval { sl@0: SELECT a, b FROM t1 sl@0: INTERSECT sl@0: SELECT a, b FROM t1 sl@0: ORDER BY 1 sl@0: } sl@0: } {1 11 2 22 3 33 4 44 5 55} sl@0: do_test tkt2927-6.2 { sl@0: db eval { sl@0: SELECT a, b FROM t1 sl@0: INTERSECT sl@0: SELECT a, abs(b) FROM t1 sl@0: ORDER BY 1 sl@0: } sl@0: } {1 11 2 22 3 33 4 44 5 55} sl@0: do_test tkt2927-6.3 { sl@0: db eval { sl@0: SELECT a, b FROM t1 sl@0: INTERSECT sl@0: SELECT abs(a), b FROM t1 sl@0: ORDER BY 1 sl@0: } sl@0: } {1 11 2 22 3 33 4 44 5 55} sl@0: do_test tkt2927-6.4 { sl@0: db eval { sl@0: SELECT a, b FROM t1 sl@0: INTERSECT sl@0: SELECT abs(a), abs(b) FROM t1 sl@0: ORDER BY 1 sl@0: } sl@0: } {1 11 2 22 3 33 4 44 5 55} sl@0: do_test tkt2927-6.5 { sl@0: db eval { sl@0: SELECT a, abs(b) FROM t1 sl@0: INTERSECT sl@0: SELECT a, b FROM t1 sl@0: ORDER BY 1 sl@0: } sl@0: } {1 11 2 22 3 33 4 44 5 55} sl@0: do_test tkt2927-6.6 { sl@0: db eval { sl@0: SELECT a, abs(b) FROM t1 sl@0: INTERSECT sl@0: SELECT a, abs(b) FROM t1 sl@0: ORDER BY 1 sl@0: } sl@0: } {1 11 2 22 3 33 4 44 5 55} sl@0: do_test tkt2927-6.7 { sl@0: db eval { sl@0: SELECT a, abs(b) FROM t1 sl@0: INTERSECT sl@0: SELECT abs(a), b FROM t1 sl@0: ORDER BY 1 sl@0: } sl@0: } {1 11 2 22 3 33 4 44 5 55} sl@0: do_test tkt2927-6.8 { sl@0: db eval { sl@0: SELECT a, abs(b) FROM t1 sl@0: INTERSECT sl@0: SELECT abs(a), abs(b) FROM t1 sl@0: ORDER BY 1 sl@0: } sl@0: } {1 11 2 22 3 33 4 44 5 55} sl@0: do_test tkt2927-6.9 { sl@0: db eval { sl@0: SELECT abs(a), b FROM t1 sl@0: INTERSECT sl@0: SELECT a, b FROM t1 sl@0: ORDER BY 1 sl@0: } sl@0: } {1 11 2 22 3 33 4 44 5 55} sl@0: do_test tkt2927-6.10 { sl@0: db eval { sl@0: SELECT abs(a), b FROM t1 sl@0: INTERSECT sl@0: SELECT a, abs(b) FROM t1 sl@0: ORDER BY 1 sl@0: } sl@0: } {1 11 2 22 3 33 4 44 5 55} sl@0: do_test tkt2927-6.11 { sl@0: db eval { sl@0: SELECT abs(a), b FROM t1 sl@0: INTERSECT sl@0: SELECT abs(a), b FROM t1 sl@0: ORDER BY 1 sl@0: } sl@0: } {1 11 2 22 3 33 4 44 5 55} sl@0: do_test tkt2927-6.12 { sl@0: db eval { sl@0: SELECT abs(a), b FROM t1 sl@0: INTERSECT sl@0: SELECT abs(a), abs(b) FROM t1 sl@0: ORDER BY 1 sl@0: } sl@0: } {1 11 2 22 3 33 4 44 5 55} sl@0: do_test tkt2927-6.13 { sl@0: db eval { sl@0: SELECT abs(a), abs(b) FROM t1 sl@0: INTERSECT sl@0: SELECT a, b FROM t1 sl@0: ORDER BY 1 sl@0: } sl@0: } {1 11 2 22 3 33 4 44 5 55} sl@0: do_test tkt2927-6.14 { sl@0: db eval { sl@0: SELECT abs(a), abs(b) FROM t1 sl@0: INTERSECT sl@0: SELECT a, abs(b) FROM t1 sl@0: ORDER BY 1 sl@0: } sl@0: } {1 11 2 22 3 33 4 44 5 55} sl@0: do_test tkt2927-6.15 { sl@0: db eval { sl@0: SELECT abs(a), abs(b) FROM t1 sl@0: INTERSECT sl@0: SELECT abs(a), b FROM t1 sl@0: ORDER BY 1 sl@0: } sl@0: } {1 11 2 22 3 33 4 44 5 55} sl@0: do_test tkt2927-6.16 { sl@0: db eval { sl@0: SELECT abs(a), abs(b) FROM t1 sl@0: INTERSECT sl@0: SELECT abs(a), abs(b) FROM t1 sl@0: ORDER BY 1 sl@0: } sl@0: } {1 11 2 22 3 33 4 44 5 55} sl@0: sl@0: # Ticket #3092 is the same bug. But another test case never hurts. sl@0: # sl@0: do_test tkt2927-7.1 { sl@0: db eval { sl@0: CREATE TABLE host ( sl@0: hostname text not null primary key, sl@0: consoleHost text, sl@0: consolePort text sl@0: ); sl@0: INSERT INTO "host" VALUES('aald04','aalp03','4'); sl@0: INSERT INTO "host" VALUES('aald17','aalp01','1'); sl@0: CREATE VIEW consolemap1a as sl@0: select hostname, consolehost, '/dev/cuaD0.' || (consoleport-1) consoleport sl@0: from host where consolehost='aalp01'; sl@0: CREATE VIEW consolemap1b as sl@0: select hostname hostname, consolehost consolehost, '/dev/cuaD' || sl@0: substr('01',1+((consoleport-1)/16),1) || sl@0: substr('0123456789abcdef',1+((consoleport-1)%16),1) consoleport sl@0: from host where consolehost='aalp03'; sl@0: CREATE VIEW consolemap1 as sl@0: select * from consolemap1a sl@0: union sl@0: select * from consolemap1b; sl@0: SELECT * from consolemap1b; sl@0: } sl@0: } {aald04 aalp03 /dev/cuaD03} sl@0: do_test tkt2927-7.2 { sl@0: db eval { sl@0: SELECT * FROM consolemap1 sl@0: } sl@0: } {aald04 aalp03 /dev/cuaD03 aald17 aalp01 /dev/cuaD0.0} sl@0: sl@0: finish_test