Subject: | RFE: Support for tracking session information |
Date: | Sun, 4 Dec 2016 13:19:05 +0100 |
To: | bug-DBD-mysql [...] rt.cpan.org |
From: | Daniël van Eeden <Daniel.van.Eeden [...] myname.nl> |
Hello,
In MySQL 5.7 it is possible to enable tracking of certain session
attributes.
These are the global variables which control that:
session_track_gtids
session_track_schema
session_track_state_change
session_track_system_variables
From the MySQL C API these can be used to get access to the data:
mysql_session_track_get_first()
mysql_session_track_get_next()
The main use case I see is to insert a record on a master and then get
the GTID back which then
can be used with WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS() on the replica to
ensure the row did
replicate to the replica.
The other way of doing this would be to @@global.gtid_executed, but that
needs an extra roundtrip.
So it would be nice if DBD::mysql would expose the session tracking data.
https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html
https://dev.mysql.com/doc/refman/5.7/en/mysql-session-track-get-first.html
https://dev.mysql.com/doc/refman/5.7/en/mysql-session-track-get-next.html
https://dev.mysql.com/doc/refman/5.7/en/gtid-functions.html#function_wait-until-sql-thread-after-gtids
Daniël