Skip to content

Commit 21e08dc

Browse files
committed
pathman: sorting test
1 parent c4516c9 commit 21e08dc

File tree

2 files changed

+57
-0
lines changed

2 files changed

+57
-0
lines changed

contrib/pg_pathman/expected/pg_pathman.out

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -380,6 +380,51 @@ EXPLAIN (COSTS OFF) SELECT * FROM test.range_rel WHERE (dt >= '2015-01-15' AND d
380380
-> Seq Scan on range_rel_4
381381
(8 rows)
382382

383+
/*
384+
* Sorting
385+
*/
386+
SET enable_indexscan = OFF;
387+
SET enable_seqscan = ON;
388+
EXPLAIN (COSTS OFF) SELECT * FROM test.range_rel WHERE dt < '2015-03-01' ORDER BY dt;
389+
QUERY PLAN
390+
-------------------------------------
391+
Sort
392+
Sort Key: range_rel_1.dt
393+
-> Append
394+
-> Seq Scan on range_rel_1
395+
-> Seq Scan on range_rel_2
396+
(5 rows)
397+
398+
EXPLAIN (COSTS OFF) SELECT * FROM test.range_rel_1 UNION ALL SELECT * FROM test.range_rel_2 ORDER BY dt;
399+
QUERY PLAN
400+
-------------------------------------
401+
Sort
402+
Sort Key: range_rel_1.dt
403+
-> Append
404+
-> Seq Scan on range_rel_1
405+
-> Seq Scan on range_rel_2
406+
(5 rows)
407+
408+
SET enable_indexscan = ON;
409+
SET enable_seqscan = OFF;
410+
EXPLAIN (COSTS OFF) SELECT * FROM test.range_rel WHERE dt < '2015-03-01' ORDER BY dt;
411+
QUERY PLAN
412+
----------------------------------------------------------
413+
Merge Append
414+
Sort Key: range_rel_1.dt
415+
-> Index Scan using range_rel_1_dt_idx on range_rel_1
416+
-> Index Scan using range_rel_2_dt_idx on range_rel_2
417+
(4 rows)
418+
419+
EXPLAIN (COSTS OFF) SELECT * FROM test.range_rel_1 UNION ALL SELECT * FROM test.range_rel_2 ORDER BY dt;
420+
QUERY PLAN
421+
----------------------------------------------------------
422+
Merge Append
423+
Sort Key: range_rel_1.dt
424+
-> Index Scan using range_rel_1_dt_idx on range_rel_1
425+
-> Index Scan using range_rel_2_dt_idx on range_rel_2
426+
(4 rows)
427+
383428
/*
384429
* Test CTE query
385430
*/

contrib/pg_pathman/sql/pg_pathman.sql

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,18 @@ EXPLAIN (COSTS OFF) SELECT * FROM test.range_rel WHERE dt >= '2015-02-01' AND dt
9292
EXPLAIN (COSTS OFF) SELECT * FROM test.range_rel WHERE dt >= '2015-02-15' AND dt < '2015-03-15';
9393
EXPLAIN (COSTS OFF) SELECT * FROM test.range_rel WHERE (dt >= '2015-01-15' AND dt < '2015-02-15') OR (dt > '2015-03-15');
9494

95+
/*
96+
* Sorting
97+
*/
98+
SET enable_indexscan = OFF;
99+
SET enable_seqscan = ON;
100+
EXPLAIN (COSTS OFF) SELECT * FROM test.range_rel WHERE dt < '2015-03-01' ORDER BY dt;
101+
EXPLAIN (COSTS OFF) SELECT * FROM test.range_rel_1 UNION ALL SELECT * FROM test.range_rel_2 ORDER BY dt;
102+
SET enable_indexscan = ON;
103+
SET enable_seqscan = OFF;
104+
EXPLAIN (COSTS OFF) SELECT * FROM test.range_rel WHERE dt < '2015-03-01' ORDER BY dt;
105+
EXPLAIN (COSTS OFF) SELECT * FROM test.range_rel_1 UNION ALL SELECT * FROM test.range_rel_2 ORDER BY dt;
106+
95107
/*
96108
* Test CTE query
97109
*/

0 commit comments

Comments
 (0)