Size: a a a

2020 December 15

AV

Alexander Vershilov in Haskell
Ваще не в тему
источник

AV

Alexander Vershilov in Haskell
Т.е. в тему, но данную проблему он не решает никак
источник

DZ

Dmitry Zuikov in Haskell
Alexander Vershilov
*хочется крайне странного, хочется тегировать запросы информацией о том, какие таблицы / строки в каких таблицах лочит запрос. Для транзакций собирать список того, что залочат все запросы.
Потом автоматом собирать все транзакции в коде, в которых есть пересечение по залоченным таблицам и проверять, что нет дедлоков. Я нормальный?
чот я вспоминаю, как делал что-то похожее - но там запросы группировались таким образом, что бы дедлоки в принципе не могли возникать
источник

DZ

Dmitry Zuikov in Haskell
была репликация из KV базы в Oracle
источник

AV

Alexander Vershilov in Haskell
У меня обычно всё аккуратненько, но вот практика показала, что не всегда
источник

AV

Alexander Vershilov in Haskell
Один раз правда было т.к. я не правильно понимал что будет лочить запорос вида update foo from bar where foo.id=bar.id and ...
источник

AV

Alexander Vershilov in Haskell
Это вообще был ад, у там в логах прилетал иногда deadlock, в котором  5-7 транзакций перемешивались, и надо было этот узел развязать, чтобы понять. Зато я придумал как сделать тесты, которые будут проверять не лочит ли запрос лишнее
источник

AV

Alexander Vershilov in Haskell
Не реализовал, конечно
источник

DZ

Dmitry Zuikov in Haskell
тогда в моём случае было проще, так это был просто поток update/insert/delete в разные таблицы. в полноценном sql в один запрос можно что угодно засунуть, даже игру life на рекурсивных CTE запросах
источник

AV

Alexander Vershilov in Haskell
Ну вот это вот
источник

AV

Alexander Vershilov in Haskell
до life конечно не доходит, но идёт к тому
источник

AV

Alexander Vershilov in Haskell
Хм, а что для NonEmpty нет nubOrd?
источник

AV

Alexander Vershilov in Haskell
для list хотя бы в containers есть
источник

AA

A64m AL256m qn<co... in Haskell
ох, для нонэмпти столько всего нет
источник

в

весёлый кремовый 🍰 т... in Haskell
напомните пожалуйста, а можно как-то поменять порядок тайппараметров для отдельной функции тайпкласса?
источник

YS

Yan Shkurinskiy in Haskell
Если можно - скажите
источник

AV

Alexander Vershilov in Haskell
весёлый кремовый 🍰 торт
напомните пожалуйста, а можно как-то поменять порядок тайппараметров для отдельной функции тайпкласса?
сделать новую
источник

YS

Yan Shkurinskiy in Haskell
Я бы тогда не изобретал as вместо coerce
источник

YS

Yan Shkurinskiy in Haskell
Alexander Vershilov
сделать новую
Значит нельзя(
источник

AV

Alexander Vershilov in Haskell
Ну можно применять не поочереди, но это в каждом месте
источник