# # Test bugs in the MyISAM code with blobs # --disable_warnings drop table if exists t1; --enable_warnings # Bug #2159 (Problem with update of blob to > 16M) CREATE TABLE t1 (data LONGBLOB) ENGINE=myisam; INSERT INTO t1 (data) VALUES (NULL); UPDATE t1 set data=repeat('a',18*1024*1024); select length(data) from t1; delete from t1 where left(data,1)='a'; check table t1; truncate table t1; INSERT INTO t1 (data) VALUES (repeat('a',1*1024*1024)); INSERT INTO t1 (data) VALUES (repeat('b',16*1024*1024-1024)); delete from t1 where left(data,1)='b'; check table t1; # now we have two blocks in the table, first is a 1M record and second is # a 16M delete block. UPDATE t1 set data=repeat('c',17*1024*1024); check table t1; delete from t1 where left(data,1)='c'; check table t1; INSERT INTO t1 set data=repeat('a',18*1024*1024); select length(data) from t1; SET STATEMENT sql_mode = 'NO_ENGINE_SUBSTITUTION' FOR alter table t1 modify data blob; select length(data) from t1; drop table t1; CREATE TABLE t1 (data BLOB) ENGINE=myisam; INSERT INTO t1 (data) VALUES (NULL); UPDATE IGNORE t1 set data=repeat('a',18*1024*1024); select length(data) from t1; drop table t1; # End of 4.1 tests