aboutsummaryrefslogtreecommitdiff
path: root/src/backend/executor/nodeMergejoin.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/executor/nodeMergejoin.c')
-rw-r--r--src/backend/executor/nodeMergejoin.c13
1 files changed, 4 insertions, 9 deletions
diff --git a/src/backend/executor/nodeMergejoin.c b/src/backend/executor/nodeMergejoin.c
index 29c54fcd753..b593905978b 100644
--- a/src/backend/executor/nodeMergejoin.c
+++ b/src/backend/executor/nodeMergejoin.c
@@ -175,7 +175,7 @@ static MergeJoinClause
MJExamineQuals(List *mergeclauses,
Oid *mergefamilies,
Oid *mergecollations,
- int *mergestrategies,
+ bool *mergereversals,
bool *mergenullsfirst,
PlanState *parent)
{
@@ -193,7 +193,7 @@ MJExamineQuals(List *mergeclauses,
MergeJoinClause clause = &clauses[iClause];
Oid opfamily = mergefamilies[iClause];
Oid collation = mergecollations[iClause];
- StrategyNumber opstrategy = mergestrategies[iClause];
+ bool reversed = mergereversals[iClause];
bool nulls_first = mergenullsfirst[iClause];
int op_strategy;
Oid op_lefttype;
@@ -212,12 +212,7 @@ MJExamineQuals(List *mergeclauses,
/* Set up sort support data */
clause->ssup.ssup_cxt = CurrentMemoryContext;
clause->ssup.ssup_collation = collation;
- if (opstrategy == BTLessStrategyNumber)
- clause->ssup.ssup_reverse = false;
- else if (opstrategy == BTGreaterStrategyNumber)
- clause->ssup.ssup_reverse = true;
- else /* planner screwed up */
- elog(ERROR, "unsupported mergejoin strategy %d", opstrategy);
+ clause->ssup.ssup_reverse = reversed;
clause->ssup.ssup_nulls_first = nulls_first;
/* Extract the operator's declared left/right datatypes */
@@ -1608,7 +1603,7 @@ ExecInitMergeJoin(MergeJoin *node, EState *estate, int eflags)
mergestate->mj_Clauses = MJExamineQuals(node->mergeclauses,
node->mergeFamilies,
node->mergeCollations,
- node->mergeStrategies,
+ node->mergeReversals,
node->mergeNullsFirst,
(PlanState *) mergestate);