337 lines
		
	
	
		
			8.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
		
		
			
		
	
	
			337 lines
		
	
	
		
			8.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
| 
								 | 
							
								# WL #3031 This test tests the new servers table as well as
							 | 
						||
| 
								 | 
							
								# if federated can utilise the servers table
							 | 
						||
| 
								 | 
							
								-- source suite/federated/include/federated.inc
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								connection slave;
							 | 
						||
| 
								 | 
							
								create database first_db;
							 | 
						||
| 
								 | 
							
								create database second_db;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								use first_db;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								DROP TABLE IF EXISTS first_db.t1;
							 | 
						||
| 
								 | 
							
								CREATE TABLE first_db.t1 (
							 | 
						||
| 
								 | 
							
								    `id` int(20) NOT NULL,
							 | 
						||
| 
								 | 
							
								    `name` varchar(64) NOT NULL default ''
							 | 
						||
| 
								 | 
							
								    )
							 | 
						||
| 
								 | 
							
								  DEFAULT CHARSET=latin1;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								DROP TABLE IF EXISTS first_db.t2;
							 | 
						||
| 
								 | 
							
								CREATE TABLE first_db.t2 (
							 | 
						||
| 
								 | 
							
								    `id` int(20) NOT NULL,
							 | 
						||
| 
								 | 
							
								    `name` varchar(64) NOT NULL default ''
							 | 
						||
| 
								 | 
							
								    )
							 | 
						||
| 
								 | 
							
								  DEFAULT CHARSET=latin1;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								use second_db;
							 | 
						||
| 
								 | 
							
								DROP TABLE IF EXISTS second_db.t1;
							 | 
						||
| 
								 | 
							
								CREATE TABLE second_db.t1 (
							 | 
						||
| 
								 | 
							
								    `id` int(20) NOT NULL,
							 | 
						||
| 
								 | 
							
								    `name` varchar(64) NOT NULL default ''
							 | 
						||
| 
								 | 
							
								    )
							 | 
						||
| 
								 | 
							
								  DEFAULT CHARSET=latin1;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								DROP TABLE IF EXISTS second_db.t2;
							 | 
						||
| 
								 | 
							
								CREATE TABLE second_db.t2 (
							 | 
						||
| 
								 | 
							
								    `id` int(20) NOT NULL,
							 | 
						||
| 
								 | 
							
								    `name` varchar(64) NOT NULL default ''
							 | 
						||
| 
								 | 
							
								    )
							 | 
						||
| 
								 | 
							
								  DEFAULT CHARSET=latin1;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								connection master;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								drop server if exists 'server_one';
							 | 
						||
| 
								 | 
							
								--replace_result $SLAVE_MYPORT SLAVE_PORT
							 | 
						||
| 
								 | 
							
								eval create server 'server_one' foreign data wrapper 'mysql' options
							 | 
						||
| 
								 | 
							
								  (HOST '127.0.0.1',
							 | 
						||
| 
								 | 
							
								  DATABASE 'first_db',
							 | 
						||
| 
								 | 
							
								  USER 'root',
							 | 
						||
| 
								 | 
							
								  PASSWORD '',
							 | 
						||
| 
								 | 
							
								  PORT $SLAVE_MYPORT,
							 | 
						||
| 
								 | 
							
								  SOCKET '',
							 | 
						||
| 
								 | 
							
								  OWNER 'root');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								drop server if exists 'server_two';
							 | 
						||
| 
								 | 
							
								--replace_result $SLAVE_MYPORT SLAVE_PORT
							 | 
						||
| 
								 | 
							
								eval create server 'server_two' foreign data wrapper 'mysql' options
							 | 
						||
| 
								 | 
							
								  (HOST '127.0.0.1',
							 | 
						||
| 
								 | 
							
								  DATABASE 'second_db',
							 | 
						||
| 
								 | 
							
								  USER 'root',
							 | 
						||
| 
								 | 
							
								  PASSWORD '',
							 | 
						||
| 
								 | 
							
								  PORT $SLAVE_MYPORT,
							 | 
						||
| 
								 | 
							
								  SOCKET '',
							 | 
						||
| 
								 | 
							
								  OWNER 'root');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								--replace_result $SLAVE_MYPORT SLAVE_PORT
							 | 
						||
| 
								 | 
							
								# Adding 'order by' clause here, in order to maintain consistent result out of the select query. 
							 | 
						||
| 
								 | 
							
								#eval select * from mysql.servers;
							 | 
						||
| 
								 | 
							
								eval select * from mysql.servers order by Server_name;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								DROP TABLE IF EXISTS federated.old;
							 | 
						||
| 
								 | 
							
								--replace_result $SLAVE_MYPORT SLAVE_PORT
							 | 
						||
| 
								 | 
							
								eval CREATE TABLE federated.old (
							 | 
						||
| 
								 | 
							
								    `id` int(20) NOT NULL,
							 | 
						||
| 
								 | 
							
								    `name` varchar(64) NOT NULL default ''
							 | 
						||
| 
								 | 
							
								    )
							 | 
						||
| 
								 | 
							
								  ENGINE="FEDERATED" DEFAULT CHARSET=latin1
							 | 
						||
| 
								 | 
							
								  CONNECTION='mysql://root@127.0.0.1:$SLAVE_MYPORT/first_db/t1';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								INSERT INTO federated.old (id, name) values (1, 'federated.old-> first_db.t1, url format');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								SELECT * FROM federated.old;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								DROP TABLE IF EXISTS federated.old2;
							 | 
						||
| 
								 | 
							
								--replace_result $SLAVE_MYPORT SLAVE_PORT
							 | 
						||
| 
								 | 
							
								eval CREATE TABLE federated.old2 (
							 | 
						||
| 
								 | 
							
								    `id` int(20) NOT NULL,
							 | 
						||
| 
								 | 
							
								    `name` varchar(64) NOT NULL default ''
							 | 
						||
| 
								 | 
							
								    )
							 | 
						||
| 
								 | 
							
								  ENGINE="FEDERATED" DEFAULT CHARSET=latin1
							 | 
						||
| 
								 | 
							
								  CONNECTION='mysql://root@127.0.0.1:$SLAVE_MYPORT/first_db/t2';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								INSERT INTO federated.old2 (id, name) values (1, 'federated.old2-> first_db.t2, url format');
							 | 
						||
| 
								 | 
							
								SELECT * FROM federated.old2;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								DROP TABLE IF EXISTS federated.urldb2t1;
							 | 
						||
| 
								 | 
							
								--replace_result $SLAVE_MYPORT SLAVE_PORT
							 | 
						||
| 
								 | 
							
								eval CREATE TABLE federated.urldb2t1 (
							 | 
						||
| 
								 | 
							
								    `id` int(20) NOT NULL,
							 | 
						||
| 
								 | 
							
								    `name` varchar(64) NOT NULL default ''
							 | 
						||
| 
								 | 
							
								    )
							 | 
						||
| 
								 | 
							
								  ENGINE="FEDERATED" DEFAULT CHARSET=latin1
							 | 
						||
| 
								 | 
							
								  CONNECTION='mysql://root@127.0.0.1:$SLAVE_MYPORT/second_db/t1';
							 | 
						||
| 
								 | 
							
								INSERT INTO federated.urldb2t1 (id, name) values (1, 'federated.urldb2t1 -> second_db.t1, url format');
							 | 
						||
| 
								 | 
							
								SELECT * FROM federated.urldb2t1;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								DROP TABLE IF EXISTS federated.urldb2t2;
							 | 
						||
| 
								 | 
							
								--replace_result $SLAVE_MYPORT SLAVE_PORT
							 | 
						||
| 
								 | 
							
								eval CREATE TABLE federated.urldb2t2 (
							 | 
						||
| 
								 | 
							
								    `id` int(20) NOT NULL,
							 | 
						||
| 
								 | 
							
								    `name` varchar(64) NOT NULL default ''
							 | 
						||
| 
								 | 
							
								    )
							 | 
						||
| 
								 | 
							
								  ENGINE="FEDERATED" DEFAULT CHARSET=latin1
							 | 
						||
| 
								 | 
							
								  CONNECTION='mysql://root@127.0.0.1:$SLAVE_MYPORT/second_db/t2';
							 | 
						||
| 
								 | 
							
								INSERT INTO federated.urldb2t2 (id, name) values (1, 'federated.urldb2t2 -> second_db.t2, url format');
							 | 
						||
| 
								 | 
							
								SELECT * FROM federated.urldb2t2;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								DROP TABLE IF EXISTS federated.t1;
							 | 
						||
| 
								 | 
							
								CREATE TABLE federated.t1 (
							 | 
						||
| 
								 | 
							
								    `id` int(20) NOT NULL,
							 | 
						||
| 
								 | 
							
								    `name` varchar(64) NOT NULL default ''
							 | 
						||
| 
								 | 
							
								    )
							 | 
						||
| 
								 | 
							
								  ENGINE="FEDERATED" DEFAULT CHARSET=latin1
							 | 
						||
| 
								 | 
							
								  CONNECTION='server_one';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								INSERT INTO federated.t1 (id, name) values (1, 'server_one, new scheme, first_db.t1');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								SELECT * FROM federated.t1;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								DROP TABLE IF EXISTS federated.whatever;
							 | 
						||
| 
								 | 
							
								CREATE TABLE federated.whatever (
							 | 
						||
| 
								 | 
							
								    `id` int(20) NOT NULL,
							 | 
						||
| 
								 | 
							
								    `name` varchar(64) NOT NULL default ''
							 | 
						||
| 
								 | 
							
								    )
							 | 
						||
| 
								 | 
							
								  ENGINE="FEDERATED" DEFAULT CHARSET=latin1
							 | 
						||
| 
								 | 
							
								  CONNECTION='server_one/t1';
							 | 
						||
| 
								 | 
							
								INSERT INTO federated.whatever (id, name) values (1, 'server_one, new scheme, whatever, first_db.t1');
							 | 
						||
| 
								 | 
							
								SELECT * FROM federated.whatever;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								ALTER SERVER 'server_one' options(DATABASE 'second_db');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# FLUSH TABLES is now unneccessary
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								INSERT INTO federated.t1 (id, name) values (1, 'server_two, new scheme, second_db.t1');
							 | 
						||
| 
								 | 
							
								SELECT * FROM federated.t1;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								INSERT INTO federated.whatever (id, name) values (1, 'server_two, new scheme, whatever, second_db.t1');
							 | 
						||
| 
								 | 
							
								SELECT * FROM federated.whatever;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								drop table federated.t1;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								drop server 'server_one';
							 | 
						||
| 
								 | 
							
								drop server 'server_two';
							 | 
						||
| 
								 | 
							
								# Adding 'order by' clause here, in order to maintain consistent result out of the select query.
							 | 
						||
| 
								 | 
							
								#select * from mysql.servers;
							 | 
						||
| 
								 | 
							
								eval select * from mysql.servers order by Server_name;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								connection slave;
							 | 
						||
| 
								 | 
							
								drop table first_db.t1;
							 | 
						||
| 
								 | 
							
								drop table second_db.t1;
							 | 
						||
| 
								 | 
							
								drop database first_db;
							 | 
						||
| 
								 | 
							
								drop database second_db;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								# Bug#25671 - CREATE/DROP/ALTER SERVER should require privileges
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								# Changes to SERVER declarations should require SUPER privilege.
							 | 
						||
| 
								 | 
							
								# Based upon test case by Giuseppe Maxia
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								create database db_legitimate;
							 | 
						||
| 
								 | 
							
								create database db_bogus;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								use db_legitimate;
							 | 
						||
| 
								 | 
							
								CREATE TABLE db_legitimate.t1 (
							 | 
						||
| 
								 | 
							
								    `id` int(20) NOT NULL,
							 | 
						||
| 
								 | 
							
								    `name` varchar(64) NOT NULL default ''
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								INSERT INTO db_legitimate.t1 VALUES ('1','this is legitimate');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								use db_bogus;
							 | 
						||
| 
								 | 
							
								CREATE TABLE db_bogus.t1 (
							 | 
						||
| 
								 | 
							
								    `id` int(20) NOT NULL,
							 | 
						||
| 
								 | 
							
								    `name` varchar(64) NOT NULL default ''
							 | 
						||
| 
								 | 
							
								    )
							 | 
						||
| 
								 | 
							
								  ;
							 | 
						||
| 
								 | 
							
								INSERT INTO db_bogus.t1 VALUES ('2','this is bogus');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								connection master;
							 | 
						||
| 
								 | 
							
								--replace_result $SLAVE_MYPORT SLAVE_PORT
							 | 
						||
| 
								 | 
							
								eval create server 's1' foreign data wrapper 'mysql' options
							 | 
						||
| 
								 | 
							
								  (HOST '127.0.0.1',
							 | 
						||
| 
								 | 
							
								  DATABASE 'db_legitimate',
							 | 
						||
| 
								 | 
							
								  USER 'root',
							 | 
						||
| 
								 | 
							
								  PASSWORD '',
							 | 
						||
| 
								 | 
							
								  PORT $SLAVE_MYPORT,
							 | 
						||
| 
								 | 
							
								  SOCKET '',
							 | 
						||
| 
								 | 
							
								  OWNER 'root');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								create user guest_select@localhost;
							 | 
						||
| 
								 | 
							
								grant select on federated.* to guest_select@localhost;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								create user guest_super@localhost;
							 | 
						||
| 
								 | 
							
								grant select,SUPER,RELOAD on *.* to guest_super@localhost;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								create user guest_usage@localhost;
							 | 
						||
| 
								 | 
							
								grant usage on *.* to guest_usage@localhost;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								CREATE TABLE federated.t1 (
							 | 
						||
| 
								 | 
							
								    `id` int(20) NOT NULL,
							 | 
						||
| 
								 | 
							
								    `name` varchar(64) NOT NULL default ''
							 | 
						||
| 
								 | 
							
								    ) ENGINE = FEDERATED CONNECTION = 's1';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								select * from federated.t1;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								connect (conn_select,127.0.0.1,guest_select,,federated,$MASTER_MYPORT);
							 | 
						||
| 
								 | 
							
								connect (conn_usage,127.0.0.1,guest_usage,,,$MASTER_MYPORT);
							 | 
						||
| 
								 | 
							
								connect (conn_super,127.0.0.1,guest_super,,,$MASTER_MYPORT);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								connection conn_select;
							 | 
						||
| 
								 | 
							
								--error ER_SPECIFIC_ACCESS_DENIED_ERROR
							 | 
						||
| 
								 | 
							
								alter server s1 options (database 'db_bogus');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								connection master;
							 | 
						||
| 
								 | 
							
								flush tables;
							 | 
						||
| 
								 | 
							
								select * from federated.t1;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								connection conn_usage;
							 | 
						||
| 
								 | 
							
								--error ER_SPECIFIC_ACCESS_DENIED_ERROR
							 | 
						||
| 
								 | 
							
								alter server s1 options (database 'db_bogus');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								connection master;
							 | 
						||
| 
								 | 
							
								flush tables;
							 | 
						||
| 
								 | 
							
								select * from federated.t1;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								connection conn_super;
							 | 
						||
| 
								 | 
							
								alter server s1 options (database 'db_bogus');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								connection master;
							 | 
						||
| 
								 | 
							
								flush tables;
							 | 
						||
| 
								 | 
							
								select * from federated.t1;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								connection conn_select;
							 | 
						||
| 
								 | 
							
								--error ER_SPECIFIC_ACCESS_DENIED_ERROR
							 | 
						||
| 
								 | 
							
								drop server if exists 's1';
							 | 
						||
| 
								 | 
							
								--replace_result $SLAVE_MYPORT SLAVE_PORT
							 | 
						||
| 
								 | 
							
								--error ER_SPECIFIC_ACCESS_DENIED_ERROR
							 | 
						||
| 
								 | 
							
								eval create server 's1' foreign data wrapper 'mysql' options
							 | 
						||
| 
								 | 
							
								  (HOST '127.0.0.1',
							 | 
						||
| 
								 | 
							
								  DATABASE 'db_legitimate',
							 | 
						||
| 
								 | 
							
								  USER 'root',
							 | 
						||
| 
								 | 
							
								  PASSWORD '',
							 | 
						||
| 
								 | 
							
								  PORT $SLAVE_MYPORT,
							 | 
						||
| 
								 | 
							
								  SOCKET '',
							 | 
						||
| 
								 | 
							
								  OWNER 'root');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								connection conn_super;
							 | 
						||
| 
								 | 
							
								drop server 's1';
							 | 
						||
| 
								 | 
							
								--replace_result $SLAVE_MYPORT SLAVE_PORT
							 | 
						||
| 
								 | 
							
								eval create server 's1' foreign data wrapper 'mysql' options
							 | 
						||
| 
								 | 
							
								  (HOST '127.0.0.1',
							 | 
						||
| 
								 | 
							
								  DATABASE 'db_legitimate',
							 | 
						||
| 
								 | 
							
								  USER 'root',
							 | 
						||
| 
								 | 
							
								  PASSWORD '',
							 | 
						||
| 
								 | 
							
								  PORT $SLAVE_MYPORT,
							 | 
						||
| 
								 | 
							
								  SOCKET '',
							 | 
						||
| 
								 | 
							
								  OWNER 'root');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								connection master;
							 | 
						||
| 
								 | 
							
								flush tables;
							 | 
						||
| 
								 | 
							
								select * from federated.t1;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# clean up test
							 | 
						||
| 
								 | 
							
								connection slave;
							 | 
						||
| 
								 | 
							
								drop database db_legitimate;
							 | 
						||
| 
								 | 
							
								drop database db_bogus;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								disconnect conn_select;
							 | 
						||
| 
								 | 
							
								disconnect conn_usage;
							 | 
						||
| 
								 | 
							
								disconnect conn_super;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								connection master;
							 | 
						||
| 
								 | 
							
								drop user guest_super@localhost;
							 | 
						||
| 
								 | 
							
								drop user guest_usage@localhost;
							 | 
						||
| 
								 | 
							
								drop user guest_select@localhost;
							 | 
						||
| 
								 | 
							
								drop table federated.t1;
							 | 
						||
| 
								 | 
							
								drop server 's1';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								# Bug#30671 - ALTER SERVER causes the server to crash
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								create server 's1' foreign data wrapper 'mysql' options (port 3306);
							 | 
						||
| 
								 | 
							
								alter server 's1' options
							 | 
						||
| 
								 | 
							
								  (host 'localhost', database '', user '',
							 | 
						||
| 
								 | 
							
								  password '', socket '', owner '', port 3306);
							 | 
						||
| 
								 | 
							
								# The next statement would crash unpatched server
							 | 
						||
| 
								 | 
							
								alter server 's1' options
							 | 
						||
| 
								 | 
							
								  (host 'localhost', database 'database1', user '',
							 | 
						||
| 
								 | 
							
								  password '', socket '', owner '', port 3306);
							 | 
						||
| 
								 | 
							
								drop server 's1';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								--echo # End of 5.1 tests
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								# Bug#25721 - deadlock with ALTER/CREATE SERVER
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								connect (other,localhost,root,,);
							 | 
						||
| 
								 | 
							
								connection master;
							 | 
						||
| 
								 | 
							
								use test;
							 | 
						||
| 
								 | 
							
								delimiter //;
							 | 
						||
| 
								 | 
							
								create procedure p1 ()
							 | 
						||
| 
								 | 
							
								begin
							 | 
						||
| 
								 | 
							
								  DECLARE v INT DEFAULT 0;
							 | 
						||
| 
								 | 
							
								  DECLARE i INT;
							 | 
						||
| 
								 | 
							
								  DECLARE CONTINUE HANDLER FOR SQLEXCEPTION BEGIN END;
							 | 
						||
| 
								 | 
							
								  SET i = sleep(5);
							 | 
						||
| 
								 | 
							
								  WHILE v < 10000 do
							 | 
						||
| 
								 | 
							
								    CREATE SERVER s
							 | 
						||
| 
								 | 
							
								      FOREIGN DATA WRAPPER mysql
							 | 
						||
| 
								 | 
							
								      OPTIONS (USER 'Remote', HOST '192.168.1.106', DATABASE 'test');
							 | 
						||
| 
								 | 
							
								    ALTER SERVER s OPTIONS (USER 'Remote');
							 | 
						||
| 
								 | 
							
									DROP SERVER s;
							 | 
						||
| 
								 | 
							
								    SET v = v + 1;
							 | 
						||
| 
								 | 
							
								  END WHILE;
							 | 
						||
| 
								 | 
							
								END//
							 | 
						||
| 
								 | 
							
								delimiter ;//
							 | 
						||
| 
								 | 
							
								connection other;
							 | 
						||
| 
								 | 
							
								use test;
							 | 
						||
| 
								 | 
							
								send call p1();
							 | 
						||
| 
								 | 
							
								connection master;
							 | 
						||
| 
								 | 
							
								call p1();
							 | 
						||
| 
								 | 
							
								connection other;
							 | 
						||
| 
								 | 
							
								reap;
							 | 
						||
| 
								 | 
							
								drop procedure p1;
							 | 
						||
| 
								 | 
							
								drop server if exists s;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								source suite/federated/include/federated_cleanup.inc;
							 |