Details
-
Task
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Not a Bug
-
None
Description
Description:
|
------------
|
When gtid_mode is on, MySQL has a limitation on cts(create table ... select)
|
and the statements mixed with transaction/non-transaction storage engines.
|
It doesn't allow these statements to be executed. Such a limitation brings
|
many inconveniences to users.
|
|
In order to remove that limitation, we implemented such a feature which can
|
make those statments run under rbr(row based replication) mode and gtid mode.
|
|
We introduced one global system variable 'rds_allow_unsafe_stmt_with_gtid' to
|
enable such a feature. When the feature is enabled, cts will be divided into
|
two individual transactions. The first is CREATE TABLE. The second is inserting
|
data into the table. For the second transaction, it will write into binlog
|
directly, which means not to wait for any transaction commit once the first
|
transaction is succesfull. The same logicfor the statements mixing
|
nontransactional storage engine with transactional ones.
|
|
Note if you want to use this feature, you must set gtid_next automatically.
|
https://github.com/alibaba/AliSQL/commit/4a688153c770acd96ee61c85531a7242e4757f78
The patch is mysql specific and MariaDB supports gtid with CTS in RBR including.
There is nothing to make use from this patch. Thanks.