mirror of
https://github.com/MariaDB/server.git
synced 2025-01-18 13:02:28 +01:00
Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/usr/home/ram/work/5.0.b6961
This commit is contained in:
commit
7f4e45ef03
3 changed files with 18 additions and 9 deletions
|
@ -770,7 +770,7 @@ ERROR 22003: Out of range value adjusted for column 'col1' at row 1
|
||||||
INSERT INTO t1 VALUES ('-100E+1');
|
INSERT INTO t1 VALUES ('-100E+1');
|
||||||
ERROR 22003: Out of range value adjusted for column 'col1' at row 1
|
ERROR 22003: Out of range value adjusted for column 'col1' at row 1
|
||||||
INSERT INTO t1 VALUES ('-100E');
|
INSERT INTO t1 VALUES ('-100E');
|
||||||
ERROR 22003: Out of range value adjusted for column 'col1' at row 1
|
ERROR HY000: Incorrect decimal value: '-100E' for column 'col1' at row 1
|
||||||
UPDATE t1 SET col1 =col1 * 50000 WHERE col1 =11;
|
UPDATE t1 SET col1 =col1 * 50000 WHERE col1 =11;
|
||||||
ERROR 22003: Out of range value adjusted for column 'col1' at row 6
|
ERROR 22003: Out of range value adjusted for column 'col1' at row 6
|
||||||
UPDATE t1 SET col1 =col1 / 0 WHERE col1 > 0;
|
UPDATE t1 SET col1 =col1 / 0 WHERE col1 > 0;
|
||||||
|
@ -782,8 +782,7 @@ ERROR HY000: Incorrect decimal value: '' for column 'col1' at row 1
|
||||||
INSERT INTO t1 (col1) VALUES ('a59b');
|
INSERT INTO t1 (col1) VALUES ('a59b');
|
||||||
ERROR HY000: Incorrect decimal value: 'a59b' for column 'col1' at row 1
|
ERROR HY000: Incorrect decimal value: 'a59b' for column 'col1' at row 1
|
||||||
INSERT INTO t1 (col1) VALUES ('1a');
|
INSERT INTO t1 (col1) VALUES ('1a');
|
||||||
Warnings:
|
ERROR HY000: Incorrect decimal value: '1a' for column 'col1' at row 1
|
||||||
Note 1265 Data truncated for column 'col1' at row 1
|
|
||||||
INSERT IGNORE INTO t1 (col1) VALUES ('2a');
|
INSERT IGNORE INTO t1 (col1) VALUES ('2a');
|
||||||
Warnings:
|
Warnings:
|
||||||
Note 1265 Data truncated for column 'col1' at row 1
|
Note 1265 Data truncated for column 'col1' at row 1
|
||||||
|
@ -818,7 +817,6 @@ NULL
|
||||||
-10.56
|
-10.56
|
||||||
11.00
|
11.00
|
||||||
10.00
|
10.00
|
||||||
1.00
|
|
||||||
2.00
|
2.00
|
||||||
NULL
|
NULL
|
||||||
99.99
|
99.99
|
||||||
|
|
|
@ -740,7 +740,7 @@ INSERT INTO t1 VALUES ('-101.55');
|
||||||
INSERT INTO t1 VALUES ('-1010.55');
|
INSERT INTO t1 VALUES ('-1010.55');
|
||||||
--error 1264
|
--error 1264
|
||||||
INSERT INTO t1 VALUES ('-100E+1');
|
INSERT INTO t1 VALUES ('-100E+1');
|
||||||
--error 1264
|
--error 1366
|
||||||
INSERT INTO t1 VALUES ('-100E');
|
INSERT INTO t1 VALUES ('-100E');
|
||||||
--error 1264
|
--error 1264
|
||||||
UPDATE t1 SET col1 =col1 * 50000 WHERE col1 =11;
|
UPDATE t1 SET col1 =col1 * 50000 WHERE col1 =11;
|
||||||
|
@ -754,7 +754,7 @@ INSERT INTO t1 (col1) VALUES ('');
|
||||||
#--error 1265
|
#--error 1265
|
||||||
--error 1366
|
--error 1366
|
||||||
INSERT INTO t1 (col1) VALUES ('a59b');
|
INSERT INTO t1 (col1) VALUES ('a59b');
|
||||||
#--error 1265
|
--error 1366
|
||||||
INSERT INTO t1 (col1) VALUES ('1a');
|
INSERT INTO t1 (col1) VALUES ('1a');
|
||||||
INSERT IGNORE INTO t1 (col1) VALUES ('2a');
|
INSERT IGNORE INTO t1 (col1) VALUES ('2a');
|
||||||
INSERT IGNORE INTO t1 values (1/0);
|
INSERT IGNORE INTO t1 values (1/0);
|
||||||
|
|
17
sql/field.cc
17
sql/field.cc
|
@ -2365,9 +2365,20 @@ int Field_new_decimal::store(const char *from, uint length,
|
||||||
my_decimal decimal_value;
|
my_decimal decimal_value;
|
||||||
DBUG_ENTER("Field_new_decimal::store(char*)");
|
DBUG_ENTER("Field_new_decimal::store(char*)");
|
||||||
|
|
||||||
switch ((err= str2my_decimal(E_DEC_FATAL_ERROR &
|
if ((err= str2my_decimal(E_DEC_FATAL_ERROR &
|
||||||
~(E_DEC_OVERFLOW | E_DEC_BAD_NUM),
|
~(E_DEC_OVERFLOW | E_DEC_BAD_NUM),
|
||||||
from, length, charset, &decimal_value))) {
|
from, length, charset, &decimal_value)) &&
|
||||||
|
table->in_use->abort_on_warning)
|
||||||
|
{
|
||||||
|
push_warning_printf(table->in_use, MYSQL_ERROR::WARN_LEVEL_ERROR,
|
||||||
|
ER_TRUNCATED_WRONG_VALUE_FOR_FIELD,
|
||||||
|
ER(ER_TRUNCATED_WRONG_VALUE_FOR_FIELD),
|
||||||
|
"decimal", from, field_name,
|
||||||
|
(ulong) table->in_use->row_count);
|
||||||
|
DBUG_RETURN(err);
|
||||||
|
}
|
||||||
|
|
||||||
|
switch (err) {
|
||||||
case E_DEC_TRUNCATED:
|
case E_DEC_TRUNCATED:
|
||||||
set_warning(MYSQL_ERROR::WARN_LEVEL_NOTE, WARN_DATA_TRUNCATED, 1);
|
set_warning(MYSQL_ERROR::WARN_LEVEL_NOTE, WARN_DATA_TRUNCATED, 1);
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Reference in a new issue