mirror of https://github.com/citusdata/citus.git
fix flappy tests due to undeterministic order of test output (#4029)
As reported on #4011 https://github.com/citusdata/citus/pull/4011/files#r453804702 some of the tests were flapping due to an indeterministic order for test outputs. This PR makes the test output ordered for all tests returning non-zero rows. Needs to be backported to 9.2, 9.3, 9.4release-9.2
parent
313a489856
commit
f2ec1563c2
|
@ -9,14 +9,14 @@ SELECT create_distributed_table('t0', 'a');
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
INSERT INTO t0 VALUES (1, 2, 'hello'), (2, 4, 'world');
|
INSERT INTO t0 VALUES (1, 2, 'hello'), (2, 4, 'world');
|
||||||
SELECT "?column?" FROM t0;
|
SELECT "?column?" FROM t0 ORDER BY 1;
|
||||||
?column?
|
?column?
|
||||||
---------------------------------------------------------------------
|
---------------------------------------------------------------------
|
||||||
hello
|
hello
|
||||||
world
|
world
|
||||||
(2 rows)
|
(2 rows)
|
||||||
|
|
||||||
WITH a AS (SELECT * FROM t0) SELECT "?column?" FROM a;
|
WITH a AS (SELECT * FROM t0) SELECT "?column?" FROM a ORDER BY 1;
|
||||||
?column?
|
?column?
|
||||||
---------------------------------------------------------------------
|
---------------------------------------------------------------------
|
||||||
hello
|
hello
|
||||||
|
@ -78,50 +78,50 @@ WITH a AS (SELECT '','' FROM t0 WHERE a = 42) SELECT * FROM a, a b;
|
||||||
(0 rows)
|
(0 rows)
|
||||||
|
|
||||||
-- test with explicit subqueries
|
-- test with explicit subqueries
|
||||||
SELECT * FROM (SELECT a, '' FROM t0 GROUP BY a ) as foo;
|
SELECT * FROM (SELECT a, '' FROM t0 GROUP BY a) as foo ORDER BY 1;
|
||||||
a | ?column?
|
a | ?column?
|
||||||
---------------------------------------------------------------------
|
---------------------------------------------------------------------
|
||||||
1 |
|
1 |
|
||||||
2 |
|
2 |
|
||||||
(2 rows)
|
(2 rows)
|
||||||
|
|
||||||
SELECT * FROM (SELECT a, '', '' FROM t0 GROUP BY a ) as foo;
|
SELECT * FROM (SELECT a, '', '' FROM t0 GROUP BY a ) as foo ORDER BY 1;
|
||||||
a | ?column? | ?column?
|
a | ?column? | ?column?
|
||||||
---------------------------------------------------------------------
|
---------------------------------------------------------------------
|
||||||
1 | |
|
1 | |
|
||||||
2 | |
|
2 | |
|
||||||
(2 rows)
|
(2 rows)
|
||||||
|
|
||||||
SELECT * FROM (SELECT b, '' FROM t0 GROUP BY b ) as foo;
|
SELECT * FROM (SELECT b, '' FROM t0 GROUP BY b ) as foo ORDER BY 1;
|
||||||
b | ?column?
|
b | ?column?
|
||||||
---------------------------------------------------------------------
|
---------------------------------------------------------------------
|
||||||
4 |
|
|
||||||
2 |
|
2 |
|
||||||
|
4 |
|
||||||
(2 rows)
|
(2 rows)
|
||||||
|
|
||||||
SELECT * FROM (SELECT b, '', '' FROM t0 GROUP BY b ) as foo;
|
SELECT * FROM (SELECT b, '', '' FROM t0 GROUP BY b ) as foo ORDER BY 1;
|
||||||
b | ?column? | ?column?
|
b | ?column? | ?column?
|
||||||
---------------------------------------------------------------------
|
---------------------------------------------------------------------
|
||||||
4 | |
|
|
||||||
2 | |
|
2 | |
|
||||||
|
4 | |
|
||||||
(2 rows)
|
(2 rows)
|
||||||
|
|
||||||
-- some tests that follow very similar codeoaths
|
-- some tests that follow very similar codeoaths
|
||||||
SELECT a + 1 FROM t0;
|
SELECT a + 1 FROM t0 ORDER BY 1;
|
||||||
?column?
|
?column?
|
||||||
---------------------------------------------------------------------
|
---------------------------------------------------------------------
|
||||||
2
|
2
|
||||||
3
|
3
|
||||||
(2 rows)
|
(2 rows)
|
||||||
|
|
||||||
SELECT a + 1, a - 1 FROM t0;
|
SELECT a + 1, a - 1 FROM t0 ORDER BY 1;
|
||||||
?column? | ?column?
|
?column? | ?column?
|
||||||
---------------------------------------------------------------------
|
---------------------------------------------------------------------
|
||||||
2 | 0
|
2 | 0
|
||||||
3 | 1
|
3 | 1
|
||||||
(2 rows)
|
(2 rows)
|
||||||
|
|
||||||
WITH cte1 AS (SELECT row_to_json(row(a))->'f1' FROM t0) SELECT * FROM cte1;
|
WITH cte1 AS (SELECT row_to_json(row(a))->'f1' FROM t0) SELECT * FROM cte1 ORDER BY 1::text;
|
||||||
?column?
|
?column?
|
||||||
---------------------------------------------------------------------
|
---------------------------------------------------------------------
|
||||||
1
|
1
|
||||||
|
|
|
@ -7,9 +7,9 @@ CREATE TABLE t0 (a int PRIMARY KEY, b int, "?column?" text);
|
||||||
SELECT create_distributed_table('t0', 'a');
|
SELECT create_distributed_table('t0', 'a');
|
||||||
INSERT INTO t0 VALUES (1, 2, 'hello'), (2, 4, 'world');
|
INSERT INTO t0 VALUES (1, 2, 'hello'), (2, 4, 'world');
|
||||||
|
|
||||||
SELECT "?column?" FROM t0;
|
SELECT "?column?" FROM t0 ORDER BY 1;
|
||||||
|
|
||||||
WITH a AS (SELECT * FROM t0) SELECT "?column?" FROM a;
|
WITH a AS (SELECT * FROM t0) SELECT "?column?" FROM a ORDER BY 1;
|
||||||
WITH a AS (SELECT '' FROM t0) SELECT * FROM a;
|
WITH a AS (SELECT '' FROM t0) SELECT * FROM a;
|
||||||
|
|
||||||
-- test CTE's that could be rewritten as subquery
|
-- test CTE's that could be rewritten as subquery
|
||||||
|
@ -24,15 +24,15 @@ WITH a AS (SELECT '' FROM t0 WHERE a = 1) SELECT * FROM a, a b;
|
||||||
WITH a AS (SELECT '','' FROM t0 WHERE a = 42) SELECT * FROM a, a b;
|
WITH a AS (SELECT '','' FROM t0 WHERE a = 42) SELECT * FROM a, a b;
|
||||||
|
|
||||||
-- test with explicit subqueries
|
-- test with explicit subqueries
|
||||||
SELECT * FROM (SELECT a, '' FROM t0 GROUP BY a ) as foo;
|
SELECT * FROM (SELECT a, '' FROM t0 GROUP BY a) as foo ORDER BY 1;
|
||||||
SELECT * FROM (SELECT a, '', '' FROM t0 GROUP BY a ) as foo;
|
SELECT * FROM (SELECT a, '', '' FROM t0 GROUP BY a ) as foo ORDER BY 1;
|
||||||
SELECT * FROM (SELECT b, '' FROM t0 GROUP BY b ) as foo;
|
SELECT * FROM (SELECT b, '' FROM t0 GROUP BY b ) as foo ORDER BY 1;
|
||||||
SELECT * FROM (SELECT b, '', '' FROM t0 GROUP BY b ) as foo;
|
SELECT * FROM (SELECT b, '', '' FROM t0 GROUP BY b ) as foo ORDER BY 1;
|
||||||
|
|
||||||
-- some tests that follow very similar codeoaths
|
-- some tests that follow very similar codeoaths
|
||||||
SELECT a + 1 FROM t0;
|
SELECT a + 1 FROM t0 ORDER BY 1;
|
||||||
SELECT a + 1, a - 1 FROM t0;
|
SELECT a + 1, a - 1 FROM t0 ORDER BY 1;
|
||||||
WITH cte1 AS (SELECT row_to_json(row(a))->'f1' FROM t0) SELECT * FROM cte1;
|
WITH cte1 AS (SELECT row_to_json(row(a))->'f1' FROM t0) SELECT * FROM cte1 ORDER BY 1::text;
|
||||||
|
|
||||||
-- clean up after test
|
-- clean up after test
|
||||||
SET client_min_messages TO WARNING;
|
SET client_min_messages TO WARNING;
|
||||||
|
|
Loading…
Reference in New Issue