polardbxengine/mysql-test/suite/innodb/t/log_buffer_size.test

78 lines
1.8 KiB
Plaintext

let buffer_size=`SELECT @@GLOBAL.innodb_log_buffer_size`;
--echo '#-----------------------------------------------------------#'
--echo 'Test what happens when the innodb_log_buffer_size is changed'
--echo ' in runtime (both decreased and increased).'
--disable_query_log
CREATE TABLE t (a INT NOT NULL PRIMARY KEY, b BLOB);
DELIMITER |;
CREATE PROCEDURE insert_rows()
BEGIN
DECLARE i INT DEFAULT 0;
DECLARE no INT DEFAULT 0;
SET no = (SELECT @conn_counter);
WHILE i < 99 DO
INSERT INTO t VALUES (no*100+i, REPEAT('.', 5000));
SET i = i + 1;
END WHILE;
END|
DELIMITER ;|
--enable_query_log
INSERT INTO t VALUES (1000, 'a');
SET GLOBAL innodb_log_buffer_size = 1024*1024;
SELECT @@innodb_log_buffer_size;
INSERT INTO t VALUES (2000, 'b');
SET GLOBAL innodb_log_buffer_size = 256*1024;
SELECT @@innodb_log_buffer_size;
INSERT INTO t VALUES (3000, 'c');
SET GLOBAL innodb_log_buffer_size = 2048*1024;
SELECT @@innodb_log_buffer_size;
INSERT INTO t VALUES (4000, 'd');
let $n = 9;
let $i = 0;
while ($n) {
connect(con$n, localhost, root,,);
eval SET @conn_counter = $n;
send CALL insert_rows();
inc $i;
dec $n;
}
let $n = 9;
let $i = 0;
while ($n) {
--connection con$n
--reap
--disconnect con$n
inc $i;
dec $n;
}
--connection default
SET GLOBAL innodb_log_buffer_size = 256*1024;
SELECT @@innodb_log_buffer_size;
SET GLOBAL innodb_log_buffer_size = 256*1024 + 1024;
SELECT @@innodb_log_buffer_size;
SET GLOBAL innodb_log_buffer_size = 4096*1024;
SELECT @@innodb_log_buffer_size;
SET GLOBAL innodb_log_buffer_size = 256*1024 + 1024;
SELECT @@innodb_log_buffer_size;
SET GLOBAL innodb_log_buffer_size = 256*1024;
SELECT @@innodb_log_buffer_size;
--disable_query_log
DROP TABLE t;
DROP PROCEDURE insert_rows;
--enable_query_log
eval SET @@GLOBAL.innodb_log_buffer_size=$buffer_size;
SELECT @@innodb_log_buffer_size;