Thread: EquivalenceClass and custom_read_write
Hi All, In pathnodes.h typedef struct EquivalenceClass { pg_node_attr(custom_read_write, no_copy_equal, no_read, no_query_jumble) Because of custom_read_write attribute, I expect _outEquivalenceClass to be present in outfuncs.c and _readEquivalenceClass to be present in readfuncs.c. I find the first but not the second. This could be because _out function is only for debugging and what it writes is never read back. Should we add a comment in EquivalenceClass prologue mentioning the same? -- Best Wishes, Ashutosh Bapat
Ashutosh Bapat <ashutosh.bapat.oss@gmail.com> writes: > In pathnodes.h > typedef struct EquivalenceClass > { > pg_node_attr(custom_read_write, no_copy_equal, no_read, no_query_jumble) > Because of custom_read_write attribute, I expect _outEquivalenceClass > to be present in outfuncs.c and _readEquivalenceClass to be present in > readfuncs.c. I find the first but not the second. This could be > because _out function is only for debugging and what it writes is > never read back. Should we add a comment in EquivalenceClass prologue > mentioning the same? Doesn't the "no_read" annotation imply exactly that? regards, tom lane
On Wed, Feb 12, 2025 at 10:25 PM Tom Lane <tgl@sss.pgh.pa.us> wrote: > > Ashutosh Bapat <ashutosh.bapat.oss@gmail.com> writes: > > In pathnodes.h > > typedef struct EquivalenceClass > > { > > pg_node_attr(custom_read_write, no_copy_equal, no_read, no_query_jumble) > > > Because of custom_read_write attribute, I expect _outEquivalenceClass > > to be present in outfuncs.c and _readEquivalenceClass to be present in > > readfuncs.c. I find the first but not the second. This could be > > because _out function is only for debugging and what it writes is > > never read back. Should we add a comment in EquivalenceClass prologue > > mentioning the same? > > Doesn't the "no_read" annotation imply exactly that? Oh! I just looked at custom_read_write and missed no_read. Sorry. Thanks for pointing that out. -- Best Wishes, Ashutosh Bapat