Re: parser dilemma
От | Zoltan Boszormenyi |
---|---|
Тема | Re: parser dilemma |
Дата | |
Msg-id | 46286B72.5080802@cybertec.at обсуждение исходный текст |
Ответ на | Re: parser dilemma (Martijn van Oosterhout <kleptog@svana.org>) |
Ответы |
Re: parser dilemma
|
Список | pgsql-hackers |
Martijn van Oosterhout írta: > On Thu, Apr 19, 2007 at 11:19:40AM +0200, Zoltan Boszormenyi wrote: > >>> The problem comes from cases like >>> >>> colname coltype DEFAULT 5! GENERATED ... >>> >>> Since b_expr allows postfix operators, it takes one more token of >>> lookahead than we have to tell if the default expression is "5!" >>> or "5!GENERATED ...". >>> > > ISTM that as long as: > > colname coltype DEFAULT (5!) GENERATED ... > > works I don't see why it would be a problem to require the parentheses > in this case. Postfis operators are not going to be that common here I > think. > > Have a nice day, > You mean like this one? ------------------------------------------------------------------------ *** gram.y.old 2007-04-20 09:23:16.000000000 +0200 --- gram.y 2007-04-20 09:25:34.000000000 +0200 *************** *** 7550,7557 **** { $$ = (Node *) makeA_Expr(AEXPR_OP, $2, $1, $3, @2); } | qual_Op b_expr %prec Op { $$ = (Node *) makeA_Expr(AEXPR_OP,$1, NULL, $2, @1); } ! | b_expr qual_Op %prec POSTFIXOP ! { $$ = (Node *) makeA_Expr(AEXPR_OP, $2, $1, NULL, @2); } | b_expr IS DISTINCT FROM b_expr %prec IS { $$ = (Node *) makeSimpleA_Expr(AEXPR_DISTINCT, "=", $1, $5, @2); --- 7550,7557 ---- { $$ = (Node *) makeA_Expr(AEXPR_OP, $2, $1, $3, @2); } | qual_Op b_expr %prec Op { $$ = (Node *) makeA_Expr(AEXPR_OP,$1, NULL, $2, @1); } ! | '(' b_expr qual_Op ')' %prec POSTFIXOP ! { $$ = (Node *) makeA_Expr(AEXPR_OP, $3, $2, NULL, @3); } | b_expr IS DISTINCT FROM b_expr %prec IS { $$ = (Node *) makeSimpleA_Expr(AEXPR_DISTINCT, "=", $1, $5, @2); ------------------------------------------------------------------------ This change alone brings 13 reduce/reduce conflicts. Best regards -- ---------------------------------- Zoltán Böszörményi Cybertec Geschwinde & Schönig GmbH http://www.postgresql.at/
В списке pgsql-hackers по дате отправления: