mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +03:00
MDEV-30653 : With wsrep_mode=REPLICATE_ARIA only part of mixed-engine transactions is replicated
Replication of non-transactional engines is experimental and uses TOI. This naturally means that if there is open transaction with transactional engine it's changes will be rolled back. Fixed by adding error message if non-transactional engine is part of multi-engine transaction with warning. Signed-off-by: Julius Goryavsky <julius.goryavsky@mariadb.com>
This commit is contained in:
committed by
Julius Goryavsky
parent
b38edd09ff
commit
b3be3c2157
@@ -895,6 +895,18 @@ void init_update_queries(void)
|
||||
sql_command_flags[SQLCOM_DROP_TABLE]|= CF_WSREP_MAY_IGNORE_ERRORS;
|
||||
sql_command_flags[SQLCOM_DROP_INDEX]|= CF_WSREP_MAY_IGNORE_ERRORS;
|
||||
sql_command_flags[SQLCOM_ALTER_TABLE]|= CF_WSREP_MAY_IGNORE_ERRORS;
|
||||
/*
|
||||
Basic DML-statements that create writeset.
|
||||
*/
|
||||
sql_command_flags[SQLCOM_INSERT]|= CF_WSREP_BASIC_DML;
|
||||
sql_command_flags[SQLCOM_INSERT_SELECT]|= CF_WSREP_BASIC_DML;
|
||||
sql_command_flags[SQLCOM_REPLACE]|= CF_WSREP_BASIC_DML;
|
||||
sql_command_flags[SQLCOM_REPLACE_SELECT]|= CF_WSREP_BASIC_DML;
|
||||
sql_command_flags[SQLCOM_UPDATE]|= CF_WSREP_BASIC_DML;
|
||||
sql_command_flags[SQLCOM_UPDATE_MULTI]|= CF_WSREP_BASIC_DML;
|
||||
sql_command_flags[SQLCOM_LOAD]|= CF_WSREP_BASIC_DML;
|
||||
sql_command_flags[SQLCOM_DELETE]|= CF_WSREP_BASIC_DML;
|
||||
sql_command_flags[SQLCOM_DELETE_MULTI]|= CF_WSREP_BASIC_DML;
|
||||
#endif /* WITH_WSREP */
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user