mirror of
				https://github.com/MariaDB/server.git
				synced 2025-11-04 04:46:15 +01: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.
		
			
				
	
	
		
			151 lines
		
	
	
	
		
			4 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			151 lines
		
	
	
	
		
			4 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
--source include/not_embedded.inc
 | 
						|
--source include/have_pool_of_threads.inc
 | 
						|
 | 
						|
if (!$SERVER_AUDIT_SO) {
 | 
						|
  skip No SERVER_AUDIT plugin;
 | 
						|
}
 | 
						|
 | 
						|
install plugin server_audit soname 'server_audit';
 | 
						|
 | 
						|
--disable_ps2_protocol
 | 
						|
show variables like 'server_audit%';
 | 
						|
set global server_audit_file_path=null;
 | 
						|
set global server_audit_incl_users=null;
 | 
						|
set global server_audit_file_path='server_audit.log';
 | 
						|
set global server_audit_output_type=file;
 | 
						|
set global server_audit_logging=on;
 | 
						|
--sleep 2
 | 
						|
connect (con1,localhost,root,,mysql);
 | 
						|
connection default;
 | 
						|
disconnect con1;
 | 
						|
--sleep 2
 | 
						|
--sleep 2
 | 
						|
--replace_result $MASTER_MYSOCK MASTER_SOCKET $MASTER_MYPORT MASTER_PORT
 | 
						|
--error ER_ACCESS_DENIED_ERROR
 | 
						|
connect (con1,localhost,no_such_user,,mysql);
 | 
						|
connection default;
 | 
						|
--sleep 2
 | 
						|
set global server_audit_incl_users='odin, dva, tri';
 | 
						|
create table t1 (id int);
 | 
						|
set global server_audit_incl_users='odin, root, dva, tri';
 | 
						|
create table t2 (id int);
 | 
						|
set global server_audit_excl_users='odin, dva, tri';
 | 
						|
insert into t1 values (1), (2);
 | 
						|
select * from t1;
 | 
						|
set global server_audit_incl_users='odin, root, dva, tri';
 | 
						|
insert into t2 values (1), (2);
 | 
						|
select * from t2;
 | 
						|
alter table t1 rename renamed_t1;
 | 
						|
set global server_audit_events='connect,query';
 | 
						|
select 1,
 | 
						|
        2,
 | 
						|
# comment
 | 
						|
        3;
 | 
						|
insert into t2 values (1), (2);
 | 
						|
select * from t2;
 | 
						|
--disable_ps_protocol
 | 
						|
--error ER_NO_SUCH_TABLE
 | 
						|
select * from t_doesnt_exist;
 | 
						|
--enable_ps_protocol
 | 
						|
--error 1064
 | 
						|
syntax_error_query;
 | 
						|
drop table renamed_t1, t2;
 | 
						|
show variables like 'server_audit%';
 | 
						|
set global server_audit_mode=1;
 | 
						|
set global server_audit_events='';
 | 
						|
create database sa_db;
 | 
						|
--sleep 2
 | 
						|
connect (con1,localhost,root,,test);
 | 
						|
connection con1;
 | 
						|
--sleep 2
 | 
						|
--sleep 2
 | 
						|
create table t1 (id2 int);
 | 
						|
insert into t1 values (1), (2);
 | 
						|
select * from t1;
 | 
						|
drop table t1;
 | 
						|
use sa_db;
 | 
						|
create table sa_t1(id int);
 | 
						|
insert into sa_t1 values (1), (2);
 | 
						|
drop table sa_t1;
 | 
						|
drop database sa_db;
 | 
						|
connection default;
 | 
						|
disconnect con1;
 | 
						|
--sleep 2
 | 
						|
--sleep 2
 | 
						|
create database sa_db;
 | 
						|
use sa_db;
 | 
						|
CREATE USER u1 IDENTIFIED BY 'pwd-123';
 | 
						|
GRANT ALL ON sa_db TO u2 IDENTIFIED BY "pwd-321";
 | 
						|
SET PASSWORD FOR u1 = PASSWORD('pwd 098');
 | 
						|
CREATE USER u3 IDENTIFIED BY '';
 | 
						|
drop user u1, u2, u3;
 | 
						|
 | 
						|
set global server_audit_events='query_ddl';
 | 
						|
create table t1(id int);
 | 
						|
insert into t1 values (1), (2);
 | 
						|
select * from t1;
 | 
						|
select 2;
 | 
						|
(select 2);
 | 
						|
/*! select 2*/;
 | 
						|
/*comment*/ select 2;
 | 
						|
drop table t1;
 | 
						|
set global server_audit_events='query_ddl,query_dml';
 | 
						|
create table t1(id int);
 | 
						|
insert into t1 values (1), (2);
 | 
						|
select * from t1;
 | 
						|
select 2;
 | 
						|
drop table t1;
 | 
						|
set global server_audit_events='query_dml';
 | 
						|
create table t1(id int);
 | 
						|
insert into t1 values (1), (2);
 | 
						|
select * from t1;
 | 
						|
select 2;
 | 
						|
(select 2);
 | 
						|
/*! select 2*/;
 | 
						|
/*comment*/ select 2;
 | 
						|
drop table t1;
 | 
						|
set global server_audit_events='query_dcl';
 | 
						|
create table t1(id int);
 | 
						|
insert into t1 values (1), (2);
 | 
						|
select * from t1;
 | 
						|
CREATE USER u1 IDENTIFIED BY 'pwd-123';
 | 
						|
GRANT ALL ON sa_db TO u2 IDENTIFIED BY "pwd-321";
 | 
						|
SET PASSWORD
 | 
						|
# comment
 | 
						|
FOR u1 = PASSWORD('pwd 098');
 | 
						|
--error 1064
 | 
						|
SET PASSWORD FOR u1=<secret>;
 | 
						|
CREATE USER u3 IDENTIFIED BY '';
 | 
						|
drop user u1, u2, u3;
 | 
						|
select 2;
 | 
						|
(select 2);
 | 
						|
/*! select 2*/;
 | 
						|
/*comment*/ select 2;
 | 
						|
drop table t1;
 | 
						|
set global server_audit_events='';
 | 
						|
 | 
						|
set global server_audit_query_log_limit= 15;
 | 
						|
select (1), (2), (3), (4);
 | 
						|
select 'A', 'B', 'C', 'D';
 | 
						|
set global server_audit_query_log_limit= 1024;
 | 
						|
drop database sa_db;
 | 
						|
 | 
						|
set global server_audit_file_path='.';
 | 
						|
--replace_regex /\.[\\\/]/HOME_DIR\//
 | 
						|
show status like 'server_audit_current_log';
 | 
						|
set global server_audit_file_path='';
 | 
						|
show status like 'server_audit_current_log';
 | 
						|
set global server_audit_file_path='  ';
 | 
						|
show status like 'server_audit_current_log';
 | 
						|
set global server_audit_file_path='nonexisting_dir/';
 | 
						|
show status like 'server_audit_current_log';
 | 
						|
show variables like 'server_audit%';
 | 
						|
uninstall plugin server_audit;
 | 
						|
--enable_ps2_protocol
 | 
						|
 | 
						|
let $MYSQLD_DATADIR= `SELECT @@datadir`;
 | 
						|
# replace the timestamp and the hostname with constant values
 | 
						|
--replace_regex /[0-9]* [0-9][0-9]:[0-9][0-9]:[0-9][0-9]\,[^,]*\,/TIME,HOSTNAME,/ /\,[1-9][0-9]*\,/,1,/ /\,[1-9][0-9]*/,ID/
 | 
						|
cat_file $MYSQLD_DATADIR/server_audit.log;
 | 
						|
remove_file $MYSQLD_DATADIR/server_audit.log;
 | 
						|
 |