diff options
author | Oleksandr Byelkin <sanja@mariadb.com> | 2018-03-09 14:39:40 +0100 |
---|---|---|
committer | Oleksandr Byelkin <sanja@mariadb.com> | 2018-06-25 19:01:41 +0200 |
commit | 517d7182013b212db4680a22da2c91314c41f51b (patch) | |
tree | 79e876c6889f7fd69735771fd0c4627564a131f5 /sql/sql_class.cc | |
parent | 73de63e898bd67f708c6df8d154a76b7ddd0d5d7 (diff) | |
download | mariadb-git-517d7182013b212db4680a22da2c91314c41f51b.tar.gz |
MDEV-15477: SESSION_SYSVARS_TRACKER does not track last_gtid
register changes of last_gtid
Diffstat (limited to 'sql/sql_class.cc')
-rw-r--r-- | sql/sql_class.cc | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/sql/sql_class.cc b/sql/sql_class.cc index 8590a0fe179..a1010fb4c35 100644 --- a/sql/sql_class.cc +++ b/sql/sql_class.cc @@ -1190,7 +1190,7 @@ void THD::init(void) bzero((char *) &org_status_var, sizeof(org_status_var)); status_in_global= 0; start_bytes_received= 0; - last_commit_gtid.seq_no= 0; + m_last_commit_gtid.seq_no= 0; last_stmt= NULL; /* Reset status of last insert id */ arg_of_last_insert_id_function= FALSE; @@ -6972,6 +6972,21 @@ THD::signal_wakeup_ready() mysql_cond_signal(&COND_wakeup_ready); } +void THD::set_last_commit_gtid(rpl_gtid >id) +{ +#ifndef EMBEDDED_LIBRARY + bool changed_gtid= (m_last_commit_gtid.seq_no != gtid.seq_no); +#endif + m_last_commit_gtid= gtid; +#ifndef EMBEDDED_LIBRARY + if (changed_gtid && + session_tracker.get_tracker(SESSION_SYSVARS_TRACKER)->is_enabled()) + { + session_tracker.get_tracker(SESSION_SYSVARS_TRACKER)-> + mark_as_changed(this, (LEX_CSTRING*)Sys_last_gtid_ptr); + } +#endif +} void wait_for_commit::reinit() |