I suggest to rename enable_incrementalsort to enable_incremental_sort.
This is obviously more readable and also how we have named recently
added multiword planner parameters.
See attached patch.
--
Peter Eisentraut http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
From 4c55bf802f42df5366d9c734bb9527d57de57de4 Mon Sep 17 00:00:00 2001
From: Peter Eisentraut <pe...@eisentraut.org>
Date: Sun, 21 Jun 2020 08:21:53 +0200
Subject: [PATCH] Rename to enable_incremental_sort from enable_incrementalsort
---
doc/src/sgml/config.sgml | 6 +++---
doc/src/sgml/release-13.sgml | 4 ++--
src/backend/optimizer/path/allpaths.c | 2 +-
src/backend/optimizer/path/costsize.c | 2 +-
src/backend/optimizer/plan/planner.c | 14 +++++++-------
src/backend/utils/misc/guc.c | 4 ++--
src/backend/utils/misc/postgresql.conf.sample | 2 +-
src/include/optimizer/cost.h | 2 +-
src/test/regress/expected/incremental_sort.out | 4 ++--
src/test/regress/expected/partition_aggregate.out | 2 +-
src/test/regress/expected/sysviews.out | 2 +-
src/test/regress/sql/incremental_sort.sql | 4 ++--
src/test/regress/sql/partition_aggregate.sql | 2 +-
13 files changed, 25 insertions(+), 25 deletions(-)
diff --git a/doc/src/sgml/config.sgml b/doc/src/sgml/config.sgml
index c6294df936..4c6daac86e 100644
--- a/doc/src/sgml/config.sgml
+++ b/doc/src/sgml/config.sgml
@@ -4591,10 +4591,10 @@ <title>Planner Method Configuration</title>
</listitem>
</varlistentry>
- <varlistentry id="guc-enable-incrementalsort"
xreflabel="enable_incrementalsort">
- <term><varname>enable_incrementalsort</varname> (<type>boolean</type>)
+ <varlistentry id="guc-enable-incremental-sort"
xreflabel="enable_incremental_sort">
+ <term><varname>enable_incremental_sort</varname> (<type>boolean</type>)
<indexterm>
- <primary><varname>enable_incrementalsort</varname> configuration
parameter</primary>
+ <primary><varname>enable_incremental_sort</varname> configuration
parameter</primary>
</indexterm>
</term>
<listitem>
diff --git a/doc/src/sgml/release-13.sgml b/doc/src/sgml/release-13.sgml
index 401c557373..085766b8c4 100644
--- a/doc/src/sgml/release-13.sgml
+++ b/doc/src/sgml/release-13.sgml
@@ -588,7 +588,7 @@ <title>General Performance</title>
-->
<para>
- Implement <link linkend="guc-enable-incrementalsort">incremental
+ Implement <link linkend="guc-enable-incremental-sort">incremental
sorting</link> (James Coleman, Alexander Korotkov, Tomas Vondra)
</para>
@@ -596,7 +596,7 @@ <title>General Performance</title>
If a result is already sorted by several leading keys, this
allows for batch sorting of additional trailing keys because the
previous keys are already equal. This is controlled by <xref
- linkend="guc-enable-incrementalsort"/>.
+ linkend="guc-enable-incremental-sort"/>.
</para>
</listitem>
diff --git a/src/backend/optimizer/path/allpaths.c
b/src/backend/optimizer/path/allpaths.c
index d984da25d7..81896de936 100644
--- a/src/backend/optimizer/path/allpaths.c
+++ b/src/backend/optimizer/path/allpaths.c
@@ -2912,7 +2912,7 @@ generate_useful_gather_paths(PlannerInfo *root,
RelOptInfo *rel, bool override_r
* Consider incremental sort, but only when the subpath
is already
* partially sorted on a pathkey prefix.
*/
- if (enable_incrementalsort && presorted_keys > 0)
+ if (enable_incremental_sort && presorted_keys > 0)
{
Path *tmp;
diff --git a/src/backend/optimizer/path/costsize.c
b/src/backend/optimizer/path/costsize.c
index 4ff3c7a2fd..87c9b49ce1 100644
--- a/src/backend/optimizer/path/costsize.c
+++ b/src/backend/optimizer/path/costsize.c
@@ -128,7 +128,7 @@ bool enable_indexonlyscan = true;
bool enable_bitmapscan = true;
bool enable_tidscan = true;
bool enable_sort = true;
-bool enable_incrementalsort = true;
+bool enable_incremental_sort = true;
bool enable_hashagg = true;
bool hashagg_avoid_disk_plan = true;
bool enable_nestloop = true;
diff --git a/src/backend/optimizer/plan/planner.c
b/src/backend/optimizer/plan/planner.c
index 4131019fc9..14f3fd44e3 100644
--- a/src/backend/optimizer/plan/planner.c
+++ b/src/backend/optimizer/plan/planner.c
@@ -5014,7 +5014,7 @@ create_ordered_paths(PlannerInfo *root,
* presorted the path is. Additionally incremental sort
may enable
* a cheaper startup path to win out despite higher
total cost.
*/
- if (!enable_incrementalsort)
+ if (!enable_incremental_sort)
continue;
/* Likewise, if the path can't be used for incremental
sort. */
@@ -5095,7 +5095,7 @@ create_ordered_paths(PlannerInfo *root,
* sort_pathkeys because then we can't possibly have a presorted
* prefix of the list without having the list be fully sorted.
*/
- if (enable_incrementalsort && list_length(root->sort_pathkeys)
> 1)
+ if (enable_incremental_sort && list_length(root->sort_pathkeys)
> 1)
{
ListCell *lc;
@@ -6572,7 +6572,7 @@ add_paths_to_grouping_rel(PlannerInfo *root, RelOptInfo
*input_rel,
* when the path is not already sorted and when
incremental sort
* is enabled.
*/
- if (is_sorted || !enable_incrementalsort)
+ if (is_sorted || !enable_incremental_sort)
continue;
/* Restore the input path (we might have added Sort on
top). */
@@ -6699,7 +6699,7 @@ add_paths_to_grouping_rel(PlannerInfo *root, RelOptInfo
*input_rel,
* when the path is not already sorted and when
incremental
* sort is enabled.
*/
- if (is_sorted || !enable_incrementalsort)
+ if (is_sorted || !enable_incremental_sort)
continue;
/* Restore the input path (we might have added
Sort on top). */
@@ -7022,7 +7022,7 @@ create_partial_grouping_paths(PlannerInfo *root,
* group_pathkeys because then we can't possibly have a
presorted
* prefix of the list without having the list be fully sorted.
*/
- if (enable_incrementalsort && list_length(root->group_pathkeys)
> 1)
+ if (enable_incremental_sort &&
list_length(root->group_pathkeys) > 1)
{
foreach(lc, input_rel->pathlist)
{
@@ -7125,7 +7125,7 @@ create_partial_grouping_paths(PlannerInfo *root,
* when the path is not already sorted and when
incremental sort
* is enabled.
*/
- if (is_sorted || !enable_incrementalsort)
+ if (is_sorted || !enable_incremental_sort)
continue;
/* Restore the input path (we might have added Sort on
top). */
@@ -7304,7 +7304,7 @@ gather_grouping_paths(PlannerInfo *root, RelOptInfo *rel)
* group_pathkeys because then we can't possibly have a presorted prefix
* of the list without having the list be fully sorted.
*/
- if (!enable_incrementalsort || list_length(root->group_pathkeys) == 1)
+ if (!enable_incremental_sort || list_length(root->group_pathkeys) == 1)
return;
/* also consider incremental sort on partial paths, if enabled */
diff --git a/src/backend/utils/misc/guc.c b/src/backend/utils/misc/guc.c
index fe7e2f8b91..9f5e223920 100644
--- a/src/backend/utils/misc/guc.c
+++ b/src/backend/utils/misc/guc.c
@@ -992,11 +992,11 @@ static struct config_bool ConfigureNamesBool[] =
NULL, NULL, NULL
},
{
- {"enable_incrementalsort", PGC_USERSET, QUERY_TUNING_METHOD,
+ {"enable_incremental_sort", PGC_USERSET, QUERY_TUNING_METHOD,
gettext_noop("Enables the planner's use of incremental
sort steps."),
NULL
},
- &enable_incrementalsort,
+ &enable_incremental_sort,
true,
NULL, NULL, NULL
},
diff --git a/src/backend/utils/misc/postgresql.conf.sample
b/src/backend/utils/misc/postgresql.conf.sample
index ac02bd0c00..bd4cb8144b 100644
--- a/src/backend/utils/misc/postgresql.conf.sample
+++ b/src/backend/utils/misc/postgresql.conf.sample
@@ -361,7 +361,7 @@
#enable_parallel_append = on
#enable_seqscan = on
#enable_sort = on
-#enable_incrementalsort = on
+#enable_incremental_sort = on
#enable_tidscan = on
#enable_partitionwise_join = off
#enable_partitionwise_aggregate = off
diff --git a/src/include/optimizer/cost.h b/src/include/optimizer/cost.h
index 92e70ec0d9..613db8eab6 100644
--- a/src/include/optimizer/cost.h
+++ b/src/include/optimizer/cost.h
@@ -53,7 +53,7 @@ extern PGDLLIMPORT bool enable_indexonlyscan;
extern PGDLLIMPORT bool enable_bitmapscan;
extern PGDLLIMPORT bool enable_tidscan;
extern PGDLLIMPORT bool enable_sort;
-extern PGDLLIMPORT bool enable_incrementalsort;
+extern PGDLLIMPORT bool enable_incremental_sort;
extern PGDLLIMPORT bool enable_hashagg;
extern PGDLLIMPORT bool hashagg_avoid_disk_plan;
extern PGDLLIMPORT bool enable_nestloop;
diff --git a/src/test/regress/expected/incremental_sort.out
b/src/test/regress/expected/incremental_sort.out
index 53accd0df9..e376ea1276 100644
--- a/src/test/regress/expected/incremental_sort.out
+++ b/src/test/regress/expected/incremental_sort.out
@@ -1414,7 +1414,7 @@ create table t (a int, b int, c int);
insert into t select mod(i,10),mod(i,10),i from generate_series(1,10000) s(i);
create index on t (a);
analyze t;
-set enable_incrementalsort = off;
+set enable_incremental_sort = off;
explain (costs off) select a,b,sum(c) from t group by 1,2 order by 1,2,3 limit
1;
QUERY PLAN
------------------------------------------------------
@@ -1430,7 +1430,7 @@ explain (costs off) select a,b,sum(c) from t group by 1,2
order by 1,2,3 limit 1
-> Parallel Seq Scan on t
(10 rows)
-set enable_incrementalsort = on;
+set enable_incremental_sort = on;
explain (costs off) select a,b,sum(c) from t group by 1,2 order by 1,2,3 limit
1;
QUERY PLAN
----------------------------------------------------------------------
diff --git a/src/test/regress/expected/partition_aggregate.out
b/src/test/regress/expected/partition_aggregate.out
index c36970575f..45c698daf4 100644
--- a/src/test/regress/expected/partition_aggregate.out
+++ b/src/test/regress/expected/partition_aggregate.out
@@ -12,7 +12,7 @@ SET enable_partitionwise_join TO true;
-- Disable parallel plans.
SET max_parallel_workers_per_gather TO 0;
-- Disable incremental sort, which can influence selected plans due to fuzz
factor.
-SET enable_incrementalsort TO off;
+SET enable_incremental_sort TO off;
--
-- Tests for list partitioned tables.
--
diff --git a/src/test/regress/expected/sysviews.out
b/src/test/regress/expected/sysviews.out
index 01b7786f01..06c4c3e476 100644
--- a/src/test/regress/expected/sysviews.out
+++ b/src/test/regress/expected/sysviews.out
@@ -76,7 +76,7 @@ select name, setting from pg_settings where name like
'enable%';
enable_gathermerge | on
enable_hashagg | on
enable_hashjoin | on
- enable_incrementalsort | on
+ enable_incremental_sort | on
enable_indexonlyscan | on
enable_indexscan | on
enable_material | on
diff --git a/src/test/regress/sql/incremental_sort.sql
b/src/test/regress/sql/incremental_sort.sql
index 373e62ac13..9c040c90e6 100644
--- a/src/test/regress/sql/incremental_sort.sql
+++ b/src/test/regress/sql/incremental_sort.sql
@@ -210,10 +210,10 @@
create index on t (a);
analyze t;
-set enable_incrementalsort = off;
+set enable_incremental_sort = off;
explain (costs off) select a,b,sum(c) from t group by 1,2 order by 1,2,3 limit
1;
-set enable_incrementalsort = on;
+set enable_incremental_sort = on;
explain (costs off) select a,b,sum(c) from t group by 1,2 order by 1,2,3 limit
1;
-- Incremental sort vs. set operations with varno 0
diff --git a/src/test/regress/sql/partition_aggregate.sql
b/src/test/regress/sql/partition_aggregate.sql
index 178f2079fa..117f65ecb4 100644
--- a/src/test/regress/sql/partition_aggregate.sql
+++ b/src/test/regress/sql/partition_aggregate.sql
@@ -13,7 +13,7 @@
-- Disable parallel plans.
SET max_parallel_workers_per_gather TO 0;
-- Disable incremental sort, which can influence selected plans due to fuzz
factor.
-SET enable_incrementalsort TO off;
+SET enable_incremental_sort TO off;
--
-- Tests for list partitioned tables.
--
2.27.0