mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-31 02:46:29 +01:00 
			
		
		
		
	 2e404c9850
			
		
	
	
	2e404c9850
	
	
	
		
			
			Item_func_equal erroneously derived is_null() from the parent class. Overriding it to return false because <=> can never return NULL.
		
			
				
	
	
		
			61 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			61 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| # Initialise
 | |
| --disable_warnings
 | |
| drop table if exists t1,t2;
 | |
| --enable_warnings
 | |
| 
 | |
| #
 | |
| # Testing of the <=> operator
 | |
| #
 | |
| 
 | |
| #
 | |
| # First some simple tests
 | |
| #
 | |
| 
 | |
| select 0<=>0,0.0<=>0.0,0E0=0E0,"A"<=>"A",NULL<=>NULL;
 | |
| select 1<=>0,0<=>NULL,NULL<=>0;
 | |
| select 1.0<=>0.0,0.0<=>NULL,NULL<=>0.0;
 | |
| select "A"<=>"B","A"<=>NULL,NULL<=>"A";
 | |
| select 0<=>0.0, 0.0<=>0E0, 0E0<=>"0", 10.0<=>1E1, 10<=>10.0, 10<=>1E1;
 | |
| select 1.0<=>0E1,10<=>NULL,NULL<=>0.0, NULL<=>0E0;
 | |
| 
 | |
| #
 | |
| # Test with tables
 | |
| #
 | |
| 
 | |
| create table t1 (id int, value int);
 | |
| create table t2 (id int, value int);
 | |
| 
 | |
| insert into t1 values (1,null);
 | |
| insert into t2 values (1,null);
 | |
| 
 | |
| select t1.*, t2.*, t1.value<=>t2.value from t1, t2 where t1.id=t2.id and t1.id=1;
 | |
| select * from t1 where id <=>id;
 | |
| select * from t1 where value <=> value;
 | |
| select * from t1 where id <=> value or value<=>id;
 | |
| drop table t1,t2;
 | |
| 
 | |
| #
 | |
| # Bug #12612: quoted bigint unsigned value and the use of "in" in where clause
 | |
| #
 | |
| create table t1 (a bigint unsigned);
 | |
| insert into t1 values (4828532208463511553);
 | |
| select * from t1 where a = '4828532208463511553';
 | |
| select * from t1 where a in ('4828532208463511553');
 | |
| drop table t1;
 | |
| 
 | |
| --echo #End of 4.1 tests
 | |
| 
 | |
| 
 | |
| --echo # Start of 10.5 tests
 | |
| 
 | |
| --echo #
 | |
| --echo # MDEV-21029 Incorrect result for expression with the <=> operator and IS NULL
 | |
| --echo #
 | |
| 
 | |
| CREATE TABLE t0(c0 INT);
 | |
| INSERT INTO t0 VALUES (1);
 | |
| SELECT (c0 > (NULL <=> 0)) IS NULL AS c1 FROM t0;
 | |
| DROP TABLE t0;
 | |
| 
 | |
| 
 | |
| --echo # End of 10.5 tests
 |