mirror of
				https://github.com/MariaDB/server.git
				synced 2025-11-03 14:33:32 +03:00 
			
		
		
		
	Trimmed some error-prone and variable portions of the test and added 'flush status' to ensure deterministic test
		
			
				
	
	
		
			42 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			42 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
# Embedded server doesn't support binlog
 | 
						|
-- source include/not_embedded.inc
 | 
						|
-- source include/have_innodb.inc
 | 
						|
 | 
						|
#
 | 
						|
# Let us test binlog_cache_use and binlog_cache_disk_use status vars.
 | 
						|
# Actually this test has nothing to do with innodb per se, it just requires
 | 
						|
# transactional table. 
 | 
						|
#
 | 
						|
flush status;
 | 
						|
show status like "binlog_cache_use";
 | 
						|
show status like "binlog_cache_disk_use";
 | 
						|
--disable_warnings
 | 
						|
drop table if exists t1;
 | 
						|
--enable_warnings
 | 
						|
 | 
						|
create table t1 (a int) engine=innodb;
 | 
						|
 | 
						|
# Now we are going to create transaction which is long enough so its 
 | 
						|
# transaction binlog will be flushed to disk...
 | 
						|
let $1=2000;
 | 
						|
disable_query_log;
 | 
						|
begin;
 | 
						|
while ($1)
 | 
						|
{
 | 
						|
 eval insert into t1 values( $1 );
 | 
						|
 dec $1;
 | 
						|
}
 | 
						|
commit;
 | 
						|
enable_query_log;
 | 
						|
show status like "binlog_cache_use";
 | 
						|
show status like "binlog_cache_disk_use";
 | 
						|
 | 
						|
# Transaction which should not be flushed to disk and so should not
 | 
						|
# increase binlog_cache_disk_use.
 | 
						|
begin;
 | 
						|
delete from t1;
 | 
						|
commit;
 | 
						|
show status like "binlog_cache_use";
 | 
						|
show status like "binlog_cache_disk_use";
 | 
						|
drop table t1;
 |