Size: a a a

Scala User Group

2020 May 10

K

Kai in Scala User Group
Алсо дистейжевые контейнеры персистируют между запусками (с параметром ContainerDef#reuse = true), так что второй запуск тестов будет гораздо быстрее
источник

NV

Nikita Vilunov in Scala User Group
Vλadimir
Ты пользовал?
источник

λ

λoλdog in Scala User Group
Kai
Алсо дистейжевые контейнеры персистируют между запусками (с параметром ContainerDef#reuse = true), так что второй запуск тестов будет гораздо быстрее
И состояние базы сохранится ?
источник

K

Kai in Scala User Group
Он просто будет висеть запущенным так что да, конечно
источник

K

Kai in Scala User Group
источник

AT

Aλeksei Tereχin in Scala User Group
Ого, пока не твитарнул это было лишь предположение, но теперь это твит и это значит что это правда
источник

K

Kai in Scala User Group
Нет, просто теперь это твит и его надо лайкнуть
источник

K

Kai in Scala User Group
+ зафоловить и купить кофе
источник

AT

Aλeksei Tereχin in Scala User Group
Kai
+ зафоловить и купить кофе
Купил. Пью каждое утро. Спасибо за совет! 🙏
источник

AT

Aλeksei Tereχin in Scala User Group
👌
источник

K

Kai in Scala User Group
👍
источник
2020 May 11

R

Renarde in Scala User Group
Всем привет! кто-то пользовался java-based API для RocksDB? У меня вопрос по использованию класса ColumnFamilyHandle. Как создать этот объект этого класса?
Допустим, я открыл инстанс БД и получил список существующих columnFamily:

val options = new Options().setCreateIfMissing(true)
val tdbOptions = new TransactionDBOptions()
val db = TransactionDB.open(options, tdbOptions, Paths.get(storagePath, name).toString)
val columnFamilyNames = RocksDB.listColumnFamilies(new Options(),storagePath) // util.List[Array[Byte]]


Как мне теперь по байтовому имени конкретной columnFamily получить columnFamilyHandle?
источник

ЮБ

Юрий Бадальянц... in Scala User Group
Renarde
Всем привет! кто-то пользовался java-based API для RocksDB? У меня вопрос по использованию класса ColumnFamilyHandle. Как создать этот объект этого класса?
Допустим, я открыл инстанс БД и получил список существующих columnFamily:

val options = new Options().setCreateIfMissing(true)
val tdbOptions = new TransactionDBOptions()
val db = TransactionDB.open(options, tdbOptions, Paths.get(storagePath, name).toString)
val columnFamilyNames = RocksDB.listColumnFamilies(new Options(),storagePath) // util.List[Array[Byte]]


Как мне теперь по байтовому имени конкретной columnFamily получить columnFamilyHandle?
Там всё хитро. Тебе нужно в конструктор передать мутабельный массив, который после создания будет наполнен хэндлерами. Да, это полная адуха, но это тянется ещё с сишного апи
источник

ЮБ

Юрий Бадальянц... in Scala User Group
Там есть пример в доках. В скале точно так же как и в джаве приходится делать
источник

ЮБ

Юрий Бадальянц... in Scala User Group
источник

ЮБ

Юрий Бадальянц... in Scala User Group
Рекомендую завернуть это в какой-нибудь безопасный конструктор
источник

ЮБ

Юрий Бадальянц... in Scala User Group
И закрывать их ещё нужно до закрытия базы
источник

R

Renarde in Scala User Group
Какая дичь. То есть если у меня есть уже существующая БД с пачкой columnFamily, я должен сначала зачитать список существующих columnFamily через listColumnFamilies, затем создать из них columnHandler-ы и передать их в конструктор?
источник

ЮБ

Юрий Бадальянц... in Scala User Group
Ты сам создаёшь только массив ColumnFamilyDescriptor. И отдельно пустой массив типа java.util.List[ColumnFamilyHandle]. Потом передаёшь в конструктор. И после создания твой пустой массив с ColumnFamilyHandle становится наполнен теми хэндлерами, которые ты указан в массиве с ColumnFamilyDescriptor. Всё это есть в примере
источник

ЮБ

Юрий Бадальянц... in Scala User Group
Сишное апи по ссылке наполняет массив хэндлерами
источник