mirror of
https://github.com/postgres/postgres.git
synced 2025-05-15 19:15:29 +03:00
Revert XactLockTableWait context setup in conditional multixact wait
There's no point in setting up a context error callback when doing conditional lock acquisition, because we never actually wait and so the able wouldn't be able to see it. Backpatch to 9.4, where this was added.
This commit is contained in:
parent
0bfce76184
commit
34356933f0
@ -109,8 +109,7 @@ static void MultiXactIdWait(MultiXactId multi, MultiXactStatus status, uint16 in
|
|||||||
Relation rel, ItemPointer ctid, XLTW_Oper oper,
|
Relation rel, ItemPointer ctid, XLTW_Oper oper,
|
||||||
int *remaining);
|
int *remaining);
|
||||||
static bool ConditionalMultiXactIdWait(MultiXactId multi, MultiXactStatus status,
|
static bool ConditionalMultiXactIdWait(MultiXactId multi, MultiXactStatus status,
|
||||||
uint16 infomask, Relation rel, ItemPointer ctid,
|
uint16 infomask, Relation rel, int *remaining);
|
||||||
XLTW_Oper oper, int *remaining);
|
|
||||||
static XLogRecPtr log_heap_new_cid(Relation relation, HeapTuple tup);
|
static XLogRecPtr log_heap_new_cid(Relation relation, HeapTuple tup);
|
||||||
static HeapTuple ExtractReplicaIdentity(Relation rel, HeapTuple tup, bool key_modified,
|
static HeapTuple ExtractReplicaIdentity(Relation rel, HeapTuple tup, bool key_modified,
|
||||||
bool *copy);
|
bool *copy);
|
||||||
@ -4431,8 +4430,7 @@ l3:
|
|||||||
{
|
{
|
||||||
if (!ConditionalMultiXactIdWait((MultiXactId) xwait,
|
if (!ConditionalMultiXactIdWait((MultiXactId) xwait,
|
||||||
status, infomask, relation,
|
status, infomask, relation,
|
||||||
&tuple->t_data->t_ctid,
|
NULL))
|
||||||
XLTW_Lock, NULL))
|
|
||||||
ereport(ERROR,
|
ereport(ERROR,
|
||||||
(errcode(ERRCODE_LOCK_NOT_AVAILABLE),
|
(errcode(ERRCODE_LOCK_NOT_AVAILABLE),
|
||||||
errmsg("could not obtain lock on row in relation \"%s\"",
|
errmsg("could not obtain lock on row in relation \"%s\"",
|
||||||
@ -6244,11 +6242,10 @@ MultiXactIdWait(MultiXactId multi, MultiXactStatus status, uint16 infomask,
|
|||||||
*/
|
*/
|
||||||
static bool
|
static bool
|
||||||
ConditionalMultiXactIdWait(MultiXactId multi, MultiXactStatus status,
|
ConditionalMultiXactIdWait(MultiXactId multi, MultiXactStatus status,
|
||||||
uint16 infomask, Relation rel, ItemPointer ctid,
|
uint16 infomask, Relation rel, int *remaining)
|
||||||
XLTW_Oper oper, int *remaining)
|
|
||||||
{
|
{
|
||||||
return Do_MultiXactIdWait(multi, status, infomask, true,
|
return Do_MultiXactIdWait(multi, status, infomask, true,
|
||||||
rel, ctid, oper, remaining);
|
rel, NULL, XLTW_None, remaining);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
Loading…
x
Reference in New Issue
Block a user