Fix description and grouping of RangeTblEntry.inh
authorPeter Eisentraut
Thu, 7 Mar 2024 10:50:24 +0000 (11:50 +0100)
committerPeter Eisentraut
Thu, 7 Mar 2024 11:13:09 +0000 (12:13 +0100)
commit6d470211e54f7a617783b99b27c9d8056a890a57
tree09101a6e43c2cfe1b5a423f113ce0db05e1abe85
parent1f1d73a8b83fb6de929af36eb9d3cd590875daf5
Fix description and grouping of RangeTblEntry.inh

The inh field of RangeTblEntry was doubly confusingly documented.
Some parts of the code insisted that it was only valid for
RTE_RELATION entries, other parts said the field was valid for all
entries.  Neither was quite correct.  More correctly, the field is
valid for RTE_RELATION entries but is also used in the planner for
RTE_SUBQUERY entries.  So it makes more sense to group it with other
fields that are primarily for RTE_RELATION but borrowed by
RTE_SUBQUERY.  (The exact position was chosen so that it is next to
relkind for better struct packing, and next to relid, since relid and
inh are sort of the input fields and the others are filled in later.)
Also add documentation for the planner's use at the struct definition.

Discussion: https://www.postgresql.org/message-id/6c1fbccc-85c8-40d3-b08b-4f47f2093711@eisentraut.org
src/backend/nodes/outfuncs.c
src/backend/nodes/queryjumblefuncs.c
src/backend/nodes/readfuncs.c
src/backend/parser/parse_relation.c
src/include/catalog/catversion.h
src/include/nodes/parsenodes.h