From 1287610efa3895a0ababfc66f346a6a7c7edf9b9 Mon Sep 17 00:00:00 2001
From: Maksim Milyutin <milyutinma@gmail.com>
Date: Fri, 11 Apr 2025 15:43:42 +0300
Subject: [PATCH v1] Simplify COALESCE with single argument

---
 src/backend/optimizer/util/clauses.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/backend/optimizer/util/clauses.c b/src/backend/optimizer/util/clauses.c
index 26a3e050086..60f33839214 100644
--- a/src/backend/optimizer/util/clauses.c
+++ b/src/backend/optimizer/util/clauses.c
@@ -3332,6 +3332,8 @@ eval_const_expressions_mutator(Node *node,
 					return (Node *) makeNullConst(coalesceexpr->coalescetype,
 												  -1,
 												  coalesceexpr->coalescecollid);
+				if (list_length(newargs) == 1)
+					return (Node *) linitial(newargs);
 
 				newcoalesce = makeNode(CoalesceExpr);
 				newcoalesce->coalescetype = coalesceexpr->coalescetype;
-- 
2.43.0

