Fix buffile.c error handling.
authorThomas Munro <tmunro@postgresql.org>
Tue, 16 Jun 2020 01:50:56 +0000 (13:50 +1200)
committerThomas Munro <tmunro@postgresql.org>
Tue, 16 Jun 2020 04:59:07 +0000 (16:59 +1200)
commit7897e3bb902c557412645b82120f4d95f7474906
treea6e65d81d0f81bc7b40b8099611f21161b911d70
parent4c5cf5431410f8e28fb855c892cb2880649df850
Fix buffile.c error handling.

Convert buffile.c error handling to use ereport.  This fixes cases where
I/O errors were indistinguishable from EOF or not reported.  Also remove
"%m" from error messages where errno would be bogus.  While we're
modifying those strings, add block numbers and short read byte counts
where appropriate.

Back-patch to all supported releases.

Reported-by: Amit Khandekar <amitdkhan.pg@gmail.com>
Reviewed-by: Melanie Plageman <melanieplageman@gmail.com>
Reviewed-by: Alvaro Herrera <alvherre@2ndquadrant.com>
Reviewed-by: Robert Haas <robertmhaas@gmail.com>
Reviewed-by: Ibrar Ahmed <ibrar.ahmad@gmail.com>
Reviewed-by: Michael Paquier <michael@paquier.xyz>
Discussion: https://postgr.es/m/CA%2BhUKGJE04G%3D8TLK0DLypT_27D9dR8F1RQgNp0jK6qR0tZGWOw%40mail.gmail.com
src/backend/access/gist/gistbuildbuffers.c
src/backend/executor/nodeHashjoin.c
src/backend/replication/backup_manifest.c
src/backend/storage/file/buffile.c
src/backend/utils/sort/logtape.c
src/backend/utils/sort/sharedtuplestore.c
src/backend/utils/sort/tuplestore.c