The above query created a field of koi8r charset, not cp1251
Change:
CREATE TABLE a (a CHAR(1) CHARACTER SET utf8)
Length now means character length, not byte length.
The above creates a field that guarantees can store a multibyte value
1 character long. For utf8 the above creates a field that can store
3 bytes.
Code clean-up
sql_union.cc, union.test, union.result:
A fix for a bug #978.
This enables that NULL's can be entered into UNION's result set,
although first SELECT columns are NOT NULL.
This is also a start of fixing UNION's properly regarding type
acceptance.
sql_select.cc:
A commit for my second July SPRINT task
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';
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.