Hi all,
I have been playing with the new APIs of xlogreader.h, and while
merging some of my stuff with 13, I found the handling around
->seg.ws_file overcomplicated and confusing as it is necessary for a
plugin to manipulate directly the fd of an opened segment in the WAL
segment open/close callbacks.
Wouldn't it be cleaner to limit the exposition of ->seg.ws_file to the
user if possible? There are cases like a WAL sender where you cannot
do that, but something that came to my mind is to make
WALSegmentOpenCB return the fd of the opened segment, and pass down the
fd to close to WALSegmentCloseCB. Then xlogreader.c is in charge of
resetting the field when a segment is closed.
Any thoughts?
--
Michael