Fix for BUG#51716 and BUG#51787: test case improvements.
Split rpl_row_charset into: - rpl_row_utf16. - rpl_row_utf32. This way these tests can run independently if server supports either one of the charsets but not both. Cleaned up rpl_row_utf32 which had a spurious instruction: -- let $reset_slave_type_conversions= 0
This commit is contained in:
parent
ade4977c1e
commit
092d50389e
23
mysql-test/suite/rpl/r/rpl_row_utf16.result
Normal file
23
mysql-test/suite/rpl/r/rpl_row_utf16.result
Normal file
@ -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;
|
@ -23,20 +23,3 @@ DROP TABLE t1;
|
|||||||
SET GLOBAL SLAVE_TYPE_CONVERSIONS= @saved_slave_type_conversions;
|
SET GLOBAL SLAVE_TYPE_CONVERSIONS= @saved_slave_type_conversions;
|
||||||
include/stop_slave.inc
|
include/stop_slave.inc
|
||||||
include/start_slave.inc
|
include/start_slave.inc
|
||||||
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;
|
|
26
mysql-test/suite/rpl/t/rpl_row_utf16.test
Normal file
26
mysql-test/suite/rpl/t/rpl_row_utf16.test
Normal file
@ -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;
|
@ -1,5 +1,6 @@
|
|||||||
-- source include/master-slave.inc
|
-- source include/master-slave.inc
|
||||||
-- source include/have_binlog_format_row.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
|
# BUG#51787 Assertion `(n % 4) == 0' on slave upon INSERT into a table with UTF32
|
||||||
@ -11,8 +12,6 @@ SET SQL_LOG_BIN=1;
|
|||||||
|
|
||||||
-- connection slave
|
-- connection slave
|
||||||
|
|
||||||
-- let $reset_slave_type_conversions= 0
|
|
||||||
|
|
||||||
SET @saved_slave_type_conversions= @@global.slave_type_conversions;
|
SET @saved_slave_type_conversions= @@global.slave_type_conversions;
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -43,26 +42,3 @@ SET GLOBAL SLAVE_TYPE_CONVERSIONS= @saved_slave_type_conversions;
|
|||||||
-- source include/stop_slave.inc
|
-- source include/stop_slave.inc
|
||||||
-- source include/start_slave.inc
|
-- source include/start_slave.inc
|
||||||
-- connection master
|
-- connection master
|
||||||
|
|
||||||
#
|
|
||||||
# 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;
|
|
Loading…
x
Reference in New Issue
Block a user