mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-30 04:26:45 +03:00 
			
		
		
		
	 218e00ac68
			
		
	
	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
		
			
				
	
	
		
			57 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			57 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| #
 | |
| # 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,');
 | |
| 
 |