Похоже, это также может быть проблема с API C.
Каков статус этой ошибки? Мне это очень нужно для моего проекта. Могу я чем-нибудь помочь?
@tokahuke Без изменений с момента подачи. Что могло бы помочь, так это подтверждение того, является ли это ошибкой с этой библиотекой-оболочкой Rust или это проблема с вышестоящей библиотекой RocksDB Facebook. Если это апстрим, скорее всего, мы не сможем здесь решить ничего, и нужно будет открыть проблему с вышестоящей библиотекой.
Для людей, которые видят эту ошибку: _Как вы открываете базу данных? _
Я столкнулся с проблемой и увидел, что она исчезнет, если я использую DB::open_cf_descriptors()
вместо DB::open_cf()
. Я считаю, что основная проблема заключается в том, что DB::open_cf()
применяет параметры по умолчанию к любым создаваемым им семействам столбцов. Параметры по умолчанию не будут включать оператор слияния.
Если я не ошибаюсь:
set_merge_operator()
в параметрах семейства столбцов, а не в параметрах БД. Для этого необходимо вызвать open_cf_descriptors()
вместо open_cf()
. Надеюсь это поможет.
Самый полезный комментарий
Для людей, которые видят эту ошибку: _Как вы открываете базу данных? _
Я столкнулся с проблемой и увидел, что она исчезнет, если я использую
DB::open_cf_descriptors()
вместоDB::open_cf()
. Я считаю, что основная проблема заключается в том, чтоDB::open_cf()
применяет параметры по умолчанию к любым создаваемым им семействам столбцов. Параметры по умолчанию не будут включать оператор слияния.Если я не ошибаюсь:
set_merge_operator()
в параметрах семейства столбцов, а не в параметрах БД. Для этого необходимо вызватьopen_cf_descriptors()
вместоopen_cf()
. Надеюсь это поможет.