diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2020-09-28 14:12:38 -0400 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2020-09-28 14:12:38 -0400 |
commit | 29f20db85ed220f075fe8181bac49269611f13cb (patch) | |
tree | eb61762e6a4fed31bc855d2ab4c30d812d433fe1 /src/backend/parser/parse_utilcmd.c | |
parent | bda32733ceeb0687ee5a1e734005270b1dee66a7 (diff) | |
download | postgresql-29f20db85ed220f075fe8181bac49269611f13cb.tar.gz postgresql-29f20db85ed220f075fe8181bac49269611f13cb.zip |
Assign collations in partition bound expressions.
Failure to do this can result in errors during evaluation of
the bound expression, as illustrated by the new regression test.
Back-patch to v12 where the ability for partition bounds to be
expressions was added.
Discussion: https://postgr.es/m/CAJV4CdrZ5mKuaEsRSbLf2URQ3h6iMtKD=hik8MaF5WwdmC9uZw@mail.gmail.com
Diffstat (limited to 'src/backend/parser/parse_utilcmd.c')
-rw-r--r-- | src/backend/parser/parse_utilcmd.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/backend/parser/parse_utilcmd.c b/src/backend/parser/parse_utilcmd.c index e54d8279917..0ceea41d1b6 100644 --- a/src/backend/parser/parse_utilcmd.c +++ b/src/backend/parser/parse_utilcmd.c @@ -4197,7 +4197,10 @@ transformPartitionBoundValue(ParseState *pstate, Node *val, /* Simplify the expression, in case we had a coercion */ if (!IsA(value, Const)) + { + assign_expr_collations(pstate, value); value = (Node *) expression_planner((Expr *) value); + } /* * transformExpr() should have already rejected column references, |