mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-30 18:36:12 +01:00 
			
		
		
		
	 9854fb6fa7
			
		
	
	
	9854fb6fa7
	
	
	
		
			
			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.
		
			
				
	
	
		
			81 lines
		
	
	
	
		
			2 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			81 lines
		
	
	
	
		
			2 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| #############################################################################
 | |
| # Original Author: JBM                                                      #
 | |
| # Original Date: Aug/13/2005 Created from Bug 12335                         #
 | |
| #############################################################################
 | |
| 
 | |
| # Begin clean up test section
 | |
| connection master;
 | |
| --disable_warnings
 | |
| DROP PROCEDURE IF EXISTS test.p1;
 | |
| DROP PROCEDURE IF EXISTS test.p2;
 | |
| DROP TABLE IF EXISTS test.t1;
 | |
| --enable_warnings
 | |
| # End of cleanup
 | |
| 
 | |
| # Begin test section 1
 | |
| 
 | |
| --disable_ps2_protocol
 | |
| eval CREATE TABLE test.t1(a INT,PRIMARY KEY(a))ENGINE=$engine_type;
 | |
| 
 | |
| delimiter |;
 | |
| CREATE PROCEDURE test.p1()
 | |
| BEGIN
 | |
|   INSERT INTO test.t1 VALUES (4);
 | |
|   SELECT  get_lock("test", 100);
 | |
|   UPDATE test.t1 set a=a+4 WHERE a=4;
 | |
| END|
 | |
| CREATE PROCEDURE test.p2()
 | |
| BEGIN
 | |
|   UPDATE test.t1 SET a=a+1;
 | |
| END|
 | |
| delimiter ;|
 | |
| 
 | |
| SELECT get_lock("test", 200);
 | |
| 
 | |
| connection master1;
 | |
| send CALL test.p1();
 | |
| 
 | |
| connection master;
 | |
| # Make sure that the call on master1 arrived at the get_lock.
 | |
| let $wait_condition=
 | |
|   select count(*) = 1 from information_schema.processlist
 | |
|   where state = 'User lock' and
 | |
|         info = 'SELECT  get_lock("test", 100)';
 | |
| --source include/wait_condition.inc
 | |
| CALL test.p2();
 | |
| SELECT release_lock("test");
 | |
| 
 | |
| connection master1;
 | |
| # Reap CALL test.p1() to ensure that it has fully completed
 | |
| # before doing any selects on test.t1.
 | |
| --reap
 | |
| # Release lock acquired by it.
 | |
| SELECT release_lock("test");
 | |
| 
 | |
| connection master;
 | |
| SELECT * FROM test.t1; 
 | |
| sync_slave_with_master;
 | |
| connection slave;
 | |
| SELECT * FROM test.t1;
 | |
| 
 | |
| connection master;
 | |
| DROP TABLE IF EXISTS test.t1;
 | |
| eval CREATE TABLE test.t1(a INT,PRIMARY KEY(a))ENGINE=$engine_type;
 | |
| CALL test.p2();
 | |
| CALL test.p1();
 | |
| SELECT release_lock("test");
 | |
| SELECT * FROM test.t1;
 | |
| 
 | |
| sync_slave_with_master;
 | |
| connection slave;
 | |
| SELECT * FROM test.t1;
 | |
| connection master;
 | |
| #show binlog events from 720;
 | |
| --enable_ps2_protocol
 | |
| 
 | |
| DROP PROCEDURE IF EXISTS test.p1;
 | |
| DROP PROCEDURE IF EXISTS test.p2;
 | |
| DROP TABLE IF EXISTS test.t1;
 | |
| sync_slave_with_master;
 | |
| 
 | |
| # End of 5.0 test case
 |