mirror of
				https://github.com/MariaDB/server.git
				synced 2025-11-03 14:33:32 +03:00 
			
		
		
		
	Analysis: For some reason table stats for a table pointed from a index is not initialized. Added additional warning output on this situation and table stats initialization. This is better than asserting.
		
			
				
	
	
		
			33 lines
		
	
	
		
			841 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			33 lines
		
	
	
		
			841 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
call mtr.add_suppression("InnoDB: Warning: Index.*");
 | 
						|
set DEBUG_DBUG='+d,ib_ha_innodb_stat_not_initialized';
 | 
						|
create table t1(a int not null primary key, b int, c int, key(b), key(c)) engine=innodb;
 | 
						|
create procedure innodb_insert_proc (repeat_count int)
 | 
						|
begin
 | 
						|
declare current_num int;
 | 
						|
set current_num = 0;
 | 
						|
while current_num < repeat_count do
 | 
						|
insert into t1 values(current_num, current_num, current_num);
 | 
						|
set current_num = current_num + 1;
 | 
						|
end while;
 | 
						|
end//
 | 
						|
commit;
 | 
						|
set autocommit=0;
 | 
						|
call innodb_insert_proc(10000);
 | 
						|
commit;
 | 
						|
set autocommit=1;
 | 
						|
select count(1) from t1;
 | 
						|
count(1)
 | 
						|
10000
 | 
						|
select count(1) from t1 where a between 5 and 100;
 | 
						|
count(1)
 | 
						|
96
 | 
						|
select count(1) from t1 where b between 5 and 256;
 | 
						|
count(1)
 | 
						|
252
 | 
						|
select count(1) from t1 where c between 7 and 787;
 | 
						|
count(1)
 | 
						|
781
 | 
						|
set DEBUG_DBUG=NULL;
 | 
						|
drop procedure innodb_insert_proc;
 | 
						|
drop table t1;
 |