mirror of
https://github.com/MariaDB/server.git
synced 2025-07-21 21:22:27 +03:00
This patch adds for "--ps-protocol" second execution of queries "SELECT". Also in this patch it is added ability to disable/enable (--disable_ps2_protocol/--enable_ps2_protocol) second execution for "--ps-prototocol" in testcases.
68 lines
1.8 KiB
Plaintext
68 lines
1.8 KiB
Plaintext
SET @old_log_output= @@global.log_output;
|
|
SET @old_log_disable_statements= @@global.log_disabled_statements;
|
|
|
|
|
|
CREATE TABLE t1 (i INT PRIMARY KEY AUTO_INCREMENT, j VARCHAR(255) ) ENGINE=MyISAM;
|
|
insert into t1 (j) values ('a'),('b'),('c'),('d');
|
|
|
|
# enable slow logging to table
|
|
SET GLOBAL log_output = 'file,table';
|
|
|
|
DELIMITER $;
|
|
CREATE PROCEDURE slow()
|
|
BEGIN
|
|
SELECT count(if(sleep(1) >= 0,0,NULL)) from t1 where j>'b';
|
|
SELECT count(*) from t1 where j>'a';
|
|
END
|
|
$
|
|
|
|
DELIMITER ;$
|
|
|
|
select @@log_disabled_statements;
|
|
TRUNCATE TABLE mysql.general_log;
|
|
check table t1;
|
|
CALL slow();
|
|
--disable_ps2_protocol
|
|
SELECT count(if(sleep(1) >= 0,0,NULL)) from t1 where j>'b and part2';
|
|
--enable_ps2_protocol
|
|
|
|
--echo -->
|
|
SELECT argument FROM mysql.general_log where command_type <> "Close stmt" and command_type <> "Prepare" and argument not like "%general_log%";
|
|
--echo <--
|
|
|
|
TRUNCATE TABLE mysql.general_log;
|
|
SET SESSION log_disabled_statements="";
|
|
check table t1;
|
|
CALL slow();
|
|
--disable_ps2_protocol
|
|
SELECT count(if(sleep(1) >= 0,0,NULL)) from t1 where j>'b and part3';
|
|
--enable_ps2_protocol
|
|
|
|
--echo -->
|
|
SELECT argument FROM mysql.general_log where command_type <> "Close stmt" and command_type <> "Prepare" and argument not like "%general_log%";
|
|
--echo <--
|
|
|
|
TRUNCATE TABLE mysql.general_log;
|
|
SET SESSION log_disabled_statements="sp,slave";
|
|
check table t1;
|
|
CALL slow();
|
|
--disable_ps2_protocol
|
|
SELECT count(if(sleep(1) >= 0,0,NULL)) from t1 where j>'b and part4';
|
|
--enable_ps2_protocol
|
|
|
|
--echo -->
|
|
SELECT argument FROM mysql.general_log where command_type <> "Close stmt" and command_type <> "Prepare" and argument not like "%general_log%";
|
|
--echo <--
|
|
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE slow;
|
|
|
|
#
|
|
# Restore setup
|
|
#
|
|
TRUNCATE TABLE mysql.general_log;
|
|
SET @@global.log_output= @old_log_output;
|
|
SET @@global.log_disabled_statements= @old_log_disable_statements;
|
|
|
|
|