Alexander Korotkov <aekorot...@gmail.com> writes: > On Tue, Apr 9, 2024 at 5:12 AM Tom Lane <t...@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]. What exactly is the point of having a NodeTag in the struct though? If you don't need it to be a valid Node, that seems pointless and confusing. We certainly have plenty of other lists that contain plain structs without tags, so I don't buy that the List infrastructure is making you do that. regards, tom lane