diff --git a/src/backend/executor/execMain.c b/src/backend/executor/execMain.c index 2e0eef7f3de..4ea51e4e992 100644 --- a/src/backend/executor/execMain.c +++ b/src/backend/executor/execMain.c @@ -2555,13 +2555,15 @@ bool EvalPlanQualFetchRowMark(EPQState *epqstate, Index rti, TupleTableSlot *slot) { ExecAuxRowMark *earm = epqstate->relsubs_rowmark[rti - 1]; - ExecRowMark *erm = earm->rowmark; + ExecRowMark *erm; Datum datum; bool isNull; Assert(earm != NULL); Assert(epqstate->origslot != NULL); + erm = earm->rowmark; + if (RowMarkRequiresRowShareLock(erm->markType)) elog(ERROR, "EvalPlanQual doesn't support locking rowmarks");