diff options
Diffstat (limited to 'mysql-test')
-rw-r--r-- | mysql-test/r/dyncol.result | 10 | ||||
-rw-r--r-- | mysql-test/t/dyncol.test | 11 |
2 files changed, 21 insertions, 0 deletions
diff --git a/mysql-test/r/dyncol.result b/mysql-test/r/dyncol.result index 8b14884fec0..ab23992fe10 100644 --- a/mysql-test/r/dyncol.result +++ b/mysql-test/r/dyncol.result @@ -1741,3 +1741,13 @@ select hex(column_create(1, "2012-12-21 10:46:06" AS datetime)) as hex, column_json(column_create(1, "2012-12-21 10:46:06" AS datetime)) as json; hex json 00010001000595B90F000060B80A00 {"1":"2012-12-21 10:46:06"} +# +# MDEV-4849: Out of memory error and valgrind warnings on COLUMN_ADD +# +CREATE TABLE t1 (dyncol tinyblob) ENGINE=MyISAM; +INSERT INTO t1 SET dyncol = COLUMN_CREATE( 3, REPEAT('a',330), 4, 'x' ); +Warnings: +Warning 1265 Data truncated for column 'dyncol' at row 1 +SELECT COLUMN_ADD( COLUMN_ADD( dyncol, 1, REPEAT('b',130) ), 3, 'y' ) FROM t1; +ERROR HY000: Encountered illegal format of dynamic column string +DROP TABLE t1; diff --git a/mysql-test/t/dyncol.test b/mysql-test/t/dyncol.test index 476798a6c7f..6bc0938afc5 100644 --- a/mysql-test/t/dyncol.test +++ b/mysql-test/t/dyncol.test @@ -801,3 +801,14 @@ select hex(column_create("t", "2012-12-21 10:46:06" AS datetime)) as hex, column_json(column_create("t", "2012-12-21 10:46:06" AS datetime)) as json; select hex(column_create(1, "2012-12-21 10:46:06" AS datetime)) as hex, column_json(column_create(1, "2012-12-21 10:46:06" AS datetime)) as json; + +--echo # +--echo # MDEV-4849: Out of memory error and valgrind warnings on COLUMN_ADD +--echo # +CREATE TABLE t1 (dyncol tinyblob) ENGINE=MyISAM; + +INSERT INTO t1 SET dyncol = COLUMN_CREATE( 3, REPEAT('a',330), 4, 'x' ); +--error ER_DYN_COL_WRONG_FORMAT +SELECT COLUMN_ADD( COLUMN_ADD( dyncol, 1, REPEAT('b',130) ), 3, 'y' ) FROM t1; + +DROP TABLE t1; |