mirror of
https://github.com/MariaDB/server.git
synced 2025-01-18 04:53:01 +01:00
Fix for bug #9894 (Negative numbers are allowed to 'unsigned' column)
This commit is contained in:
parent
79b82323e3
commit
935b5ec4b4
4 changed files with 22 additions and 8 deletions
|
@ -414,8 +414,8 @@ Warning 1264 Out of range value adjusted for column 'a' at row 2
|
|||
Warning 1264 Out of range value adjusted for column 'a' at row 7
|
||||
select * from t1;
|
||||
a
|
||||
9999999999
|
||||
9999999999
|
||||
0
|
||||
0
|
||||
1
|
||||
1
|
||||
1
|
||||
|
@ -430,8 +430,8 @@ Warning 1264 Out of range value adjusted for column 'a' at row 2
|
|||
Warning 1264 Out of range value adjusted for column 'a' at row 7
|
||||
select * from t1;
|
||||
a
|
||||
9999999999
|
||||
9999999999
|
||||
0000000000
|
||||
0000000000
|
||||
0000000001
|
||||
0000000001
|
||||
0000000001
|
||||
|
@ -446,8 +446,8 @@ Warning 1264 Out of range value adjusted for column 'a' at row 2
|
|||
Warning 1264 Out of range value adjusted for column 'a' at row 7
|
||||
select * from t1;
|
||||
a
|
||||
9999999999
|
||||
9999999999
|
||||
0000000000
|
||||
0000000000
|
||||
0000000001
|
||||
0000000001
|
||||
0000000001
|
||||
|
|
|
@ -119,7 +119,7 @@ a
|
|||
99.99
|
||||
99.99
|
||||
99.99
|
||||
99.99
|
||||
0.00
|
||||
0.00
|
||||
0.00
|
||||
0.00
|
||||
|
@ -891,3 +891,8 @@ NULL
|
|||
select abs(NULL);
|
||||
abs(NULL)
|
||||
NULL
|
||||
set @@sql_mode='traditional';
|
||||
create table t1( d1 decimal(18) unsigned, d2 decimal(20) unsigned, d3 decimal (22) unsigned);
|
||||
insert into t1 values(1,-1,-1);
|
||||
ERROR 22003: Out of range value adjusted for column 'd2' at row 1
|
||||
drop table t1;
|
||||
|
|
|
@ -925,3 +925,12 @@ DROP TABLE t1;
|
|||
|
||||
select abs(10/0);
|
||||
select abs(NULL);
|
||||
|
||||
#
|
||||
# Bug #9894 (negative to unsigned column)
|
||||
#
|
||||
set @@sql_mode='traditional';
|
||||
create table t1( d1 decimal(18) unsigned, d2 decimal(20) unsigned, d3 decimal (22) unsigned);
|
||||
--error 1264
|
||||
insert into t1 values(1,-1,-1);
|
||||
drop table t1;
|
||||
|
|
|
@ -2446,7 +2446,7 @@ int Field_new_decimal::store(longlong nr)
|
|||
int err;
|
||||
|
||||
if ((err= int2my_decimal(E_DEC_FATAL_ERROR & ~E_DEC_OVERFLOW,
|
||||
nr, unsigned_flag, &decimal_value)))
|
||||
nr, false, &decimal_value)))
|
||||
{
|
||||
if (check_overflow(err))
|
||||
set_value_on_overflow(&decimal_value, decimal_value.sign());
|
||||
|
|
Loading…
Reference in a new issue