aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAlvaro Herrera <alvherre@alvh.no-ip.org>2014-08-25 15:33:19 -0400
committerAlvaro Herrera <alvherre@alvh.no-ip.org>2014-08-25 15:33:19 -0400
commit34356933f044d5e3fa02a30ef1fe859eca20d605 (patch)
tree2608411971dd3a0013b63d0768d1f90ea2887dcb /src
parent0bfce7618420c6f1eece55577c61ef2a7a12f80b (diff)
downloadpostgresql-34356933f044d5e3fa02a30ef1fe859eca20d605.tar.gz
postgresql-34356933f044d5e3fa02a30ef1fe859eca20d605.zip
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.
Diffstat (limited to 'src')
-rw-r--r--src/backend/access/heap/heapam.c11
1 files changed, 4 insertions, 7 deletions
diff --git a/src/backend/access/heap/heapam.c b/src/backend/access/heap/heapam.c
index f710cdc3645..fa608cf8fd3 100644
--- a/src/backend/access/heap/heapam.c
+++ b/src/backend/access/heap/heapam.c
@@ -109,8 +109,7 @@ static void MultiXactIdWait(MultiXactId multi, MultiXactStatus status, uint16 in
Relation rel, ItemPointer ctid, XLTW_Oper oper,
int *remaining);
static bool ConditionalMultiXactIdWait(MultiXactId multi, MultiXactStatus status,
- uint16 infomask, Relation rel, ItemPointer ctid,
- XLTW_Oper oper, int *remaining);
+ uint16 infomask, Relation rel, int *remaining);
static XLogRecPtr log_heap_new_cid(Relation relation, HeapTuple tup);
static HeapTuple ExtractReplicaIdentity(Relation rel, HeapTuple tup, bool key_modified,
bool *copy);
@@ -4431,8 +4430,7 @@ l3:
{
if (!ConditionalMultiXactIdWait((MultiXactId) xwait,
status, infomask, relation,
- &tuple->t_data->t_ctid,
- XLTW_Lock, NULL))
+ NULL))
ereport(ERROR,
(errcode(ERRCODE_LOCK_NOT_AVAILABLE),
errmsg("could not obtain lock on row in relation \"%s\"",
@@ -6244,11 +6242,10 @@ MultiXactIdWait(MultiXactId multi, MultiXactStatus status, uint16 infomask,
*/
static bool
ConditionalMultiXactIdWait(MultiXactId multi, MultiXactStatus status,
- uint16 infomask, Relation rel, ItemPointer ctid,
- XLTW_Oper oper, int *remaining)
+ uint16 infomask, Relation rel, int *remaining)
{
return Do_MultiXactIdWait(multi, status, infomask, true,
- rel, ctid, oper, remaining);
+ rel, NULL, XLTW_None, remaining);
}
/*