Current Path : /usr/opt/mysql57/mysql-test/suite/ndb/r/ |
FreeBSD hs32.drive.ne.jp 9.1-RELEASE FreeBSD 9.1-RELEASE #1: Wed Jan 14 12:18:08 JST 2015 root@hs32.drive.ne.jp:/sys/amd64/compile/hs32 amd64 |
Current File : //usr/opt/mysql57/mysql-test/suite/ndb/r/ndb_blob_big.result |
Larger MaxAllowedPacket as this limits the size of Blob MySQLD can handle show variables like 'max_allowed_packet'; Variable_name Value max_allowed_packet 104857600 use test; create table t1 (a int primary key, b longtext) engine=ndb; create procedure heavy_insert(times int, bytes int) begin set @x = 0; repeat insert into t1 values (1, repeat('B', bytes)); delete from t1 where a=1; set @x = @x + 1; until @x = times end repeat; insert into t1 values (1, repeat('B', bytes)); end % create procedure heavy_read(times int) begin set @x = 0; repeat select a, length(b) from t1 where a=1; set @x = @x + 1; until @x = times end repeat; end % Set unlimited batch size for reads+writes set ndb_blob_read_batch_bytes = 0; set ndb_blob_write_batch_bytes = 0; Now try a heavy insert - idea is to show SendBufferMemory overload on insert call heavy_insert(20, 5*1024*1024); delete from t1; set ndb_blob_write_batch_bytes=100 * 1024; Now heavy insert should succeed call heavy_insert(10, 5*1024*1024); Now heavy read should fail call heavy_read(100); set ndb_blob_read_batch_bytes=100 * 1024; Now heavy read should succeed call heavy_read(100); set ndb_blob_write_batch_bytes=0; set ndb_blob_read_batch_bytes=0; drop procedure heavy_insert; drop procedure heavy_read; drop table t1;