On 09/25/2013 12:06 AM, Jeff Janes wrote:
>> Why do we need a procarraylock for this? Seems like the solution would
>> be not to take a lock at all; the information on transaction commit is
>> in the clog, after all.
>>
>
> My understanding is that you are not allowed to check the clog until after
> you verify the transaction is no longer in progress, otherwise you open up
> race conditions.
In this particular case, I'd argue that we don't care about race
conditions -- it's a plan estimate. We certainly care about them a lot
less than lock-blocks.
--
Josh Berkus
PostgreSQL Experts Inc.
http://pgexperts.com