aboutsummaryrefslogtreecommitdiff
path: root/src/backend/parser/parse_utilcmd.c
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2020-09-28 14:12:38 -0400
committerTom Lane <tgl@sss.pgh.pa.us>2020-09-28 14:12:38 -0400
commit72647ac3bf0f11732483eac2cd9b5cf4972f2e1f (patch)
tree93ec07545e20e4e33f77e5b2b0e63c5fe0c13d8c /src/backend/parser/parse_utilcmd.c
parent2dfa3fea88bc951d0812a18649d801f07964c9b9 (diff)
downloadpostgresql-72647ac3bf0f11732483eac2cd9b5cf4972f2e1f.tar.gz
postgresql-72647ac3bf0f11732483eac2cd9b5cf4972f2e1f.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.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/backend/parser/parse_utilcmd.c b/src/backend/parser/parse_utilcmd.c
index 6d2f36da2df..0dc03dd9840 100644
--- a/src/backend/parser/parse_utilcmd.c
+++ b/src/backend/parser/parse_utilcmd.c
@@ -4209,6 +4209,7 @@ transformPartitionBoundValue(ParseState *pstate, Node *val,
*/
if (!IsA(value, Const))
{
+ assign_expr_collations(pstate, value);
value = (Node *) expression_planner((Expr *) value);
value = (Node *) evaluate_expr((Expr *) value, colType, colTypmod,
partCollation);