Commit 9665a34a authored by unknown's avatar unknown

Allow floats of type 1.0e1

parent 93edcc74
...@@ -46461,6 +46461,8 @@ not yet 100% confident in this code. ...@@ -46461,6 +46461,8 @@ not yet 100% confident in this code.
@appendixsubsec Changes in release 3.23.40 @appendixsubsec Changes in release 3.23.40
@itemize @bullet @itemize @bullet
@item @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. Option @code{--force} to @code{myisamchk} now also updates states.
@item @item
Added option @code{--warnings} to @code{mysqld}. Now @code{mysqld} Added option @code{--warnings} to @code{mysqld}. Now @code{mysqld}
...@@ -3,7 +3,8 @@ ...@@ -3,7 +3,8 @@
# Numeric floating point. # Numeric floating point.
SELECT 10,10.0,10.,.1e+2,100.0e-1; 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; drop table if exists t1;
create table t1 (f1 float(24),f2 float(52)); create table t1 (f1 float(24),f2 float(52));
......
...@@ -650,12 +650,9 @@ int yylex(void *arg) ...@@ -650,12 +650,9 @@ int yylex(void *arg)
if (c == 'e' || c == 'E') if (c == 'e' || c == 'E')
{ {
c = yyGet(); c = yyGet();
if (c != '-' && c != '+' && !isdigit(c)) if (c == '-' || c == '+')
{ // No exp sig found c = yyGet(); // Skipp sign
state= STATE_CHAR; if (!isdigit(c))
break;
}
if (!isdigit(yyGet()))
{ // No digit after sign { // No digit after sign
state= STATE_CHAR; state= STATE_CHAR;
break; break;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment