diff options
author | Jorgen Loland <jorgen.loland@oracle.com> | 2010-11-04 09:36:04 +0100 |
---|---|---|
committer | Jorgen Loland <jorgen.loland@oracle.com> | 2010-11-04 09:36:04 +0100 |
commit | 64bee6fdc5a16bacc6e290e586038ac338b1ed69 (patch) | |
tree | 82d120ad595335e6108efe883b89654c63e3eda7 /mysql-test/t/errors.test | |
parent | 6429e7d36b7c608392fb5e94f14b092addde3eda (diff) | |
download | mariadb-git-64bee6fdc5a16bacc6e290e586038ac338b1ed69.tar.gz |
Bug#57882 - Item_func_conv_charset::val_str(String*):
Assertion `fixed == 1' failed
(also fixes duplicate bug 57515)
agg_item_set_converter() (item.cc) handles conversion of
character sets by creating a new Item. fix_fields() is then
called on this newly created item. Prior to this patch, it was
not checked whether fix_fields() was successful or not. Thus,
agg_item_set_converter() would return success even when an
error occured. This patch makes it return error (TRUE) if
fix_fields() fails.
mysql-test/r/errors.result:
Add test for BUG#57882
mysql-test/t/errors.test:
Add test for BUG#57882
sql/item.cc:
Make agg_item_set_converter() return with error if fix_fields()
on the newly created converted item fails.
Diffstat (limited to 'mysql-test/t/errors.test')
-rw-r--r-- | mysql-test/t/errors.test | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/mysql-test/t/errors.test b/mysql-test/t/errors.test index f308c340645..8de5889f1c6 100644 --- a/mysql-test/t/errors.test +++ b/mysql-test/t/errors.test @@ -155,3 +155,19 @@ INSERT INTO t1 VALUES ('abc\0\0'); --error ER_DUP_ENTRY INSERT INTO t1 VALUES ('abc\0\0'); DROP TABLE t1; + +--echo # +--echo # Bug#57882: Item_func_conv_charset::val_str(String*): +--echo # Assertion `fixed == 1' failed +--echo # + +--error ER_DATA_OUT_OF_RANGE +SELECT (CONVERT('0' USING latin1) IN (CHAR(COT('v') USING utf8),'')); + +SET NAMES utf8 COLLATE utf8_latvian_ci ; +--error ER_DATA_OUT_OF_RANGE +SELECT UPDATEXML(-73 * -2465717823867977728,@@global.slave_net_timeout,null); + +--echo # +--echo # End Bug#57882 +--echo # |