Cache eval cost of qualification expressions in RestrictInfo nodes to
avoid repeated evaluations in cost_qual_eval(). This turns out to save a useful fraction of planning time. No change to external representation of RestrictInfo --- although that node type doesn't appear in stored rules anyway.
Showing
- src/backend/nodes/copyfuncs.c 2 additions, 1 deletionsrc/backend/nodes/copyfuncs.c
- src/backend/nodes/equalfuncs.c 5 additions, 1 deletionsrc/backend/nodes/equalfuncs.c
- src/backend/nodes/readfuncs.c 4 additions, 1 deletionsrc/backend/nodes/readfuncs.c
- src/backend/optimizer/path/costsize.c 32 additions, 14 deletionssrc/backend/optimizer/path/costsize.c
- src/backend/optimizer/plan/initsplan.c 2 additions, 1 deletionsrc/backend/optimizer/plan/initsplan.c
- src/backend/optimizer/prep/prepunion.c 3 additions, 2 deletionssrc/backend/optimizer/prep/prepunion.c
- src/include/nodes/relation.h 6 additions, 4 deletionssrc/include/nodes/relation.h
Loading
Please register or sign in to comment