mirror of
https://github.com/MariaDB/server.git
synced 2025-08-01 03:47:19 +03:00
merge with 4.1
BitKeeper/etc/ignore: auto-union BitKeeper/etc/logging_ok: auto-union BitKeeper/triggers/post-commit: Auto merged Docs/Support/texi2html: Auto merged Makefile.am: Auto merged client/Makefile.am: Auto merged client/mysql.cc: Auto merged client/mysqldump.c: Auto merged include/my_base.h: Auto merged include/my_global.h: Auto merged include/my_pthread.h: Auto merged include/my_sys.h: Auto merged include/my_time.h: Auto merged include/mysql.h: Auto merged include/mysql_com.h: Auto merged innobase/buf/buf0buf.c: Auto merged innobase/include/row0mysql.h: Auto merged innobase/row/row0sel.c: Auto merged libmysql/libmysql.c: Auto merged libmysqld/examples/Makefile.am: Auto merged myisam/mi_check.c: Auto merged mysql-test/include/ps_modify.inc: Auto merged mysql-test/install_test_db.sh: Auto merged mysql-test/r/alter_table.result: Auto merged mysql-test/r/auto_increment.result: Auto merged mysql-test/r/bdb.result: Auto merged mysql-test/r/ctype_latin1_de.result: Auto merged mysql-test/r/ctype_recoding.result: Auto merged mysql-test/r/fulltext.result: Auto merged mysql-test/r/func_gconcat.result: Auto merged mysql-test/r/func_group.result: Auto merged mysql-test/r/func_if.result: Auto merged mysql-test/t/derived.test: Auto merged mysql-test/t/insert.test: merge with 4.1 Fixed test case to not use 'if exists' when it shouldn't mysql-test/t/range.test: merge with 4.1 Added missing drop table sql/ha_ndbcluster.cc: merge with 4.1 Simple optimization: use max() instead of ? : sql/item_func.cc: merge with 4.1 (Added back old variable names for easier merges) sql/opt_range.cc: merge with 4.1 Removed argument 'parent_alloc' from QUICK_RANGE_SELECT as this was not used Added assert if using QUICK_GROUP_MIN_MAX_SELECT with parent_alloc as the init() function can't handle this Changed back get_quick_select_for_ref() to use it's own alloc root becasue this function may be called several times for one query sql/sql_handler.cc: merge with 4.1 change variable 'err' to 'error' as same function had a label named 'err' sql/sql_update.cc: Use multi-update code from 5.0 instead of 4.1 We will fix the locking code shortly in 5.0 to be faster than in 4.1
This commit is contained in:
@ -996,3 +996,118 @@ PARTITIONED_B WHERE PARTITIONED_B.ID=PARTITIONED.ID1) UNION
|
||||
PARTITIONED_B WHERE PARTITIONED_B.ID=PARTITIONED.ID1);
|
||||
ID1 ID2 DATA1 DATA2 DATA3 ID DATA1
|
||||
drop table t1,t2;
|
||||
create table t1 (a ENUM('Yes', 'No') NOT NULL);
|
||||
create table t2 (a ENUM('aaa', 'bbb') NOT NULL);
|
||||
insert into t1 values ('No');
|
||||
insert into t2 values ('bbb');
|
||||
create table t3 (a SET('Yes', 'No') NOT NULL);
|
||||
create table t4 (a SET('aaa', 'bbb') NOT NULL);
|
||||
insert into t3 values (1);
|
||||
insert into t4 values (3);
|
||||
select "1" as a union select a from t1;
|
||||
a
|
||||
1
|
||||
No
|
||||
select a as a from t1 union select "1";
|
||||
a
|
||||
No
|
||||
1
|
||||
select a as a from t2 union select a from t1;
|
||||
a
|
||||
bbb
|
||||
No
|
||||
select "1" as a union select a from t3;
|
||||
a
|
||||
1
|
||||
Yes
|
||||
select a as a from t3 union select "1";
|
||||
a
|
||||
Yes
|
||||
1
|
||||
select a as a from t4 union select a from t3;
|
||||
a
|
||||
aaa,bbb
|
||||
Yes
|
||||
select a as a from t1 union select a from t4;
|
||||
a
|
||||
No
|
||||
aaa,bbb
|
||||
drop table t1,t2,t3,t4;
|
||||
create table t1 as
|
||||
(select _latin1'test') union
|
||||
(select _latin1'TEST') union
|
||||
(select _latin1'TeST');
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`test` char(4) NOT NULL default ''
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
select count(*) from t1;
|
||||
count(*)
|
||||
1
|
||||
drop table t1;
|
||||
create table t1 as
|
||||
(select _latin1'test' collate latin1_bin) union
|
||||
(select _latin1'TEST') union
|
||||
(select _latin1'TeST');
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`_latin1'test' collate latin1_bin` char(4) character set latin1 collate latin1_bin NOT NULL default ''
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
select count(*) from t1;
|
||||
count(*)
|
||||
3
|
||||
drop table t1;
|
||||
create table t1 as
|
||||
(select _latin1'test') union
|
||||
(select _latin1'TEST' collate latin1_bin) union
|
||||
(select _latin1'TeST');
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`test` char(4) character set latin1 collate latin1_bin NOT NULL default ''
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
select count(*) from t1;
|
||||
count(*)
|
||||
3
|
||||
drop table t1;
|
||||
create table t1 as
|
||||
(select _latin1'test') union
|
||||
(select _latin1'TEST') union
|
||||
(select _latin1'TeST' collate latin1_bin);
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`test` char(4) character set latin1 collate latin1_bin NOT NULL default ''
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
select count(*) from t1;
|
||||
count(*)
|
||||
3
|
||||
drop table t1;
|
||||
create table t2 (
|
||||
a char character set latin1 collate latin1_swedish_ci,
|
||||
b char character set latin1 collate latin1_bin);
|
||||
create table t1 as
|
||||
(select a from t2) union
|
||||
(select b from t2);
|
||||
ERROR HY000: Illegal mix of collations for operation 'UNION'
|
||||
create table t1 as
|
||||
(select a collate latin1_german1_ci from t2) union
|
||||
(select b from t2);
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`a collate latin1_german1_ci` char(1) character set latin1 collate latin1_german1_ci default NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
drop table t1;
|
||||
create table t1 as
|
||||
(select a from t2) union
|
||||
(select b collate latin1_german1_ci from t2);
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`a` char(1) character set latin1 collate latin1_german1_ci default NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
drop table t1;
|
||||
drop table t2;
|
||||
|
Reference in New Issue
Block a user