From: Michael Meskes Date: Thu, 25 Jan 2001 20:35:19 +0000 (+0000) Subject: Synced gram.y and preproc.y. X-Git-Tag: REL7_1~656 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=19c4197bd213e96a610bd677c42a1919d50a5237;p=postgresql Synced gram.y and preproc.y. --- diff --git a/src/interfaces/ecpg/ChangeLog b/src/interfaces/ecpg/ChangeLog index 6643b8579e..90d4563293 100644 --- a/src/interfaces/ecpg/ChangeLog +++ b/src/interfaces/ecpg/ChangeLog @@ -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. diff --git a/src/interfaces/ecpg/preproc/preproc.y b/src/interfaces/ecpg/preproc/preproc.y index a888f93392..4d27ba34db 100644 --- a/src/interfaces/ecpg/preproc/preproc.y +++ b/src/interfaces/ecpg/preproc/preproc.y @@ -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); } ;