mirror of
https://github.com/MariaDB/server.git
synced 2025-01-30 18:41:56 +01:00
92 lines
2.6 KiB
Text
92 lines
2.6 KiB
Text
|
--source include/have_debug.inc
|
||
|
--source include/have_innodb.inc
|
||
|
--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;
|