summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Lindström <jan.lindstrom@mariadb.com>2017-11-16 13:21:07 +0200
committerJan Lindström <jan.lindstrom@mariadb.com>2017-11-16 14:05:49 +0200
commitd7349e204b873cd882666c2598b1ec1bf1490563 (patch)
tree70a572ae6a510c5cec27390c713653adf8257d30
parenteeec64d75eb39155e0080f464c9f2103897dd809 (diff)
downloadmariadb-git-d7349e204b873cd882666c2598b1ec1bf1490563.tar.gz
MDEV-9663: InnoDB assertion failure: *cursor->index->name == TEMP_INDEX_PREFIX
MariaDB adjustments to test case innodb-replace-debug and add missing instrumentation to row0ins.cc. MariaDB 10.1 does not seem to be affected.
-rw-r--r--mysql-test/suite/innodb/r/innodb-replace-debug.result6
-rw-r--r--mysql-test/suite/innodb/t/innodb-replace-debug.test4
-rw-r--r--storage/innobase/row/row0ins.cc4
-rw-r--r--storage/xtradb/row/row0ins.cc4
4 files changed, 16 insertions, 2 deletions
diff --git a/mysql-test/suite/innodb/r/innodb-replace-debug.result b/mysql-test/suite/innodb/r/innodb-replace-debug.result
index 0de351efded..84bc9dc9769 100644
--- a/mysql-test/suite/innodb/r/innodb-replace-debug.result
+++ b/mysql-test/suite/innodb/r/innodb-replace-debug.result
@@ -4,6 +4,10 @@
create table t1 (f1 int primary key, f2 int, f3 int, unique key k1(f2),
key k2(f3)) engine=innodb;
insert into t1 values (14, 24, 34);
-set debug = '+d,row_ins_sec_index_entry_timeout';
+set @@debug_dbug = '+d,row_ins_sec_index_entry_timeout';
replace into t1 values (14, 25, 34);
+select * from t1;
+f1 f2 f3
+14 25 34
drop table t1;
+set @@debug_dbug = '-d,row_ins_sec_index_entry_timeout';
diff --git a/mysql-test/suite/innodb/t/innodb-replace-debug.test b/mysql-test/suite/innodb/t/innodb-replace-debug.test
index 250c90ba5b1..5cec9e1febf 100644
--- a/mysql-test/suite/innodb/t/innodb-replace-debug.test
+++ b/mysql-test/suite/innodb/t/innodb-replace-debug.test
@@ -8,6 +8,8 @@
create table t1 (f1 int primary key, f2 int, f3 int, unique key k1(f2),
key k2(f3)) engine=innodb;
insert into t1 values (14, 24, 34);
-set debug = '+d,row_ins_sec_index_entry_timeout';
+set @@debug_dbug = '+d,row_ins_sec_index_entry_timeout';
replace into t1 values (14, 25, 34);
+select * from t1;
drop table t1;
+set @@debug_dbug = '-d,row_ins_sec_index_entry_timeout';
diff --git a/storage/innobase/row/row0ins.cc b/storage/innobase/row/row0ins.cc
index acbffb3a386..bc369ad444b 100644
--- a/storage/innobase/row/row0ins.cc
+++ b/storage/innobase/row/row0ins.cc
@@ -2968,6 +2968,10 @@ row_ins_sec_index_entry(
mem_heap_t* offsets_heap;
mem_heap_t* heap;
+ DBUG_EXECUTE_IF("row_ins_sec_index_entry_timeout", {
+ DBUG_SET("-d,row_ins_sec_index_entry_timeout");
+ return(DB_LOCK_WAIT);});
+
if (!index->table->foreign_set.empty()) {
err = row_ins_check_foreign_constraints(index->table, index,
entry, thr);
diff --git a/storage/xtradb/row/row0ins.cc b/storage/xtradb/row/row0ins.cc
index 62e194020bc..f653a4df77d 100644
--- a/storage/xtradb/row/row0ins.cc
+++ b/storage/xtradb/row/row0ins.cc
@@ -3041,6 +3041,10 @@ row_ins_sec_index_entry(
mem_heap_t* offsets_heap;
mem_heap_t* heap;
+ DBUG_EXECUTE_IF("row_ins_sec_index_entry_timeout", {
+ DBUG_SET("-d,row_ins_sec_index_entry_timeout");
+ return(DB_LOCK_WAIT);});
+
if (!index->table->foreign_set.empty()) {
err = row_ins_check_foreign_constraints(index->table, index,
entry, thr);