array-domain-fix-1.patch
text/x-diff
Filename: array-domain-fix-1.patch
Type: text/x-diff
Part: 0
Patch
Format: unified
| File | + | − |
|---|---|---|
| src/backend/parser/parse_expr.c | 14 | 0 |
diff --git a/src/backend/parser/parse_expr.c b/src/backend/parser/parse_expr.c index 04127bd..8ca4a2f 100644 --- a/src/backend/parser/parse_expr.c +++ b/src/backend/parser/parse_expr.c @@ -169,6 +169,20 @@ transformExpr(ParseState *pstate, Node *expr) targetType, elementType, targetTypmod); + + /* + * If the target array type is a domain, we still need + * to check the domain constraint. (coerce_to_domain + * is a no-op otherwise) + */ + result = coerce_to_domain(result, + InvalidOid, + -1, + targetType, + COERCE_IMPLICIT_CAST, + tc->location, + false, + true); break; }