From: Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
To: pgsql-hackers <pgsql-hackers@postgresql.org>
Subject: suggest to rename enable_incrementalsort
Date: Sun, 21 Jun 2020 08:26:34 +0200
Message-ID: <df652910-e985-9547-152c-9d4357dc3979@2ndquadrant.com> (raw)
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
Attachments:0001-Rename-to-enable_incremental_sort-from-enable_increm.patch (text/plain, 11.8K) download
From 4c55bf802f42df5366d9c734bb9527d57de57de4 Mon Sep 17 00:00:00 2001
From: Peter Eisentraut <peter@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.sgmlindex 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.sgmlindex 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.cindex 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.cindex 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.cindex 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.cindex 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.sampleindex 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.hindex 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.outindex 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.outindex 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.outindex 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.sqlindex 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.sqlindex 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
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-hackers@postgresql.org
Cc: peter.eisentraut@2ndquadrant.com
Subject: Re: suggest to rename enable_incrementalsort
In-Reply-To: <df652910-e985-9547-152c-9d4357dc3979@2ndquadrant.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox