mirror of
https://github.com/MariaDB/server.git
synced 2025-12-24 11:21:21 +03:00
Fixed table crash bug when updating row > 16M (Bug #2159)
This commit is contained in:
30
mysql-test/t/myisam-blob.test
Normal file
30
mysql-test/t/myisam-blob.test
Normal file
@@ -0,0 +1,30 @@
|
||||
#
|
||||
# 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;
|
||||
drop table t1;
|
||||
Reference in New Issue
Block a user