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