[MDEV-22434] UPDATE on RocksDB table with WITHOUT OVERLAPS fails with ER_CONSTRAINT_FAILED Created: 2020-05-02  Updated: 2020-06-05  Resolved: 2020-06-05

Status: Closed
Project: MariaDB Server
Component/s: Storage Engine - RocksDB, Versioned Tables
Affects Version/s: 10.5
Fix Version/s: 10.5.4

Type: Bug Priority: Major
Reporter: Elena Stepanova Assignee: Nikita Malyavin
Resolution: Fixed Votes: 0
Labels: None

Issue Links:
Relates

 Description   

install soname 'ha_rocksdb';
create table t1 (pk int, a int, s date, e date, period for se(s,e), primary key(pk, se without overlaps)) engine=RocksDB;
insert into t1 values
(1, 10, DATE '2001-07-27', DATE '2004-07-27'),
(1, 10, DATE '2004-07-27', DATE '2006-07-27');
UPDATE t1 SET a = 10 WHERE pk = 1;

10.5 5193c1b5

mysqltest: At line 6: query 'UPDATE t1 SET a = 10 WHERE pk = 1' failed: 4025: CONSTRAINT `se` failed for `test`.`t1`

The same UPDATE works all right on InnoDB, MyISAM and Aria tables.



 Comments   
Comment by Nikita Malyavin [ 2020-06-01 ]

the problem is even worse:

create table t1 (pk int, a int, s date, e date, period for se(s,e), primary key(pk, se without overlaps)) engine=RocksDB;
 
insert into t1 values (1, 10, DATE '2001-07-27', DATE '2004-06-15');
 
select * from t1;
 
pk	a	s	e
1	10	2001-07-27	2001-07-27

it has wrong second value

Generated at Thu Feb 08 09:14:42 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.