Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions src/backend/optimizer/plan/planner.c
Original file line number Diff line number Diff line change
Expand Up @@ -593,6 +593,8 @@ standard_planner(Query *parse, const char *query_string, int cursorOptions,
{
Path *cheapest_partial_path;
cheapest_partial_path = linitial(final_rel->partial_pathlist);
if (force_parallel_mode == FORCE_PARALLEL_ON)
final_rel->pathlist = NIL;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

if partial_pathlist == NIL,should not final_rel->pathlist = NIL; ?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

pathlist can not be empty- this will trigger a 'could not derive a plan for query' failure.

add_path(final_rel, cheapest_partial_path, root);
set_cheapest(final_rel);
}
Expand Down
4 changes: 2 additions & 2 deletions src/test/regress/expected/incremental_sort.out
Original file line number Diff line number Diff line change
Expand Up @@ -589,7 +589,6 @@ select explain_analyze_without_memory('select * from (select * from t order by a
Optimizer: Postgres query optimizer
(13 rows)

reset max_parallel_workers_per_gather;
select jsonb_pretty(explain_analyze_inc_sort_nodes_without_memory('select * from (select * from t order by a) s order by a, b limit 55'));
jsonb_pretty
-------------------------------------------------
Expand Down Expand Up @@ -626,6 +625,7 @@ select jsonb_pretty(explain_analyze_inc_sort_nodes_without_memory('select * from
]
(1 row)

reset max_parallel_workers_per_gather;
select explain_analyze_inc_sort_nodes_verify_invariants('select * from (select * from t order by a) s order by a, b limit 55');
explain_analyze_inc_sort_nodes_verify_invariants
--------------------------------------------------
Expand Down Expand Up @@ -815,7 +815,6 @@ select explain_analyze_without_memory('select * from (select * from t order by a
Optimizer: Postgres query optimizer
(14 rows)

reset max_parallel_workers_per_gather;
select jsonb_pretty(explain_analyze_inc_sort_nodes_without_memory('select * from (select * from t order by a) s order by a, b limit 70'));
jsonb_pretty
-------------------------------------------------
Expand Down Expand Up @@ -861,6 +860,7 @@ select jsonb_pretty(explain_analyze_inc_sort_nodes_without_memory('select * from
]
(1 row)

reset max_parallel_workers_per_gather;
select explain_analyze_inc_sort_nodes_verify_invariants('select * from (select * from t order by a) s order by a, b limit 70');
explain_analyze_inc_sort_nodes_verify_invariants
--------------------------------------------------
Expand Down
4 changes: 2 additions & 2 deletions src/test/regress/expected/incremental_sort_optimizer.out
Original file line number Diff line number Diff line change
Expand Up @@ -560,14 +560,14 @@ select explain_analyze_without_memory('select * from (select * from t order by a
Optimizer: Pivotal Optimizer (GPORCA)
(9 rows)

reset max_parallel_workers_per_gather;
select jsonb_pretty(explain_analyze_inc_sort_nodes_without_memory('select * from (select * from t order by a) s order by a, b limit 55'));
jsonb_pretty
--------------
[ +
]
(1 row)

reset max_parallel_workers_per_gather;
select explain_analyze_inc_sort_nodes_verify_invariants('select * from (select * from t order by a) s order by a, b limit 55');
explain_analyze_inc_sort_nodes_verify_invariants
--------------------------------------------------
Expand Down Expand Up @@ -743,14 +743,14 @@ select explain_analyze_without_memory('select * from (select * from t order by a
Optimizer: Pivotal Optimizer (GPORCA)
(10 rows)

reset max_parallel_workers_per_gather;
select jsonb_pretty(explain_analyze_inc_sort_nodes_without_memory('select * from (select * from t order by a) s order by a, b limit 70'));
jsonb_pretty
--------------
[ +
]
(1 row)

reset max_parallel_workers_per_gather;
select explain_analyze_inc_sort_nodes_verify_invariants('select * from (select * from t order by a) s order by a, b limit 70');
explain_analyze_inc_sort_nodes_verify_invariants
--------------------------------------------------
Expand Down
4 changes: 2 additions & 2 deletions src/test/regress/sql/incremental_sort.sql
Original file line number Diff line number Diff line change
Expand Up @@ -147,8 +147,8 @@ select * from (select * from t order by a) s order by a, b limit 55;
-- Test EXPLAIN ANALYZE with only a fullsort group.
set max_parallel_workers_per_gather = 0;
select explain_analyze_without_memory('select * from (select * from t order by a) s order by a, b limit 55');
reset max_parallel_workers_per_gather;
select jsonb_pretty(explain_analyze_inc_sort_nodes_without_memory('select * from (select * from t order by a) s order by a, b limit 55'));
reset max_parallel_workers_per_gather;
select explain_analyze_inc_sort_nodes_verify_invariants('select * from (select * from t order by a) s order by a, b limit 55');
delete from t;

Expand Down Expand Up @@ -181,8 +181,8 @@ rollback;
-- Test EXPLAIN ANALYZE with both fullsort and presorted groups.
set max_parallel_workers_per_gather = 0;
select explain_analyze_without_memory('select * from (select * from t order by a) s order by a, b limit 70');
reset max_parallel_workers_per_gather;
select jsonb_pretty(explain_analyze_inc_sort_nodes_without_memory('select * from (select * from t order by a) s order by a, b limit 70'));
reset max_parallel_workers_per_gather;
select explain_analyze_inc_sort_nodes_verify_invariants('select * from (select * from t order by a) s order by a, b limit 70');
delete from t;

Expand Down
Loading