mariadb/mysql-test/r/union.result
unknown 72dec69046 Removed wrong implementation of CUBE/ROLLUP
Fixed bugfix of INSERT ... SET db_name.table_name.column_name
Changed locking to external-locking
Fix client hangup for some invalid SQL queries.


Docs/manual.texi:
  Changelog & recent incompatible changes to 4.0.3
include/mysqld_error.h:
  New error messages
myisam/ft_boolean_search.c:
  Removed compiler warning
myisam/mi_check.c:
  Change mi_fix_rec_buff_for_blob to mi_alloc_rec_buff
myisam/mi_dynrec.c:
  Change mi_fix_rec_buff_for_blob to mi_alloc_rec_buff
myisam/mi_extra.c:
  Change mi_fix_rec_buff_for_blob to mi_alloc_rec_buff
myisam/mi_key.c:
  Change mi_fix_rec_buff_for_blob to mi_alloc_rec_buff
myisam/mi_open.c:
  Change mi_fix_rec_buff_for_blob to mi_alloc_rec_buff
myisam/mi_packrec.c:
  Change mi_fix_rec_buff_for_blob to mi_alloc_rec_buff
myisam/myisamdef.h:
  Change mi_fix_rec_buff_for_blob to mi_alloc_rec_buff
myisam/sort.c:
  Fixed uninitialized variable
mysql-test/r/insert_set.result:
  Change test case to use database foo
mysql-test/r/union.result:
  Test wrong usage of union
mysql-test/t/insert_set.test:
  Test bug in insert
mysql-test/t/union.test:
  Test wrong usage of union
sql/item.h:
  Indentation cleanup
sql/item_cmpfunc.h:
  Indentation cleanup
sql/item_func.h:
  Indentation cleanup
sql/item_strfunc.h:
  Indentation cleanup
sql/item_sum.h:
  Indentation cleanup
sql/item_timefunc.h:
  Indentation cleanup
sql/item_uniq.h:
  Indentation cleanup
sql/mysql_priv.h:
  Fix that we always generate an error message when calling YYABORT
sql/mysqld.cc:
  Changed command line arguments regarding locking to always use --external-locking
  Disable external locking by default
sql/procedure.h:
  Cleanup
sql/set_var.cc:
  change locking -> external_locking
sql/share/czech/errmsg.txt:
  New error messages
sql/share/danish/errmsg.txt:
  New error messages
sql/share/dutch/errmsg.txt:
  New error messages
sql/share/english/errmsg.txt:
  New error messages
sql/share/estonian/errmsg.txt:
  New error messages
sql/share/french/errmsg.txt:
  New error messages
sql/share/german/errmsg.txt:
  New error messages
sql/share/greek/errmsg.txt:
  New error messages
sql/share/hungarian/errmsg.txt:
  New error messages
sql/share/italian/errmsg.txt:
  New error messages
sql/share/japanese/errmsg.txt:
  New error messages
sql/share/korean/errmsg.txt:
  New error messages
mysql-test/r/olap.result:
  Removed CUBE/ROLLUP
mysql-test/t/olap.test:
  Removed CUBE/ROLLUP
sql/share/norwegian-ny/errmsg.txt:
  New error messages
sql/share/norwegian/errmsg.txt:
  New error messages
sql/share/polish/errmsg.txt:
  New error messages
sql/share/portuguese/errmsg.txt:
  New error messages
sql/share/romanian/errmsg.txt:
  New error messages
sql/share/russian/errmsg.txt:
  New error messages
sql/share/slovak/errmsg.txt:
  New error messages
sql/share/spanish/errmsg.txt:
  New error messages
sql/share/swedish/errmsg.txt:
  New error messages
sql/share/ukrainian/errmsg.txt:
  New error messages
sql/sql_base.cc:
  Removed wrong patch for INSERT...
sql/sql_insert.cc:
  Fix bug in INSERT ... SET db_name.table_name.column_name
sql/sql_lex.h:
  Changed NON_EXISTIONG_ONE -> UNSPECIFIED_OLAP_TYPE
sql/sql_olap.cc:
  Removed wrong implementation of CUBE/ROLLUP
sql/sql_parse.cc:
  Removed wrong implementation of CUBE/ROLLUP
  Added function to give better error messages
sql/sql_select.cc:
  Removed wrong implementation of CUBE/ROLLUP
sql/sql_union.cc:
  Added comment
sql/sql_yacc.yy:
  Fix that we always generate an error message when calling YYABORT
2002-07-24 19:55:08 +03:00

204 lines
5 KiB
Text

drop table if exists t1,t2,t3;
CREATE TABLE t1 (a int not null, b char (10) not null);
insert into t1 values(1,'a'),(2,'b'),(3,'c'),(3,'c');
CREATE TABLE t2 (a int not null, b char (10) not null);
insert into t2 values (3,'c'),(4,'d'),(5,'f'),(6,'e');
select a,b from t1 union select a,b from t2;
a b
1 a
2 b
3 c
4 d
5 f
6 e
select a,b from t1 union all select a,b from t2;
a b
1 a
2 b
3 c
3 c
3 c
4 d
5 f
6 e
select a,b from t1 union all select a,b from t2 order by b;
a b
1 a
2 b
3 c
3 c
3 c
4 d
6 e
5 f
select a,b from t1 union all select a,b from t2 union select 7,'g';
a b
1 a
2 b
3 c
3 c
3 c
4 d
5 f
6 e
7 g
select 0,'#' union select a,b from t1 union all select a,b from t2 union select 7,'gg';
0 #
0 #
1 a
2 b
3 c
3 c
3 c
4 d
5 f
6 e
7 g
select a,b from t1 union select a,b from t1;
a b
1 a
2 b
3 c
select 't1',b,count(*) from t1 group by b UNION select 't2',b,count(*) from t2 group by b;
t1 b count(*)
t1 a 1
t1 b 1
t1 c 2
t2 c 1
t2 d 1
t2 e 1
t2 f 1
(select a,b from t1 limit 2) union all (select a,b from t2 order by a) limit 4;
a b
1 a
2 b
3 c
4 d
(select a,b from t1 limit 2) union all (select a,b from t2 order by a limit 1);
a b
1 a
2 b
3 c
(select a,b from t1 limit 2) union all (select a,b from t2 order by a limit 1) order by b desc;
a b
3 c
2 b
1 a
explain (select a,b from t1 limit 2) union all (select a,b from t2 order by a limit 1) order by b desc;
table type possible_keys key key_len ref rows Extra
t1 ALL NULL NULL NULL NULL 4
t2 ALL NULL NULL NULL NULL 4 Using filesort
t1 ALL NULL NULL NULL NULL 4
(select sql_calc_found_rows a,b from t1 limit 2) union all (select a,b from t2 order by a) limit 2;
a b
1 a
2 b
select found_rows();
FOUND_ROWS()
6
explain select a,b from t1 union all select a,b from t2;
table type possible_keys key key_len ref rows Extra
t1 ALL NULL NULL NULL NULL 4
t2 ALL NULL NULL NULL NULL 4
explain select xx from t1 union select 1;
Unknown column 'xx' in 'field list'
explain select a,b from t1 union select 1;
table type possible_keys key key_len ref rows Extra
t1 ALL NULL NULL NULL NULL 4
0 0 No tables used
explain select 1 union select a,b from t1 union select 1;
table type possible_keys key key_len ref rows Extra
0 0 No tables used
t1 ALL NULL NULL NULL NULL 4
0 0 No tables used
explain select a,b from t1 union select 1 limit 0;
table type possible_keys key key_len ref rows Extra
t1 ALL NULL NULL NULL NULL 4
0 0 Impossible WHERE
select a,b from t1 into outfile 'skr' union select a,b from t2;
Wrong usage of UNION and INTO
select a,b from t1 order by a union select a,b from t2;
Wrong usage of UNION and ORDER BY
insert into t3 select a from t1 order by a union select a from t2;
Wrong usage of UNION and ORDER BY
create table t3 select a,b from t1 union select a from t2;
The used SELECT statements have a different number of columns
select a,b from t1 union select a from t2;
The used SELECT statements have a different number of columns
select * from t1 union select a from t2;
The used SELECT statements have a different number of columns
select a from t1 union select * from t2;
The used SELECT statements have a different number of columns
select * from t1 union select SQL_BUFFER_RESULT * from t2;
Wrong usage/placement of 'SQL_BUFFER_RESULT'
create table t3 select a,b from t1 union all select a,b from t2;
insert into t3 select a,b from t1 union all select a,b from t2;
replace into t3 select a,b as c from t1 union all select a,b from t2;
drop table t1,t2,t3;
CREATE TABLE t1 (
`pseudo` char(35) NOT NULL default '',
`pseudo1` char(35) NOT NULL default '',
`same` tinyint(1) unsigned NOT NULL default '1',
PRIMARY KEY (`pseudo1`),
KEY `pseudo` (`pseudo`)
) TYPE=MyISAM;
INSERT INTO t1 (pseudo,pseudo1,same) VALUES ('joce', 'testtt', 1),('joce', 'tsestset', 1),('dekad', 'joce', 1);
SELECT pseudo FROM t1 WHERE pseudo1='joce' UNION SELECT pseudo FROM t1 WHERE pseudo='joce';
pseudo
dekad
joce
SELECT pseudo1 FROM t1 WHERE pseudo1='joce' UNION SELECT pseudo1 FROM t1 WHERE pseudo='joce';
pseudo1
joce
testtt
tsestset
SELECT * FROM t1 WHERE pseudo1='joce' UNION SELECT * FROM t1 WHERE pseudo='joce' order by pseudo desc,pseudo1 desc;
pseudo pseudo1 same
joce tsestset 1
joce testtt 1
dekad joce 1
SELECT pseudo1 FROM t1 WHERE pseudo='joce' UNION SELECT pseudo FROM t1 WHERE pseudo1='joce';
pseudo1
testtt
tsestset
dekad
SELECT pseudo1 FROM t1 WHERE pseudo='joce' UNION ALL SELECT pseudo FROM t1 WHERE pseudo1='joce';
pseudo1
testtt
tsestset
dekad
SELECT pseudo1 FROM t1 WHERE pseudo='joce' UNION SELECT 1;
pseudo1
testtt
tsestset
1
drop table t1;
drop table if exists t1,t2;
create table t1 (a int);
create table t2 (a int);
insert into t1 values (1),(2),(3),(4),(5);
insert into t2 values (11),(12),(13),(14),(15);
(select * from t1 limit 2) union (select * from t2 limit 3) limit 4;
a
1
2
11
12
(select * from t1 limit 2) union (select * from t2 limit 3);
a
1
2
11
12
13
(select * from t1 limit 2) union (select * from t2 limit 20,3);
a
1
2
set SQL_SELECT_LIMIT=2;
(select * from t1 limit 1) union (select * from t2 limit 3);
a
1
11
set SQL_SELECT_LIMIT=DEFAULT;
drop table t1,t2;