diff options
Diffstat (limited to 'src/backend/parser/parse_target.c')
-rw-r--r-- | src/backend/parser/parse_target.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/backend/parser/parse_target.c b/src/backend/parser/parse_target.c index 3724330dc84..2d85cf08e70 100644 --- a/src/backend/parser/parse_target.c +++ b/src/backend/parser/parse_target.c @@ -1654,12 +1654,17 @@ FigureColnameInternal(Node *node, char **name) *name = strVal(llast(((FuncCall *) node)->funcname)); return 2; case T_A_Expr: - /* make nullif() act like a regular function */ if (((A_Expr *) node)->kind == AEXPR_NULLIF) { + /* make nullif() act like a regular function */ *name = "nullif"; return 2; } + if (((A_Expr *) node)->kind == AEXPR_PAREN) + { + /* look through dummy parenthesis node */ + return FigureColnameInternal(((A_Expr *) node)->lexpr, name); + } break; case T_TypeCast: strength = FigureColnameInternal(((TypeCast *) node)->arg, |