]> granicus.if.org Git - postgresql/commitdiff
Synced gram.y and preproc.y.
authorMichael Meskes <meskes@postgresql.org>
Thu, 25 Jan 2001 20:35:19 +0000 (20:35 +0000)
committerMichael Meskes <meskes@postgresql.org>
Thu, 25 Jan 2001 20:35:19 +0000 (20:35 +0000)
src/interfaces/ecpg/ChangeLog
src/interfaces/ecpg/preproc/preproc.y

index 6643b8579e0bba5c3e795f0b2635b0146728df8c..90d4563293de80449e2515add482f8ed12485f0a 100644 (file)
@@ -1043,5 +1043,9 @@ Mon Jan 22 17:56:02 CET 2001
 Tue Jan 23 08:54:14 CET 2001
 
        - Moved database name handling to libecpg.
+
+Thu Jan 25 21:14:38 CET 2001
+
+       - Synced gram.y and preproc.y.     
        - Set ecpg version to 2.8.0. 
        - Set library version to 3.2.0.
index a888f93392586736bc00b6a07b9429c102b7d7ce..4d27ba34db6d472dc7923241f2aaaca9e1d3e361 100644 (file)
@@ -263,16 +263,16 @@ make_name(void)
 %nonassoc      OVERLAPS
 %nonassoc      BETWEEN
 %nonassoc      IN
+%left           POSTFIXOP                              /* dummy for postfix Op rules */    
 %left          Op                              /* multi-character ops and user-defined operators */
 %nonassoc      NOTNULL
 %nonassoc      ISNULL
-%nonassoc      NULL_P
-%nonassoc      IS
+%nonassoc      IS NULL_P TRUE_P FALSE_P 
 %left          '+' '-'
 %left          '*' '/' '%'
 %left          '^'
 /* Unary Operators */
-%left           AT
+%left           AT ZONE
 %right         UMINUS
 %left          '.'
 %left          '[' ']'
@@ -3300,7 +3300,7 @@ a_expr:  c_expr
                                {       $$ = cat_str(3, $1, $2, $3); }
                | Op a_expr
                                {       $$ = cat2_str($1, $2); }
-               | a_expr Op
+               | a_expr Op             %prec POSTFIXOP
                                {       $$ = cat2_str($1, $2); }
                | a_expr AND a_expr
                                {       $$ = cat_str(3, $1, make_str("and"), $3); }
@@ -3345,11 +3345,11 @@ a_expr:  c_expr
                                {       $$ = cat2_str($1, make_str("is false")); }
                | a_expr IS NOT TRUE_P
                                {       $$ = cat2_str($1, make_str("is not true")); }
-               | a_expr BETWEEN b_expr AND b_expr
+               | a_expr BETWEEN b_expr AND b_expr      %prec BETWEEN
                                {
                                        $$ = cat_str(5, $1, make_str("between"), $3, make_str("and"), $5); 
                                }
-               | a_expr NOT BETWEEN b_expr AND b_expr
+               | a_expr NOT BETWEEN b_expr AND b_expr  %prec BETWEEN
                                {
                                        $$ = cat_str(5, $1, make_str("not between"), $4, make_str("and"), $6); 
                                }
@@ -3361,7 +3361,7 @@ a_expr:  c_expr
                                {
                                        $$ = cat_str(3, $1, make_str(" not in "), $4); 
                                }
-               | a_expr all_Op sub_type select_with_parens
+               | a_expr all_Op sub_type select_with_parens     %prec Op
                                {
                                        $$ = cat_str(4, $1, $2, $3, $4); 
                                }
@@ -3417,7 +3417,7 @@ b_expr:  c_expr
                                {       $$ = cat_str(3, $1, $2, $3); }
                | Op b_expr
                                {       $$ = cat2_str($1, $2); }
-               | b_expr Op
+               | b_expr Op             %prec POSTFIXOP
                                {       $$ = cat2_str($1, $2); }
                ;