mirror of
https://github.com/MariaDB/server.git
synced 2025-02-12 00:15:35 +01:00
![Daniele Sciascia](/assets/img/avatar_default.png)
* Fix test galera.MW-44 to make it work with --ps-protocol * Skip test galera.MW-328C under --ps-protocol This test relies on wsrep_retry_autocommit, which has no effect under ps-protocol. * Return WSREP related errors on COM_STMT_PREPARE commands Change wsrep_command_no_result() to allow sending back errors when a statement is prepared. For example, to handle deadlock error due to BF aborted transaction during prepare. * Add sync waiting before statement prepare When a statement is prepared, tables used in the statement may be opened and checked for existence. Because of that, some tests (for example galera_create_table_as_select) that CREATE a table in one node and then SELECT from the same table in another node may result in errors due to non existing table. To make tests behave similarly under normal and PS protocol, we add a call to sync wait before preparing statements that would sync wait during normal execution. Reviewed-by: Jan Lindström <jan.lindstrom@mariadb.com>
36 lines
1.3 KiB
Text
36 lines
1.3 KiB
Text
#
|
|
# MW-44: DDL is logged in the general_log on the slave
|
|
#
|
|
|
|
--source include/galera_cluster.inc
|
|
|
|
--connection node_1
|
|
TRUNCATE TABLE mysql.general_log;
|
|
|
|
--connection node_2
|
|
--let $wait_condition = SELECT COUNT(*) = 0 FROM mysql.general_log WHERE argument NOT LIKE '%mysql.general_log%'
|
|
--let $wait_condition_on_error_output = SELECT * FROM mysql.general_log
|
|
--source include/wait_condition_with_debug.inc
|
|
|
|
--connection node_1
|
|
SET SESSION wsrep_osu_method=TOI;
|
|
CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
|
|
SET SESSION wsrep_osu_method=RSU;
|
|
ALTER TABLE t1 ADD COLUMN f2 INTEGER;
|
|
SET SESSION wsrep_osu_method=TOI;
|
|
|
|
--let $wait_condition = SELECT COUNT(*) = 1 FROM mysql.general_log WHERE argument LIKE "CREATE%" AND command_type != 'Prepare'
|
|
--let $wait_condition_on_error_output = SELECT * FROM mysql.general_log
|
|
--source include/wait_condition_with_debug.inc
|
|
|
|
--let $wait_condition = SELECT COUNT(*) = 1 FROM mysql.general_log WHERE argument LIKE "ALTER%" AND command_type != 'Prepare'
|
|
--let $wait_condition_on_error_output = SELECT * FROM mysql.general_log
|
|
--source include/wait_condition_with_debug.inc
|
|
|
|
--connection node_2
|
|
|
|
--let $wait_condition = SELECT COUNT(*) = 0 FROM mysql.general_log WHERE argument LIKE "CREATE%" OR argument LIKE "ALTER%"
|
|
--let $wait_condition_on_error_output = SELECT * FROM mysql.general_log
|
|
--source include/wait_condition_with_debug.inc
|
|
|
|
DROP TABLE t1;
|