Обсуждение: pgsql: Remove the pgstat_drop_relation() call from

Поиск
Список
Период
Сортировка

pgsql: Remove the pgstat_drop_relation() call from

От
tgl@postgresql.org (Tom Lane)
Дата:
Log Message:
-----------
Remove the pgstat_drop_relation() call from smgr_internal_unlink(), because
we don't know at that point which relation OID to tell pgstat to forget.
The code was passing the relfilenode, which is incorrect, and could possibly
cause some other relation's stats to be zeroed out.  While we could try to
clean this up, it seems much simpler and more reliable to let the next
invocation of pgstat_vacuum_tabstat() fix things; which indeed is how it
worked before I introduced the buggy code into 8.1.3 and later :-(.
Problem noticed by Itagaki Takahiro, fix is per subsequent discussion.

Modified Files:
--------------
    pgsql/src/backend/postmaster:
        pgstat.c (r1.160 -> r1.161)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/postmaster/pgstat.c.diff?r1=1.160&r2=1.161)
    pgsql/src/backend/storage/smgr:
        smgr.c (r1.103 -> r1.104)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/storage/smgr/smgr.c.diff?r1=1.103&r2=1.104)
    pgsql/src/include:
        pgstat.h (r1.63 -> r1.64)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/pgstat.h.diff?r1=1.63&r2=1.64)