summaryrefslogtreecommitdiff
path: root/mysql-test/suite/period
diff options
context:
space:
mode:
authorNikita Malyavin <nikitamalyavin@gmail.com>2020-06-02 16:06:41 +1000
committerNikita Malyavin <nikitamalyavin@gmail.com>2020-06-05 20:04:37 +1000
commit0c595bdeaa5086a81b65d15bb904ff51bc812bc5 (patch)
tree0baaffe0574b0bb7309e7812bf2f66f000a664a9 /mysql-test/suite/period
parentc3e09a2d3fcf29eec9789edba9965d09211cf678 (diff)
downloadmariadb-git-0c595bdeaa5086a81b65d15bb904ff51bc812bc5.tar.gz
MDEV-22434 UPDATE on RocksDB table with WITHOUT OVERLAPS fails
Insert worked incorrect as well. RocksDB used table->record[0] internally to store some intermediate results for key conversion, during index searching among other operations. So table->record[0] is spoiled during ha_rnd_index_map in ha_check_overlaps, so in turn the broken record data was inserted. The fix is to store RocksDB intermediate result in its own buffer instead of table->record[0]. `rocksdb` MTR suite is is checked and runs fine. No need for additional tests. The existing overlaps.test covers the case completely. However, I am not going to add anything related to rocksdb to suite, to keep it away from additional dependencies. To run tests with RocksDB engine, one can add following to engines.combinations: [rocksdb] plugin-load=$HA_ROCKSDB_SO default-storage-engine=rocksdb rocksdb
Diffstat (limited to 'mysql-test/suite/period')
-rw-r--r--mysql-test/suite/period/r/overlaps.result2
-rw-r--r--mysql-test/suite/period/t/overlaps.test2
2 files changed, 2 insertions, 2 deletions
diff --git a/mysql-test/suite/period/r/overlaps.result b/mysql-test/suite/period/r/overlaps.result
index 4e388d7033e..74faf6819d0 100644
--- a/mysql-test/suite/period/r/overlaps.result
+++ b/mysql-test/suite/period/r/overlaps.result
@@ -175,7 +175,7 @@ insert into t values (3, NULL, '2003-03-01', '2003-05-01');
insert into t values (1, 1, '2003-03-01', '2003-05-01');
insert into t values (1, 2, '2003-05-01', '2003-07-01');
insert into t values (4, NULL, '2003-03-01', '2003-05-01');
-create sequence seq start=5;
+create sequence seq start=5 engine=myisam;
update t set id= nextval(seq), u= nextval(seq), s='2003-05-01', e='2003-07-01'
where u is NULL;
select * from t;
diff --git a/mysql-test/suite/period/t/overlaps.test b/mysql-test/suite/period/t/overlaps.test
index 54dd60e0072..706ea805908 100644
--- a/mysql-test/suite/period/t/overlaps.test
+++ b/mysql-test/suite/period/t/overlaps.test
@@ -157,7 +157,7 @@ insert into t values (1, 1, '2003-03-01', '2003-05-01');
insert into t values (1, 2, '2003-05-01', '2003-07-01');
insert into t values (4, NULL, '2003-03-01', '2003-05-01');
-create sequence seq start=5;
+create sequence seq start=5 engine=myisam;
update t set id= nextval(seq), u= nextval(seq), s='2003-05-01', e='2003-07-01'
where u is NULL;