Parece que também pode ser um problema com a API C.
Qual é o status desse bug? Eu preciso muito disso para um projeto meu. Posso ajudar em alguma coisa?
@tokahuke Inalterado desde que foi arquivado. O que ajudaria é a confirmação se isso é um bug com esta biblioteca Rust wrapper ou se é um problema com a biblioteca upstream do Facebook RocksDB. Se for upstream, provavelmente não é nada que possamos resolver aqui e um problema precisaria ser aberto na biblioteca upstream.
Para as pessoas que estão vendo este bug: _Como vocês estão abrindo o banco de dados? _
Eu encontrei o problema e o vi desaparecer se eu usar DB::open_cf_descriptors()
, em vez de DB::open_cf()
. Acredito que o problema subjacente é que DB::open_cf()
aplica opções padrão a quaisquer famílias de colunas que criar. As opções padrão não incluirão um operador de mesclagem.
A menos que eu esteja enganado:
set_merge_operator()
nas opções da família de colunas, não nas opções do banco de dados. Para fazer isso, open_cf_descriptors()
deve ser chamado em vez de open_cf()
. Espero que isto ajude.
Comentários muito úteis
Para as pessoas que estão vendo este bug: _Como vocês estão abrindo o banco de dados? _
Eu encontrei o problema e o vi desaparecer se eu usar
DB::open_cf_descriptors()
, em vez deDB::open_cf()
. Acredito que o problema subjacente é queDB::open_cf()
aplica opções padrão a quaisquer famílias de colunas que criar. As opções padrão não incluirão um operador de mesclagem.A menos que eu esteja enganado:
set_merge_operator()
nas opções da família de colunas, não nas opções do banco de dados. Para fazer isso,open_cf_descriptors()
deve ser chamado em vez deopen_cf()
. Espero que isto ajude.