From c18ed2f5a76a654c783d804ce7beef791bdfa394 Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Tue, 3 Feb 1998 01:53:24 +0000 Subject: [PATCH] Parser cleanup for expr and subqueries. --- src/backend/parser/gram.y | 12 +++++++++++- src/backend/parser/parse_expr.c | 4 ++-- src/include/catalog/pg_type.h | 3 ++- 3 files changed, 15 insertions(+), 4 deletions(-) diff --git a/src/backend/parser/gram.y b/src/backend/parser/gram.y index 70236c7d10..8898170db1 100644 --- a/src/backend/parser/gram.y +++ b/src/backend/parser/gram.y @@ -10,7 +10,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/parser/gram.y,v 1.100 1998/02/01 19:43:34 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/parser/gram.y,v 1.101 1998/02/03 01:53:14 momjian Exp $ * * HISTORY * AUTHOR DATE MAJOR EVENT @@ -3330,6 +3330,16 @@ a_expr: attr opt_indirection n->subselect = $5; $$ = (Node *)n; } + | a_expr Op '(' SubSelect ')' + { + SubLink *n = makeNode(SubLink); + n->lefthand = lcons($1, NULL); + n->oper = lcons($2,NIL); + n->useor = false; + n->subLinkType = ALL_SUBLINK; + n->subselect = $4; + $$ = (Node *)n; + } | a_expr AND a_expr { $$ = makeA_Expr(AND, NULL, $1, $3); } | a_expr OR a_expr diff --git a/src/backend/parser/parse_expr.c b/src/backend/parser/parse_expr.c index 3a3242f4d0..6e1e244f50 100644 --- a/src/backend/parser/parse_expr.c +++ b/src/backend/parser/parse_expr.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/parser/parse_expr.c,v 1.14 1998/02/01 22:20:39 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/parser/parse_expr.c,v 1.15 1998/02/03 01:53:16 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -101,7 +101,7 @@ transformExpr(ParseState *pstate, Node *expr, int precedence) Value *val = &con->val; if (con->typename != NULL) - result = parser_typecast(val, con->typename, 0); + result = parser_typecast(val, con->typename, -1); else result = (Node *) make_const(val); break; diff --git a/src/include/catalog/pg_type.h b/src/include/catalog/pg_type.h index 820438ce2e..af76a37d55 100644 --- a/src/include/catalog/pg_type.h +++ b/src/include/catalog/pg_type.h @@ -7,7 +7,7 @@ * * Copyright (c) 1994, Regents of the University of California * - * $Id: pg_type.h,v 1.28 1998/01/24 22:48:42 momjian Exp $ + * $Id: pg_type.h,v 1.29 1998/02/03 01:53:24 momjian Exp $ * * NOTES * the genbki.sh script reads this file and generates .bki @@ -366,6 +366,7 @@ DESCR("limited-range ISO-format date and time"); #define USE_ATTTYPMOD(typeid) ((typeid) == BPCHAROID || (typeid) == VARCHAROID) +#define VARLENA_FIXED_SIZE(typeid) ((typeid) == BPCHAROID) /* * prototypes for functions in pg_type.c -- 2.11.0