diff options
Diffstat (limited to 'src/backend/parser/parse_coerce.c')
-rw-r--r-- | src/backend/parser/parse_coerce.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/backend/parser/parse_coerce.c b/src/backend/parser/parse_coerce.c index c31a5630b2f..065535a26bb 100644 --- a/src/backend/parser/parse_coerce.c +++ b/src/backend/parser/parse_coerce.c @@ -907,7 +907,12 @@ build_coercion_expression(Node *node, sourceBaseTypeId = getBaseTypeAndTypmod(exprType(node), &sourceBaseTypeMod); - /* Set up CaseTestExpr representing one element of source array */ + /* + * Set up a CaseTestExpr representing one element of the source array. + * This is an abuse of CaseTestExpr, but it's OK as long as there + * can't be any CaseExpr or ArrayCoerceExpr within the completed + * elemexpr. + */ ctest->typeId = get_element_type(sourceBaseTypeId); Assert(OidIsValid(ctest->typeId)); ctest->typeMod = sourceBaseTypeMod; |