• Nikita Malyavin's avatar
    MDEV-22434 UPDATE on RocksDB table with WITHOUT OVERLAPS fails · 0c595bde
    Nikita Malyavin authored
    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
    0c595bde
overlaps.test 9.51 KB