On Sat, Jul 9, 2022 at 9:46 PM Thomas Munro <thomas.mu...@gmail.com> wrote: > The pwritev/preadv functions are unfortunately not standardised by > POSIX (I dunno why, it's the obvious combination of the p* and *v > functions) despite every OS in the list having them except for Solaris > and old macOS. Oh well.
I don't think that 0001 is buying us a whole lot, really. I prefer the style where we have PG-specific functions that behave differently on different platforms to the one where we call something that looks like a native OS function call on all platforms but on some of them it is secretly invoking a replacement implementation in src/port. The problem with the latter is it looks like you're using something that's universally supported and works the same way everywhere, but you're really not. If it were up to me, we'd have more pg_whatever() that calls whatever() on non-Windows and something else on Windows, rather than going in the direction that this patch takes us. I like all of the other patches. Reducing the number of configure tests that we need seems like a really good idea. -- Robert Haas EDB: http://www.enterprisedb.com