patch 4.0
This commit is contained in:
@ -26,6 +26,7 @@ select collation(concat(uc, x'41')) from coll_test;
|
||||
select collation(concat('abc', x'41')) from coll_test;
|
||||
select collation(concat('abc' collate utf8mb4_general_ci, x'41')) from coll_test;
|
||||
select collation(concat(1, 2)) from coll_test;
|
||||
# @bug collation is wrong for NULL result (zhuweng.yzf) ....yzf....Fri, 21 Aug 2015....18:17....
|
||||
select collation(concat(1, null)) from coll_test;
|
||||
|
||||
# group_concat
|
||||
@ -254,3 +255,32 @@ select collation(cast('A' as char)), cast('A' as char) < 'a';
|
||||
################################################################
|
||||
# tear-down
|
||||
drop table coll_test;
|
||||
|
||||
|
||||
select CAST('Ab123人' AS char CHAR SET utf8mb4);
|
||||
SELECT collation(CAST('Ab123人' AS char CHAR SET utf8mb4));
|
||||
SELECT length(CAST('Ab123人' AS char CHAR SET utf8mb4));
|
||||
|
||||
select CAST('Ab123人' AS char CHAR SET binary);
|
||||
SELECT collation(CAST('Ab123人' AS char CHAR SET binary));
|
||||
SELECT length(CAST('Ab123人' AS char CHAR SET binary));
|
||||
|
||||
select CAST('Ab123人' AS char CHAR SET gbk);
|
||||
SELECT collation(CAST('Ab123人' AS char CHAR SET gbk));
|
||||
SELECT length(CAST('Ab123人' AS char CHAR SET gbk));
|
||||
|
||||
create table coll_test(c1 char(10) collate utf8mb4_bin, c2 char(10) collate gbk_bin, c3 char(10) char set binary);
|
||||
insert into coll_test values('Ab123人', 'Ab123人', 'Ab123人');
|
||||
select cast(c1 as char(20)), cast(c2 as char(20)), cast(c3 as char(20)) from coll_test;
|
||||
select collation(cast(c1 as char(20))), collation(cast(c2 as char(20))), collation(cast(c3 as char(20))) from coll_test;
|
||||
|
||||
|
||||
create or replace view v1(c1,c2,c3,c4) as select cast('abc' as char), cast('abc' as char char set utf8mb4),
|
||||
cast('abc' as char char set binary), cast('abc' as binary);
|
||||
show create view v1;
|
||||
|
||||
create or replace view v1(c1,c2,c3,c4) as select cast('abc' as char(10)), cast('abc' as char(10) char set utf8mb4),
|
||||
cast('abc' as char(10) char set binary), cast('abc' as binary(10));
|
||||
show create view v1;
|
||||
drop table coll_test;
|
||||
drop view v1;
|
||||
@ -47,6 +47,7 @@ select ceil(null);
|
||||
select ceil("13547370213547370213547370213547370201354737021354737021354737021354737021354737021354737021354737021354737021354737021354737021354737021354737021354737020.0000135473702135473702135473702135473702135473702135473702135473702135473702013547370213547370201354737021354737021354737021354737021354737021354737021354737021.0000135473702135473702135473702135473702135473702111111111111111111");
|
||||
select ceil("13547370213547370213547370213547370201354737021354737021354737021354737021354737021354737021354737021354737021354737021354737021354737021354737021354737020.0000135473702135473702135473702135473702135473702135473702135473702135473702013547370213547370201354737021354737021354737021354737021354737021354737021354737021.0000135473702135473702135473702135473702135473702catters billet chloroplast's'");
|
||||
|
||||
##bugfix: https://work.aone.alibaba-inc.com/issue/31536811
|
||||
--disable_warnings
|
||||
drop table if exists t1;
|
||||
--enable_warnings
|
||||
|
||||
@ -1,11 +1,12 @@
|
||||
--disable_query_log
|
||||
set @@session.explicit_defaults_for_timestamp=off;
|
||||
--enable_query_log
|
||||
#/--disableabortonerror/
|
||||
#/test for export_set function in ob_expr_export_set.cpp/
|
||||
--enable_abort_on_error
|
||||
--echo ================ expression export_set ================
|
||||
# owner: xiaofeng.lby
|
||||
# owner group: SQL2
|
||||
# test for export_set function in mysql mode
|
||||
--result_format 4
|
||||
|
||||
--echo ================ expression export_set ================
|
||||
# 基本检查
|
||||
select export_set(0,"Y","N","-",5);
|
||||
select export_set(7,"Y","N","-",5);
|
||||
@ -85,6 +86,7 @@ select export_set(-9223372036854775808,"Y","N",",",-9223372036854775808000000000
|
||||
select export_set(18446744073709551615,"Y","N",",",18446744073709551615);
|
||||
select export_set(18446744073709551615,"Y","N",",",1844674407370955161500000000000);
|
||||
|
||||
|
||||
# 参数错误检查
|
||||
--error 1582
|
||||
select export_set();
|
||||
@ -105,11 +107,14 @@ select export_set(1,2,3,a);
|
||||
--error 1054
|
||||
select export_set(1,2,3,4,a);
|
||||
|
||||
|
||||
|
||||
# 用表数据做参数
|
||||
--disable_warnings
|
||||
drop table if exists test;
|
||||
--enable_warnings
|
||||
create table test(c1 int, c2 varchar(20), c3 varchar(20), c4 varchar(20), c5 int);
|
||||
sleep 1;
|
||||
insert into test values(11,"Y","N",",",10);
|
||||
insert into test values(null,"Y","N",",",10);
|
||||
insert into test values(11,null,"N",",",10);
|
||||
@ -132,20 +137,25 @@ select export_set(c1) from test;
|
||||
select export_set(c1,c2) from test;
|
||||
--error 1582
|
||||
select export_set() from test;
|
||||
|
||||
drop table test;
|
||||
|
||||
|
||||
# ctas cases
|
||||
--disable_warnings
|
||||
drop table if exists t1;
|
||||
--enable_warnings
|
||||
create table t1 as select export_set(0,"Y","N","-",5);
|
||||
sleep 1;
|
||||
desc t1;
|
||||
drop table t1;
|
||||
|
||||
create table t1 as select export_set(99,"YYY","NX","---",77);
|
||||
sleep 1;
|
||||
desc t1;
|
||||
drop table t1;
|
||||
|
||||
create table t1 as select export_set(99,"1","11","111",77);
|
||||
sleep 1;
|
||||
desc t1;
|
||||
drop table t1;
|
||||
|
||||
@ -159,4 +169,4 @@ INSERT INTO T_36895309 VALUES(1,1,'A',1.23,'1999-09-09'),(2,-1,'nb',3.21,'1111-1
|
||||
SELECT EXPORT_SET(A_2,'Y','N',',',5) FROM T_36895309 ;
|
||||
SELECT EXPORT_SET(A_3,'Y','N',',',5) FROM T_36895309 ;
|
||||
SELECT EXPORT_SET(A_4,'Y','N',',',5) FROM T_36895309 ;
|
||||
drop table T_36895309;
|
||||
drop table T_36895309;
|
||||
@ -68,6 +68,7 @@ select floor(i1/10*8),i1/10*8 from tbl1;
|
||||
select * from tbl1 order by floor(i4);
|
||||
select * from tbl1 order by floor(i4) desc;
|
||||
select floor(i4) abc from tbl1 order by abc desc;
|
||||
#there is a bug;
|
||||
select floor(v2) from tbl1;
|
||||
select floor(i3) from tbl1;
|
||||
select floor(d4) from tbl1;
|
||||
|
||||
@ -4,71 +4,78 @@ set @@session.explicit_defaults_for_timestamp=off;
|
||||
#### owner: yuchen.wyc
|
||||
#### owner group: sql3
|
||||
#### description: 测试instr函数
|
||||
# tags: expr, datatype
|
||||
|
||||
--enable_sorted_result
|
||||
--result_format 4
|
||||
|
||||
--echo ================ expression instr ================
|
||||
select instr('abc', '');
|
||||
select instr('', '');
|
||||
select instr('', 'abc');
|
||||
select instr('abc', 'abcd');
|
||||
select instr('abc', 'abc');
|
||||
select instr('abc', 'a');
|
||||
select instr('abc', 'b');
|
||||
select instr('abc', 'c');
|
||||
select instr('abc', 'bc');
|
||||
select instr('abcbc', 'bc');
|
||||
select instr('阿里巴巴', '阿里');
|
||||
select instr('阿里巴巴', '巴巴');
|
||||
select instr('阿里巴巴巴巴', '巴巴');
|
||||
select instr('阿里巴巴', '阿里巴巴');
|
||||
select instr('123', true);
|
||||
select instr('23', true);
|
||||
select instr(123, '23');
|
||||
select instr('123', 123);
|
||||
select instr('123.400000', 23.4);
|
||||
select instr('123.400000', 123.4);
|
||||
select instr('123.400000', null);
|
||||
select instr(null, '巴巴');
|
||||
select instr('巴巴', null);
|
||||
select instr(null, null);
|
||||
|
||||
select instr(true, false);
|
||||
select instr(true, true);
|
||||
select instr(123, true);
|
||||
select instr(123, false);
|
||||
select instr(0123, false);
|
||||
select instr(1023, false);
|
||||
select instr(1023.4, false);
|
||||
select instr(1023.4, true);
|
||||
select instr(null, true);
|
||||
select instr(true, null);
|
||||
select instr('abc', '') from dual;
|
||||
select instr('', '') from dual;
|
||||
select instr('', 'abc') from dual;
|
||||
select instr('abc', 'abcd') from dual;
|
||||
select instr('abc', 'abc') from dual;
|
||||
select instr('abc', 'a') from dual;
|
||||
select instr('abc', 'b') from dual;
|
||||
select instr('abc', 'c') from dual;
|
||||
select instr('abc', 'bc') from dual;
|
||||
select instr('abcbc', 'bc') from dual;
|
||||
select instr('阿里巴巴', '阿里') from dual;
|
||||
select instr('阿里巴巴', '巴巴') from dual;
|
||||
select instr('阿里巴巴巴巴', '巴巴') from dual;
|
||||
select instr('阿里巴巴', '阿里巴巴') from dual;
|
||||
select instr(123, '23') from dual;
|
||||
select instr('123', 123) from dual;
|
||||
select instr('123.400000', 23.4) from dual;
|
||||
select instr('123.400000', 123.4) from dual;
|
||||
select instr('123.400000', null) from dual;
|
||||
select instr(null, '巴巴') from dual;
|
||||
select instr('巴巴', null) from dual;
|
||||
select instr(null, null) from dual;
|
||||
select instr('123', true) from dual;
|
||||
|
||||
select instr(123, 23);
|
||||
select instr(123, 23456);
|
||||
select instr(123.4, 123);
|
||||
select instr(1234, 123.4);
|
||||
select instr(1234, null);
|
||||
select instr(null, 123);
|
||||
select instr(123, 23) from dual;
|
||||
select instr(123, 23456) from dual;
|
||||
select instr(123.4, 123) from dual;
|
||||
select instr(1234, 123.4) from dual;
|
||||
select instr(1234, null) from dual;
|
||||
select instr(null, 123) from dual;
|
||||
|
||||
select instr(123.400000, 123.4);
|
||||
select instr(123.400000, 123.41);
|
||||
select instr(123.400000, null);
|
||||
select instr(null, 123.41);
|
||||
select instr(123.400000, 123.4) from dual;
|
||||
select instr(123.400000, 123.41) from dual;
|
||||
select instr(123.400000, null) from dual;
|
||||
select instr(null, 123.41) from dual;
|
||||
|
||||
--disable_warnings
|
||||
drop table if exists test;
|
||||
--enable_warnings
|
||||
create table test(c1 datetime primary key);
|
||||
create table test(c1 date primary key);
|
||||
sleep 5;
|
||||
#alter session set nls_date_format = "yyyy-mm-dd hh24:mi:ss";
|
||||
insert into test values('2015-5-5');
|
||||
select instr(c1, '201') from test;
|
||||
select instr(c1, '') from test;
|
||||
select instr(c1, 'haha') from test;
|
||||
select instr(c1, '-5') from test;
|
||||
select instr(c1, '2015-5-5') from test;
|
||||
select instr(c1, true) from test;
|
||||
select instr(c1, 201) from test;
|
||||
select instr(c1, 201.1) from test;
|
||||
select instr(c1, null) from test;
|
||||
select instr(null, c1) from test;
|
||||
|
||||
|
||||
# with more params
|
||||
--error 1582
|
||||
select instr() from dual;
|
||||
--error 1582
|
||||
select instr('abcda') from dual;
|
||||
--error 1582
|
||||
select instr('abcda', 'a', 1) from dual;
|
||||
--error 1582
|
||||
select instr('abcda', 'a', 1, 1) from dual;
|
||||
|
||||
--disable_warnings
|
||||
drop table if exists test;
|
||||
drop table test;
|
||||
--enable_warnings
|
||||
|
||||
|
||||
@ -196,3 +196,12 @@ select ifnull(locate('a','a'),2.345 );
|
||||
--disable_warnings
|
||||
drop table if exists test;
|
||||
--enable_warnings
|
||||
|
||||
--echo issue 40636846
|
||||
select locate('', '中文', 1);
|
||||
select locate('', '中文', 2);
|
||||
select locate('', '中文', 3);
|
||||
select locate('', '中文', 4);
|
||||
select locate('', '中文', 5);
|
||||
select locate('', '中文', 6);
|
||||
select locate('', '中文', 7);
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
--disable_query_log
|
||||
set @@session.explicit_defaults_for_timestamp=off;
|
||||
--enable_query_log
|
||||
#owner: guoping.wgp
|
||||
#owner: jiangxiu.wt
|
||||
#owner group: sql1
|
||||
|
||||
--disable_abort_on_error
|
||||
|
||||
@ -435,6 +435,7 @@ insert into t1 values('abcde_');
|
||||
select a as c1u from t1 where a rlike 'ab\_def';
|
||||
drop table t1;
|
||||
|
||||
##bug:https://work.aone.alibaba-inc.com/issue/25186566
|
||||
--disable_warnings
|
||||
drop table if exists t;
|
||||
--enable_warnings
|
||||
@ -442,20 +443,3 @@ drop table if exists t;
|
||||
create table t (c1 char(20));
|
||||
insert into t values ('');
|
||||
select c1 regexp 'ddd' from t;
|
||||
|
||||
##bug:https://work.aone.alibaba-inc.com/issue/43976234
|
||||
|
||||
--disable_warnings
|
||||
drop table if exists t1, t2;
|
||||
--enable_warnings
|
||||
|
||||
create table t1(c1 int, c2 varchar(10));
|
||||
insert into t1 values(1, '1');
|
||||
create table t2(c1 int);
|
||||
insert into t2 values(1), (2);
|
||||
|
||||
select t2.*, (select t1.c1 from t1 where t1.c2 REGEXP t2.c1 limit 1 ) from t2;
|
||||
select t2.*, (select t1.c1 from t1 where t1.c2 REGEXP t2.c1+1-1 limit 1 ) from t2;
|
||||
|
||||
drop table t1;
|
||||
drop table t2;
|
||||
Reference in New Issue
Block a user