]> granicus.if.org Git - postgresql/commit
Improve tuplestore's error messages for I/O failures.
authorTom Lane <tgl@sss.pgh.pa.us>
Thu, 12 Jun 2014 22:59:06 +0000 (18:59 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Thu, 12 Jun 2014 22:59:06 +0000 (18:59 -0400)
commit6554656ea2043c5bb877b427237dc5ddd7c5e5c8
tree0537c75d8dec546de6f2a4e1d14e66cf816dcaea
parent70ad7ed4e88d9de3273f2f875cfaa044a35dfa97
Improve tuplestore's error messages for I/O failures.

We should report the errno when we get a failure from functions like
BufFileWrite.  "ERROR: write failed" is unreasonably taciturn for a
case that's well within the realm of possibility; I've seen it a
couple times in the buildfarm recently, in situations that were
probably out-of-disk-space, but it'd be good to see the errno
to confirm it.

I think this code was originally written without assuming that
the buffile.c functions would return useful errno; but most other
callers *are* assuming that, and a quick look at the buffile code
gives no reason to suppose otherwise.

Also, a couple of the old messages were phrased on the assumption
that a short read might indicate a logic bug in tuplestore itself;
but that code's pretty well tested by now, so a filesystem-level
problem seems much more likely.
src/backend/utils/sort/logtape.c
src/backend/utils/sort/tuplestore.c