Size: a a a

2021 March 28

AL

Andrey L in Tarantool
а вот что за таблица с недостаточно говорящим именем, в ночи копать приходится
источник

S

Sid in Tarantool
в общем то по виду примерно тоже что и doxygen в плане оформления кода
источник

OK

Oleg Koshovetc in Tarantool
Andrey L
а вот что за таблица с недостаточно говорящим именем, в ночи копать приходится
Колонки можно "документировать" с помощью space:format. В описании поля тапла можно засунуть любые дополнительные поля. Условно, вы можете написать что-то типа
{ name = 'field_name', type = 'string', comment = 'some comment about the field' }

И это бы все сохранилось в формат спейса, потом можно было бы это дело прочитать. Костыльно, но реализуемо)
источник

AT

Alexander Turenko in Tarantool
Andrey L
Рац. предложение в ночи. Оставлю здесь, чтобы не забыть (вы спите, спите 😌)
Короче... у многих СУБД есть возможность комментировать почти любые объекты - начиная от самой бд, заканчивая колонками таблиц и функциями. У меня даже документация по БД в postgresql автоматически генерируется в маркдауне по метаданным и комментариям. Вот сейчас полез в базу тарантула и осознал, насколько ценна была бы такая возможность. Кажется, что реализация не должна быть сложной. Это прямо таки недооцененная, наверное, случайно упущенная из виду супер-фича.
Есть мысли по встроенным хелпам, но пока что не дошли до этого руки.
источник

AT

Alexander Turenko in Tarantool
Переслано от Alexander Turenko
Кому-то я, кажется, уже рассказывал идею про встроенные хелпы. Должно относительно легко делаться, но, правда, не знаю пока, как лучше api-комментарии запроцессить в строки (чем их вырезать и привязать к названиям функций): https://github.com/tarantool/tarantool/commit/e5e7883d865b6257e0c3d764dae16fb537322f47
источник

AT

Alexander Turenko in Tarantool
Переслано от Alexander Turenko
(Я полез в очередной раз на сайт за чем-то в духе порядка аргументов, и решил все-таки попробовать добить идею хотя бы для своего модуля.)
источник

AT

Alexander Turenko in Tarantool
Переслано от Alexander Turenko
(Считайте, вся идея — это использовать саму функцию в качестве ключа. Кажется, это должно удобно работать вместе с tab completion.)
источник
2021 March 29

I

Ilya Mikhaylov in Tarantool
Доброе утро! В spring-data-tarantool (https://github.com/tarantool/cartridge-springdata#composite-primary-key) упоминается аннотация TarantoolIdClass. Но насколько я вижу, в данной зависимости её нет. Где я могу её найти?
источник

AK

Alexey Kuzin in Tarantool
Ilya Mikhaylov
Доброе утро! В spring-data-tarantool (https://github.com/tarantool/cartridge-springdata#composite-primary-key) упоминается аннотация TarantoolIdClass. Но насколько я вижу, в данной зависимости её нет. Где я могу её найти?
Пока не тегнули версию с этой фичей
источник

AK

Alexey Kuzin in Tarantool
На этой неделе релиз выпустим
источник

IK

Irina Knizhnik in Tarantool
Привет!
Подскажите, пожалуйста, как из спейса (условно, format = {{ name = 'str’, type = 'string' }, { name = 'obj', is_nullable = true }}) поселектить записи по str, у которых ненулевое поле obj?
источник

MF

Michael Filonenko in Tarantool
привет
источник

MF

Michael Filonenko in Tarantool
первый и быстрый вариант построить индекс по obj и селектить
источник

MF

Michael Filonenko in Tarantool
box.space.kv.index['vkey']:pairs({box.NULL}, 'GT')
источник

AK

Alexey Kuzin in Tarantool
Irina Knizhnik
Привет!
Подскажите, пожалуйста, как из спейса (условно, format = {{ name = 'str’, type = 'string' }, { name = 'obj', is_nullable = true }}) поселектить записи по str, у которых ненулевое поле obj?
Посмотрите ещё варианты ответов тут https://stackoverflow.com/questions/63885700/select-from-tarantool-using-multiple-conditions
источник

MF

Michael Filonenko in Tarantool
более долгий ответ, модель желательно строить так, чтобы не было индексации и запросов по бинарным полям
источник

IK

Irina Knizhnik in Tarantool
Michael Filonenko
первый и быстрый вариант построить индекс по obj и селектить
field type 'any' is not supported
источник

MA

Mons Anderson in Tarantool
Michael Filonenko
box.space.kv.index['vkey']:pairs({box.NULL}, 'GT')
ты чего... первый критерий это по str
источник

DS

Dmitry Sharonov in Tarantool
сейчас появятся любители однострочников
источник

MA

Mons Anderson in Tarantool
Irina Knizhnik
Привет!
Подскажите, пожалуйста, как из спейса (условно, format = {{ name = 'str’, type = 'string' }, { name = 'obj', is_nullable = true }}) поселектить записи по str, у которых ненулевое поле obj?
простой и надёжный способ:
заведите ещё одну колонку (has_obj), в которую пишете 1/0
заполнять можно триггером.
индекс по {str, has_obj}
выбирать по {str, 1}
можно сделать это и функциональным индексом, но отдельным полем проще
источник