Adjust nestloop-with-inner-indexscan plan generation so that we catch
Tom Lane <tgl@sss.pgh.pa.us>
Adjust nestloop-with-inner-indexscan plan generation so that we catch some cases of redundant clauses that were formerly not caught. We have to special-case this because the clauses involved never get attached to the same join restrictlist and so the existing logic does not notice that they are redundant.
Files
| Path | Change | +/− |
|---|---|---|
| src/backend/nodes/list.c | modified | +16 −1 |
| src/backend/nodes/outfuncs.c | modified | +5 −1 |
| src/backend/optimizer/path/indxpath.c | modified | +45 −18 |
| src/backend/optimizer/path/orindxpath.c | modified | +4 −1 |
| src/backend/optimizer/plan/createplan.c | modified | +72 −60 |
| src/backend/optimizer/util/pathnode.c | modified | +4 −1 |
| src/backend/optimizer/util/restrictinfo.c | modified | +118 −52 |
| src/include/nodes/pg_list.h | modified | +4 −1 |
| src/include/nodes/relation.h | modified | +11 −1 |
| src/include/optimizer/restrictinfo.h | modified | +5 −1 |