Commit a1443a7e authored by peter@mysql.com's avatar peter@mysql.com

Allow storing "+456" then decimal declared unsigned

parent 28142456
......@@ -199,15 +199,15 @@ select * from t1;
a
0.00
0.00
0.00
01.00
+0.00
01.00
+01.00
0.00
0.00
+0.10
0.10
0.10
00000001.00
00000001.00
+0000001.00
0.00
99999999.99
99999999.99
......@@ -316,9 +316,9 @@ select * from t1;
a
0
0
1
+1
01
0000000001
+000000001
1234567890
9999999999
drop table t1;
......
......@@ -431,8 +431,9 @@ void Field_decimal::store(const char *from,uint len)
{
sign_char= *from++;
/*
Unsigned can't have any flag. So we'll just drop "+"
and will overflow on "-"
We allow "+" for unsigned decimal unless defined different
Both options allowed as one may wish not to have "+" for unsigned numbers
because of data processing issues
*/
if (unsigned_flag)
{
......@@ -441,8 +442,14 @@ void Field_decimal::store(const char *from,uint len)
Field_decimal::overflow(1);
return;
}
/*
Defining this will not store "+" for unsigned decimal type even if
it is passed in numeric string. This will make some tests to fail
*/
#ifdef DONT_ALLOW_UNSIGNED_PLUS
else
sign_char=0;
#endif
}
}
......
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