mirror of
https://github.com/MariaDB/server.git
synced 2025-01-28 01:34:17 +01:00
90f222ea7d
In CTAS, handlers get registered under statement transaction (st_transactions::stmt), while ha_fake_trx_id(), used by CTAS, looked under standard transaction (st_transactions::all) for registered handlers, and thus it failed to grab a fake transaction ID. As a result, with no valid transaction ID, wsrep commit failed with an error. ha_fake_trx_id() now looks for handlers registered under 'stmt' in case 'all' is empty. Also modified the logic to print warning only once if none of the registered handlers have fake_trx_id.
61 lines
2.1 KiB
Text
61 lines
2.1 KiB
Text
call mtr.add_suppression("WSREP: MariaDB Galera does not support binlog format.*");
|
|
call mtr.add_suppression("WSREP: Cannot get fake transaction ID from storage engine.");
|
|
#
|
|
# MDEV-4227: Galera server should stop crashing on setting binlog_format STATEMENT
|
|
#
|
|
SHOW VARIABLES LIKE 'binlog_format';
|
|
Variable_name Value
|
|
binlog_format ROW
|
|
SET binlog_format=STATEMENT;
|
|
Warnings:
|
|
Warning 1105 MariaDB Galera does not support binlog format: STATEMENT
|
|
SHOW WARNINGS;
|
|
Level Code Message
|
|
Warning 1105 MariaDB Galera does not support binlog format: STATEMENT
|
|
SHOW VARIABLES LIKE 'binlog_format';
|
|
Variable_name Value
|
|
binlog_format STATEMENT
|
|
CREATE TABLE IF NOT EXISTS test.t1 AS SELECT * FROM information_schema.routines WHERE 1 = 0;
|
|
SET binlog_format=MIXED;
|
|
Warnings:
|
|
Warning 1105 MariaDB Galera does not support binlog format: MIXED
|
|
SHOW WARNINGS;
|
|
Level Code Message
|
|
Warning 1105 MariaDB Galera does not support binlog format: MIXED
|
|
SHOW VARIABLES LIKE 'binlog_format';
|
|
Variable_name Value
|
|
binlog_format MIXED
|
|
CREATE TABLE IF NOT EXISTS test.t2 AS SELECT * FROM information_schema.routines WHERE 1 = 0;
|
|
SET binlog_format=ROW;
|
|
SHOW WARNINGS;
|
|
Level Code Message
|
|
SHOW VARIABLES LIKE 'binlog_format';
|
|
Variable_name Value
|
|
binlog_format ROW
|
|
CREATE TABLE IF NOT EXISTS test.t3 AS SELECT * FROM information_schema.routines WHERE 1 = 0;
|
|
DROP TABLE IF EXISTS test.t1;
|
|
DROP TABLE IF EXISTS test.t2;
|
|
DROP TABLE IF EXISTS test.t3;
|
|
#
|
|
# MDEV-7322: Option to allow setting the binlog_format with Galera
|
|
#
|
|
SET @@GLOBAL.binlog_format=STATEMENT;
|
|
ERROR 42000: Variable 'binlog_format' can't be set to the value of 'STATEMENT'
|
|
SHOW GLOBAL VARIABLES LIKE 'binlog_format';
|
|
Variable_name Value
|
|
binlog_format ROW
|
|
SET @@GLOBAL.binlog_format=MIXED;
|
|
ERROR 42000: Variable 'binlog_format' can't be set to the value of 'MIXED'
|
|
SHOW GLOBAL VARIABLES LIKE 'binlog_format';
|
|
Variable_name Value
|
|
binlog_format ROW
|
|
SET @@GLOBAL.binlog_format=DEFAULT;
|
|
ERROR 42000: Variable 'binlog_format' can't be set to the value of 'DEFAULT'
|
|
SHOW GLOBAL VARIABLES LIKE 'binlog_format';
|
|
Variable_name Value
|
|
binlog_format ROW
|
|
SET @@GLOBAL.binlog_format=ROW;
|
|
SHOW GLOBAL VARIABLES LIKE 'binlog_format';
|
|
Variable_name Value
|
|
binlog_format ROW
|
|
# End of test.
|