8000 Allow NumericOnly to be "+ FCONST". · dinesh372/postgres@096221e · GitHub
[go: up one dir, main page]

Skip to content

Commit 096221e

Browse files
committed
Allow NumericOnly to be "+ FCONST".
The NumericOnly grammar production accepted ICONST, + ICONST, - ICONST, FCONST, and - FCONST, but for some reason not + FCONST. This led to strange inconsistencies like regression=# set random_page_cost = +4; SET regression=# set random_page_cost = 4000000000; SET regression=# set random_page_cost = +4000000000; ERROR: syntax error at or near "4000000000" (because 4000000000 is too large to be an ICONST). While there's no actual functional reason to need to write a "+", if we allow it for integers it seems like we should allow it for numerics too. It's been like that forever, so back-patch to all supported branches. Discussion: https://postgr.es/m/30908.1496006184@sss.pgh.pa.us
1 parent 9ded517 commit 096221e

File tree

1 file changed

+1
-0
lines changed

1 file changed

+1
-0
lines changed

src/backend/parser/gram.y

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3670,6 +3670,7 @@ opt_by: BY {}
36703670

36713671
NumericOnly:
36723672
FCONST { $$ = makeFloat($1); }
3673+
| '+' FCONST { $$ = makeFloat($2); }
36733674
| '-' FCONST
36743675
{
36753676
$$ = makeFloat($2);

0 commit comments

Comments
 (0)
0