Executor no longer cares about mergejoinop, mergerightorder, mergeleftorder,
Tom Lane <tgl@sss.pgh.pa.us>
Executor no longer cares about mergejoinop, mergerightorder, mergeleftorder, so remove them from MergeJoin node. Hack together a partial solution for commuted mergejoin operators --- yesterday a mergejoin int4 = int8 would crash if the planner decided to commute it, today it works. The planner's representation of mergejoins really needs a rewrite though. Also, further testing of mergejoin ops in opr_sanity regress test.
Files
| Path | Change | +/− |
|---|---|---|
| src/backend/nodes/copyfuncs.c | modified | +1 −11 |
| src/backend/nodes/freefuncs.c | modified | +1 −4 |
| src/backend/nodes/outfuncs.c | modified | +1 −7 |
| src/backend/nodes/readfuncs.c | modified | +1 −5 |
| src/backend/optimizer/path/mergeutils.c | modified | +14 −6 |
| src/backend/optimizer/plan/createplan.c | modified | +73 −50 |
| src/backend/optimizer/util/clauses.c | modified | +6 −5 |
| src/include/nodes/plannodes.h | modified | +1 −4 |
| src/test/regress/expected/opr_sanity.out | modified | +30 −1 |
| src/test/regress/sql/opr_sanity.sql | modified | +28 −2 |