aboutsummaryrefslogtreecommitdiff
path: root/src/backend/optimizer/plan/createplan.c
diff options
context:
space:
mode:
authorPeter Eisentraut <peter@eisentraut.org>2024-10-14 15:36:02 +0200
committerPeter Eisentraut <peter@eisentraut.org>2024-10-14 15:36:02 +0200
commit0d2aa4d4937bb0500823edfc7d620f4e5fa45b9c (patch)
treeb5165a7924bd11544d649daac2052a649b7e6b3f /src/backend/optimizer/plan/createplan.c
parente7d0cf42b1acb185edc947a8732843966ea3c160 (diff)
downloadpostgresql-0d2aa4d4937bb0500823edfc7d620f4e5fa45b9c.tar.gz
postgresql-0d2aa4d4937bb0500823edfc7d620f4e5fa45b9c.zip
Track sort direction in SortGroupClause
Functions make_pathkey_from_sortop() and transformWindowDefinitions(), which receive a SortGroupClause, were determining the sort order (ascending vs. descending) by comparing that structure's operator strategy to BTLessStrategyNumber, but could just as easily have gotten it from the SortGroupClause object, if it had such a field, so add one. This reduces the number of places that hardcode the assumption that the strategy refers specifically to a btree strategy, rather than some other index AM's operators. Author: Mark Dilger <mark.dilger@enterprisedb.com> Discussion: https://www.postgresql.org/message-id/flat/E72EAA49-354D-4C2E-8EB9-255197F55330@enterprisedb.com
Diffstat (limited to 'src/backend/optimizer/plan/createplan.c')
-rw-r--r--src/backend/optimizer/plan/createplan.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/backend/optimizer/plan/createplan.c b/src/backend/optimizer/plan/createplan.c
index c13586c537e..bd54a0d032d 100644
--- a/src/backend/optimizer/plan/createplan.c
+++ b/src/backend/optimizer/plan/createplan.c
@@ -1896,6 +1896,7 @@ create_unique_plan(PlannerInfo *root, UniquePath *best_path, int flags)
subplan->targetlist);
sortcl->eqop = eqop;
sortcl->sortop = sortop;
+ sortcl->reverse_sort = false;
sortcl->nulls_first = false;
sortcl->hashable = false; /* no need to make this accurate */
sortList = lappend(sortList, sortcl);