[HACKERS] Inconsistent syntax for NumericOnly grammar production
От | Tom Lane |
---|---|
Тема | [HACKERS] Inconsistent syntax for NumericOnly grammar production |
Дата | |
Msg-id | 30908.1496006184@sss.pgh.pa.us обсуждение исходный текст |
Ответы |
Re: [HACKERS] Inconsistent syntax for NumericOnly grammar production
|
Список | pgsql-hackers |
I noticed that gram.y has NumericOnly: FCONST { $$ = makeFloat($1); } | '-' FCONST { $$ = makeFloat($2); doNegateFloat($$); } | SignedIconst { $$ = makeInteger($1); } ; but SignedIconst: Iconst { $$ = $1; } | '+' Iconst { $$ =+ $2; } | '-' Iconst { $$ = - $2; } ; The inconsistency here means that you can do, for example, regression=# set random_page_cost = +4; SET regression=# set random_page_cost = 4.2; SET but not regression=# set random_page_cost = +4.2; ERROR: syntax error at or near "4.2" LINE 1: set random_page_cost = +4.2; ^ That's weird enough in itself, and the problem is about to get more widespread because the partbound_datum production depends on NumericOnly. Any objections to allowing "+ FCONST" here? I'm inclined to fix this and back-patch it as well. regards, tom lane
В списке pgsql-hackers по дате отправления: