pgsql: Track scan reversals in MergeJoin

Started by Peter Eisentrautover 1 year ago1 messagescomitters
Jump to latest
#1Peter Eisentraut
peter_e@gmx.net

Track scan reversals in MergeJoin

The MergeJoin struct was tracking "mergeStrategies", which were an
array of btree strategy numbers, purely for the purpose of comparing
it later against btree strategies to determine if the scan direction
was forward or reverse. Change that. Instead, track
"mergeReversals", an array of bool, to indicate the same without an
unfortunate assumption that a strategy number refers specifically to a
btree strategy.

Author: Mark Dilger <mark.dilger@enterprisedb.com>
Discussion: /messages/by-id/E72EAA49-354D-4C2E-8EB9-255197F55330@enterprisedb.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/c594f1ad2ba7cbe66e8ae98da4ffed06491d1082

Modified Files
--------------
src/backend/executor/nodeMergejoin.c | 13 ++++---------
src/backend/optimizer/plan/createplan.c | 14 +++++++-------
src/include/nodes/plannodes.h | 2 +-
3 files changed, 12 insertions(+), 17 deletions(-)