mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-31 02:46:29 +01:00 
			
		
		
		
	 7d1df207c4
			
		
	
	
	7d1df207c4
	
	
	
		
			
			This issue was caused by the bug fix for MDEV-30325 Wrong result upon range query using index condition The bug could happen in the case of several overlapping key ranges with OR
		
			
				
	
	
		
			25 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			25 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| set default_storage_engine=Aria;
 | |
| CREATE DATABASE dbt3_s001;
 | |
| use dbt3_s001;
 | |
| #
 | |
| # MDEV-30325 Wrong result upon range query using index condition
 | |
| #
 | |
| SELECT COUNT(*) FROM lineitem force index (i_l_orderkey_quantity,i_l_shipdate) WHERE l_shipdate < '1994-01-01' AND l_orderkey < 800 OR l_quantity > 3 AND l_orderkey NOT IN ( 157, 1444 );
 | |
| COUNT(*)
 | |
| 5658
 | |
| SELECT COUNT(*) FROM lineitem ignore index (i_l_orderkey_quantity,i_l_shipdate) WHERE l_shipdate < '1994-01-01' AND l_orderkey < 800 OR l_quantity > 3 AND l_orderkey NOT IN ( 157, 1444 );
 | |
| COUNT(*)
 | |
| 5658
 | |
| #
 | |
| # MDEV-30373 Wrong result with range access
 | |
| #
 | |
| explain SELECT COUNT(*) FROM lineitem WHERE l_orderkey BETWEEN 111 AND 262 OR ( l_orderkey BETWEEN 152 AND  672 AND l_linenumber BETWEEN 4 AND 9 );
 | |
| id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
 | |
| 1	SIMPLE	lineitem	range	PRIMARY,i_l_orderkey,i_l_orderkey_quantity	PRIMARY	8	NULL	506	Using where; Using index
 | |
| SELECT COUNT(*) FROM lineitem WHERE l_orderkey BETWEEN 111 AND 262 OR ( l_orderkey BETWEEN 152 AND  672 AND l_linenumber BETWEEN 4 AND 9 );
 | |
| COUNT(*)
 | |
| 293
 | |
| DROP DATABASE dbt3_s001;
 | |
| #
 | |
| # End of 10.5 tests
 | |
| #
 |