Skip to content

Commit 64626a2

Browse files
author
tomas@whalegate.ndb.mysql.com
committed
Merge whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-new-ndb
into whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-telco-6.2
2 parents e4f0d92 + a3c733c commit 64626a2

16 files changed

+87
-16
lines changed

mysql-test/lib/mtr_cases.pl

+1
Original file line numberDiff line numberDiff line change
@@ -611,6 +611,7 @@ ($$$$$$$)
611611
["include/big_test.inc", "big_test", 1],
612612
["include/have_debug.inc", "need_debug", 1],
613613
["include/have_ndb.inc", "ndb_test", 1],
614+
["include/have_multi_ndb.inc", "ndb_test", 1],
614615
["include/have_ndb_extra.inc", "ndb_extra", 1],
615616
["require_manager", "require_manager", 1],
616617
);
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
show variables like 'collation_server';
2+
Variable_name Value
3+
collation_server ucs2_unicode_ci
4+
show variables like "%character_set_ser%";
5+
Variable_name Value
6+
character_set_server ucs2
7+
DROP TABLE IF EXISTS t1;
8+
create table t1 (a int);
9+
drop table t1;

mysql-test/t/disabled.def

+1
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ rpl_ndb_innodb2ndb : Bug #19710 Cluster replication to partition table fa
3232
rpl_ndb_myisam2ndb : Bug #19710 Cluster replication to partition table fails on DELETE FROM statement
3333
rpl_row_blob_innodb : BUG#18980 2006-04-10 kent Test fails randomly
3434
synchronization : Bug#24529 Test 'synchronization' fails on Mac pushbuild; Also on Linux 64 bit.
35+
rpl_ndb_ctype_ucs2_def : BUG#27404 util thd mysql_parse sig11 when mysqld default multibyte charset
3536

3637
# the below testcase have been reworked to avoid the bug, test contains comment, keep bug open
3738
#ndb_binlog_ddl_multi : BUG#18976 2006-04-10 kent CRBR: multiple binlog, second binlog may miss schema log events

mysql-test/t/ndb_alter_table.test

-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
-- source include/have_ndb.inc
21
-- source include/have_multi_ndb.inc
32
-- source include/not_embedded.inc
43

mysql-test/t/ndb_alter_table2.test

-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
-- source include/have_ndb.inc
21
-- source include/have_multi_ndb.inc
32
-- source include/not_embedded.inc
43

mysql-test/t/ndb_alter_table3.test

-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
-- source include/have_ndb.inc
21
-- source include/have_multi_ndb.inc
32
-- source include/not_embedded.inc
43

mysql-test/t/ndb_autodiscover3.test

+25-7
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
-- source include/have_ndb.inc
21
-- source include/have_multi_ndb.inc
32
-- source include/ndb_default_cluster.inc
43
-- source include/not_embedded.inc
@@ -10,6 +9,9 @@
109
drop table if exists t1, t2;
1110
--enable_warnings
1211

12+
connect (con1,127.0.0.1,root,,test,$MASTER_MYPORT,);
13+
connect (con2,127.0.0.1,root,,test,$MASTER_MYPORT1,);
14+
1315
# Workaround for Bug#27644
1416
# ndb: connecting api node/mysqld may "steal" node_id from running mysqld
1517
# - let ndb_waiter use a fixed node id so "steal" cannot happen
@@ -27,8 +29,14 @@ insert into t1 values (1);
2729
--exec $NDB_MGM --no-defaults -e "all restart" >> $NDB_TOOLS_OUTPUT
2830
--exec $NDB_TOOLS_DIR/ndb_waiter --no-defaults -c $connect_str >> $NDB_TOOLS_OUTPUT
2931
# Wait for mysqld to reconnect and exit from readonly mode
30-
# Should preferrably be a "while (!"select ndb_readonly")" loop
31-
sleep 2;
32+
--disable_query_log
33+
--connection con1
34+
--source include/ndb_not_readonly.inc
35+
--connection con2
36+
--source include/ndb_not_readonly.inc
37+
--enable_query_log
38+
39+
--connection server1
3240
--error 1297
3341
insert into t1 values (2);
3442
--error 1296
@@ -47,8 +55,13 @@ select * from t2 order by a limit 3;
4755
--exec $NDB_MGM --no-defaults -e "all restart -i" >> $NDB_TOOLS_OUTPUT
4856
--exec $NDB_TOOLS_DIR/ndb_waiter --no-defaults -c $connect_str >> $NDB_TOOLS_OUTPUT
4957
# to ensure mysqld has connected again, and recreated system tables
50-
--exec $NDB_TOOLS_DIR/ndb_desc --no-defaults -r 30 -d cluster ndb_apply_status >> $NDB_TOOLS_OUTPUT
51-
sleep 2;
58+
--disable_query_log
59+
--connection con1
60+
--source include/ndb_not_readonly.inc
61+
--connection con2
62+
--source include/ndb_not_readonly.inc
63+
--enable_query_log
64+
5265
--connection server2
5366
--error ER_NO_SUCH_TABLE
5467
select * from t2;
@@ -66,8 +79,13 @@ reset master;
6679
--exec $NDB_MGM --no-defaults -e "all restart -i" >> $NDB_TOOLS_OUTPUT
6780
--exec $NDB_TOOLS_DIR/ndb_waiter --no-defaults -c $connect_str >> $NDB_TOOLS_OUTPUT
6881
# to ensure mysqld has connected again, and recreated system tables
69-
--exec $NDB_TOOLS_DIR/ndb_desc --no-defaults -r 30 -d cluster ndb_apply_status >> $NDB_TOOLS_OUTPUT
70-
sleep 2;
82+
--disable_query_log
83+
--connection con1
84+
--source include/ndb_not_readonly.inc
85+
--connection con2
86+
--source include/ndb_not_readonly.inc
87+
--enable_query_log
88+
7189
--connection server1
7290
--error ER_NO_SUCH_TABLE
7391
select * from t2;

mysql-test/t/ndb_binlog_ddl_multi.test

-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
-- source include/have_ndb.inc
21
-- source include/have_multi_ndb.inc
32
-- source include/have_binlog_format_row.inc
43

mysql-test/t/ndb_binlog_log_bin.test

-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
-- source include/have_ndb.inc
21
-- source include/have_multi_ndb.inc
32
-- source include/have_binlog_format_row.inc
43

mysql-test/t/ndb_binlog_multi.test

-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
-- source include/have_ndb.inc
21
-- source include/have_multi_ndb.inc
32
-- source include/have_binlog_format_row.inc
43

mysql-test/t/ndb_cache_multi.test

-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
-- source include/have_query_cache.inc
2-
-- source include/have_ndb.inc
32
-- source include/have_multi_ndb.inc
43
-- source include/not_embedded.inc
54

mysql-test/t/ndb_cache_multi2.test

-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
-- source include/have_query_cache.inc
2-
-- source include/have_ndb.inc
32
-- source include/have_multi_ndb.inc
43
-- source include/not_embedded.inc
54

mysql-test/t/ndb_single_user.test

-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
-- source include/have_ndb.inc
21
-- source include/have_multi_ndb.inc
32
-- source include/ndb_default_cluster.inc
43
-- source include/not_embedded.inc
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
--default-collation=ucs2_unicode_ci --default-character-set=ucs2,latin1
+42
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
--source include/have_ucs2.inc
2+
--source include/have_ndb.inc
3+
--source include/ndb_master-slave.inc
4+
5+
#
6+
# MySQL Bug#15276: MySQL ignores collation-server
7+
#
8+
show variables like 'collation_server';
9+
10+
#
11+
# Check that NDB replication doesn't explode with default charset
12+
# being multibyte.
13+
#
14+
# Theorised that this could be a problem when dealing with:
15+
# Bug #27404 util thd mysql_parse sig11 when mysqld default multibyte charset
16+
#
17+
# Sort of related to:
18+
# Bug#18004 Connecting crashes server when default charset is UCS2
19+
#
20+
#
21+
show variables like "%character_set_ser%";
22+
--disable_warnings
23+
DROP TABLE IF EXISTS t1;
24+
--enable_warnings
25+
create table t1 (a int) ENGINE=NDB;
26+
drop table t1;
27+
28+
--connection master
29+
CREATE TABLE `t1` ( `nid` int(11) NOT NULL default '0',
30+
`nom` char(4) default NULL,
31+
`prenom` char(4) default NULL,
32+
PRIMARY KEY (`nid`))
33+
ENGINE=ndbcluster;
34+
35+
INSERT INTO t1 VALUES(1,"XYZ1","ABC1");
36+
select * from t1 order by nid;
37+
38+
--sync_slave_with_master
39+
# connect to slave and ensure data it there.
40+
--connection slave
41+
select * from t1 order by nid;
42+

sql/ha_ndbcluster.cc

+8
Original file line numberDiff line numberDiff line change
@@ -9895,6 +9895,14 @@ pthread_handler_t ndb_util_thread_func(void *arg __attribute__((unused)))
98959895
thd->main_security_ctx.priv_user = 0;
98969896
thd->current_stmt_binlog_row_based= TRUE; // If in mixed mode
98979897

9898+
CHARSET_INFO *charset_connection;
9899+
charset_connection= get_charset_by_csname("utf8",
9900+
MY_CS_PRIMARY, MYF(MY_WME));
9901+
thd->variables.character_set_client= charset_connection;
9902+
thd->variables.character_set_results= charset_connection;
9903+
thd->variables.collation_connection= charset_connection;
9904+
thd->update_charset();
9905+
98989906
/* Signal successful initialization */
98999907
ndb_util_thread_running= 1;
99009908
pthread_cond_signal(&COND_ndb_util_ready);

0 commit comments

Comments
 (0)