Commit 3c3d0bbd authored by monty@hundin.mysql.fi's avatar monty@hundin.mysql.fi
Browse files

Allow floats of type 1.0e1

parent 96aac3f0
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -46461,6 +46461,8 @@ not yet 100% confident in this code.
@appendixsubsec Changes in release 3.23.40
@itemize @bullet
@item
Fixed parser to allow floats of type @code{1.0e1} (no sign after @code{e}).
@item
Option @code{--force} to @code{myisamchk} now also updates states.
@item
Added option @code{--warnings} to @code{mysqld}. Now @code{mysqld}
+2 −1
Original line number Diff line number Diff line
@@ -3,7 +3,8 @@
# Numeric floating point.

SELECT 10,10.0,10.,.1e+2,100.0e-1;
select 6e-05, -6e-05, --6e-05, -6e-05+1.000000;
SELECT 6e-05, -6e-05, --6e-05, -6e-05+1.000000;
SELECT 1e1,1.e1,1.0e1,1e+1,1.e+1,1.0e+1,1e-1,1.e-1,1.0e-1;

drop table if exists t1;
create table t1 (f1 float(24),f2 float(52));
+3 −6
Original line number Diff line number Diff line
@@ -650,12 +650,9 @@ int yylex(void *arg)
      if (c == 'e' || c == 'E')
      {
	c = yyGet();
	if (c != '-' && c != '+' && !isdigit(c))
	{				// No exp sig found
	  state= STATE_CHAR;
	  break;
	}
	if (!isdigit(yyGet()))
	if (c == '-' || c == '+')
	  c = yyGet();			// Skipp sign
	if (!isdigit(c))
	{				// No digit after sign
	  state= STATE_CHAR;
	  break;