diff --git a/src/backend/parser/parse_collate.c b/src/backend/parser/parse_collate.c index 6d34245083e..3935164d166 100644 --- a/src/backend/parser/parse_collate.c +++ b/src/backend/parser/parse_collate.c @@ -520,7 +520,14 @@ assign_collations_walker(Node *node, assign_collations_context *context) collation = exprCollation((Node *) tent->expr); /* collation doesn't change if it's converted to array */ - strength = COLLATE_IMPLICIT; + if(IsA(tent->expr, CollateExpr)) + { + strength = COLLATE_EXPLICIT; + } + else + { + strength = COLLATE_IMPLICIT; + } location = exprLocation((Node *) tent->expr); } break;