pgsql: Fix miserable coding in pg_stat_get_activity().
От | Tom Lane |
---|---|
Тема | pgsql: Fix miserable coding in pg_stat_get_activity(). |
Дата | |
Msg-id | E1bimOy-00077z-Jb@gemulon.postgresql.org обсуждение исходный текст |
Список | pgsql-committers |
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. Branch ------ REL9_6_STABLE Details ------- http://git.postgresql.org/pg/commitdiff/7a142b6bbf20c5ad54d11ea45e7a74ce02c510f0 Modified Files -------------- src/backend/utils/adt/pgstatfuncs.c | 26 +++++++++++--------------- 1 file changed, 11 insertions(+), 15 deletions(-)
В списке pgsql-committers по дате отправления: