From a93a2a90e6ca025eaa33ef133338052c112b20ec Mon Sep 17 00:00:00 2001 From: unknown Date: Sat, 19 Nov 2005 15:56:55 +0100 Subject: [PATCH] Fix after merge of 5.0 into 5.1. Failed tests before merge: bdb-deadlock, ndb_cache2, ndb_multi2, ps_6bdb (this one fails circa once over 4 runs). After the merge: the same PLUS mysql_client_test&sp (due to problem in fix of BUG#14845 which has also been noticed in 5.0 too and Konstantin is looking at it) PLUS mysqlcheck (just consequence of mysql_client_test). And a replication bugfix (thd->spcont must be taken into account when calling tables_ok(), as in 5.0, and so some brackets were missing which changed one test). Pekka will look at the NDB code where I just used "ul": ndb_charset test, and storage/ndb/src/kernel/vm/SimulatedBlock.cpp and storage/ndb/src/kernel/blocks/dbtup/DbtupRoutines.cpp (SimulatedBlock.hpp automerged); please also check storage/ndb/src/ndbapi/NdbRecAttr.cpp. Petr please check ha_tina.cc. mysql-test/r/ndb_charset.result: "ul" in merge (Pekka please fix) mysql-test/t/ndb_charset.test: "ul" in merge (Pekka please fix) sql/sql_acl.cc: missing () sql/sql_parse.cc: If thd->spcont is true, always replicate (as in 5.0) (bad old merge probably). --- mysql-test/r/ndb_charset.result | 20 +++++--------------- mysql-test/t/ndb_charset.test | 15 +++++---------- sql/sql_acl.cc | 2 +- sql/sql_parse.cc | 2 +- 4 files changed, 12 insertions(+), 27 deletions(-) diff --git a/mysql-test/r/ndb_charset.result b/mysql-test/r/ndb_charset.result index b1f8190f0ca..32843fd7731 100644 --- a/mysql-test/r/ndb_charset.result +++ b/mysql-test/r/ndb_charset.result @@ -306,21 +306,11 @@ count(*) drop table t1; create table t1 ( a char(10) primary key -) engine=ndbcluster default charset=latin1; -insert into t1 values ('aaabb'); +) engine=ndb; +insert into t1 values ('jonas % '); +replace into t1 values ('jonas % '); +replace into t1 values ('jonas % '); select * from t1; a -aaabb -replace into t1 set a = 'AAABB'; -select * from t1; -a -AAABB -replace into t1 set a = 'aAaBb'; -select * from t1; -a -aAaBb -replace into t1 set a = 'aaabb'; -select * from t1; -a -aaabb +jonas % drop table t1; diff --git a/mysql-test/t/ndb_charset.test b/mysql-test/t/ndb_charset.test index 5941e5750db..fb43e1831f3 100644 --- a/mysql-test/t/ndb_charset.test +++ b/mysql-test/t/ndb_charset.test @@ -237,18 +237,13 @@ drop table t1; #select a,b,length(a),length(b) from t1 where a='c' and b='c'; #drop table t1; -# bug#14007 +# bug create table t1 ( a char(10) primary key -) engine=ndbcluster default charset=latin1; - -insert into t1 values ('aaabb'); -select * from t1; -replace into t1 set a = 'AAABB'; -select * from t1; -replace into t1 set a = 'aAaBb'; -select * from t1; -replace into t1 set a = 'aaabb'; +) engine=ndb; +insert into t1 values ('jonas % '); +replace into t1 values ('jonas % '); +replace into t1 values ('jonas % '); select * from t1; drop table t1; diff --git a/sql/sql_acl.cc b/sql/sql_acl.cc index 8fcc28c0588..a84889858db 100644 --- a/sql/sql_acl.cc +++ b/sql/sql_acl.cc @@ -1427,7 +1427,7 @@ bool change_password(THD *thd, const char *host, const char *user, */ tables.updating= 1; /* Thanks to bzero, tables.next==0 */ - if (!thd->spcont || rpl_filter->tables_ok(0, &tables)) + if (!(thd->spcont || rpl_filter->tables_ok(0, &tables))) DBUG_RETURN(0); } #endif diff --git a/sql/sql_parse.cc b/sql/sql_parse.cc index 26b9e2d1718..cb2efe43615 100644 --- a/sql/sql_parse.cc +++ b/sql/sql_parse.cc @@ -182,7 +182,7 @@ static bool begin_trans(THD *thd) */ inline bool all_tables_not_ok(THD *thd, TABLE_LIST *tables) { - return rpl_filter->is_on() && tables && + return rpl_filter->is_on() && tables && !thd->spcont && !rpl_filter->tables_ok(thd->db, tables); } #endif