Size: a a a

2020 July 03

AN

Alexander Nelzin in Tarantool
Окей, сейчас
источник

AK

Alexey Kuzin in Tarantool
Переслано от Alexander NERON
Здравствуйте, такой вопрос: а если в цикле for ... in index:pairs() делаю удаление этого же тупла, это безопасно?
источник

AK

Alexey Kuzin in Tarantool
Переслано от Dmitry Sharonov
да
источник

AK

Alexey Kuzin in Tarantool
Для версии Тарантула 1.10+
источник

AN

Alexander Nelzin in Tarantool
А для версии 1.9 чем это грозит?
источник

AN

Alexander Nelzin in Tarantool
Alexey Kuzin
По-моему за последнюю неделю видел уже пару раз этот вопрос. Можете создать на стековерфлоу?
источник

AK

Alexey Kuzin in Tarantool
Alexander Nelzin
А для версии 1.9 чем это грозит?
Думаю что ничем, починили поведение pairs вроде в 1.7.5, однако настоятельно рекомендую обновиться до последней версии 1.10 как минимум
источник

AN

Alexander Nelzin in Tarantool
Хорошо, спасибо!
источник

ВМ

Валерий Матросов... in Tarantool
Неужели я первопроходец?)
источник
2020 July 04

AB

Artur Barsegyan in Tarantool
Валерий Матросов
Неужели я первопроходец?)
видимо, да)
можно написать роль, которая будет использовать этот модуль. кажется логичным поместить ее на роутере
источник

ЯШ

Ярослав Шумаков... in Tarantool
Валерий Матросов
Неужели я первопроходец?)
Оно в коробке не умеет шардиться, поэтому запустить можно, но надо перписывать. Другими словами, если Вам норм, если оно будет крутиться на одном роутере и там же локально будет сторадж - то запустить в принципе можно с минимальными изменениями, а если Вам нужно полноценное кластерное решение - то там надо прилично перепиливать.
источник

IM

Ivan Medvedev in Tarantool
Привет, подскажите, как сделать upsert для типа array (добавить значение в конец). Пытаюсь так, my_space:upsert ( { 1, { 1 } }, { { '+', 2, 2 } } ). В итоге, после второго выполнениея хочу получить [1, [1, 2] ].
источник

ОБ

Олег Бабин in Tarantool
Ivan Medvedev
Привет, подскажите, как сделать upsert для типа array (добавить значение в конец). Пытаюсь так, my_space:upsert ( { 1, { 1 } }, { { '+', 2, 2 } } ). В итоге, после второго выполнениея хочу получить [1, [1, 2] ].
tarantool> box.space.test:upsert({1, {1}}, {{'=', '[2][2]', 2}})
---
...

tarantool> box.space.test:select()
---
- - [1, [1]]
...

tarantool> box.space.test:upsert({1, {1}}, {{'=', '[2][2]', 2}})
---
...

tarantool> box.space.test:select()
---
- - [1, [1, 2]]
...


Но чистого append'a, кажется, нет
источник

IM

Ivan Medvedev in Tarantool
Олег Бабин
tarantool> box.space.test:upsert({1, {1}}, {{'=', '[2][2]', 2}})
---
...

tarantool> box.space.test:select()
---
- - [1, [1]]
...

tarantool> box.space.test:upsert({1, {1}}, {{'=', '[2][2]', 2}})
---
...

tarantool> box.space.test:select()
---
- - [1, [1, 2]]
...


Но чистого append'a, кажется, нет
Спасибо, но я не знаю заранее размер массива. Интересно то, что я ошибся при выборе поля (типа '[1][2]'), и этим положил тарантул (докер контейнер с тарантулом).
источник

ОБ

Олег Бабин in Tarantool
Ivan Medvedev
Спасибо, но я не знаю заранее размер массива. Интересно то, что я ошибся при выборе поля (типа '[1][2]'), и этим положил тарантул (докер контейнер с тарантулом).
Случайно не вот так https://github.com/tarantool/tarantool/issues/5135 ?
источник

IM

Ivan Medvedev in Tarantool
Не осталось логов, но похоже.
источник

IM

Ivan Medvedev in Tarantool
да, видимо оно, повторил схожим с тикетом образом
 xrow_update_field.c:101 E> ER_UPDATE_FIELD: Field '[3][-1]' UPDATE error: invalid JSON in position 5
Segmentation fault
 code: SEGV_ACCERR
 addr: 0x7f1bdf881000
...
источник

VS

Vladislav Shpilevoy in Tarantool
Уже взял в работу
источник

VS

Vladislav Shpilevoy in Tarantool
По поводу добавления в конец - ну сделать можно наверное. Чтоб отрицательные индексы в json пути задавать
источник

VS

Vladislav Shpilevoy in Tarantool
Если сильно хочется - можно открыть тикет
источник