Re: CatCache state reversing - Mailing list pgsql-hackers

From Tom Lane
Subject Re: CatCache state reversing
Date
Msg-id 8074.1084645664@sss.pgh.pa.us
Whole thread Raw
In response to CatCache state reversing  (Alvaro Herrera <alvherre@dcc.uchile.cl>)
List pgsql-hackers
Alvaro Herrera <alvherre@dcc.uchile.cl> writes:
> What I'm currently thinking is that for each entry in the cache, we'll
> save the current refcount at subtransaction start, and then restore it
> at subtransaction abort.  At subtransaction commit, the parent's
> refcount will be updated with the subtransaction's refcount, which can
> be greater than zero.

No it can't.  The reference counts should all be exactly the same at
subtrans start and subtrans commit, else there was a reference leak.
This corresponds to complaining if the count isn't zero at main trans
commit.  I don't see that there should ever be a situation where a
subtrans releases a refcount acquired by an outer trans or vice versa.

While you're looking at that, what about the cache invalidation logic?
I think subtrans commit is probably not different from
CommandCounterIncrement, but I'm not sure how to clean up the caches and
the pending-inval lists on subtrans abort.
        regards, tom lane


pgsql-hackers by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: add server include files to default installation?
Next
From: Jan Wieck
Date:
Subject: Re: Call for 7.5 feature completion