mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-30 04:26:45 +03:00 
			
		
		
		
	innodb_autoinc_lock_mode = 2 innodb_buffer_pool_dump_at_shutdown = ON innodb_buffer_pool_dump_pct = 25 innodb_buffer_pool_load_at_startup = ON innodb_checksum_algorithm = CRC32 innodb_file_format = Barracuda innodb_large_prefix = ON innodb_log_compressed_pages = ON innodb_purge_threads = 4 innodb_strict_mode = ON binlog_annotate_row_events = ON binlog_format = MIXED binlog-row-event-max-size = 8192 group_concat_max_len = 1M lock_wait_timeout = 86400 log_slow_admin_statements = ON log_slow_slave_statements = ON log_warnings = 2 max_allowed_packet = 16M replicate_annotate_row_events = ON slave_net_timeout = 60 sync_binlog = 1 aria_recover = BACKUP,QUICK myisam_recover_options = BACKUP,QUICK
		
			
				
	
	
		
			154 lines
		
	
	
		
			4.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			154 lines
		
	
	
		
			4.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| --source include/have_partition.inc
 | |
| --source include/have_innodb.inc
 | |
| 
 | |
| let $MYSQLD_DATADIR= `SELECT @@datadir`;
 | |
| 
 | |
| call mtr.add_suppression("InnoDB: Table .* does not exist in the InnoDB internal data dictionary .*");
 | |
| call mtr.add_suppression("Deadlock found when trying to get lock; try restarting transaction");
 | |
| 
 | |
| --echo #
 | |
| --echo # Bug#11766879/Bug#60106: DIFF BETWEEN # OF INDEXES IN MYSQL VS INNODB,
 | |
| --echo #                         PARTITONING, ON INDEX CREATE
 | |
| --echo # Bug#12696518: MEMORY LEAKS IN HA_PARTITION (VALGRIND TESTS ON TRUNK)
 | |
| --echo #
 | |
| CREATE TABLE t1 (
 | |
|   id bigint NOT NULL AUTO_INCREMENT,
 | |
|   time date,
 | |
|   id2 bigint not null,
 | |
|   PRIMARY KEY (id,time)
 | |
| ) ENGINE=InnoDB  DEFAULT CHARSET=utf8
 | |
| /*!50100 PARTITION BY RANGE(TO_DAYS(time))
 | |
| (PARTITION p10 VALUES LESS THAN (734708) ENGINE = InnoDB,
 | |
|  PARTITION p20 VALUES LESS THAN MAXVALUE ENGINE = InnoDB) */;
 | |
| 
 | |
| INSERT INTO t1 (time,id2) VALUES ('2011-07-24',1);
 | |
| INSERT INTO t1 (time,id2) VALUES ('2011-07-25',1);
 | |
| INSERT INTO t1 (time,id2) VALUES ('2011-07-25',1);
 | |
| 
 | |
| --error ER_DUP_ENTRY
 | |
| CREATE UNIQUE INDEX uk_time_id2 on t1(time,id2);
 | |
| 
 | |
| SELECT COUNT(*) FROM t1; 
 | |
| SHOW CREATE TABLE t1;
 | |
| 
 | |
| DROP TABLE t1;
 | |
| 
 | |
| call mtr.add_suppression("InnoDB: Error: table `test`.`t1` .* InnoDB internal");
 | |
| --echo #
 | |
| --echo # Bug#55091: Server crashes on ADD PARTITION after a failed attempt
 | |
| --echo #
 | |
| SET @old_innodb_file_per_table = @@global.innodb_file_per_table;
 | |
| SET @old_innodb_strict_mode = @@global.innodb_strict_mode;
 | |
| SET @@global.innodb_file_per_table = ON,
 | |
| @@global.innodb_strict_mode = ON;
 | |
| 
 | |
| --connect(con1,localhost,root,,)
 | |
| 
 | |
| CREATE TABLE t1 (id INT NOT NULL
 | |
| PRIMARY KEY,
 | |
| user_num CHAR(10)
 | |
| ) ENGINE = InnoDB
 | |
| KEY_BLOCK_SIZE=4
 | |
| PARTITION BY HASH(id) PARTITIONS 1;
 | |
| 
 | |
| --replace_result #p# #P#
 | |
| --list_files $MYSQLD_DATADIR/test t1*
 | |
| SHOW CREATE TABLE t1;
 | |
| 
 | |
| SET GLOBAL innodb_file_per_table = OFF;
 | |
| 
 | |
| --disconnect con1
 | |
| --connect(con2,localhost,root,,)
 | |
| 
 | |
| LOCK TABLE t1 WRITE;
 | |
| 
 | |
| --echo # ALTER fails because COMPRESSED/KEY_BLOCK_SIZE
 | |
| --echo # are incompatible with innodb_file_per_table = OFF;
 | |
| 
 | |
| --replace_regex / - .*//
 | |
| --error ER_GET_ERRNO
 | |
| ALTER TABLE t1 ADD PARTITION PARTITIONS 1;
 | |
| 
 | |
| --replace_result #p# #P#
 | |
| --list_files $MYSQLD_DATADIR/test t1*
 | |
| --echo # This SET is not needed to reproduce the bug,
 | |
| --echo # it is here just to make the test case more realistic
 | |
| SET innodb_strict_mode = OFF;
 | |
| 
 | |
| ALTER TABLE t1 ADD PARTITION PARTITIONS 2;
 | |
| --replace_result #p# #P#
 | |
| --list_files $MYSQLD_DATADIR/test t1*
 | |
| 
 | |
| # really bug#56172
 | |
| ALTER TABLE t1 REBUILD PARTITION p0;
 | |
| 
 | |
| UNLOCK TABLES;
 | |
| SHOW CREATE TABLE t1;
 | |
| DROP TABLE t1;
 | |
| 
 | |
| --disconnect con2
 | |
| --connection default
 | |
| SET @@global.innodb_strict_mode = @old_innodb_strict_mode;
 | |
| SET @@global.innodb_file_per_table = @old_innodb_file_per_table;
 | |
| 
 | |
| #
 | |
| # Bug#32430 - show engine innodb status causes errors
 | |
| #
 | |
| SET NAMES utf8;
 | |
| CREATE TABLE `t``\""e` (a INT, PRIMARY KEY (a))
 | |
| ENGINE=InnoDB
 | |
| PARTITION BY RANGE (a)
 | |
| SUBPARTITION BY HASH (a)
 | |
| (PARTITION `p0``\""e` VALUES LESS THAN (100)
 | |
|  (SUBPARTITION `sp0``\""e`,
 | |
|   SUBPARTITION `sp1``\""e`),
 | |
|  PARTITION `p1``\""e` VALUES LESS THAN (MAXVALUE)
 | |
|  (SUBPARTITION `sp2``\""e`,
 | |
|   SUBPARTITION `sp3``\""e`));
 | |
| INSERT INTO `t``\""e` VALUES (0), (2), (6), (10), (14), (18), (22);
 | |
| START TRANSACTION;
 | |
| connect(con1,localhost,root,,);
 | |
| SET NAMES utf8;
 | |
| START TRANSACTION;
 | |
| connection default;
 | |
| UPDATE `t``\""e` SET a = 16 WHERE a = 0;
 | |
| connection con1;
 | |
| UPDATE `t``\""e` SET a = 8 WHERE a = 22;
 | |
| let $id_1= `SELECT CONNECTION_ID()`;
 | |
| SEND;
 | |
| UPDATE `t``\""e` SET a = 12 WHERE a = 0;
 | |
| connection default;
 | |
| let $wait_condition= SELECT COUNT(*)=2 FROM INFORMATION_SCHEMA.INNODB_LOCKS;
 | |
| --source include/wait_condition.inc
 | |
| --sorted_result
 | |
| SELECT lock_table, COUNT(*) FROM INFORMATION_SCHEMA.INNODB_LOCKS
 | |
| GROUP BY lock_table;
 | |
| set @old_sql_mode = @@sql_mode;
 | |
| set sql_mode = 'ANSI_QUOTES';
 | |
| --sorted_result
 | |
| SELECT lock_table, COUNT(*) FROM INFORMATION_SCHEMA.INNODB_LOCKS
 | |
| GROUP BY lock_table;
 | |
| set @@sql_mode = @old_sql_mode;
 | |
| --error ER_LOCK_DEADLOCK
 | |
| UPDATE `t``\""e` SET a = 4 WHERE a = 22;
 | |
| --echo # First table reported in 'SHOW ENGINE InnoDB STATUS'
 | |
| # RECORD LOCKS space id 0 page no 50 n bits 80 index `PRIMARY` in \
 | |
| # Database `test`, Table `t1`, Partition `p0`, Subpartition `sp0` \
 | |
| # trx id 0 775
 | |
| # NOTE: replace_regex is very slow on match copy/past '(.*)' regex's
 | |
| # on big texts, removing a lot of text before + after makes it much faster.
 | |
| #/.*in (.*) trx.*/\1/
 | |
| --replace_regex /.*RECORD LOCKS space id [0-9]* page no [0-9]* n bits [0-9]* // / trx id .*// /.*index .* in // /trx table locks [0-9]* // /total table locks [0-9]* //
 | |
| SHOW ENGINE InnoDB STATUS;
 | |
| set @old_sql_mode = @@sql_mode;
 | |
| set sql_mode = 'ANSI_QUOTES';
 | |
| --replace_regex /.*RECORD LOCKS space id [0-9]* page no [0-9]* n bits [0-9]* // / trx id .*// /.*index .* in // /trx table locks [0-9]* // /total table locks [0-9]* //
 | |
| SHOW ENGINE InnoDB STATUS;
 | |
| set @@sql_mode = @old_sql_mode;
 | |
| connection con1;
 | |
| REAP;
 | |
| ROLLBACK;
 | |
| disconnect con1;
 | |
| connection default;
 | |
| DROP TABLE `t``\""e`;
 |