diff --git a/src/backend/distributed/executor/multi_router_executor.c b/src/backend/distributed/executor/multi_router_executor.c index 04b4beb15..9dc9b227a 100644 --- a/src/backend/distributed/executor/multi_router_executor.c +++ b/src/backend/distributed/executor/multi_router_executor.c @@ -616,6 +616,13 @@ ExecuteSingleSelectTask(CitusScanState *scanState, Task *task) placementAccessList = list_make1(placementAccess); } + if (placementAccessList == NIL) + { + ereport(ERROR, (errcode(ERRCODE_T_R_SERIALIZATION_FAILURE), + errmsg("a placement was moved after the SELECT was " + "planned"))); + } + connection = GetPlacementListConnection(connectionFlags, placementAccessList, NULL);