summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorunknown <guilhem@mysql.com>2005-11-19 15:56:55 +0100
committerunknown <guilhem@mysql.com>2005-11-19 15:56:55 +0100
commita93a2a90e6ca025eaa33ef133338052c112b20ec (patch)
tree45dfb219381babc86dce7da04164901590f67493
parent51972f1aead92b17338c87ac8a79380ae5cefe32 (diff)
downloadmariadb-git-a93a2a90e6ca025eaa33ef133338052c112b20ec.tar.gz
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).
-rw-r--r--mysql-test/r/ndb_charset.result20
-rw-r--r--mysql-test/t/ndb_charset.test15
-rw-r--r--sql/sql_acl.cc2
-rw-r--r--sql/sql_parse.cc2
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');
-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';
+) engine=ndb;
+insert into t1 values ('jonas % ');
+replace into t1 values ('jonas % ');
+replace into t1 values ('jonas % ');
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