Add a relkind field to RangeTblEntry to avoid some syscache lookups.
The recent additions for FDW support required checking foreign-table-ness in several places in the parse/plan chain. While it's not clear whether that would really result in a noticeable slowdown, it seems best to avoid any performance risk by keeping a copy of the relation's relkind in RangeTblEntry. That might have some other uses later, anyway. Per discussion.
Showing
- src/backend/catalog/dependency.c 1 addition, 0 deletionssrc/backend/catalog/dependency.c
- src/backend/commands/copy.c 1 addition, 0 deletionssrc/backend/commands/copy.c
- src/backend/nodes/copyfuncs.c 1 addition, 0 deletionssrc/backend/nodes/copyfuncs.c
- src/backend/nodes/equalfuncs.c 1 addition, 0 deletionssrc/backend/nodes/equalfuncs.c
- src/backend/nodes/nodeFuncs.c 0 additions, 2 deletionssrc/backend/nodes/nodeFuncs.c
- src/backend/nodes/outfuncs.c 1 addition, 1 deletionsrc/backend/nodes/outfuncs.c
- src/backend/nodes/print.c 2 additions, 6 deletionssrc/backend/nodes/print.c
- src/backend/nodes/readfuncs.c 1 addition, 1 deletionsrc/backend/nodes/readfuncs.c
- src/backend/optimizer/path/allpaths.c 35 additions, 32 deletionssrc/backend/optimizer/path/allpaths.c
- src/backend/optimizer/plan/planner.c 2 additions, 1 deletionsrc/backend/optimizer/plan/planner.c
- src/backend/parser/analyze.c 7 additions, 16 deletionssrc/backend/parser/analyze.c
- src/backend/parser/parse_relation.c 2 additions, 0 deletionssrc/backend/parser/parse_relation.c
- src/backend/parser/parse_target.c 0 additions, 2 deletionssrc/backend/parser/parse_target.c
- src/backend/rewrite/rewriteHandler.c 8 additions, 1 deletionsrc/backend/rewrite/rewriteHandler.c
- src/backend/utils/adt/ri_triggers.c 2 additions, 0 deletionssrc/backend/utils/adt/ri_triggers.c
- src/backend/utils/adt/ruleutils.c 6 additions, 1 deletionsrc/backend/utils/adt/ruleutils.c
- src/include/catalog/catversion.h 1 addition, 1 deletionsrc/include/catalog/catversion.h
- src/include/catalog/pg_class.h 9 additions, 8 deletionssrc/include/catalog/pg_class.h
- src/include/nodes/parsenodes.h 5 additions, 2 deletionssrc/include/nodes/parsenodes.h
Loading
Please register or sign in to comment