ON CONFLICT DO UPDATE WHERE version_id != version_id
Вроде бы, но я уже забыл
заливается чанк в промежуточную таблицу, из неё удаляются устаревшие записи по id + dttm, удаляются записи по совпадению хэша и id, из основной таблицы удаляем устаревшие записи по id и наконец вставляем 🌚 Из-за партиций по месяцу приходится страдать такой фигнёй тк в pk помимо id нужно dttm включать, а он не может совпадать с записью в прошлом 🫠
Что то очень сложно, Но у нас партиционирование не имело бы смысла, тк бывало версии откатывались на предыдущую, поэтому для истории изменений была отдельная таблица
У нас откатов нет, это таблица сырая историческая, но мы считаем простую статистику группировкой и на основе неё данные фильтруем дальше по пайплайну
Ну, а пробовали вставлять в таблицу последнего состояния, а не историческую? И если состояние изменилось, уже дальше пушить в историческую..
Обсуждают сегодня