pgsql: Fix heap_page_prune's problem with failing to send cache - Mailing list pgsql-committers

From tgl@postgresql.org (Tom Lane)
Subject pgsql: Fix heap_page_prune's problem with failing to send cache
Date
Msg-id 20080313180039.7750A753C45@cvs.postgresql.org
Whole thread Raw
List 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.

Tags:
----
REL8_3_STABLE

Modified Files:
--------------
    pgsql/src/backend/access/heap:
        pruneheap.c (r1.6.2.1 -> r1.6.2.2)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/heap/pruneheap.c?r1=1.6.2.1&r2=1.6.2.2)
    pgsql/src/backend/utils/cache:
        inval.c (r1.83 -> r1.83.2.1)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/cache/inval.c?r1=1.83&r2=1.83.2.1)
    pgsql/src/include/utils:
        inval.h (r1.41 -> r1.41.2.1)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/utils/inval.h?r1=1.41&r2=1.41.2.1)

pgsql-committers by date:

Previous
From: dim@pgfoundry.org (User Dim)
Date:
Subject: prefix - prefix: BTree indexing support for prefix_range data type
Next
From: tgl@postgresql.org (Tom Lane)
Date:
Subject: pgsql: Fix heap_page_prune's problem with failing to send cache