aboutsummaryrefslogtreecommitdiff
path: root/src/backend/utils/misc/postgresql.conf.sample
diff options
context:
space:
mode:
authorAlexander Korotkov <akorotkov@postgresql.org>2024-04-08 01:27:28 +0300
committerAlexander Korotkov <akorotkov@postgresql.org>2024-04-08 01:27:52 +0300
commit72bd38cc99a15da6f97373fae98027c908c398ea (patch)
tree090cdaccbab7286e709f6ebe9a4ddc6142e936f8 /src/backend/utils/misc/postgresql.conf.sample
parent75a47b6a0dc4a235307e1acd1a6b3845cb881e55 (diff)
downloadpostgresql-72bd38cc99a15da6f97373fae98027c908c398ea.tar.gz
postgresql-72bd38cc99a15da6f97373fae98027c908c398ea.zip
Transform OR clauses to ANY expression
Replace (expr op C1) OR (expr op C2) ... with expr op ANY(ARRAY[C1, C2, ...]) on the preliminary stage of optimization when we are still working with the expression tree. Here Cn is a n-th constant expression, 'expr' is non-constant expression, 'op' is an operator which returns boolean result and has a commuter (for the case of reverse order of constant and non-constant parts of the expression, like 'Cn op expr'). Sometimes it can lead to not optimal plan. This is why there is a or_to_any_transform_limit GUC. It specifies a threshold value of length of arguments in an OR expression that triggers the OR-to-ANY transformation. Generally, more groupable OR arguments mean that transformation will be more likely to win than to lose. Discussion: https://postgr.es/m/567ED6CA.2040504%40sigaev.ru Author: Alena Rybakina <lena.ribackina@yandex.ru> Author: Andrey Lepikhov <a.lepikhov@postgrespro.ru> Reviewed-by: Peter Geoghegan <pg@bowt.ie> Reviewed-by: Ranier Vilela <ranier.vf@gmail.com> Reviewed-by: Alexander Korotkov <aekorotkov@gmail.com> Reviewed-by: Robert Haas <robertmhaas@gmail.com> Reviewed-by: Jian He <jian.universality@gmail.com>
Diffstat (limited to 'src/backend/utils/misc/postgresql.conf.sample')
-rw-r--r--src/backend/utils/misc/postgresql.conf.sample1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/backend/utils/misc/postgresql.conf.sample b/src/backend/utils/misc/postgresql.conf.sample
index 2166ea4a87a..15b14ba8507 100644
--- a/src/backend/utils/misc/postgresql.conf.sample
+++ b/src/backend/utils/misc/postgresql.conf.sample
@@ -392,6 +392,7 @@
# - Planner Method Configuration -
#enable_async_append = on
+#or_to_any_transform_limit = 0
#enable_bitmapscan = on
#enable_gathermerge = on
#enable_hashagg = on