remove floats from bootstrap scanner/parser

Started by Alvaro Herreraabout 9 years ago2 messages
#1Alvaro Herrera
alvherre@2ndquadrant.com
1 attachment(s)

I happened to notice that we have dead code to parse floating point
numbers in the boostrap scanner/parser. This seems unused since forever
-- or, more precisely, I couldn't find any floats in 8.2's postgres.bki
(the oldest I have around). I would just rip it out, per the attached.

--
�lvaro Herrera

Attachments:

parseboot.patchtext/plain; charset=us-asciiDownload
diff --git a/src/backend/bootstrap/bootparse.y b/src/backend/bootstrap/bootparse.y
index d28af23..33d9f0b 100644
--- a/src/backend/bootstrap/bootparse.y
+++ b/src/backend/bootstrap/bootparse.y
@@ -105,11 +105,11 @@ static int num_columns_read = 0;
 
 %type <list>  boot_index_params
 %type <ielem> boot_index_param
-%type <str>   boot_const boot_ident
+%type <str>   boot_ident
 %type <ival>  optbootstrap optsharedrelation optwithoutoids boot_column_nullness
 %type <oidval> oidspec optoideq optrowtypeoid
 
-%token <str> CONST_P ID
+%token <str> ID
 %token OPEN XCLOSE XCREATE INSERT_TUPLE
 %token XDECLARE INDEX ON USING XBUILD INDICES UNIQUE XTOAST
 %token COMMA EQUALS LPAREN RPAREN
@@ -464,16 +464,10 @@ boot_column_val_list:
 boot_column_val:
 		  boot_ident
 			{ InsertOneValue($1, num_columns_read++); }
-		| boot_const
-			{ InsertOneValue($1, num_columns_read++); }
 		| NULLVAL
 			{ InsertOneNull(num_columns_read++); }
 		;
 
-boot_const :
-		  CONST_P { $$ = yylval.str; }
-		;
-
 boot_ident :
 		  ID	{ $$ = yylval.str; }
 		;
diff --git a/src/backend/bootstrap/bootscanner.l b/src/backend/bootstrap/bootscanner.l
index 9cfd19c..6467882 100644
--- a/src/backend/bootstrap/bootscanner.l
+++ b/src/backend/bootstrap/bootscanner.l
@@ -66,7 +66,6 @@ static int	yyline = 1;			/* line number for error reporting */
 
 D		[0-9]
 oct		\\{D}{D}{D}
-Exp		[Ee][-+]?{D}+
 id		([A-Za-z0-9_]|{oct}|\-)+
 sid		\"([^\"])*\"
 arrayid [A-Za-z0-9_]+\[{D}*\]
@@ -127,13 +126,6 @@ insert			{ return(INSERT_TUPLE); }
 					return(ID);
 				}
 
-(-)?{D}+"."{D}*({Exp})? |
-(-)?{D}*"."{D}+({Exp})? |
-(-)?{D}+{Exp}			{
-							yylval.str = pstrdup(yytext);
-							return(CONST_P);
-						}
-
 .				{
 					elog(ERROR, "syntax error at line %d: unexpected character \"%s\"", yyline, yytext);
 				}
#2Jim Nasby
Jim.Nasby@BlueTreble.com
In reply to: Alvaro Herrera (#1)
Re: remove floats from bootstrap scanner/parser

On 1/9/17 9:11 PM, Alvaro Herrera wrote:

I happened to notice that we have dead code to parse floating point
numbers in the boostrap scanner/parser. This seems unused since forever
-- or, more precisely, I couldn't find any floats in 8.2's postgres.bki
(the oldest I have around). I would just rip it out, per the attached.

Verified this works for make check. Looks sane to me.
--
Jim Nasby, Data Architect, Blue Treble Consulting, Austin TX
Experts in Analytics, Data Architecture and PostgreSQL
Data in Trouble? Get it in Treble! http://BlueTreble.com
855-TREBLE2 (855-873-2532)

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers