1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199
|
include/rpl_init.inc [topology=1->2->3]
Warnings:
Note #### Sending passwords in plain text without SSL/TLS is extremely insecure.
Note #### Storing MySQL user name or password information in the connection metadata repository is not secure and is therefore not recommended. Please consider using the USER and PASSWORD connection options for START REPLICA; see the 'START REPLICA Syntax' in the MySQL Manual for more information.
Warnings:
Note #### Sending passwords in plain text without SSL/TLS is extremely insecure.
Note #### Storing MySQL user name or password information in the connection metadata repository is not secure and is therefore not recommended. Please consider using the USER and PASSWORD connection options for START REPLICA; see the 'START REPLICA Syntax' in the MySQL Manual for more information.
include/rpl_default_connections.inc
#
# First part
#
[connection master]
CREATE TABLE trans_t1 (c1 INT) ENGINE=InnoDB;
CREATE TABLE non_trans_t1 (c1 INT) ENGINE=MyISAM;
CREATE TEMPORARY TABLE temp_trans_t1 (c1 INT) ENGINE=InnoDB;
CREATE TEMPORARY TABLE temp_non_trans_t1 (c1 INT) ENGINE=MyISAM;
# Error cases ER_GTID_UNSAFE_BINLOG_SPLITTABLE_STATEMENT_AND_ASSIGNED_GTID
SET GTID_NEXT= '11111111-1111-1111-1111-111111111111:1';
## Expecting error ER_GTID_UNSAFE_BINLOG_SPLITTABLE_STATEMENT_AND_ASSIGNED_GTID after the statement
DROP TABLE trans_t1, non_trans_t1, temp_trans_t1;
ERROR HY000: Cannot execute statement because it needs to be written to the binary log as multiple statements, and this is not allowed when @@SESSION.GTID_NEXT == 'UUID:NUMBER'.
ROLLBACK;
SET GTID_NEXT= '11111111-1111-1111-1111-111111111111:1';
## Expecting error ER_GTID_UNSAFE_BINLOG_SPLITTABLE_STATEMENT_AND_ASSIGNED_GTID after the statement
DROP TABLE trans_t1, non_trans_t1, temp_trans_t1, temp_non_trans_t1;
ERROR HY000: Cannot execute statement because it needs to be written to the binary log as multiple statements, and this is not allowed when @@SESSION.GTID_NEXT == 'UUID:NUMBER'.
ROLLBACK;
SET GTID_NEXT= '11111111-1111-1111-1111-111111111111:1';
## Expecting error ER_GTID_UNSAFE_BINLOG_SPLITTABLE_STATEMENT_AND_ASSIGNED_GTID after the statement
DROP TABLE trans_t1, non_trans_t1, temp_trans_t1, temp_non_trans_t1, non_existent;
ERROR HY000: Cannot execute statement because it needs to be written to the binary log as multiple statements, and this is not allowed when @@SESSION.GTID_NEXT == 'UUID:NUMBER'.
ROLLBACK;
SET GTID_NEXT= '11111111-1111-1111-1111-111111111111:1';
## Expecting error ER_GTID_UNSAFE_BINLOG_SPLITTABLE_STATEMENT_AND_ASSIGNED_GTID after the statement
DROP TABLE trans_t1, non_trans_t1, temp_trans_t1, non_existent;
ERROR HY000: Cannot execute statement because it needs to be written to the binary log as multiple statements, and this is not allowed when @@SESSION.GTID_NEXT == 'UUID:NUMBER'.
ROLLBACK;
SET GTID_NEXT= '11111111-1111-1111-1111-111111111111:1';
## Expecting error ER_GTID_UNSAFE_BINLOG_SPLITTABLE_STATEMENT_AND_ASSIGNED_GTID after the statement
DROP TABLE trans_t1, non_trans_t1, temp_non_trans_t1;
ERROR HY000: Cannot execute statement because it needs to be written to the binary log as multiple statements, and this is not allowed when @@SESSION.GTID_NEXT == 'UUID:NUMBER'.
ROLLBACK;
SET GTID_NEXT= '11111111-1111-1111-1111-111111111111:1';
## Expecting error ER_GTID_UNSAFE_BINLOG_SPLITTABLE_STATEMENT_AND_ASSIGNED_GTID after the statement
DROP TABLE trans_t1, non_trans_t1, temp_non_trans_t1, non_existent;
ERROR HY000: Cannot execute statement because it needs to be written to the binary log as multiple statements, and this is not allowed when @@SESSION.GTID_NEXT == 'UUID:NUMBER'.
ROLLBACK;
SET GTID_NEXT= '11111111-1111-1111-1111-111111111111:1';
## Expecting error ER_GTID_UNSAFE_BINLOG_SPLITTABLE_STATEMENT_AND_ASSIGNED_GTID after the statement
DROP TABLE trans_t1, temp_trans_t1;
ERROR HY000: Cannot execute statement because it needs to be written to the binary log as multiple statements, and this is not allowed when @@SESSION.GTID_NEXT == 'UUID:NUMBER'.
ROLLBACK;
SET GTID_NEXT= '11111111-1111-1111-1111-111111111111:1';
## Expecting error ER_GTID_UNSAFE_BINLOG_SPLITTABLE_STATEMENT_AND_ASSIGNED_GTID after the statement
DROP TABLE trans_t1, temp_trans_t1, temp_non_trans_t1;
ERROR HY000: Cannot execute statement because it needs to be written to the binary log as multiple statements, and this is not allowed when @@SESSION.GTID_NEXT == 'UUID:NUMBER'.
ROLLBACK;
SET GTID_NEXT= '11111111-1111-1111-1111-111111111111:1';
## Expecting error ER_GTID_UNSAFE_BINLOG_SPLITTABLE_STATEMENT_AND_ASSIGNED_GTID after the statement
DROP TABLE trans_t1, temp_trans_t1, temp_non_trans_t1, non_existent;
ERROR HY000: Cannot execute statement because it needs to be written to the binary log as multiple statements, and this is not allowed when @@SESSION.GTID_NEXT == 'UUID:NUMBER'.
ROLLBACK;
SET GTID_NEXT= '11111111-1111-1111-1111-111111111111:1';
## Expecting error ER_GTID_UNSAFE_BINLOG_SPLITTABLE_STATEMENT_AND_ASSIGNED_GTID after the statement
DROP TABLE trans_t1, temp_trans_t1, non_existent;
ERROR HY000: Cannot execute statement because it needs to be written to the binary log as multiple statements, and this is not allowed when @@SESSION.GTID_NEXT == 'UUID:NUMBER'.
ROLLBACK;
SET GTID_NEXT= '11111111-1111-1111-1111-111111111111:1';
## Expecting error ER_GTID_UNSAFE_BINLOG_SPLITTABLE_STATEMENT_AND_ASSIGNED_GTID after the statement
DROP TABLE trans_t1, temp_non_trans_t1;
ERROR HY000: Cannot execute statement because it needs to be written to the binary log as multiple statements, and this is not allowed when @@SESSION.GTID_NEXT == 'UUID:NUMBER'.
ROLLBACK;
SET GTID_NEXT= '11111111-1111-1111-1111-111111111111:1';
## Expecting error ER_GTID_UNSAFE_BINLOG_SPLITTABLE_STATEMENT_AND_ASSIGNED_GTID after the statement
DROP TABLE trans_t1, temp_non_trans_t1, non_existent;
ERROR HY000: Cannot execute statement because it needs to be written to the binary log as multiple statements, and this is not allowed when @@SESSION.GTID_NEXT == 'UUID:NUMBER'.
ROLLBACK;
SET GTID_NEXT= '11111111-1111-1111-1111-111111111111:1';
## Expecting error ER_GTID_UNSAFE_BINLOG_SPLITTABLE_STATEMENT_AND_ASSIGNED_GTID after the statement
DROP TABLE non_trans_t1, temp_trans_t1;
ERROR HY000: Cannot execute statement because it needs to be written to the binary log as multiple statements, and this is not allowed when @@SESSION.GTID_NEXT == 'UUID:NUMBER'.
ROLLBACK;
SET GTID_NEXT= '11111111-1111-1111-1111-111111111111:1';
## Expecting error ER_GTID_UNSAFE_BINLOG_SPLITTABLE_STATEMENT_AND_ASSIGNED_GTID after the statement
DROP TABLE non_trans_t1, temp_trans_t1, temp_non_trans_t1;
ERROR HY000: Cannot execute statement because it needs to be written to the binary log as multiple statements, and this is not allowed when @@SESSION.GTID_NEXT == 'UUID:NUMBER'.
ROLLBACK;
SET GTID_NEXT= '11111111-1111-1111-1111-111111111111:1';
## Expecting error ER_GTID_UNSAFE_BINLOG_SPLITTABLE_STATEMENT_AND_ASSIGNED_GTID after the statement
DROP TABLE non_trans_t1, temp_trans_t1, temp_non_trans_t1, non_existent;
ERROR HY000: Cannot execute statement because it needs to be written to the binary log as multiple statements, and this is not allowed when @@SESSION.GTID_NEXT == 'UUID:NUMBER'.
ROLLBACK;
SET GTID_NEXT= '11111111-1111-1111-1111-111111111111:1';
## Expecting error ER_GTID_UNSAFE_BINLOG_SPLITTABLE_STATEMENT_AND_ASSIGNED_GTID after the statement
DROP TABLE non_trans_t1, temp_trans_t1, non_existent;
ERROR HY000: Cannot execute statement because it needs to be written to the binary log as multiple statements, and this is not allowed when @@SESSION.GTID_NEXT == 'UUID:NUMBER'.
ROLLBACK;
SET GTID_NEXT= '11111111-1111-1111-1111-111111111111:1';
## Expecting error ER_GTID_UNSAFE_BINLOG_SPLITTABLE_STATEMENT_AND_ASSIGNED_GTID after the statement
DROP TABLE non_trans_t1, temp_non_trans_t1;
ERROR HY000: Cannot execute statement because it needs to be written to the binary log as multiple statements, and this is not allowed when @@SESSION.GTID_NEXT == 'UUID:NUMBER'.
ROLLBACK;
SET GTID_NEXT= '11111111-1111-1111-1111-111111111111:1';
## Expecting error ER_GTID_UNSAFE_BINLOG_SPLITTABLE_STATEMENT_AND_ASSIGNED_GTID after the statement
DROP TABLE non_trans_t1, temp_non_trans_t1, non_existent;
ERROR HY000: Cannot execute statement because it needs to be written to the binary log as multiple statements, and this is not allowed when @@SESSION.GTID_NEXT == 'UUID:NUMBER'.
ROLLBACK;
SET GTID_NEXT= '11111111-1111-1111-1111-111111111111:1';
## Expecting error ER_GTID_UNSAFE_BINLOG_SPLITTABLE_STATEMENT_AND_ASSIGNED_GTID after the statement
DROP TABLE temp_trans_t1, temp_non_trans_t1;
ERROR HY000: Cannot execute statement because it needs to be written to the binary log as multiple statements, and this is not allowed when @@SESSION.GTID_NEXT == 'UUID:NUMBER'.
ROLLBACK;
SET GTID_NEXT= '11111111-1111-1111-1111-111111111111:1';
## Expecting error ER_GTID_UNSAFE_BINLOG_SPLITTABLE_STATEMENT_AND_ASSIGNED_GTID after the statement
DROP TABLE temp_trans_t1, temp_non_trans_t1, non_existent;
ERROR HY000: Cannot execute statement because it needs to be written to the binary log as multiple statements, and this is not allowed when @@SESSION.GTID_NEXT == 'UUID:NUMBER'.
ROLLBACK;
SET GTID_NEXT= '11111111-1111-1111-1111-111111111111:1';
## Expecting error ER_GTID_UNSAFE_BINLOG_SPLITTABLE_STATEMENT_AND_ASSIGNED_GTID after the statement
DROP TABLE temp_trans_t1, non_existent;
ERROR HY000: Cannot execute statement because it needs to be written to the binary log as multiple statements, and this is not allowed when @@SESSION.GTID_NEXT == 'UUID:NUMBER'.
ROLLBACK;
SET GTID_NEXT= '11111111-1111-1111-1111-111111111111:1';
## Expecting error ER_GTID_UNSAFE_BINLOG_SPLITTABLE_STATEMENT_AND_ASSIGNED_GTID after the statement
DROP TABLE temp_non_trans_t1, non_existent;
ERROR HY000: Cannot execute statement because it needs to be written to the binary log as multiple statements, and this is not allowed when @@SESSION.GTID_NEXT == 'UUID:NUMBER'.
ROLLBACK;
# Error cases ER_BAD_TABLE_ERROR.
SET GTID_NEXT= '11111111-1111-1111-1111-111111111111:1';
## Expecting error ER_BAD_TABLE_ERROR after the statement
DROP TABLE trans_t1, non_trans_t1, non_existent;
ERROR 42S02: Unknown table 'test.non_existent'
ROLLBACK;
SET GTID_NEXT= '11111111-1111-1111-1111-111111111111:2';
## Expecting error ER_BAD_TABLE_ERROR after the statement
DROP TABLE trans_t1, non_existent;
ERROR 42S02: Unknown table 'test.non_existent'
ROLLBACK;
SET GTID_NEXT= '11111111-1111-1111-1111-111111111111:3';
## Expecting error ER_BAD_TABLE_ERROR after the statement
DROP TABLE non_trans_t1, non_existent;
ERROR 42S02: Unknown table 'test.non_existent'
ROLLBACK;
# Non-error cases
SET GTID_NEXT= '11111111-1111-1111-1111-111111111111:4';
DROP TABLE trans_t1, non_trans_t1;
SET GTID_NEXT= AUTOMATIC;
CREATE TABLE trans_t1 (c1 INT) ENGINE=InnoDB;
#
# Second part
#
CREATE TEMPORARY TABLE temp_ignore (c1 INT) ENGINE=MyISAM;
DROP TEMPORARY TABLE IF EXISTS temp_ignore, temp_non_trans_t1;
include/sync_slave_sql_with_master.inc
[connection master]
CREATE TEMPORARY TABLE temp_ignore (c1 INT) ENGINE=InnoDB;
DROP TEMPORARY TABLE IF EXISTS temp_ignore, temp_trans_t1;
include/sync_slave_sql_with_master.inc
#
# Third part
#
[connection master]
SET SESSION sql_log_bin= 0;
call mtr.add_suppression("Error: table .* does not exist in the InnoDB internal");
SET SESSION sql_log_bin= 1;
CREATE DATABASE test2;
CREATE DATABASE test3;
use test;
CREATE TEMPORARY TABLE temp_trans_t1 (c1 INT) ENGINE=InnoDB;
CREATE TEMPORARY TABLE temp_non_trans_t1 (c1 INT) ENGINE=MyISAM;
USE test2;
CREATE TEMPORARY TABLE temp_trans_t1 (c1 INT) ENGINE=InnoDB;
USE test3;
CREATE TEMPORARY TABLE temp_trans_t1 (c1 INT) ENGINE=InnoDB;
CREATE TEMPORARY TABLE temp_trans_t2 (c1 INT) ENGINE=InnoDB;
[connection master1]
use test;
CREATE TEMPORARY TABLE temp_trans_t1 (c1 INT) ENGINE=InnoDB;
CREATE TEMPORARY TABLE temp_non_trans_t1 (c1 INT) ENGINE=MyISAM;
USE test2;
CREATE TEMPORARY TABLE temp_non_trans_t1 (c1 INT) ENGINE=MyISAM;
USE test3;
CREATE TEMPORARY TABLE temp_non_trans_t1 (c1 INT) ENGINE=MyISAM;
CREATE TEMPORARY TABLE temp_non_trans_t2 (c1 INT) ENGINE=MyISAM;
include/sync_slave_sql_with_master.inc
include/stop_slave_io.inc
include/rpl_stop_server.inc [server_number=1]
include/rpl_start_server.inc [server_number=1]
[connection slave]
include/start_slave_io.inc
[connection master]
include/sync_slave_io_with_master.inc
include/assert.inc [Replica_open_temp_tables should be 0]
[connection master]
USE test;
DROP TABLE trans_t1;
DROP DATABASE test2;
DROP DATABASE test3;
include/rpl_end.inc
|