1source include/have_tokudb.inc; 2# test that varchar expansion is done inplace while varchar shrinkage is not 3 4--disable_warnings 5DROP TABLE IF EXISTS t; 6--enable_warnings 7 8SET SESSION TOKUDB_DISABLE_SLOW_ALTER=ON; 9 10CREATE TABLE t (a VARCHAR(1)) ENGINE=TokuDB; 11SHOW CREATE TABLE t; 12INSERT INTO t VALUES (null); 13 14# 1->1 15let $i=1 16EVAL ALTER TABLE t CHANGE COLUMN a a VARCHAR($i); 17 18# 1->2 ... 1023->1024 is supported 19# 1024 is an arbitrary limit >= 256 20let $i=2; 21while ($i <= 1024) 22{ 23 # $i-1 -> $i 24 EVAL ALTER TABLE t CHANGE COLUMN a a VARCHAR($i); 25 # $i -> $i 26 EVAL ALTER TABLE t CHANGE COLUMN a a VARCHAR($i); 27 inc $i; 28} 29 30# shrink from 1024->$i where $i < 1024 is not supported 31let $i=1023; 32while ($i > 0) 33{ 34 --replace_regex /MariaDB/XYZ/ /MySQL/XYZ/ 35 --error ER_UNSUPPORTED_EXTENSION 36 EVAL ALTER TABLE t CHANGE COLUMN a a VARCHAR($i); 37 dec $i; 38} 39 40DROP TABLE t; 41 42 43 44 45 46