diff --git a/src/backend/parser/parse_clause.c b/src/backend/parser/parse_clause.c index d821969a7d..45e0d01a8a 100644 --- a/src/backend/parser/parse_clause.c +++ b/src/backend/parser/parse_clause.c @@ -1992,6 +1992,10 @@ findTargetlistEntrySQL92(ParseState *pstate, Node *node, List **tlist, int targetlist_pos = 0; int target_pos; + if (IsA(&aconst->val, Boolean)) + /* treat booleans as expressions */ + return findTargetlistEntrySQL99(pstate, node, tlist, exprKind); + if (!IsA(&aconst->val, Integer)) ereport(ERROR, (errcode(ERRCODE_SYNTAX_ERROR),