mirror of
https://github.com/postgres/postgres.git
synced 2025-08-22 21:53:06 +03:00
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.
This commit is contained in:
@@ -2651,11 +2651,13 @@ RI_Initial_Check(Trigger *trigger, Relation fk_rel, Relation pk_rel)
|
||||
pkrte = makeNode(RangeTblEntry);
|
||||
pkrte->rtekind = RTE_RELATION;
|
||||
pkrte->relid = RelationGetRelid(pk_rel);
|
||||
pkrte->relkind = pk_rel->rd_rel->relkind;
|
||||
pkrte->requiredPerms = ACL_SELECT;
|
||||
|
||||
fkrte = makeNode(RangeTblEntry);
|
||||
fkrte->rtekind = RTE_RELATION;
|
||||
fkrte->relid = RelationGetRelid(fk_rel);
|
||||
fkrte->relkind = fk_rel->rd_rel->relkind;
|
||||
fkrte->requiredPerms = ACL_SELECT;
|
||||
|
||||
for (i = 0; i < riinfo.nkeys; i++)
|
||||
|
Reference in New Issue
Block a user