diff --git a/src/test/regress/expected/matview.out b/src/test/regress/expected/matview.out index e7d0ad1d86..08cffcfae7 100644 --- a/src/test/regress/expected/matview.out +++ b/src/test/regress/expected/matview.out @@ -33,7 +33,7 @@ SELECT relispopulated FROM pg_class WHERE oid = 'mvtest_tm'::regclass; f (1 row) -SELECT * FROM mvtest_tm; +SELECT * FROM mvtest_tm ORDER BY type; ERROR: materialized view "mvtest_tm" has not been populated HINT: Use the REFRESH MATERIALIZED VIEW command. REFRESH MATERIALIZED VIEW mvtest_tm; @@ -44,12 +44,12 @@ SELECT relispopulated FROM pg_class WHERE oid = 'mvtest_tm'::regclass; (1 row) CREATE UNIQUE INDEX mvtest_tm_type ON mvtest_tm (type); -SELECT * FROM mvtest_tm; +SELECT * FROM mvtest_tm ORDER BY type; type | totamt ------+-------- + x | 5 y | 12 z | 11 - x | 5 (3 rows) -- create various views diff --git a/src/test/regress/expected/psql.out b/src/test/regress/expected/psql.out index 017b79ea9c..464436ab3b 100644 --- a/src/test/regress/expected/psql.out +++ b/src/test/regress/expected/psql.out @@ -123,7 +123,7 @@ unicode_header_linestyle single prepare q as select array_to_string(array_agg(repeat('x',2*n)),E'\n') as "ab c", array_to_string(array_agg(repeat('y',20-2*n)),E'\n') as "a -bc" from generate_series(1,10) as n(n) group by n>1 ; +bc" from generate_series(1,10) as n(n) group by n>1 order by n>1; \pset linestyle ascii \pset expanded off \pset columns 40 diff --git a/src/test/regress/expected/tsrf.out b/src/test/regress/expected/tsrf.out index d9a5f137dc..8c54f717df 100644 --- a/src/test/regress/expected/tsrf.out +++ b/src/test/regress/expected/tsrf.out @@ -187,15 +187,15 @@ SELECT SUM(count(*)) OVER(PARTITION BY generate_series(1,3) ORDER BY generate_se (3 rows) -- sorting + grouping -SELECT few.dataa, count(*), min(id), max(id), generate_series(1,3) FROM few GROUP BY few.dataa ORDER BY 5; +SELECT few.dataa, count(*), min(id), max(id), generate_series(1,3) FROM few GROUP BY few.dataa ORDER BY 5, 1; dataa | count | min | max | generate_series -------+-------+-----+-----+----------------- - b | 1 | 3 | 3 | 1 a | 2 | 1 | 2 | 1 - b | 1 | 3 | 3 | 2 + b | 1 | 3 | 3 | 1 a | 2 | 1 | 2 | 2 - b | 1 | 3 | 3 | 3 + b | 1 | 3 | 3 | 2 a | 2 | 1 | 2 | 3 + b | 1 | 3 | 3 | 3 (6 rows) -- grouping sets are a bit special, they produce NULLs in columns not actually NULL diff --git a/src/test/regress/expected/union.out b/src/test/regress/expected/union.out index 016571bd4a..67f5fc4361 100644 --- a/src/test/regress/expected/union.out +++ b/src/test/regress/expected/union.out @@ -2,14 +2,14 @@ -- UNION (also INTERSECT, EXCEPT) -- -- Simple UNION constructs -SELECT 1 AS two UNION SELECT 2; +SELECT 1 AS two UNION SELECT 2 ORDER BY 1; two ----- 1 2 (2 rows) -SELECT 1 AS one UNION SELECT 1; +SELECT 1 AS one UNION SELECT 1 ORDER BY 1; one ----- 1 @@ -29,7 +29,7 @@ SELECT 1 AS two UNION ALL SELECT 1; 1 (2 rows) -SELECT 1 AS three UNION SELECT 2 UNION SELECT 3; +SELECT 1 AS three UNION SELECT 2 UNION SELECT 3 ORDER BY 1; three ------- 1 @@ -37,14 +37,14 @@ SELECT 1 AS three UNION SELECT 2 UNION SELECT 3; 3 (3 rows) -SELECT 1 AS two UNION SELECT 2 UNION SELECT 2; +SELECT 1 AS two UNION SELECT 2 UNION SELECT 2 ORDER BY 1; two ----- 1 2 (2 rows) -SELECT 1 AS three UNION SELECT 2 UNION ALL SELECT 2; +SELECT 1 AS three UNION SELECT 2 UNION ALL SELECT 2 ORDER BY 1; three ------- 1 @@ -52,7 +52,7 @@ SELECT 1 AS three UNION SELECT 2 UNION ALL SELECT 2; 2 (3 rows) -SELECT 1.1 AS two UNION SELECT 2.2; +SELECT 1.1 AS two UNION SELECT 2.2 ORDER BY 1; two ----- 1.1 @@ -60,41 +60,41 @@ SELECT 1.1 AS two UNION SELECT 2.2; (2 rows) -- Mixed types -SELECT 1.1 AS two UNION SELECT 2; +SELECT 1.1 AS two UNION SELECT 2 ORDER BY 1; two ----- 1.1 2 (2 rows) -SELECT 1 AS two UNION SELECT 2.2; +SELECT 1 AS two UNION SELECT 2.2 ORDER BY 1; two ----- 1 2.2 (2 rows) -SELECT 1 AS one UNION SELECT 1.0::float8; +SELECT 1 AS one UNION SELECT 1.0::float8 ORDER BY 1; one ----- 1 (1 row) -SELECT 1.1 AS two UNION ALL SELECT 2; +SELECT 1.1 AS two UNION ALL SELECT 2 ORDER BY 1; two ----- 1.1 2 (2 rows) -SELECT 1.0::float8 AS two UNION ALL SELECT 1; +SELECT 1.0::float8 AS two UNION ALL SELECT 1 ORDER BY 1; two ----- 1 1 (2 rows) -SELECT 1.1 AS three UNION SELECT 2 UNION SELECT 3; +SELECT 1.1 AS three UNION SELECT 2 UNION SELECT 3 ORDER BY 1; three ------- 1.1 @@ -109,7 +109,7 @@ SELECT 1.1::float8 AS two UNION SELECT 2 UNION SELECT 2.0::float8 ORDER BY 1; 2 (2 rows) -SELECT 1.1 AS three UNION SELECT 2 UNION ALL SELECT 2; +SELECT 1.1 AS three UNION SELECT 2 UNION ALL SELECT 2 ORDER BY 1; three ------- 1.1 @@ -117,7 +117,7 @@ SELECT 1.1 AS three UNION SELECT 2 UNION ALL SELECT 2; 2 (3 rows) -SELECT 1.1 AS two UNION (SELECT 2 UNION ALL SELECT 2); +SELECT 1.1 AS two UNION (SELECT 2 UNION ALL SELECT 2) ORDER BY 1; two ----- 1.1 @@ -195,7 +195,8 @@ SELECT f1 AS five FROM FLOAT8_TBL WHERE f1 BETWEEN -1e6 AND 1e6 UNION SELECT f1 FROM INT4_TBL - WHERE f1 BETWEEN 0 AND 1000000; + WHERE f1 BETWEEN 0 AND 1000000 +ORDER BY 1; five ----------------------- -1004.3 @@ -260,19 +261,19 @@ ORDER BY 1; -- -- INTERSECT and EXCEPT -- -SELECT q2 FROM int8_tbl INTERSECT SELECT q1 FROM int8_tbl; +SELECT q2 FROM int8_tbl INTERSECT SELECT q1 FROM int8_tbl ORDER BY 1; q2 ------------------ - 4567890123456789 123 + 4567890123456789 (2 rows) -SELECT q2 FROM int8_tbl INTERSECT ALL SELECT q1 FROM int8_tbl; +SELECT q2 FROM int8_tbl INTERSECT ALL SELECT q1 FROM int8_tbl ORDER BY 1; q2 ------------------ - 4567890123456789 - 4567890123456789 123 + 4567890123456789 + 4567890123456789 (3 rows) SELECT q2 FROM int8_tbl EXCEPT SELECT q1 FROM int8_tbl ORDER BY 1; @@ -297,24 +298,24 @@ SELECT q2 FROM int8_tbl EXCEPT ALL SELECT DISTINCT q1 FROM int8_tbl ORDER BY 1; 4567890123456789 (3 rows) -SELECT q1 FROM int8_tbl EXCEPT SELECT q2 FROM int8_tbl; +SELECT q1 FROM int8_tbl EXCEPT SELECT q2 FROM int8_tbl ORDER BY 1; q1 ---- (0 rows) -SELECT q1 FROM int8_tbl EXCEPT ALL SELECT q2 FROM int8_tbl; +SELECT q1 FROM int8_tbl EXCEPT ALL SELECT q2 FROM int8_tbl ORDER BY 1; q1 ------------------ - 4567890123456789 123 + 4567890123456789 (2 rows) -SELECT q1 FROM int8_tbl EXCEPT ALL SELECT DISTINCT q2 FROM int8_tbl; +SELECT q1 FROM int8_tbl EXCEPT ALL SELECT DISTINCT q2 FROM int8_tbl ORDER BY 1; q1 ------------------ - 4567890123456789 - 4567890123456789 123 + 4567890123456789 + 4567890123456789 (3 rows) SELECT q1 FROM int8_tbl EXCEPT ALL SELECT q1 FROM int8_tbl FOR NO KEY UPDATE; @@ -322,7 +323,7 @@ ERROR: FOR NO KEY UPDATE is not allowed with UNION/INTERSECT/EXCEPT -- -- Mixed types -- -SELECT f1 FROM float8_tbl INTERSECT SELECT f1 FROM int4_tbl; +SELECT f1 FROM float8_tbl INTERSECT SELECT f1 FROM int4_tbl ORDER BY 1; f1 ---- 0 @@ -340,30 +341,30 @@ SELECT f1 FROM float8_tbl EXCEPT SELECT f1 FROM int4_tbl ORDER BY 1; -- -- Operator precedence and (((((extra))))) parentheses -- -SELECT q1 FROM int8_tbl INTERSECT SELECT q2 FROM int8_tbl UNION ALL SELECT q2 FROM int8_tbl; +SELECT q1 FROM int8_tbl INTERSECT SELECT q2 FROM int8_tbl UNION ALL SELECT q2 FROM int8_tbl ORDER BY 1; q1 ------------------- - 4567890123456789 + -4567890123456789 + 123 123 456 4567890123456789 - 123 4567890123456789 - -4567890123456789 + 4567890123456789 (7 rows) -SELECT q1 FROM int8_tbl INTERSECT (((SELECT q2 FROM int8_tbl UNION ALL SELECT q2 FROM int8_tbl))); +SELECT q1 FROM int8_tbl INTERSECT (((SELECT q2 FROM int8_tbl UNION ALL SELECT q2 FROM int8_tbl))) ORDER BY 1; q1 ------------------ - 4567890123456789 123 + 4567890123456789 (2 rows) -(((SELECT q1 FROM int8_tbl INTERSECT SELECT q2 FROM int8_tbl))) UNION ALL SELECT q2 FROM int8_tbl; +(((SELECT q1 FROM int8_tbl INTERSECT SELECT q2 FROM int8_tbl ORDER BY 1))) UNION ALL SELECT q2 FROM int8_tbl; q1 ------------------- - 4567890123456789 123 + 4567890123456789 456 4567890123456789 123 @@ -416,11 +417,11 @@ LINE 1: ... int8_tbl EXCEPT SELECT q2 FROM int8_tbl ORDER BY q2 LIMIT 1... ^ HINT: There is a column named "q2" in table "*SELECT* 2", but it cannot be referenced from this part of the query. -- But this should work: -SELECT q1 FROM int8_tbl EXCEPT (((SELECT q2 FROM int8_tbl ORDER BY q2 LIMIT 1))); +SELECT q1 FROM int8_tbl EXCEPT (((SELECT q2 FROM int8_tbl ORDER BY q2 LIMIT 1))) ORDER BY 1; q1 ------------------ - 4567890123456789 123 + 4567890123456789 (2 rows) -- @@ -593,23 +594,27 @@ SELECT * FROM (SELECT 1 AS t, 2 AS x UNION SELECT 2 AS t, 4 AS x) ss -WHERE x < 4; - QUERY PLAN --------------------------------------------- - Unique - -> Sort - Sort Key: (1), (2) - -> Append - -> Result - -> Result - One-Time Filter: false -(7 rows) +WHERE x < 4 +ORDER BY x; + QUERY PLAN +-------------------------------------------------- + Sort + Sort Key: (2) + -> Unique + -> Sort + Sort Key: (1), (2) + -> Append + -> Result + -> Result + One-Time Filter: false +(9 rows) SELECT * FROM (SELECT 1 AS t, 2 AS x UNION SELECT 2 AS t, 4 AS x) ss -WHERE x < 4; +WHERE x < 4 +ORDER BY x; t | x ---+--- 1 | 2 @@ -653,24 +658,28 @@ SELECT * FROM (SELECT 1 AS t, (random()*3)::int AS x UNION SELECT 2 AS t, 4 AS x) ss -WHERE x > 3; - QUERY PLAN ------------------------------------------------------------------------------- - Subquery Scan on ss - Filter: (ss.x > 3) - -> Unique - -> Sort - Sort Key: (1), (((random() * '3'::double precision))::integer) - -> Append - -> Result - -> Result -(8 rows) +WHERE x > 3 +ORDER BY x; + QUERY PLAN +------------------------------------------------------------------------------------ + Sort + Sort Key: ss.x + -> Subquery Scan on ss + Filter: (ss.x > 3) + -> Unique + -> Sort + Sort Key: (1), (((random() * '3'::double precision))::integer) + -> Append + -> Result + -> Result +(10 rows) SELECT * FROM (SELECT 1 AS t, (random()*3)::int AS x UNION SELECT 2 AS t, 4 AS x) ss -WHERE x > 3; +WHERE x > 3 +ORDER BY x; t | x ---+--- 2 | 4 diff --git a/src/test/regress/expected/with.out b/src/test/regress/expected/with.out index 137420d9b7..1b7f57b4de 100644 --- a/src/test/regress/expected/with.out +++ b/src/test/regress/expected/with.out @@ -1244,7 +1244,7 @@ WITH outermost(x) AS ( SELECT * FROM innermost UNION SELECT 3) ) -SELECT * FROM outermost; +SELECT * FROM outermost ORDER BY 1; x --- 1 @@ -1258,7 +1258,7 @@ WITH outermost(x) AS ( SELECT * FROM outermost -- fail UNION SELECT * FROM innermost) ) -SELECT * FROM outermost; +SELECT * FROM outermost ORDER BY 1; ERROR: relation "outermost" does not exist LINE 4: SELECT * FROM outermost ^ @@ -1270,7 +1270,7 @@ WITH RECURSIVE outermost(x) AS ( SELECT * FROM outermost UNION SELECT * FROM innermost) ) -SELECT * FROM outermost; +SELECT * FROM outermost ORDER BY 1; x --- 1 @@ -1282,7 +1282,7 @@ WITH RECURSIVE outermost(x) AS ( SELECT * FROM innermost UNION SELECT * from outermost ) -SELECT * FROM outermost; +SELECT * FROM outermost ORDER BY 1; ERROR: recursive reference to query "outermost" must not appear within a subquery LINE 2: WITH innermost as (SELECT 2 FROM outermost) ^ diff --git a/src/test/regress/sql/matview.sql b/src/test/regress/sql/matview.sql index 5f3269def8..65a743ced9 100644 --- a/src/test/regress/sql/matview.sql +++ b/src/test/regress/sql/matview.sql @@ -16,11 +16,11 @@ EXPLAIN (costs off) CREATE MATERIALIZED VIEW mvtest_tm AS SELECT type, sum(amt) AS totamt FROM mvtest_t GROUP BY type WITH NO DATA; CREATE MATERIALIZED VIEW mvtest_tm AS SELECT type, sum(amt) AS totamt FROM mvtest_t GROUP BY type WITH NO DATA; SELECT relispopulated FROM pg_class WHERE oid = 'mvtest_tm'::regclass; -SELECT * FROM mvtest_tm; +SELECT * FROM mvtest_tm ORDER BY type; REFRESH MATERIALIZED VIEW mvtest_tm; SELECT relispopulated FROM pg_class WHERE oid = 'mvtest_tm'::regclass; CREATE UNIQUE INDEX mvtest_tm_type ON mvtest_tm (type); -SELECT * FROM mvtest_tm; +SELECT * FROM mvtest_tm ORDER BY type; -- create various views EXPLAIN (costs off) diff --git a/src/test/regress/sql/psql.sql b/src/test/regress/sql/psql.sql index 4dc0745f1d..900aa7ee1e 100644 --- a/src/test/regress/sql/psql.sql +++ b/src/test/regress/sql/psql.sql @@ -67,7 +67,7 @@ select 'drop table gexec_test', 'select ''2000-01-01''::date as party_over' prepare q as select array_to_string(array_agg(repeat('x',2*n)),E'\n') as "ab c", array_to_string(array_agg(repeat('y',20-2*n)),E'\n') as "a -bc" from generate_series(1,10) as n(n) group by n>1 ; +bc" from generate_series(1,10) as n(n) group by n>1 order by n>1; \pset linestyle ascii diff --git a/src/test/regress/sql/tsrf.sql b/src/test/regress/sql/tsrf.sql index 4f854c8b83..cf2fbe3e52 100644 --- a/src/test/regress/sql/tsrf.sql +++ b/src/test/regress/sql/tsrf.sql @@ -56,7 +56,7 @@ SELECT id,lag(id) OVER(), count(*) OVER(), generate_series(1,3) FROM few; SELECT SUM(count(*)) OVER(PARTITION BY generate_series(1,3) ORDER BY generate_series(1,3)), generate_series(1,3) g FROM few GROUP BY g; -- sorting + grouping -SELECT few.dataa, count(*), min(id), max(id), generate_series(1,3) FROM few GROUP BY few.dataa ORDER BY 5; +SELECT few.dataa, count(*), min(id), max(id), generate_series(1,3) FROM few GROUP BY few.dataa ORDER BY 5, 1; -- grouping sets are a bit special, they produce NULLs in columns not actually NULL SELECT dataa, datab b, generate_series(1,2) g, count(*) FROM few GROUP BY CUBE(dataa, datab); diff --git a/src/test/regress/sql/union.sql b/src/test/regress/sql/union.sql index 9ff1551e5d..debd99ed51 100644 --- a/src/test/regress/sql/union.sql +++ b/src/test/regress/sql/union.sql @@ -4,41 +4,41 @@ -- Simple UNION constructs -SELECT 1 AS two UNION SELECT 2; +SELECT 1 AS two UNION SELECT 2 ORDER BY 1; -SELECT 1 AS one UNION SELECT 1; +SELECT 1 AS one UNION SELECT 1 ORDER BY 1; SELECT 1 AS two UNION ALL SELECT 2; SELECT 1 AS two UNION ALL SELECT 1; -SELECT 1 AS three UNION SELECT 2 UNION SELECT 3; +SELECT 1 AS three UNION SELECT 2 UNION SELECT 3 ORDER BY 1; -SELECT 1 AS two UNION SELECT 2 UNION SELECT 2; +SELECT 1 AS two UNION SELECT 2 UNION SELECT 2 ORDER BY 1; -SELECT 1 AS three UNION SELECT 2 UNION ALL SELECT 2; +SELECT 1 AS three UNION SELECT 2 UNION ALL SELECT 2 ORDER BY 1; -SELECT 1.1 AS two UNION SELECT 2.2; +SELECT 1.1 AS two UNION SELECT 2.2 ORDER BY 1; -- Mixed types -SELECT 1.1 AS two UNION SELECT 2; +SELECT 1.1 AS two UNION SELECT 2 ORDER BY 1; -SELECT 1 AS two UNION SELECT 2.2; +SELECT 1 AS two UNION SELECT 2.2 ORDER BY 1; -SELECT 1 AS one UNION SELECT 1.0::float8; +SELECT 1 AS one UNION SELECT 1.0::float8 ORDER BY 1; -SELECT 1.1 AS two UNION ALL SELECT 2; +SELECT 1.1 AS two UNION ALL SELECT 2 ORDER BY 1; -SELECT 1.0::float8 AS two UNION ALL SELECT 1; +SELECT 1.0::float8 AS two UNION ALL SELECT 1 ORDER BY 1; -SELECT 1.1 AS three UNION SELECT 2 UNION SELECT 3; +SELECT 1.1 AS three UNION SELECT 2 UNION SELECT 3 ORDER BY 1; SELECT 1.1::float8 AS two UNION SELECT 2 UNION SELECT 2.0::float8 ORDER BY 1; -SELECT 1.1 AS three UNION SELECT 2 UNION ALL SELECT 2; +SELECT 1.1 AS three UNION SELECT 2 UNION ALL SELECT 2 ORDER BY 1; -SELECT 1.1 AS two UNION (SELECT 2 UNION ALL SELECT 2); +SELECT 1.1 AS two UNION (SELECT 2 UNION ALL SELECT 2) ORDER BY 1; -- -- Try testing from tables... @@ -66,7 +66,8 @@ SELECT f1 AS five FROM FLOAT8_TBL WHERE f1 BETWEEN -1e6 AND 1e6 UNION SELECT f1 FROM INT4_TBL - WHERE f1 BETWEEN 0 AND 1000000; + WHERE f1 BETWEEN 0 AND 1000000 +ORDER BY 1; SELECT CAST(f1 AS char(4)) AS three FROM VARCHAR_TBL UNION @@ -93,9 +94,9 @@ ORDER BY 1; -- INTERSECT and EXCEPT -- -SELECT q2 FROM int8_tbl INTERSECT SELECT q1 FROM int8_tbl; +SELECT q2 FROM int8_tbl INTERSECT SELECT q1 FROM int8_tbl ORDER BY 1; -SELECT q2 FROM int8_tbl INTERSECT ALL SELECT q1 FROM int8_tbl; +SELECT q2 FROM int8_tbl INTERSECT ALL SELECT q1 FROM int8_tbl ORDER BY 1; SELECT q2 FROM int8_tbl EXCEPT SELECT q1 FROM int8_tbl ORDER BY 1; @@ -103,11 +104,11 @@ SELECT q2 FROM int8_tbl EXCEPT ALL SELECT q1 FROM int8_tbl ORDER BY 1; SELECT q2 FROM int8_tbl EXCEPT ALL SELECT DISTINCT q1 FROM int8_tbl ORDER BY 1; -SELECT q1 FROM int8_tbl EXCEPT SELECT q2 FROM int8_tbl; +SELECT q1 FROM int8_tbl EXCEPT SELECT q2 FROM int8_tbl ORDER BY 1; -SELECT q1 FROM int8_tbl EXCEPT ALL SELECT q2 FROM int8_tbl; +SELECT q1 FROM int8_tbl EXCEPT ALL SELECT q2 FROM int8_tbl ORDER BY 1; -SELECT q1 FROM int8_tbl EXCEPT ALL SELECT DISTINCT q2 FROM int8_tbl; +SELECT q1 FROM int8_tbl EXCEPT ALL SELECT DISTINCT q2 FROM int8_tbl ORDER BY 1; SELECT q1 FROM int8_tbl EXCEPT ALL SELECT q1 FROM int8_tbl FOR NO KEY UPDATE; @@ -115,7 +116,7 @@ SELECT q1 FROM int8_tbl EXCEPT ALL SELECT q1 FROM int8_tbl FOR NO KEY UPDATE; -- Mixed types -- -SELECT f1 FROM float8_tbl INTERSECT SELECT f1 FROM int4_tbl; +SELECT f1 FROM float8_tbl INTERSECT SELECT f1 FROM int4_tbl ORDER BY 1; SELECT f1 FROM float8_tbl EXCEPT SELECT f1 FROM int4_tbl ORDER BY 1; @@ -123,11 +124,11 @@ SELECT f1 FROM float8_tbl EXCEPT SELECT f1 FROM int4_tbl ORDER BY 1; -- Operator precedence and (((((extra))))) parentheses -- -SELECT q1 FROM int8_tbl INTERSECT SELECT q2 FROM int8_tbl UNION ALL SELECT q2 FROM int8_tbl; +SELECT q1 FROM int8_tbl INTERSECT SELECT q2 FROM int8_tbl UNION ALL SELECT q2 FROM int8_tbl ORDER BY 1; -SELECT q1 FROM int8_tbl INTERSECT (((SELECT q2 FROM int8_tbl UNION ALL SELECT q2 FROM int8_tbl))); +SELECT q1 FROM int8_tbl INTERSECT (((SELECT q2 FROM int8_tbl UNION ALL SELECT q2 FROM int8_tbl))) ORDER BY 1; -(((SELECT q1 FROM int8_tbl INTERSECT SELECT q2 FROM int8_tbl))) UNION ALL SELECT q2 FROM int8_tbl; +(((SELECT q1 FROM int8_tbl INTERSECT SELECT q2 FROM int8_tbl ORDER BY 1))) UNION ALL SELECT q2 FROM int8_tbl; SELECT q1 FROM int8_tbl UNION ALL SELECT q2 FROM int8_tbl EXCEPT SELECT q1 FROM int8_tbl ORDER BY 1; @@ -147,7 +148,7 @@ ORDER BY q2,q1; SELECT q1 FROM int8_tbl EXCEPT SELECT q2 FROM int8_tbl ORDER BY q2 LIMIT 1; -- But this should work: -SELECT q1 FROM int8_tbl EXCEPT (((SELECT q2 FROM int8_tbl ORDER BY q2 LIMIT 1))); +SELECT q1 FROM int8_tbl EXCEPT (((SELECT q2 FROM int8_tbl ORDER BY q2 LIMIT 1))) ORDER BY 1; -- -- New syntaxes (7.1) permit new tests @@ -261,13 +262,15 @@ SELECT * FROM (SELECT 1 AS t, 2 AS x UNION SELECT 2 AS t, 4 AS x) ss -WHERE x < 4; +WHERE x < 4 +ORDER BY x; SELECT * FROM (SELECT 1 AS t, 2 AS x UNION SELECT 2 AS t, 4 AS x) ss -WHERE x < 4; +WHERE x < 4 +ORDER BY x; explain (costs off) SELECT * FROM @@ -289,13 +292,15 @@ SELECT * FROM (SELECT 1 AS t, (random()*3)::int AS x UNION SELECT 2 AS t, 4 AS x) ss -WHERE x > 3; +WHERE x > 3 +ORDER BY x; SELECT * FROM (SELECT 1 AS t, (random()*3)::int AS x UNION SELECT 2 AS t, 4 AS x) ss -WHERE x > 3; +WHERE x > 3 +ORDER BY x; -- Test proper handling of parameterized appendrel paths when the -- potential join qual is expensive diff --git a/src/test/regress/sql/with.sql b/src/test/regress/sql/with.sql index 133ff0b195..7ee32bab8f 100644 --- a/src/test/regress/sql/with.sql +++ b/src/test/regress/sql/with.sql @@ -575,7 +575,7 @@ WITH outermost(x) AS ( SELECT * FROM innermost UNION SELECT 3) ) -SELECT * FROM outermost; +SELECT * FROM outermost ORDER BY 1; WITH outermost(x) AS ( SELECT 1 @@ -583,7 +583,7 @@ WITH outermost(x) AS ( SELECT * FROM outermost -- fail UNION SELECT * FROM innermost) ) -SELECT * FROM outermost; +SELECT * FROM outermost ORDER BY 1; WITH RECURSIVE outermost(x) AS ( SELECT 1 @@ -591,14 +591,14 @@ WITH RECURSIVE outermost(x) AS ( SELECT * FROM outermost UNION SELECT * FROM innermost) ) -SELECT * FROM outermost; +SELECT * FROM outermost ORDER BY 1; WITH RECURSIVE outermost(x) AS ( WITH innermost as (SELECT 2 FROM outermost) -- fail SELECT * FROM innermost UNION SELECT * from outermost ) -SELECT * FROM outermost; +SELECT * FROM outermost ORDER BY 1; -- -- This test will fail with the old implementation of PARAM_EXEC parameter