Email or username:

Password:

Forgot your password?
Top-level
Мя :sparkles_lesbian:

Теперь селекты станут ещё более многоуровневовые, видимо...мозг просыпайся....

20 comments
Мя :sparkles_lesbian: replied to Мя

...и вылез граничный случай, который крайне редкий но если я его проигнорирую то меян будет бесить его возможность

аааааааааааааааааа

Мя :sparkles_lesbian: replied to Мя

Я не хочу воспроизводить гит в реляционной базе но я не знаю как ещё корректно обойти этот граничный случай...
Можно обойти его не совсем корректно, и надеяться что коммитов с одинаковым таймштампом не будет среди тех что надо обработать

Мя :sparkles_lesbian: replied to Мя

Я потерялась в селектах и группировках и вспомнила о существовании вьюх в SQL

Мя :sparkles_lesbian: replied to Мя

У меня смутное ощущение что мне могут помочь оконные функции
У меня часто бывает такое ощущение, потому что я их плохо понимаю, и они для меня что-то загадочное и магическовое...

Мя :sparkles_lesbian: replied to Мя

Как я понимаю, они позволяют нарезать селект на группы без собственно группировки, и потом эти группы можно отдельно друг от друга сортировать, и выбирать то самое максимальное значение что мне нужно

Осталось только переделать тестовую базу под новую схему и потестировать....

Мя :sparkles_lesbian: replied to Мя

стоп у меня кажется получился тот же самый group by...
с л о ж н о

Мя :sparkles_lesbian: replied to Мя

Поняв что я уперлась в тупик, я снова задалась вопросом «а что если»
На этот раз, «а что если предыдущий раз когда я задалась вопросом, я приняла неверное решение, и зря полезла всё переделывать из простого в сложное?»

Мя :sparkles_lesbian: replied to Мя

Почему я утром была такая бодрая и продуктивная, а щас смотрю на написанное для себя ТЗ как баран на новые ворота, и не могу додумать, что мне нужно поменять чтобы пробросить в API кусочек ещё одной сущности...

Мя :sparkles_lesbian: replied to Мя

Обидно, что как только я вроде бы подебила мозг, работать отказался ноутбук...

Мя :sparkles_lesbian: replied to Мя

Обидно, что как только я вроде бы подебила и ноутбук и мозг, пришёл РКН и сказал "сегодня без ваергарда" :blobcattableflip:
Как мне до домашнего компа достукиваться, оло

mrcopperbeard replied to Мя

@mo звучит хрупко. Нужно будет постоянно следить за таймстампами при записи в БД. У меня недавно была возможно похожая ситуация. Я решил записать в таблицу истории статусов два статуса подряд. В одной транзакции. И я не учёл, что запрос на запись использует now в БД. И оно считается на момент коммита транзакции. А все запросы на чтение просто искали max по таймстампу. И в моём случае записей с максимальным таймстампом было две. И бралась первая по порядку, с неактуальным значением статуса.

Мя :sparkles_lesbian: replied to mrcopperbeard

@mrcopperbeard да, но в моем случае таймштампы берутся из гита, и база знает только о тех коммитах которые засветились в CI
Чтобы сломать такую логику, нужно сделать несколько коммитов с одинаковым таймштампом (в теории возможно при ребейзе), и запустить линтер для *каждого*. А запускать для каждого не имеет смысла, обычно запускают на последнем из пуша

Go Up