Esto parece que también podría ser un problema con la API de C.
¿Cuál es el estado de este error? Necesito mucho esto para un proyecto mío. ¿Puedo ayudar con algo?
@tokahuke Sin cambios desde que se presentó. Lo que ayudaría es la confirmación de si se trata de un error con esta biblioteca contenedora de Rust o si es un problema con la biblioteca anterior de Facebook RocksDB. Si es ascendente, es probable que no podamos abordar nada aquí y sería necesario abrir un problema contra la biblioteca ascendente.
Para las personas que están viendo este error: _ ¿Cómo está abriendo la base de datos? _
Encontré el problema y vi que desaparecía si uso DB::open_cf_descriptors()
, en lugar de DB::open_cf()
. Creo que el problema subyacente es que DB::open_cf()
aplica Opciones predeterminadas a cualquier familia de columnas que cree. Las opciones predeterminadas no incluirán un operador de combinación.
A menos que me equivoque:
set_merge_operator()
en las Opciones de la familia de columnas, no en las Opciones de la base de datos. Para hacer eso, se debe llamar open_cf_descriptors()
lugar de open_cf()
. Espero que esto ayude.
Comentario más útil
Para las personas que están viendo este error: _ ¿Cómo está abriendo la base de datos? _
Encontré el problema y vi que desaparecía si uso
DB::open_cf_descriptors()
, en lugar deDB::open_cf()
. Creo que el problema subyacente es queDB::open_cf()
aplica Opciones predeterminadas a cualquier familia de columnas que cree. Las opciones predeterminadas no incluirán un operador de combinación.A menos que me equivoque:
set_merge_operator()
en las Opciones de la familia de columnas, no en las Opciones de la base de datos. Para hacer eso, se debe llamaropen_cf_descriptors()
lugar deopen_cf()
. Espero que esto ayude.