]> granicus.if.org Git - postgresql/commitdiff
Parser cleanup for expr and subqueries.
authorBruce Momjian <bruce@momjian.us>
Tue, 3 Feb 1998 01:53:24 +0000 (01:53 +0000)
committerBruce Momjian <bruce@momjian.us>
Tue, 3 Feb 1998 01:53:24 +0000 (01:53 +0000)
src/backend/parser/gram.y
src/backend/parser/parse_expr.c
src/include/catalog/pg_type.h

index 70236c7d107d812abe3deea173f5c4d802f21c36..8898170db124b1113f92674a19657b35c7512af4 100644 (file)
@@ -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
index 3a3242f4d090c97300c96cf818fa769e735d563e..6e1e244f5017cf1cde6e066dca34ba9ed8f7680a 100644 (file)
@@ -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;
index 820438ce2edfc7cf741733ef6c8180b86e2e9ceb..af76a37d553dd3203a88495fd548b7e7c995c7c1 100644 (file)
@@ -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