MINI MINI MANI MO
--source include/have_null_audit_plugin.inc
--source include/not_embedded.inc
--source include/no_protocol.inc
call mtr.add_suppression("Event 'MYSQL_AUDIT_GENERAL_ERROR' cannot be aborted.");
--replace_regex /\.dll/.so/
eval INSTALL PLUGIN null_audit SONAME '$AUDIT_NULL';
--echo #############
--echo ## PREPARE ##
--echo #############
SET @@null_audit_event_order_check = 'MYSQL_AUDIT_COMMAND_START;command_id="3";;'
'MYSQL_AUDIT_PARSE_PREPARSE;;;'
'MYSQL_AUDIT_PARSE_POSTPARSE;;;'
'MYSQL_AUDIT_GENERAL_LOG;;;'
'MYSQL_AUDIT_QUERY_START;sql_command_id="99";;'
'MYSQL_AUDIT_PARSE_PREPARSE;;;'
'MYSQL_AUDIT_PARSE_POSTPARSE;;;'
'MYSQL_AUDIT_GENERAL_ERROR;;ABORT_RET';
--error ER_NO_SUCH_TABLE
PREPARE stmt FROM 'SELECT * FROM mysql.non_existing_table';
SELECT @@null_audit_event_order_check;
--echo #############
--echo ## EXECUTE ##
--echo #############
CREATE TABLE test.test_table(a INT);
PREPARE stmt FROM 'SELECT * FROM test.test_table';
DROP TABLE test.test_table;
SET @@null_audit_event_order_check = 'MYSQL_AUDIT_COMMAND_START;command_id="3";;'
'MYSQL_AUDIT_PARSE_PREPARSE;;;'
'MYSQL_AUDIT_PARSE_POSTPARSE;;;'
'MYSQL_AUDIT_GENERAL_LOG;;;'
'MYSQL_AUDIT_QUERY_START;sql_command_id="100";;'
'MYSQL_AUDIT_GENERAL_LOG;;;'
'MYSQL_AUDIT_QUERY_START;sql_command_id="0";;'
'MYSQL_AUDIT_GENERAL_ERROR;;ABORT_RET';
--error ER_NO_SUCH_TABLE
EXECUTE stmt;
SELECT @@null_audit_event_order_check;
DROP PREPARE stmt;
--echo #######################################
--echo ## ABORT GENERAL LOG WITH MY_MESSAGE ##
--echo #######################################
SET @@null_audit_abort_message = "Abort with my_message.";
SET @@null_audit_event_order_check = 'MYSQL_AUDIT_COMMAND_START;command_id="3";;'
'MYSQL_AUDIT_PARSE_PREPARSE;;;'
'MYSQL_AUDIT_PARSE_POSTPARSE;;;'
'MYSQL_AUDIT_GENERAL_LOG;;;'
'MYSQL_AUDIT_QUERY_START;sql_command_id="99";;'
'MYSQL_AUDIT_PARSE_PREPARSE;;;'
'MYSQL_AUDIT_PARSE_POSTPARSE;;;'
'MYSQL_AUDIT_GENERAL_ERROR;;ABORT_RET';
--error ER_NO_SUCH_TABLE
PREPARE stmt FROM 'SELECT * FROM mysql.non_existing_table';
SELECT @@null_audit_event_order_check;
CREATE TABLE test.test_table(a INT);
PREPARE stmt FROM 'SELECT * FROM test.test_table';
DROP TABLE test.test_table;
SET @@null_audit_abort_message = "Abort with my_message.";
SET @@null_audit_event_order_check = 'MYSQL_AUDIT_COMMAND_START;command_id="3";;'
'MYSQL_AUDIT_PARSE_PREPARSE;;;'
'MYSQL_AUDIT_PARSE_POSTPARSE;;;'
'MYSQL_AUDIT_GENERAL_LOG;;;'
'MYSQL_AUDIT_QUERY_START;sql_command_id="100";;'
'MYSQL_AUDIT_GENERAL_LOG;;;'
'MYSQL_AUDIT_QUERY_START;sql_command_id="0";;'
'MYSQL_AUDIT_GENERAL_ERROR;;ABORT_RET';
--error ER_NO_SUCH_TABLE
EXECUTE stmt;
SELECT @@null_audit_event_order_check;
DROP PREPARE stmt;
UNINSTALL PLUGIN null_audit;
OHA YOOOO