pgsql: Fix heap_page_prune's problem with failing to send cache
От | tgl@postgresql.org (Tom Lane) |
---|---|
Тема | pgsql: Fix heap_page_prune's problem with failing to send cache |
Дата | |
Msg-id | 20080313180032.6FCEC753336@cvs.postgresql.org обсуждение исходный текст |
Список | pgsql-committers |
Log Message: ----------- Fix heap_page_prune's problem with failing to send cache invalidation messages if the calling transaction aborts later on. Collapsing out line pointer redirects is a done deal as soon as we complete the page update, so syscache *must* be notified even if the VACUUM FULL as a whole doesn't complete. To fix, add some functionality to inval.c to allow the pending inval messages to be sent immediately while heap_page_prune is still running. The implementation is a bit chintzy: it will only work in the context of VACUUM FULL. But that's all we need now, and it can always be extended later if needed. Per my trouble report of a week ago. Modified Files: -------------- pgsql/src/backend/access/heap: pruneheap.c (r1.7 -> r1.8) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/heap/pruneheap.c?r1=1.7&r2=1.8) pgsql/src/backend/utils/cache: inval.c (r1.83 -> r1.84) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/cache/inval.c?r1=1.83&r2=1.84) pgsql/src/include/utils: inval.h (r1.41 -> r1.42) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/utils/inval.h?r1=1.41&r2=1.42)
В списке pgsql-committers по дате отправления: