403Webshell
Server IP : 88.99.149.37  /  Your IP : 216.73.216.141
Web Server : nginx/1.31.2
System : Linux server-88-99-149-37 6.12.0-124.56.5.el10_1.x86_64 #1 SMP PREEMPT_DYNAMIC Fri May 15 06:12:08 EDT 2026 x86_64
User : muralimurth ( 1015)
PHP Version : 8.4.23
Disable Function : exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /usr/local/mysql/mysql-test/suite/period/t/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/local/mysql/mysql-test/suite/period/t/innodb_debug.test
--source include/have_innodb.inc
--source include/have_debug_sync.inc

--echo #
--echo # MDEV-37199 UNIQUE KEY USING HASH accepting duplicate records
--echo #

--echo ## INSERT
create table t1 (
  id int, s date, e date,
  period for p(s,e),
  unique(id, p without overlaps)
) engine=innodb;

start transaction;
select * from t1;
--connect con1,localhost,root
insert t1 values(10, date'2010-10-10', date'2010-11-11');
delete from t1;
set transaction isolation level read committed;
set debug_sync="innodb_row_ins_step_enter SIGNAL checked_duplicate WAIT_FOR do_insert";
--send insert t1 values(10, date'2010-09-09', date'2010-11-10')
--connect con2,localhost,root
set debug_sync="now WAIT_FOR checked_duplicate";
set transaction isolation level read committed;
insert t1 values(10, date'2010-10-10', date'2010-11-12');
set debug_sync="now SIGNAL do_insert";
--connection con1
--error ER_DUP_ENTRY
--reap
--connection default
select * from t1;
commit;
select * from t1;
--disconnect con1
--disconnect con2
set debug_sync='RESET';
drop table t1;

--echo ## UPDATE
create table t1 (
  id int, s date, e date,
  period for p(s,e),
  unique(id, p without overlaps)
) engine=innodb;

start transaction;
select * from t1;
--connect con1,localhost,root
insert t1 values(10, date'2010-10-10', date'2010-11-11');
delete from t1;
insert t1 values(10, date'2010-09-09', date'2010-09-10');
insert t1 values(10, date'2010-12-10', date'2010-12-12');
set transaction isolation level read committed;
set debug_sync="innodb_row_update_for_mysql_begin SIGNAL checked_duplicate WAIT_FOR do_insert";
--send update t1 set e=e + interval 2 month where s=date'2010-09-09'
--connect con2,localhost,root
set debug_sync="now WAIT_FOR checked_duplicate";
set transaction isolation level read committed;
update t1 set s=date'2010-10-10' where e=date'2010-12-12';
set debug_sync="now SIGNAL do_insert";
--connection con1
--error ER_DUP_ENTRY
--reap
--connection default
select * from t1;
commit;
select * from t1;
--disconnect con1
--disconnect con2
set debug_sync='RESET';
drop table t1;

--echo ## INSERT IGNORE
create table t1 (
  id int, s date, e date,
  period for p(s,e),
  unique(id, p without overlaps)
) engine=innodb;

start transaction;
select * from t1;
--connect con1,localhost,root
insert t1 values(10, date'2010-10-10', date'2010-11-11');
delete from t1;
set transaction isolation level read committed;
set debug_sync="innodb_row_ins_step_enter SIGNAL checked_duplicate WAIT_FOR do_insert";
--send insert ignore t1 values(10, date'2010-09-09', date'2010-11-10'),(11, date'2010-09-09', date'2010-11-10')
--connect con2,localhost,root
set debug_sync="now WAIT_FOR checked_duplicate";
set transaction isolation level read committed;
insert t1 values(10, date'2010-10-10', date'2010-11-12');
set debug_sync="now SIGNAL do_insert";
--connection con1
--reap
--connection default
select * from t1;
commit;
select * from t1;
--disconnect con1
--disconnect con2
set debug_sync='RESET';
drop table t1;

--echo ## UPDATE IGNORE
create table t1 (
  id int, s date, e date,
  period for p(s,e),
  unique(id, p without overlaps)
) engine=innodb;

start transaction;
select * from t1;
--connect con1,localhost,root
insert t1 values(10, date'2010-10-10', date'2010-11-11');
delete from t1;
insert t1 values(10, date'2010-09-09', date'2010-09-10');
insert t1 values(10, date'2010-12-10', date'2010-12-12');
set transaction isolation level read committed;
set debug_sync="innodb_row_update_for_mysql_begin SIGNAL checked_duplicate WAIT_FOR do_insert";
--send update ignore t1 set e=e + interval 2 month where s=date'2010-09-09'
--connect con2,localhost,root
set debug_sync="now WAIT_FOR checked_duplicate";
set transaction isolation level read committed;
update t1 set s=date'2010-10-10' where e=date'2010-12-12';
set debug_sync="now SIGNAL do_insert";
--connection con1
--error ER_NOT_SUPPORTED_YET
--reap
--connection default
select * from t1;
commit;
select * from t1;
--disconnect con1
--disconnect con2
set debug_sync='RESET';
drop table t1;

--echo ## UPDATE modifying PK
create table t1 (
  id int, s date, e date,
  period for p(s,e),
  primary key (id, p without overlaps)
) engine=innodb;

start transaction;
select * from t1;
--connect con1,localhost,root
insert t1 values(10, date'2010-10-10', date'2010-11-11');
delete from t1;
insert t1 values(10, date'2010-09-09', date'2010-09-10');
insert t1 values(10, date'2010-12-10', date'2010-12-12');
set transaction isolation level read committed;
set debug_sync="innodb_row_update_for_mysql_begin SIGNAL checked_duplicate WAIT_FOR do_insert";
--send update t1 set e=e + interval 2 month where s=date'2010-09-09'
--connect con2,localhost,root
set debug_sync="now WAIT_FOR checked_duplicate";
set transaction isolation level read committed;
update t1 set s=date'2010-10-10' where e=date'2010-12-12';
set debug_sync="now SIGNAL do_insert";
--connection con1
--error ER_DUP_ENTRY
--reap
--connection default
select * from t1;
commit;
select * from t1;
--disconnect con1
--disconnect con2
set debug_sync='RESET';
drop table t1;

--echo ## UPDATE IGNORE modifying PK
create table t1 (
  id int, s date, e date,
  period for p(s,e),
  primary key (id, p without overlaps)
) engine=innodb;

start transaction;
select * from t1;
--connect con1,localhost,root
insert t1 values(10, date'2010-10-10', date'2010-11-11');
delete from t1;
insert t1 values(10, date'2010-09-09', date'2010-09-10');
insert t1 values(10, date'2010-12-10', date'2010-12-12');
set transaction isolation level read committed;
set debug_sync="innodb_row_update_for_mysql_begin SIGNAL checked_duplicate WAIT_FOR do_insert";
--send update ignore t1 set e=e + interval 2 month where s=date'2010-09-09'
--connect con2,localhost,root
set debug_sync="now WAIT_FOR checked_duplicate";
set transaction isolation level read committed;
update t1 set s=date'2010-10-10' where e=date'2010-12-12';
set debug_sync="now SIGNAL do_insert";
--connection con1
--error ER_NOT_SUPPORTED_YET
--reap
--connection default
select * from t1;
commit;
select * from t1;
--disconnect con1
--disconnect con2
set debug_sync='RESET';
drop table t1;


--echo # End of 10.6 tests


Youez - 2016 - github.com/yon3zu
LinuXploit