Hi,

While working on the 'reduce nodeToString output' patch, I noticed
that my IDE marked one field in the TidScanState node as 'unused'.
After checking this seemed to be accurate, and I found a few more such
fields in Node structs.

PFA some patches that clean this up: 0001 is plain removal of fields
that are not accessed anywhere anymore, 0002 and up clean up fields
that are effectively write-only, with no effective use inside
PostgreSQL's own code, and no effective usage found on Debian code
search, nor Github code search.

I'm quite confident about the correctness of patches 1 and 3 (no usage
at all, and newly introduced with no meaningful uses), while patches
2, 4, and 5 could be considered 'as designed'.
For those last ones I have no strong opinion for removal or against
keeping them around, this is just to point out we can remove the
fields, as nobody seems to be using them.

/cc Tom Lane and Etsuro Fujita: 2 and 4 were introduced with your
commit afb9249d in 2015.
/cc Amit Kapila: 0003 was introduced with your spearheaded commit
6185c973 this year.

Kind regards,

Matthias van de Meent


0001 removes two old fields that are not in use anywhere anymore, but
at some point these were used.

0002/0004 remove fields in ExecRowMark which were added for FDWs to
use, but there are no FDWs which use this: I could only find two FDWs
who implement RefetchForeignRow, one being BlackHoleFDW, and the other
a no-op implementation in kafka_fdw [0]. We also don't seem to have
any testing on this feature.

0003 drops the input_finfo field on the new JsonExprState struct. It
wasn't read anywhere, so keeping it around makes little sense IMO.

0005 drops field DeallocateStmt.isall: the value of the field is
implied by !name, and that field was used as such.


[0] https://github.com/cohenjo/kafka_fdw/blob/master/src/kafka_fdw.c#L1793

Attachment: v1-0002-Remove-field-ExecRowMark.ermActive.patch
Description: Binary data

Attachment: v1-0003-Remove-field-JsonExprState.input_finfo.patch
Description: Binary data

Attachment: v1-0005-Remove-field-DeallocateStmt.isall.patch
Description: Binary data

Attachment: v1-0001-Remove-some-unused-fields-from-nodes-in-execnodes.patch
Description: Binary data

Attachment: v1-0004-Remove-field-ExecRowMark.ermExtra.patch
Description: Binary data

Reply via email to