дерево из записей вида
(uuid UUID, root_uuid UUID, depth UInt8, content String )
сначала вставляются ветки, последним корень c depth = 0 и в MV нужно сджойнить данные из всего дерева по root_uuid и с другой таблицей по content
проблема в том, что отлавливая вставку корня дерева в MV выборка из tableTrees ограничена только данными которые есть в инсерте
Как заставить читать данные из всей таблицы для джойна?
никак MV работает только с данными вставляемого блока...
Ясно. А можно ли на МВ повесить ещё одну МВ каскадом? И ещё, когда тригеррится МВ данные уже записаны в таблицу или могут быть гонки?
Можно, вроде может завалится (записаться в 2 а в третью нет скажем) смотрим видео и все запоминаем https://www.youtube.com/watch?t=7596&v=1LVJ_WcLgF8
Спасибо, сейчас посмотрим
можно, но данные туда попадут только в рамках одного блока который формируется при вставке в MV
в видео указано что у МВ без таблиц назначения имя должно быть '.inner.MVname' у меня на версии 21.3.14 селекты к МВ идут по обычному имени и каскадирование что то не срабатывает (( сейчас попробую с отдельными таблицами каскадирование
это от синтаксиса создания. используйте синтаксис с TO с явным указанием таргет таблиц, иннер это всегда боль
так у меня вообще нет имён с '.inner' и при обращении с таким именем таблицы в базе нет - может это поменялось или в настройках что то
с явным указанием промежуточной таблицы каскадирование вроде заработало тестируем дальше
в 21.3 default database engine Atomic для там MV другой name convention .inner.{uuid}
В общем сделал с отдельными целевыми таблицами в 2 стэйджа сейчас тестирую с реальными данными
В атомик базах uuid используется. Там рандомное имя.
Обсуждают сегодня