mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-30 18:36:12 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			95 lines
		
	
	
	
		
			2.6 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			95 lines
		
	
	
	
		
			2.6 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| --source include/have_debug.inc
 | |
| 
 | |
| #
 | |
| # MDEV-371 Unique indexes for blobs
 | |
| #
 | |
| 
 | |
| --echo #In this test case we will check what will happen in the case of hash collision
 | |
| 
 | |
| SET debug_dbug="d,same_long_unique_hash";
 | |
| create table t1(a blob unique);
 | |
| 
 | |
| FLUSH STATUS;
 | |
| insert into t1 values('xyz');
 | |
| insert into t1 values('abc');
 | |
| insert into t1 values('sachin');
 | |
| --error ER_DUP_ENTRY
 | |
| insert into t1 values('sachin');
 | |
| insert into t1 values('maria');
 | |
| --error ER_DUP_ENTRY
 | |
| insert into t1 values('maria');
 | |
| drop table t1;
 | |
| SHOW STATUS LIKE 'handler_read_next';
 | |
| 
 | |
| SET debug_dbug="";
 | |
| create table t1(a blob unique);
 | |
| FLUSH STATUS;
 | |
| 
 | |
| insert into t1 values('xyz');
 | |
| insert into t1 values('abc');
 | |
| insert into t1 values('sachin');
 | |
| --error ER_DUP_ENTRY
 | |
| insert into t1 values('sachin');
 | |
| insert into t1 values('maria');
 | |
| --error ER_DUP_ENTRY
 | |
| insert into t1 values('maria');
 | |
| drop table t1;
 | |
| SHOW STATUS LIKE 'handler_read_next';
 | |
| 
 | |
| SET debug_dbug="d,same_long_unique_hash";
 | |
| create table t1(a blob unique, b blob unique);
 | |
| 
 | |
| insert into t1 values('xyz', 11);
 | |
| insert into t1 values('abc', 22);
 | |
| insert into t1 values('sachin', 1);
 | |
| --error ER_DUP_ENTRY
 | |
| insert into t1 values('sachin', 4);
 | |
| insert into t1 values('maria', 2);
 | |
| --error ER_DUP_ENTRY
 | |
| insert into t1 values('maria', 3);
 | |
| drop table t1;
 | |
| 
 | |
| create table t1(a blob , b blob , unique(a,b));
 | |
| 
 | |
| insert into t1 values('xyz', 11);
 | |
| insert into t1 values('abc', 22);
 | |
| insert into t1 values('sachin', 1);
 | |
| --error ER_DUP_ENTRY
 | |
| insert into t1 values('sachin', 1);
 | |
| insert into t1 values('maria', 2);
 | |
| --error ER_DUP_ENTRY
 | |
| insert into t1 values('maria', 2);
 | |
| drop table t1;
 | |
| 
 | |
| --echo ##Internal State of long unique tables
 | |
| SET debug_dbug="d,print_long_unique_internal_state";
 | |
| create table t1 ( a blob unique);
 | |
| SET debug_dbug="";
 | |
| drop table t1;
 | |
| 
 | |
| SET debug_dbug="d,print_long_unique_internal_state";
 | |
| create table t1 ( a blob unique, b blob unique , c blob  unique);
 | |
| SET debug_dbug="";
 | |
| drop table t1;
 | |
| 
 | |
| SET debug_dbug="d,print_long_unique_internal_state";
 | |
| create table t1 ( a blob , b blob , c blob , d blob , unique (a,b), unique(c, d));
 | |
| SET debug_dbug="";
 | |
| drop table t1;
 | |
| 
 | |
| SET debug_dbug="d,print_long_unique_internal_state";
 | |
| create table t1(a int primary key, b blob unique , c blob unique not null);
 | |
| SET debug_dbug="";
 | |
| drop table t1;
 | |
| 
 | |
| --echo ##Using hash
 | |
| SET debug_dbug="d,print_long_unique_internal_state";
 | |
| create table t1(a int ,b int , c int,  unique(a, b, c) using hash);
 | |
| SET debug_dbug="";
 | |
| drop table t1;
 | |
| 
 | |
| --echo ##Using hash but with memory engine so no long unique column
 | |
| SET debug_dbug="d,print_long_unique_internal_state";
 | |
| create table t1(a int ,b int , c int,  unique(a, b, c) using hash) engine=memory;
 | |
| SET debug_dbug="";
 | |
| drop table t1;
 | 
