mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-31 02:46:29 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			70 lines
		
	
	
	
		
			1.7 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			70 lines
		
	
	
	
		
			1.7 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| use test;
 | |
| CREATE PROCEDURE test_p1 ()
 | |
| BEGIN
 | |
| ALTER TABLE t_10 ADD UNIQUE INDEX USING BTREE (a);
 | |
| ALTER TABLE tp   ADD UNIQUE INDEX USING BTREE (a);
 | |
| ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_10;
 | |
| ALTER TABLE tp   DROP INDEX a;
 | |
| ALTER TABLE t_10 DROP INDEX a;
 | |
| END|
 | |
| CALL test_p1;
 | |
| SELECT * FROM t_10;
 | |
| a	b
 | |
| 2	Two
 | |
| 4	Four
 | |
| 6	Six
 | |
| 8	Eight
 | |
| SELECT * FROM tp WHERE a BETWEEN 0 AND 9;
 | |
| a	b
 | |
| 1	One
 | |
| 3	Three
 | |
| 5	Five
 | |
| 9	Nine
 | |
| DROP PROCEDURE test_p1;
 | |
| SET @save_autocommit= @@autocommit;
 | |
| SET @@autocommit= OFF;
 | |
| SHOW VARIABLES LIKE 'autocommit%';
 | |
| Variable_name	Value
 | |
| autocommit	OFF
 | |
| CREATE TRIGGER test_trg_1 BEFORE UPDATE ON tp FOR EACH ROW
 | |
| BEGIN
 | |
| ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_10;
 | |
| END|
 | |
| ERROR HY000: Explicit or implicit commit is not allowed in stored function or trigger
 | |
| CREATE FUNCTION test_f_1() RETURNS int
 | |
| BEGIN
 | |
| ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_10;
 | |
| END|
 | |
| ERROR HY000: Explicit or implicit commit is not allowed in stored function or trigger
 | |
| SET @@autocommit= @save_autocommit;
 | |
| SET @save_event_scheduler= @@global.event_scheduler;
 | |
| SET @@global.event_scheduler= ON;
 | |
| CREATE EVENT test_ev_1
 | |
| ON SCHEDULE AT CURRENT_TIMESTAMP
 | |
| DO
 | |
| ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_10;
 | |
| SELECT * FROM t_10;
 | |
| a	b
 | |
| 1	One
 | |
| 3	Three
 | |
| 5	Five
 | |
| 9	Nine
 | |
| SELECT * FROM tp WHERE a BETWEEN 0 AND 9;
 | |
| a	b
 | |
| 2	Two
 | |
| 4	Four
 | |
| 6	Six
 | |
| 8	Eight
 | |
| SET @@global.event_scheduler= @save_event_scheduler;
 | |
| DROP TABLE IF EXISTS t_10;
 | |
| DROP TABLE IF EXISTS t_100;
 | |
| DROP TABLE IF EXISTS t_1000;
 | |
| DROP TABLE IF EXISTS tp;
 | |
| DROP TABLE IF EXISTS tsp;
 | |
| DROP TABLE IF EXISTS tsp_00;
 | |
| DROP TABLE IF EXISTS tsp_01;
 | |
| DROP TABLE IF EXISTS tsp_02;
 | |
| DROP TABLE IF EXISTS tsp_03;
 | |
| DROP TABLE IF EXISTS tsp_04;
 | |
| DROP TABLE IF EXISTS t_empty;
 | |
| DROP TABLE IF EXISTS t_null;
 | 
