mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-30 04:26:45 +03:00 
			
		
		
		
	WL#3397 Refactoring storage engine test cases (for falcon)
      It contains fixes according to second code review.
- Remove any occurence of hardcoded assignments of storage engines
- Use variable names exact telling what it is used for
- Updated comments
- remove trailing spaces
mysql-test/include/handler.inc:
  - Replace hardcoded MyISAM with assignments via variable
mysql-test/include/mix1.inc:
  - Replace hardcoded MyISAM with assignments via variable
  - Remove hardcoded InnoDB assignments (They were introduced by late push)
  - Remove trailing spaces
mysql-test/include/mix2.inc:
  - Replace hardcode MyISAM assignments
  - Remove trailing spaces
  - Engine assignments via variable refers to the use of the storage engine
    $other_non_trans_engine_type, $other_live_chcks_engine_type ...
mysql-test/include/read_many_rows.inc:
  Replace hardcoded MyISAM assignment
mysql-test/include/rowid_order.inc:
  remove trailing spaces
mysql-test/r/handler_innodb.result:
  Updated result
mysql-test/r/handler_myisam.result:
  Updated result
mysql-test/r/innodb_mysql.result:
  Updated result
mysql-test/r/mix2_myisam.result:
  Updated result
mysql-test/r/read_many_rows_innodb.result:
  Updated result
mysql-test/r/rowid_order_innodb.result:
  Updated result
mysql-test/t/handler_innodb.test:
  Introduce $variables
mysql-test/t/handler_myisam.test:
  Introduce $variables
mysql-test/t/mix2_myisam.test:
  Introduce $variables
mysql-test/t/read_many_rows_innodb.test:
  Introduce $variables
		
	
		
			
				
	
	
		
			122 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			SQL
		
	
	
	
	
	
			
		
		
	
	
			122 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			SQL
		
	
	
	
	
	
| # include/rowid_order.inc
 | |
| #
 | |
| # Test for rowid ordering (and comparison) functions.
 | |
| # do index_merge select for tables with PK of various types.
 | |
| #
 | |
| # The variable
 | |
| #     $engine_type       -- storage engine to be tested
 | |
| # has to be set before sourcing this script.
 | |
| #
 | |
| # Note: The comments/expections refer to InnoDB.
 | |
| #       They might be not valid for other storage engines.
 | |
| #
 | |
| # Last update:
 | |
| # 2006-08-02 ML test refactored
 | |
| #               old name was t/rowid_order.test
 | |
| #               main code went into include/rowid_order.inc
 | |
| #
 | |
| 
 | |
| eval SET SESSION STORAGE_ENGINE = $engine_type;
 | |
| 
 | |
| --disable_warnings
 | |
| drop table if exists t1, t2, t3,t4;
 | |
| --enable_warnings
 | |
| 
 | |
| # Signed number as rowid
 | |
| create table t1 (
 | |
|   pk1 int not NULL,
 | |
|   key1 int(11),
 | |
|   key2 int(11),
 | |
|   PRIMARY KEY  (pk1),
 | |
|   KEY key1 (key1),
 | |
|   KEY key2 (key2)
 | |
| );
 | |
| insert into t1 values (-5, 1, 1),
 | |
|   (-100, 1, 1),
 | |
|   (3, 1, 1),
 | |
|   (0, 1, 1),
 | |
|   (10, 1, 1);
 | |
| explain select * from t1 force index(key1, key2) where key1 < 3 or key2 < 3;
 | |
| select * from t1 force index(key1, key2) where key1 < 3 or key2 < 3;
 | |
| drop table t1;
 | |
| 
 | |
| # Unsigned numbers as rowids
 | |
| create table t1 (
 | |
|   pk1 int unsigned not NULL,
 | |
|   key1 int(11),
 | |
|   key2 int(11),
 | |
|   PRIMARY KEY  (pk1),
 | |
|   KEY key1 (key1),
 | |
|   KEY key2 (key2)
 | |
| );
 | |
| insert into t1 values (0, 1, 1),
 | |
|   (0xFFFFFFFF, 1, 1),
 | |
|   (0xFFFFFFFE, 1, 1),
 | |
|   (1, 1, 1),
 | |
|   (2, 1, 1);
 | |
| select * from t1 force index(key1, key2) where key1 < 3 or key2 < 3;
 | |
| drop table t1;
 | |
| 
 | |
| # Case-insensitive char(N)
 | |
| create table t1 (
 | |
|   pk1 char(4) not NULL,
 | |
|   key1 int(11),
 | |
|   key2 int(11),
 | |
|   PRIMARY KEY  (pk1),
 | |
|   KEY key1 (key1),
 | |
|   KEY key2 (key2)
 | |
| ) collate latin2_general_ci;
 | |
| insert into t1 values ('a1', 1, 1),
 | |
|   ('b2', 1, 1),
 | |
|   ('A3', 1, 1),
 | |
|   ('B4', 1, 1);
 | |
| select * from t1 force index(key1, key2) where key1 < 3 or key2 < 3;
 | |
| drop table t1;
 | |
| 
 | |
| # Multi-part PK
 | |
| create table t1 (
 | |
|   pk1 int not NULL,
 | |
|   pk2 char(4) not NULL collate latin1_german1_ci,
 | |
|   pk3 char(4) not NULL collate latin1_bin,
 | |
|   key1 int(11),
 | |
|   key2 int(11),
 | |
|   PRIMARY KEY  (pk1,pk2,pk3),
 | |
|   KEY key1 (key1),
 | |
|   KEY key2 (key2)
 | |
| );
 | |
| insert into t1 values
 | |
|   (1, 'u', 'u',        1, 1),
 | |
|   (1, 'u', char(0xEC), 1, 1),
 | |
|   (1, 'u', 'x',        1, 1);
 | |
| insert ignore into t1 select pk1, char(0xEC), pk3, key1, key2  from t1;
 | |
| insert ignore into t1 select pk1, 'x', pk3, key1, key2  from t1 where pk2='u';
 | |
| insert ignore into t1 select 2, pk2, pk3, key1, key2  from t1;
 | |
| select * from t1;
 | |
| select * from t1 force index(key1, key2) where key1 < 3 or key2 < 3;
 | |
| 
 | |
| # Hidden PK
 | |
| alter table t1 drop primary key;
 | |
| select * from t1;
 | |
| select * from t1 force index(key1, key2) where key1 < 3 or key2 < 3;
 | |
| drop table t1;
 | |
| 
 | |
| # Variable-length PK
 | |
| # this is also test for Bug#2688
 | |
| create table t1  (
 | |
|   pk1 varchar(8) NOT NULL default '',
 | |
|   pk2 varchar(4) NOT NULL default '',
 | |
|   key1 int(11),
 | |
|   key2 int(11),
 | |
|   primary key(pk1, pk2),
 | |
|   KEY key1 (key1),
 | |
|   KEY key2 (key2)
 | |
| );
 | |
| insert into t1 values ('','empt',2,2),
 | |
|   ('a','a--a',2,2),
 | |
|   ('bb','b--b',2,2),
 | |
|   ('ccc','c--c',2,2),
 | |
|   ('dddd','d--d',2,2);
 | |
| select * from t1 force index(key1, key2) where key1 < 3 or key2 < 3;
 | |
| 
 | |
| drop table t1;
 |