CREATE TABLE t1 (s1 CHAR(5) COLLATE latin1_german2_ci);
INSERT INTO t1 VALUES ('Ü');
SELECT FIELD('ue',s1) FROM t1;
The above returned 0 in error.
Now 1 is returned.
CREATE TABLE t1 (s1 CHAR(5) CHARACTER SET latin1 COLLATE latin1_german2_ci);
INSERT INTO t1 VALUES ('Ü');
INSERT INTO t1 VALUES ('ue');
SELECT DISTINCT s1 FROM t1;
The above returned two rows in error.
Now it returns one row, in latin1_german2_ci: Ü == ue
produced an error. This led to server crash in some cases, e.g.:
create table t7 (s1 char);
select * from t7
where concat(s1 collate latin1_general_ci,s1 collate latin1_swedish_ci)
= 'AA';
- Bug #985: "Between RESET SLAVE and START SLAVE, SHOW SLAVE STATUS is wrong."
Now RESET SLAVE puts correct info in mi->host etc. A new test rpl_reset_slave
for that.
- Bug #986: "CHANGE MASTER & START SLAVE do not reset error columns in SHOW
SLAVE STATUS". Now these reset the errors.
replicate-*-table rules which exclude 'mysql' tables
(e.g. replicate-wild-ignore-table=mysql.%).
This was already the behaviour for GRANT/REVOKE, I'm extending it to
SET PASSWORD because it seems very logical (the contrary seems illogical).
2 new tests:
- one to test if GRANT and SET PASSWORD are replicated
- one to test if they are not replicated if replicate-wild-ignore-table=mysql.%
The 2nd is also a testcase for BUG#980.
by MAX/MIN in some cases:
SELECT coercibility(max(s1)) from t1;
Subselect collation and derivation was not processed
correctly:
create table a select (select s1 from t1);
select * from t1 where s1 = (select s2 from t1);
have in fact no effect, because in 4.0 the slave always runs with --skip-innodb.
In 4.1, mysqld accepts option --innodb which can override --skip-innodb.
So I add this option to the test.
When the updated test (using InnoDB tables) from 4.0 will be merged
into 4.1, with this good .opt file, we'll have a meaningful test in 4.1.
Until then, the test in 4.1 will pass but be useless.
And in 4.0, it will stay useless forever.
("it" = the part of the test which tests replication of foreign_key_checks)
This is to avoid a test failure, which is fixed in 4.0 in
ChangeSet@1.1455.34.1, 2003-06-10 23:29:49+02:00, guilhem@mysql.com
by making RESET SLAVE reset the error.
and other replicate-*-table options in SHOW SLAVE STATUS.
Seems like it had not been done, so I push it now:
there's 4 new columns to SHOW SLAVE STATUS.