mirror of
https://github.com/MariaDB/server.git
synced 2026-01-06 05:22:24 +03:00
BUG#43263 BEGIN skipped in some replicate-do-db cases
BEGIN/COMMIT/ROLLBACK was subject to replication db rules, and caused the boundary of a transaction not recognized correctly when these queries were ignored by the rules. Fixed the problem by skipping replication db rules for these statements.
This commit is contained in:
@@ -1953,7 +1953,10 @@ int Query_log_event::exec_event(struct st_relay_log_info* rli,
|
||||
::exec_event(), then the companion SET also have so we
|
||||
don't need to reset_one_shot_variables().
|
||||
*/
|
||||
if (db_ok(thd->db, replicate_do_db, replicate_ignore_db))
|
||||
if (!strncmp(query_arg, "BEGIN", q_len_arg) ||
|
||||
!strncmp(query_arg, "COMMIT", q_len_arg) ||
|
||||
!strncmp(query_arg, "ROLLBACK", q_len_arg) ||
|
||||
db_ok(thd->db, replicate_do_db, replicate_ignore_db))
|
||||
{
|
||||
thd->set_time((time_t)when);
|
||||
thd->query_length= q_len_arg;
|
||||
|
||||
Reference in New Issue
Block a user