diff options
author | Sergei Petrunia <psergey@askmonty.org> | 2020-10-09 17:48:22 +0300 |
---|---|---|
committer | Daniel Black <daniel@mariadb.org> | 2020-10-15 11:06:40 +1100 |
commit | 58e0f6a2acafadb5f4fd5fa77f580bc31c7fc32f (patch) | |
tree | 933e4db04afa27fb14d64c5a860e88b7f2a49f8c /mysql-test/t/myisam_icp_debug.result | |
parent | 6504d3d229b086d20e5e4798b1ae10bbbd70d3c7 (diff) | |
download | mariadb-git-bb-10.1-danielblack-MDEV-23938-innodb-aborted-by-user.tar.gz |
MDEV-23938: innodb row_search_idx_cond_check handle ICP_ABORTED_BY_USERbb-10.1-danielblack-MDEV-23938-innodb-aborted-by-user
- row_search_mvcc() should return DB_INTERRUPTED when it got killed.
- Add a syncpoint for the ICP check.
- Add test coverage for killed-during-ICP-check scenario
Backport of MDEV-22761 fixes for ICP from 10.4 commits:
* a6f956488c712bef3b13660584d1b905e0c676cc
* c03885cd9ceb1ede7f49a9e218022b401b3a1e28
XtraDB was fixed in deb3b9a17498
Reviewer: Daniel Black
Diffstat (limited to 'mysql-test/t/myisam_icp_debug.result')
-rw-r--r-- | mysql-test/t/myisam_icp_debug.result | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/mysql-test/t/myisam_icp_debug.result b/mysql-test/t/myisam_icp_debug.result new file mode 100644 index 00000000000..cb45a0e2274 --- /dev/null +++ b/mysql-test/t/myisam_icp_debug.result @@ -0,0 +1,32 @@ +drop table if exists t0,t1,t2; +create table t0(a int primary key); +insert into t0 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9); +create table t1(a int primary key); +insert into t1 select A.a + B.a* 10 + C.a * 100 from t0 A, t0 B, t0 C; +create table t2 ( +kp1 int, +kp2 int, +col char(100), +key(kp1, kp2) +); +insert into t2 select a, a, a from t1; +select engine from information_schema.tables +where table_schema=database() and table_name='t2'; +engine +MyISAM +explain +select * from t2 where kp1 between 10 and 20 and kp2 +1 >100; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t2 range kp1 kp1 5 NULL 11 Using index condition +set debug_sync='handler_index_cond_check SIGNAL at_icp_check WAIT_FOR go'; +select * from t2 where kp1 between 10 and 20 and kp2 +1 >100; +connect con1, localhost, root,,; +connection con1; +set debug_sync='now WAIT_FOR at_icp_check'; +kill query $target_id; +set debug_sync='now SIGNAL go'; +connection default; +ERROR 70100: Query execution was interrupted +set debug_sync='RESET'; +disconnect con1; +drop table t0,t1,t2; |