Remove dead pread and pwrite replacement code.
authorThomas Munro <tmunro@postgresql.org>
Thu, 4 Aug 2022 21:42:31 +0000 (09:42 +1200)
committerThomas Munro <tmunro@postgresql.org>
Thu, 4 Aug 2022 21:49:21 +0000 (09:49 +1200)
commitcf112c122060568aa06efe4e6e6fb9b2dd4f1090
tree099d16d2064108f43c06d70ab5178a38d8554106
parent71f5dc6dfb3de50de28ddde53793540c2fa98b1f
Remove dead pread and pwrite replacement code.

pread() and pwrite() are in SUSv2, and all targeted Unix systems have
them.

Previously, we defined pg_pread and pg_pwrite to emulate these function
with lseek() on old Unixen.  The names with a pg_ prefix were a reminder
of a portability hazard: they might change the current file position.
That hazard is gone, so we can drop the prefixes.

Since the remaining replacement code is Windows-only, move it into
src/port/win32p{read,write}.c, and move the declarations into
src/include/port/win32_port.h.

No need for vestigial HAVE_PREAD, HAVE_PWRITE macros as they were only
used for declarations in port.h which have now moved into win32_port.h.

Reviewed-by: Tom Lane <tgl@sss.pgh.pa.us>
Reviewed-by: Greg Stark <stark@mit.edu>
Reviewed-by: Robert Haas <robertmhaas@gmail.com>
Reviewed-by: Andres Freund <andres@anarazel.de>
Discussion: https://postgr.es/m/CA+hUKGJ3LHeP9w5Fgzdr4G8AnEtJ=z=p6hGDEm4qYGEUX5B6fQ@mail.gmail.com
23 files changed:
configure
configure.ac
contrib/pg_stat_statements/pg_stat_statements.c
src/backend/access/heap/rewriteheap.c
src/backend/access/transam/slru.c
src/backend/access/transam/xlog.c
src/backend/access/transam/xlogreader.c
src/backend/access/transam/xlogrecovery.c
src/backend/replication/basebackup.c
src/backend/replication/walreceiver.c
src/backend/storage/file/fd.c
src/backend/utils/init/miscinit.c
src/bin/pg_test_fsync/pg_test_fsync.c
src/include/access/xlogreader.h
src/include/pg_config.h.in
src/include/port.h
src/include/port/win32_port.h
src/port/preadv.c
src/port/pwritev.c
src/port/win32pread.c [moved from src/port/pread.c with 61% similarity]
src/port/win32pwrite.c [moved from src/port/pwrite.c with 59% similarity]
src/tools/msvc/Mkvcbuild.pm
src/tools/msvc/Solution.pm