Skip to content

Commit a890b87

Browse files
maksm90Commitfest Bot
authored andcommitted
Simplify COALESCE with single argument
1 parent fd7d7b7 commit a890b87

File tree

1 file changed

+7
-0
lines changed

1 file changed

+7
-0
lines changed

src/backend/optimizer/util/clauses.c

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3333,6 +3333,13 @@ eval_const_expressions_mutator(Node *node,
33333333
-1,
33343334
coalesceexpr->coalescecollid);
33353335

3336+
/*
3337+
* COALESCE with single valued argument looks like identity
3338+
* function so that it's converged to its single argument
3339+
*/
3340+
if (list_length(newargs) == 1)
3341+
return (Node *) linitial(newargs);
3342+
33363343
newcoalesce = makeNode(CoalesceExpr);
33373344
newcoalesce->coalescetype = coalesceexpr->coalescetype;
33383345
newcoalesce->coalescecollid = coalesceexpr->coalescecollid;

0 commit comments

Comments
 (0)