On Tue, Apr 9, 2024 at 5:12 AM Tom Lane <tgl@sss.pgh.pa.us> wrote:
> * OrClauseGroupKey is not a Node type, so why does it have
> a NodeTag? I wonder what value will appear in that field,
> and what will happen if the struct is passed to any code
> that expects real Nodes.
I used that to put both not-subject-of-transform nodes together with
hash entries into the same list. This is used to save the order of
clauses. I think this is an important property, and I have already
expressed it in [1]. That could be achieved without adding NodeTag to
hash entries, but that would require a level of indirection. It's not
passed to code that expects real Nodes, it doesn't go to anything
except lists.
Links.
1. https://www.postgresql.org/message-id/CAPpHfdutHt31sdt2rfU%3D4fsDMWxf6tvtnHARgCzLY2Tf21%2Bfgw%40mail.gmail.com
------
Regards,
Alexander Korotkov