patch 4.0

This commit is contained in:
wangzelin.wzl
2022-10-24 10:34:53 +08:00
parent 4ad6e00ec3
commit 93a1074b0c
10533 changed files with 2588271 additions and 2299373 deletions

View File

@ -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;

View File

@ -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

View File

@ -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;

View File

@ -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;

View File

@ -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

View File

@ -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);

View File

@ -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

View File

@ -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;