mirror of
https://github.com/MariaDB/server.git
synced 2025-01-19 21:42:35 +01:00
218e00ac68
Lots of small fixes to multi-precision-math path Give Note for '123.4e' Added helper functions type 'val_string_from_real() Don't give warnings for end space for string2decimal() Changed storage of values for SP so that we can detect length of argument without strlen() Changed interface for str2dec() so that we must supple the pointer to the last character in the buffer
56 lines
2.4 KiB
Text
56 lines
2.4 KiB
Text
#
|
|
# Testing if SET and similar functions
|
|
#
|
|
|
|
select interval(55,10,20,30,40,50,60,70,80,90,100),interval(3,1,1+1,1+1+1+1),field("IBM","NCA","ICL","SUN","IBM","DIGITAL"),field("A","B","C"),elt(2,"ONE","TWO","THREE"),interval(0,1,2,3,4),elt(1,1,2,3)|0,elt(1,1.1,1.2,1.3)+0;
|
|
explain extended select INTERVAL(55,10,20,30,40,50,60,70,80,90,100),interval(3,1,1+1,1+1+1+1),field("IBM","NCA","ICL","SUN","IBM","DIGITAL"),field("A","B","C"),elt(2,"ONE","TWO","THREE"),interval(0,1,2,3,4),elt(1,1,2,3)|0,elt(1,1.1,1.2,1.3)+0;
|
|
# Test 8 and 9 values (Bug #1561)
|
|
SELECT INTERVAL(13, 7, 14, 21, 28, 35, 42, 49, 56);
|
|
SELECT INTERVAL(13, 7, 14, 21, 28, 35, 42, 49, 56, 77);
|
|
|
|
select find_in_set("b","a,b,c"),find_in_set("c","a,b,c"),find_in_set("dd","a,bbb,dd"),find_in_set("bbb","a,bbb,dd");
|
|
select find_in_set("d","a,b,c"),find_in_set("dd","a,bbb,d"),find_in_set("bb","a,bbb,dd");
|
|
select make_set(0,'a','b','c'),make_set(-1,'a','b','c'),make_set(1,'a','b','c'),make_set(2,'a','b','c'),make_set(1+2,concat('a','b'),'c');
|
|
select make_set(NULL,'a','b','c'),make_set(1|4,'a',NULL,'c'),make_set(1+2,'a',NULL,'c');
|
|
select export_set(9,"Y","N","-",5),export_set(9,"Y","N"),export_set(9,"Y","N","");
|
|
|
|
#
|
|
# Wrong usage of functions
|
|
#
|
|
select elt(2,1),field(NULL,"a","b","c");
|
|
select field("b","a",NULL),field(1,0,NULL)+0,field(1.0,0.0,NULL)+0.0,field(1.0e1,0.0e1,NULL)+0.0e1;
|
|
select field(NULL,"a",NULL),field(NULL,0,NULL)+0,field(NULL,0.0,NULL)+0.0,field(NULL,0.0e1,NULL)+0.0e1;
|
|
select find_in_set("","a,b,c"),find_in_set("","a,b,c,"),find_in_set("",",a,b,c");
|
|
select find_in_set("abc","abc"),find_in_set("ab","abc"),find_in_set("abcd","abc");
|
|
select interval(null, 1, 10, 100);
|
|
|
|
#
|
|
# test for a bug with elt()
|
|
#
|
|
|
|
--disable_warnings
|
|
drop table if exists t1,t2;
|
|
--enable_warnings
|
|
|
|
create table t1 (id int(10) not null unique);
|
|
create table t2 (id int(10) not null primary key, val int(10) not null);
|
|
insert into t1 values (1),(2),(4);
|
|
insert into t2 values (1,1),(2,1),(3,1),(4,2);
|
|
|
|
select one.id, elt(two.val,'one','two') from t1 one, t2 two where two.id=one.id;
|
|
select one.id, elt(two.val,'one','two') from t1 one, t2 two where two.id=one.id order by one.id;
|
|
drop table t1,t2;
|
|
|
|
#
|
|
# Bug4340: find_in_set is case insensitive even on binary operators
|
|
#
|
|
|
|
select find_in_set(binary 'a',binary 'A,B,C');
|
|
select find_in_set('a',binary 'A,B,C');
|
|
select find_in_set(binary 'a', 'A,B,C');
|
|
|
|
#
|
|
# Bug5513:FIND_IN_SET fails if set ends with a comma
|
|
#
|
|
select find_in_set('1','3,1,');
|
|
|