ExecMergeMatched-thinko.patch

text/plain

Filename: ExecMergeMatched-thinko.patch
Type: text/plain
Part: 0
Message: Re: [HACKERS] MERGE SQL Statement for PG11

Patch

Format: unified
File+
src/backend/executor/execMerge.c 7 6
diff --git a/src/backend/executor/execMerge.c b/src/backend/executor/execMerge.c
index d39ddd3034..2ed041644f 100644
--- a/src/backend/executor/execMerge.c
+++ b/src/backend/executor/execMerge.c
@@ -174,6 +174,12 @@ ExecMergeMatched(ModifyTableState *mtstate, EState *estate,
 	ListCell   *l;
 	TupleTableSlot *saved_slot = slot;
 
+	/*
+	 * If there are not WHEN MATCHED actions, we are done.
+	 */
+	if (resultRelInfo->ri_mergeState->matchedActionStates == NIL)
+		return true;
+
 	if (mtstate->mt_partition_tuple_routing)
 	{
 		Datum		datum;
@@ -220,12 +226,7 @@ ExecMergeMatched(ModifyTableState *mtstate, EState *estate,
 	 */
 	mergeMatchedActionStates =
 		resultRelInfo->ri_mergeState->matchedActionStates;
-
-	/*
-	 * If there are not WHEN MATCHED actions, we are done.
-	 */
-	if (mergeMatchedActionStates == NIL)
-		return true;
+	Assert(mergeMatchedActionStates != NIL);
 
 	/*
 	 * Make tuple and any needed join variables available to ExecQual and