On Fri, Nov 26, 2010 at 1:11 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Simon Riggs <simon@2ndQuadrant.com> writes:
>> That would mean running GetCurrentTransactionId() inside LockAcquire()
>
>> if (lockmode >= AccessExclusiveLock &&
>> locktag->locktag_type == LOCKTAG_RELATION &&
>> !RecoveryInProgress())
>> (void) GetCurrentTransactionId();
>
>> Any objections to that fix?
>
> Could we have a wal level test in there too please? It's pretty awful
> in any case...
+1.
Incidentally, I haven't been able to wrap my head around why we need
to propagate AccessExclusiveLocks to the standby in the first place.
Can someone explain?
--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company