mariadb/mysql-test/suite/galera/t/galera_sp_insert_parallel.test
Teemu Ollakka eb872ceb27 Fixed wsrep replaying for stored procedures (#1256)
- Changed replaying to always allocate a separate THD object
  for applying log events. This is to avoid tampering original
  THD state during replay process.
- Return success from sp_instr_stmt::exec_core() if replaying
  succeeds.
- Do not push warnings/errors into diagnostics area if the
  transaction must be replayed. This is to avoid reporting
  transient errors to the client.

Added two tests galera_sp_bf_abort, galera_sp_insert_parallel.
Wsrep-lib position updated.
2019-04-06 12:33:51 +03:00

55 lines
1.5 KiB
Text

--source include/galera_cluster.inc
--source include/have_innodb.inc
CREATE TABLE t1 (f1 INTEGER PRIMARY KEY, f2 INTEGER) ENGINE=InnoDB;
DELIMITER |;
CREATE PROCEDURE proc_insert()
BEGIN
DECLARE i INT;
DECLARE CONTINUE HANDLER FOR SQLEXCEPTION BEGIN END;
SET i = 0;
WHILE i < 1000 DO
INSERT IGNORE INTO t1 (f1, f2)
VALUES (FLOOR(1 + RAND() * 65535), FLOOR(1 + RAND() * 15)),
(FLOOR(1 + RAND() * 65535), FLOOR(1 + RAND() * 15)),
(FLOOR(1 + RAND() * 65535), FLOOR(1 + RAND() * 15)),
(FLOOR(1 + RAND() * 65535), FLOOR(1 + RAND() * 15)),
(FLOOR(1 + RAND() * 65535), FLOOR(1 + RAND() * 15)),
(FLOOR(1 + RAND() * 65535), FLOOR(1 + RAND() * 15)),
(FLOOR(1 + RAND() * 65535), FLOOR(1 + RAND() * 15)),
(FLOOR(1 + RAND() * 65535), FLOOR(1 + RAND() * 15)),
(FLOOR(1 + RAND() * 65535), FLOOR(1 + RAND() * 15));
SET i = i + 1;
END WHILE;
END|
DELIMITER ;|
--connection node_1
SELECT 0;
SET SESSION wsrep_sync_wait = 0;
--send CALL proc_insert
--connection node_2
SELECT 0;
SET SESSION wsrep_sync_wait = 0;
--send CALL proc_insert
--connection node_1
--error 0,ER_LOCK_DEADLOCK,ER_QUERY_INTERRUPTED
--disable_warnings
--reap
--enable_warnings
SET SESSION wsrep_sync_wait = default;
--connection node_2
--error 0,ER_LOCK_DEADLOCK,ER_QUERY_INTERRUPTED
--disable_warnings
--reap
--enable_warnings
SET SESSION wsrep_sync_wait = default;
--connection node_1
DROP PROCEDURE proc_insert;
DROP TABLE t1;