Simon Riggs wrote:
> @@ -654,10 +656,13 @@ LockAcquire(const LOCKTAG *locktag,
> elog(PANIC, "lock table corrupted");
> }
> LWLockRelease(partitionLock);
> - ereport(ERROR,
> - (errcode(ERRCODE_OUT_OF_MEMORY),
> - errmsg("out of shared memory"),
> - errhint("You might need to increase max_locks_per_transaction.")));
> + if (reportLockTableError)
> + ereport(ERROR,
> + (errcode(ERRCODE_OUT_OF_MEMORY),
> + errmsg("out of shared memory"),
> + errhint("You might need to increase max_locks_per_transaction.")));
> + else
> + return LOCKACQUIRE_NOT_AVAIL;
> }
> locallock->proclock = proclock;
>
That seems dangerous when dontWait==false.
-- Heikki Linnakangas EnterpriseDB http://www.enterprisedb.com