From: | tgl(at)postgresql(dot)org (Tom Lane) |
---|---|
To: | pgsql-committers(at)postgresql(dot)org |
Subject: | pgsql: Fix heap_page_prune's problem with failing to send cache |
Date: | 2008-03-13 18:00:32 |
Message-ID: | 20080313180032.6FCEC753336@cvs.postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | 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)
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2008-03-13 18:00:39 | pgsql: Fix heap_page_prune's problem with failing to send cache |
Previous Message | User Dim | 2008-03-13 15:53:57 | prefix - prefix: BTree indexing support for prefix_range data type |