mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
merge
mysql-test/t/subselect.test: Auto merged sql/item_cmpfunc.cc: Auto merged sql/item_cmpfunc.h: Auto merged sql/item_func.cc: Auto merged sql/sql_select.cc: Auto merged
This commit is contained in:
@ -1,6 +1,4 @@
|
||||
drop table if exists t1;
|
||||
Warnings:
|
||||
Note 1051 Unknown table 't1'
|
||||
drop table if exists t1, t2;
|
||||
create table t1 (grp int, a bigint unsigned, c char(10) not null, d char(10) not null);
|
||||
insert into t1 values (1,1,"a","a");
|
||||
insert into t1 values (2,2,"b","a");
|
||||
@ -155,25 +153,28 @@ show warnings;
|
||||
Level Code Message
|
||||
Warning 1258 1 line(s) was(were) cut by group_concat()
|
||||
set group_concat_max_len = 1024;
|
||||
drop table if exists T_URL;
|
||||
Warnings:
|
||||
Note 1051 Unknown table 'T_URL'
|
||||
create table T_URL ( URL_ID int(11), URL varchar(80));
|
||||
drop table if exists T_REQUEST;
|
||||
Warnings:
|
||||
Note 1051 Unknown table 'T_REQUEST'
|
||||
create table T_REQUEST ( REQ_ID int(11), URL_ID int(11));
|
||||
insert into T_URL values (4,'www.host.com'), (5,'www.google.com'),(5,'www.help.com');
|
||||
insert into T_REQUEST values (1,4), (5,4), (5,5);
|
||||
select REQ_ID, Group_Concat(URL) as URL from T_URL, T_REQUEST where
|
||||
T_REQUEST.URL_ID = T_URL.URL_ID group by REQ_ID;
|
||||
REQ_ID URL
|
||||
1 www.host.com
|
||||
5 www.google.com,www.help.com,www.host.com
|
||||
drop table T_URL;
|
||||
drop table T_REQUEST;
|
||||
select group_concat(sum(a)) from t1 group by grp;
|
||||
ERROR HY000: Invalid use of group function
|
||||
select grp,group_concat(c order by 2) from t1 group by grp;
|
||||
ERROR 42S22: Unknown column '2' in 'group statement'
|
||||
drop table t1;
|
||||
create table t1 ( URL_ID int(11), URL varchar(80));
|
||||
create table t2 ( REQ_ID int(11), URL_ID int(11));
|
||||
insert into t1 values (4,'www.host.com'), (5,'www.google.com'),(5,'www.help.com');
|
||||
insert into t2 values (1,4), (5,4), (5,5);
|
||||
select REQ_ID, Group_Concat(URL) as URL from t1, t2 where
|
||||
t2.URL_ID = t1.URL_ID group by REQ_ID;
|
||||
REQ_ID URL
|
||||
1 X
|
||||
5 X,X,X
|
||||
drop table t1;
|
||||
drop table t2;
|
||||
create table t1 (id int, name varchar(16));
|
||||
insert into t1 values (1,'longername'),(1,'evenlongername');
|
||||
select ifnull(group_concat(concat(t1.id, ':', t1.name)), 'shortname') as 'without distinct: how it should be' from t1;
|
||||
without distinct: how it should be
|
||||
1:longername,1:evenlongername
|
||||
select distinct ifnull(group_concat(concat(t1.id, ':', t1.name)), 'shortname') as 'with distinct: cutoff at length of shortname' from t1;
|
||||
with distinct: cutoff at length of shortname
|
||||
1:longername,1:evenlongername
|
||||
drop table t1;
|
||||
|
@ -1,4 +1,5 @@
|
||||
drop table if exists t1;
|
||||
set names latin1;
|
||||
select 'hello',"'hello'",'""hello""','''h''e''l''l''o''',"hel""lo",'hel\'lo';
|
||||
hello 'hello' ""hello"" 'h'e'l'l'o' hel"lo hel'lo
|
||||
hello 'hello' ""hello"" 'h'e'l'l'o' hel"lo hel'lo
|
||||
@ -249,6 +250,59 @@ INSERT INTO t1 VALUES (1, 'a545f661efdd1fb66fdee3aab79945bf');
|
||||
SELECT 1 FROM t1 WHERE tmp=AES_DECRYPT(tmp,"password");
|
||||
1
|
||||
DROP TABLE t1;
|
||||
select 1=_latin1'1';
|
||||
1=_latin1'1'
|
||||
1
|
||||
select _latin1'1'=1;
|
||||
_latin1'1'=1
|
||||
1
|
||||
select _latin2'1'=1;
|
||||
_latin2'1'=1
|
||||
1
|
||||
select 1=_latin2'1';
|
||||
1=_latin2'1'
|
||||
1
|
||||
select _latin1'1'=_latin2'1';
|
||||
ERROR HY000: Illegal mix of collations (latin1_swedish_ci,COERCIBLE) and (latin2_general_ci,COERCIBLE) for operation '='
|
||||
select row('a','b','c') = row('a','b','c');
|
||||
row('a','b','c') = row('a','b','c')
|
||||
1
|
||||
select row('A','b','c') = row('a','b','c');
|
||||
row('A','b','c') = row('a','b','c')
|
||||
1
|
||||
select row('A' COLLATE latin1_bin,'b','c') = row('a','b','c');
|
||||
row('A' COLLATE latin1_bin,'b','c') = row('a','b','c')
|
||||
0
|
||||
select row('A','b','c') = row('a' COLLATE latin1_bin,'b','c');
|
||||
row('A','b','c') = row('a' COLLATE latin1_bin,'b','c')
|
||||
0
|
||||
select row('A' COLLATE latin1_general_ci,'b','c') = row('a' COLLATE latin1_bin,'b','c');
|
||||
ERROR HY000: Illegal mix of collations (latin1_general_ci,EXPLICIT) and (latin1_bin,EXPLICIT) for operation '='
|
||||
select concat(_latin1'a',_latin2'a');
|
||||
ERROR HY000: Illegal mix of collations (latin1_swedish_ci,COERCIBLE) and (latin2_general_ci,COERCIBLE) for operation 'concat'
|
||||
select concat(_latin1'a',_latin2'a',_latin5'a');
|
||||
ERROR HY000: Illegal mix of collations (latin1_swedish_ci,COERCIBLE), (latin2_general_ci,COERCIBLE), (latin5_turkish_ci,COERCIBLE) for operation 'concat'
|
||||
select concat(_latin1'a',_latin2'a',_latin5'a',_latin7'a');
|
||||
ERROR HY000: Illegal mix of collations for operation 'concat'
|
||||
select FIELD('b','A','B');
|
||||
FIELD('b','A','B')
|
||||
2
|
||||
select FIELD('B','A','B');
|
||||
FIELD('B','A','B')
|
||||
2
|
||||
select FIELD('b' COLLATE latin1_bin,'A','B');
|
||||
FIELD('b' COLLATE latin1_bin,'A','B')
|
||||
0
|
||||
select FIELD('b','A' COLLATE latin1_bin,'B');
|
||||
FIELD('b','A' COLLATE latin1_bin,'B')
|
||||
0
|
||||
select FIELD(_latin2'b','A','B');
|
||||
ERROR HY000: Illegal mix of collations for operation 'field'
|
||||
select FIELD('b',_latin2'A','B');
|
||||
ERROR HY000: Illegal mix of collations for operation 'field'
|
||||
select FIELD('b',_latin2'A','B',1);
|
||||
FIELD('b',_latin2'A','B',1)
|
||||
1
|
||||
select POSITION(_latin1'B' IN _latin1'abcd');
|
||||
POSITION(_latin1'B' IN _latin1'abcd')
|
||||
2
|
||||
|
@ -148,3 +148,22 @@ alter table t1 type=MyISAM;
|
||||
handler t2 read first;
|
||||
ERROR 42S02: Unknown table 't2' in HANDLER
|
||||
drop table t1;
|
||||
create table t1 (a int);
|
||||
insert into t1 values (1),(2),(3),(4),(5),(6);
|
||||
delete from t1 limit 2;
|
||||
handler t1 open;
|
||||
handler t1 read first;
|
||||
a
|
||||
3
|
||||
handler t1 read first limit 1,1;
|
||||
a
|
||||
4
|
||||
handler t1 read first limit 2,2;
|
||||
a
|
||||
5
|
||||
6
|
||||
delete from t1 limit 3;
|
||||
handler t1 read first;
|
||||
a
|
||||
6
|
||||
drop table t1;
|
||||
|
@ -1,8 +1,10 @@
|
||||
#
|
||||
# simple test of group_concat function
|
||||
#
|
||||
--disable_warnings
|
||||
drop table if exists t1, t2;
|
||||
--enable_warnings
|
||||
|
||||
drop table if exists t1;
|
||||
create table t1 (grp int, a bigint unsigned, c char(10) not null, d char(10) not null);
|
||||
insert into t1 values (1,1,"a","a");
|
||||
insert into t1 values (2,2,"b","a");
|
||||
@ -70,19 +72,6 @@ select grp,group_concat(c) from t1 group by grp;
|
||||
show warnings;
|
||||
set group_concat_max_len = 1024;
|
||||
|
||||
# Test variable length
|
||||
|
||||
drop table if exists T_URL;
|
||||
create table T_URL ( URL_ID int(11), URL varchar(80));
|
||||
drop table if exists T_REQUEST;
|
||||
create table T_REQUEST ( REQ_ID int(11), URL_ID int(11));
|
||||
insert into T_URL values (4,'www.host.com'), (5,'www.google.com'),(5,'www.help.com');
|
||||
insert into T_REQUEST values (1,4), (5,4), (5,5);
|
||||
select REQ_ID, Group_Concat(URL) as URL from T_URL, T_REQUEST where
|
||||
T_REQUEST.URL_ID = T_URL.URL_ID group by REQ_ID;
|
||||
drop table T_URL;
|
||||
drop table T_REQUEST;
|
||||
|
||||
# Test errors
|
||||
|
||||
--error 1111
|
||||
@ -91,3 +80,22 @@ select group_concat(sum(a)) from t1 group by grp;
|
||||
select grp,group_concat(c order by 2) from t1 group by grp;
|
||||
|
||||
drop table t1;
|
||||
|
||||
# Test variable length
|
||||
|
||||
create table t1 ( URL_ID int(11), URL varchar(80));
|
||||
create table t2 ( REQ_ID int(11), URL_ID int(11));
|
||||
insert into t1 values (4,'www.host.com'), (5,'www.google.com'),(5,'www.help.com');
|
||||
insert into t2 values (1,4), (5,4), (5,5);
|
||||
# Make this order independent
|
||||
--replace_result www.help.com X www.host.com X www.google.com X
|
||||
select REQ_ID, Group_Concat(URL) as URL from t1, t2 where
|
||||
t2.URL_ID = t1.URL_ID group by REQ_ID;
|
||||
drop table t1;
|
||||
drop table t2;
|
||||
|
||||
create table t1 (id int, name varchar(16));
|
||||
insert into t1 values (1,'longername'),(1,'evenlongername');
|
||||
select ifnull(group_concat(concat(t1.id, ':', t1.name)), 'shortname') as 'without distinct: how it should be' from t1;
|
||||
select distinct ifnull(group_concat(concat(t1.id, ':', t1.name)), 'shortname') as 'with distinct: cutoff at length of shortname' from t1;
|
||||
drop table t1;
|
||||
|
@ -8,6 +8,8 @@
|
||||
drop table if exists t1;
|
||||
--enable_warnings
|
||||
|
||||
set names latin1;
|
||||
|
||||
select 'hello',"'hello'",'""hello""','''h''e''l''l''o''',"hel""lo",'hel\'lo';
|
||||
select 'hello' 'monty';
|
||||
select length('\n\t\r\b\0\_\%\\');
|
||||
@ -136,6 +138,42 @@ DROP TABLE t1;
|
||||
#
|
||||
# Test collation and coercibility
|
||||
#
|
||||
|
||||
select 1=_latin1'1';
|
||||
select _latin1'1'=1;
|
||||
select _latin2'1'=1;
|
||||
select 1=_latin2'1';
|
||||
--error 1265
|
||||
select _latin1'1'=_latin2'1';
|
||||
select row('a','b','c') = row('a','b','c');
|
||||
select row('A','b','c') = row('a','b','c');
|
||||
select row('A' COLLATE latin1_bin,'b','c') = row('a','b','c');
|
||||
select row('A','b','c') = row('a' COLLATE latin1_bin,'b','c');
|
||||
--error 1265
|
||||
select row('A' COLLATE latin1_general_ci,'b','c') = row('a' COLLATE latin1_bin,'b','c');
|
||||
|
||||
--error 1265
|
||||
select concat(_latin1'a',_latin2'a');
|
||||
--error 1268
|
||||
select concat(_latin1'a',_latin2'a',_latin5'a');
|
||||
--error 1269
|
||||
select concat(_latin1'a',_latin2'a',_latin5'a',_latin7'a');
|
||||
|
||||
|
||||
#
|
||||
# Test FIELD() and collations
|
||||
#
|
||||
select FIELD('b','A','B');
|
||||
select FIELD('B','A','B');
|
||||
select FIELD('b' COLLATE latin1_bin,'A','B');
|
||||
select FIELD('b','A' COLLATE latin1_bin,'B');
|
||||
--error 1269
|
||||
select FIELD(_latin2'b','A','B');
|
||||
--error 1269
|
||||
select FIELD('b',_latin2'A','B');
|
||||
select FIELD('b',_latin2'A','B',1);
|
||||
|
||||
|
||||
select POSITION(_latin1'B' IN _latin1'abcd');
|
||||
select POSITION(_latin1'B' IN _latin1'abcd' COLLATE latin1_bin);
|
||||
select POSITION(_latin1'B' COLLATE latin1_bin IN _latin1'abcd');
|
||||
|
@ -85,3 +85,17 @@ alter table t1 type=MyISAM;
|
||||
handler t2 read first;
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
# test case for the bug #787
|
||||
#
|
||||
|
||||
create table t1 (a int);
|
||||
insert into t1 values (1),(2),(3),(4),(5),(6);
|
||||
delete from t1 limit 2;
|
||||
handler t1 open;
|
||||
handler t1 read first;
|
||||
handler t1 read first limit 1,1;
|
||||
handler t1 read first limit 2,2;
|
||||
delete from t1 limit 3;
|
||||
handler t1 read first;
|
||||
drop table t1;
|
||||
|
@ -781,6 +781,7 @@ drop table if exists t1;
|
||||
#
|
||||
# key field overflow test
|
||||
#
|
||||
--disable_warnings
|
||||
CREATE TABLE t1
|
||||
(
|
||||
FOLDERID VARCHAR(32)BINARY NOT NULL
|
||||
@ -798,6 +799,7 @@ FOLDERID VARCHAR(32)BINARY NOT NULL
|
||||
|
||||
, PRIMARY KEY ( FOLDERID )
|
||||
) TYPE=InnoDB;
|
||||
--enable_warnings
|
||||
CREATE INDEX FFOLDERID_IDX ON t1 (FOLDERID);
|
||||
CREATE INDEX CMFLDRPARNT_IDX ON t1 (PARENTID);
|
||||
INSERT INTO t1 VALUES("0c9aab05b15048c59bc35c8461507deb", "System", "System", "2003-06-05 16:30:00", "The system content repository folder.", "3", "2003-06-05 16:30:00", "System", "0", NULL, "9c9aab05b15048c59bc35c8461507deb", "1");
|
||||
|
Reference in New Issue
Block a user