Just noticed that the grammar actually has no provision for '+' as a
authorTom Lane
Sat, 18 Mar 2000 04:32:35 +0000 (04:32 +0000)
committerTom Lane
Sat, 18 Mar 2000 04:32:35 +0000 (04:32 +0000)
prefix operator :-(.  Bad enough that we have no implementation of
unary plus, but at least with this fix the grammar will take it.

src/backend/parser/gram.y

index 40ad6ffb6cefb68e575f77be6115c2679b78d078..7508066034de40f916eee4f2884c47a0d2bd1a23 100644 (file)
@@ -11,7 +11,7 @@
  *
  *
  * IDENTIFICATION
- *   $Header: /cvsroot/pgsql/src/backend/parser/gram.y,v 2.158 2000/03/18 00:33:45 momjian Exp $
+ *   $Header: /cvsroot/pgsql/src/backend/parser/gram.y,v 2.159 2000/03/18 04:32:35 tgl Exp $
  *
  * HISTORY
  *   AUTHOR            DATE            MAJOR EVENT
@@ -4168,6 +4168,8 @@ a_expr:  c_expr
         * If you add more explicitly-known operators, be sure to add them
         * also to b_expr and to the MathOp list above.
         */
+       | '+' a_expr %prec UMINUS
+               {   $$ = makeA_Expr(OP, "+", NULL, $2); }
        | '-' a_expr %prec UMINUS
                {   $$ = doNegate($2); }
        | '%' a_expr
@@ -4384,6 +4386,8 @@ b_expr:  c_expr
                {   $$ = $1;  }
        | b_expr TYPECAST Typename
                {   $$ = makeTypeCast($1, $3); }
+       | '+' b_expr %prec UMINUS
+               {   $$ = makeA_Expr(OP, "+", NULL, $2); }
        | '-' b_expr %prec UMINUS
                {   $$ = doNegate($2); }
        | '%' b_expr
@@ -5480,8 +5484,9 @@ mapTargetColumns(List *src, List *dst)
  * Do not convert "float", since that is handled elsewhere
  *  for FLOAT(p) syntax.
  *
- * Converting "datetime" to "timestamp" is a temporary expedient for
- * pre-7.0 to 7.0 compatibility; it should go away again someday.
+ * Converting "datetime" to "timestamp" and "timespan" to "interval"
+ * is a temporary expedient for pre-7.0 to 7.0 compatibility;
+ * these should go away someday.
  */
 static char *
 xlateSqlFunc(char *name)