mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-31 02:46:29 +01:00 
			
		
		
		
	 d4a4185451
			
		
	
	
	d4a4185451
	
	
	
		
			
			The problem was that multi_range_read_info_const() called multi_range_key_create_key() which changed m_part_spec.start_part, while there was an activ table scan ongoing. Fixed by copying and restoring m_part_spec around multi_range_key_create_calls()
		
			
				
	
	
		
			15 lines
		
	
	
	
		
			485 B
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			15 lines
		
	
	
	
		
			485 B
		
	
	
	
		
			Text
		
	
	
	
	
	
| CREATE TABLE t1 (f1 INT, f2 INT, f3 INT, f4 INT, KEY (f4), 
 | |
| KEY (f1,f4,f3,f2)
 | |
| ) PARTITION BY RANGE(f1) ( PARTITION p VALUES LESS THAN MAXVALUE );
 | |
| INSERT IGNORE INTO t1 VALUES 
 | |
| (140,0,0,7),(143,92,NULL,0),(0,0,NULL,154),(NULL,255,117,197),(0,0,NULL,0),(60,0,0,1);
 | |
| CREATE TABLE t2 (f INT);
 | |
| INSERT INTO t2 VALUES (NULL),(35),(NULL),(2);
 | |
| SELECT * FROM t1, t2 WHERE f4 >= f;
 | |
| f1	f2	f3	f4	f
 | |
| 0	0	NULL	154	2
 | |
| 0	0	NULL	154	35
 | |
| 140	0	0	7	2
 | |
| NULL	255	117	197	2
 | |
| NULL	255	117	197	35
 | |
| DROP TABLE t1, t2;
 |