diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2016-09-10 13:49:04 -0400 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2016-09-10 13:49:04 -0400 |
commit | bca6eeb82e856bc378fb31781d519caed5123b63 (patch) | |
tree | 8de12ed71cf67c4a7fac4def6c6e7bea297ebbaf /src/backend/access/gist/gistvacuum.c | |
parent | f337658850801706334fcfec07928a804fb4e24f (diff) | |
download | postgresql-bca6eeb82e856bc378fb31781d519caed5123b63.tar.gz postgresql-bca6eeb82e856bc378fb31781d519caed5123b63.zip |
Fix miserable coding in pg_stat_get_activity().
Commit dd1a3bccc replaced a test on whether a subroutine returned a
null pointer with a test on whether &pointer->backendStatus was null.
This accidentally failed to fail, at least on common compilers, because
backendStatus is the first field in the struct; but it was surely trouble
waiting to happen. Commit f91feba87 then messed things up further,
changing the logic to
local_beentry = pgstat_fetch_stat_local_beentry(curr_backend);
if (!local_beentry)
continue;
beentry = &local_beentry->backendStatus;
if (!beentry)
{
where the second "if" is now dead code, so that the intended behavior of
printing a row with "<backend information not available>" cannot occur.
I suspect this is all moot because pgstat_fetch_stat_local_beentry
will never actually return null in this function's usage, but it's still
very poor coding. Repair back to 9.4 where the original problem was
introduced.
Diffstat (limited to 'src/backend/access/gist/gistvacuum.c')
0 files changed, 0 insertions, 0 deletions