On Fri, Mar 10, 2023 at 2:37 AM Michael Paquier <michael@paquier.xyz> wrote:
On Fri, Mar 10, 2023 at 12:12:37AM +0100, Juan José Santamaría Flecha wrote: > I've broken the patch in two: > 1. fixes the detection of unseekable files in checkSeek(), using logic that > hopefully is backpatchable, > 2. the improvements on file type detection for stat() proposed by the OP.
I am OK with 0002, so I'll try to get this part backpatched down to where the implementation of stat() has been added. I am not completely sure that 0001 is the right way forward, though, particularly with the long-term picture.. In the backend, we have one caller of fseeko() as of read_binary_file(), so we would never pass down a pipe to that. However, there could be a risk of some silent breakages on Windows if some new code relies on that?
There is a total of 11 callers of fseeko() in pg_dump, so rather than relying on checkSeek() to see if it actually works, I'd like to think that we should have a central policy to make this code more bullet-proof in the future.
WFM, making fseek() behaviour more resilient seems like a good improvement overall.
Should we open a new thread to make that part more visible?