Commit 7f4e45ef authored by unknown's avatar unknown

Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-5.0

into mysql.com:/usr/home/ram/work/5.0.b6961

parents c4840884 dba09923
...@@ -770,7 +770,7 @@ ERROR 22003: Out of range value adjusted for column 'col1' at row 1 ...@@ -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 ...@@ -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 ...@@ -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'); ...@@ -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 (''); ...@@ -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);
......
...@@ -2365,9 +2365,20 @@ int Field_new_decimal::store(const char *from, uint length, ...@@ -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;
......
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