Re: Removing another gen_node_support.pl special case

Peter Eisentraut <peter.eisentraut@enterprisedb.com>

From: Peter Eisentraut <peter.eisentraut@enterprisedb.com>
To: Tom Lane <tgl@sss.pgh.pa.us>, pgsql-hackers@lists.postgresql.org
Date: 2022-11-28T16:25:13Z
Lists: pgsql-hackers
On 27.11.22 02:39, Tom Lane wrote:
> I got confused about how we were managing EquivalenceClass pointers
> in the copy/equal infrastructure, and it took me awhile to remember
> that the reason it works is that gen_node_support.pl has hard-wired
> knowledge about that.  I think that's something we'd be best off
> dropping in favor of explicit annotations on affected fields.
> Hence, I propose the attached.  This results in zero change in
> the generated copy/equal code.

I suppose the question is whether this behavior is something that is a 
property of the EquivalenceClass type as such or something that is 
specific to each individual field.




Commits

  1. Remove gen_node_support.pl's special treatment of EquivalenceClasses.

  2. Add some error cross-checks to gen_node_support.pl.