20 changed files with 377 additions and 176 deletions
-
3mysql-test/r/ctype_utf8mb4.result
-
27mysql-test/r/flush.result
-
24mysql-test/r/mysqlbinlog_row_innodb.result
-
24mysql-test/r/mysqlbinlog_row_myisam.result
-
23mysql-test/suite/rpl/r/rpl_row_utf16.result
-
25mysql-test/suite/rpl/r/rpl_row_utf32.result
-
26mysql-test/suite/rpl/t/rpl_row_utf16.test
-
44mysql-test/suite/rpl/t/rpl_row_utf32.test
-
4mysql-test/suite/rpl/t/rpl_semi_sync.test
-
7mysql-test/t/ctype_utf8mb4.test
-
31mysql-test/t/flush.test
-
2plugin/Makefile.am
-
210plugin/semisync/semisync_master.cc
-
18sql/field.cc
-
16sql/rpl_utility.cc
-
23sql/sql_parse.cc
-
3sql/sql_prepare.cc
-
14strings/ctype-mb.c
-
27support-files/mysql.spec.sh
-
2tests/mysql_client_test.c
@ -0,0 +1,23 @@ |
|||
stop slave; |
|||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9; |
|||
reset master; |
|||
reset slave; |
|||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9; |
|||
start slave; |
|||
CREATE TABLE t1(c1 CHAR(10) CHARACTER SET utf16 DEFAULT 'ola'); |
|||
INSERT INTO t1 VALUES ('abc'); |
|||
INSERT INTO t1 VALUES (); |
|||
#### ON MASTER |
|||
SELECT c1, hex(c1) from t1; |
|||
c1 abc |
|||
hex(c1) 006100620063 |
|||
c1 ola |
|||
hex(c1) 006F006C0061 |
|||
#### ON SLAVE |
|||
SELECT c1, hex(c1) FROM t1; |
|||
c1 abc |
|||
hex(c1) 006100620063 |
|||
c1 ola |
|||
hex(c1) 006F006C0061 |
|||
Comparing tables master:test.t1 and slave:test.t1 |
|||
DROP TABLE t1; |
|||
@ -0,0 +1,25 @@ |
|||
stop slave; |
|||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9; |
|||
reset master; |
|||
reset slave; |
|||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9; |
|||
start slave; |
|||
SET SQL_LOG_BIN=0; |
|||
CREATE TABLE t1 (c1 char(255) DEFAULT NULL, KEY c1 (c1)) DEFAULT CHARSET=utf32; |
|||
Warnings: |
|||
Warning 1071 Specified key was too long; max key length is 1000 bytes |
|||
SET SQL_LOG_BIN=1; |
|||
SET @saved_slave_type_conversions= @@global.slave_type_conversions; |
|||
include/stop_slave.inc |
|||
SET GLOBAL SLAVE_TYPE_CONVERSIONS='ALL_NON_LOSSY'; |
|||
include/start_slave.inc |
|||
SET SQL_LOG_BIN=0; |
|||
CREATE TABLE t1 ( c1 varchar(255) DEFAULT NULL, KEY c1 (c1)) DEFAULT CHARSET=utf32; |
|||
Warnings: |
|||
Warning 1071 Specified key was too long; max key length is 1000 bytes |
|||
SET SQL_LOG_BIN=1; |
|||
INSERT INTO t1(c1) VALUES ('insert into t1'); |
|||
DROP TABLE t1; |
|||
SET GLOBAL SLAVE_TYPE_CONVERSIONS= @saved_slave_type_conversions; |
|||
include/stop_slave.inc |
|||
include/start_slave.inc |
|||
@ -0,0 +1,26 @@ |
|||
-- source include/master-slave.inc |
|||
-- source include/have_binlog_format_row.inc |
|||
-- source include/have_utf16.inc |
|||
|
|||
# |
|||
# BUG#51716: Char column with utf16 character set gives wrong padding on slave |
|||
# |
|||
|
|||
CREATE TABLE t1(c1 CHAR(10) CHARACTER SET utf16 DEFAULT 'ola'); |
|||
INSERT INTO t1 VALUES ('abc'); # explicit value is inserted and encoded correctly |
|||
INSERT INTO t1 VALUES (); # default value is inserted and encoded correctly |
|||
|
|||
-- echo #### ON MASTER |
|||
--query_vertical SELECT c1, hex(c1) from t1 |
|||
|
|||
-- sync_slave_with_master |
|||
|
|||
-- echo #### ON SLAVE |
|||
--query_vertical SELECT c1, hex(c1) FROM t1 |
|||
|
|||
# assertion: tables don't differ |
|||
-- let $diff_table_1=master:test.t1 |
|||
-- let $diff_table_2=slave:test.t1 |
|||
-- source include/diff_tables.inc |
|||
|
|||
DROP TABLE t1; |
|||
@ -0,0 +1,44 @@ |
|||
-- source include/master-slave.inc |
|||
-- source include/have_binlog_format_row.inc |
|||
-- source include/have_utf32.inc |
|||
|
|||
# |
|||
# BUG#51787 Assertion `(n % 4) == 0' on slave upon INSERT into a table with UTF32 |
|||
# |
|||
|
|||
SET SQL_LOG_BIN=0; |
|||
CREATE TABLE t1 (c1 char(255) DEFAULT NULL, KEY c1 (c1)) DEFAULT CHARSET=utf32; |
|||
SET SQL_LOG_BIN=1; |
|||
|
|||
-- connection slave |
|||
|
|||
SET @saved_slave_type_conversions= @@global.slave_type_conversions; |
|||
|
|||
# |
|||
# Force test to cover conversion execution path in the |
|||
# slave, which also makes use of sql_type method, thence |
|||
# can ultimately trigger the assertion. |
|||
# |
|||
-- source include/stop_slave.inc |
|||
SET GLOBAL SLAVE_TYPE_CONVERSIONS='ALL_NON_LOSSY'; |
|||
-- source include/start_slave.inc |
|||
|
|||
SET SQL_LOG_BIN=0; |
|||
CREATE TABLE t1 ( c1 varchar(255) DEFAULT NULL, KEY c1 (c1)) DEFAULT CHARSET=utf32; |
|||
SET SQL_LOG_BIN=1; |
|||
|
|||
-- connection master |
|||
|
|||
INSERT INTO t1(c1) VALUES ('insert into t1'); |
|||
DROP TABLE t1; |
|||
|
|||
--sync_slave_with_master |
|||
|
|||
# assertion: the slave woul hit an/several assertions: |
|||
# before and during slave conversion procedure |
|||
# Now that is fixed, it wont. |
|||
|
|||
SET GLOBAL SLAVE_TYPE_CONVERSIONS= @saved_slave_type_conversions; |
|||
-- source include/stop_slave.inc |
|||
-- source include/start_slave.inc |
|||
-- connection master |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue