какой-то обходной путь что бы работали алиасы из вложенных запросов для MV при инсерте?
CREATE TABLE IF NOT EXISTS test_table (
A String,
B Int64
) ENGINE MergeTree()
ORDER BY (A, B )
PARTITION BY tuple();
INSERT INTO test_table (A, B ) VALUES ('A', 1), ('B', 2), ('B', 3);
-- тут ок, табличка создается сумма считается
CREATE MATERIALIZED VIEW IF NOT EXISTS test_view
ENGINE = MergeTree()
ORDER BY (A, BB )
PARTITION BY tuple()
POPULATE AS
SELECT A, BB FROM (
SELECT
A,
sum(B ) as BB
FROM
test_table
GROUP BY A
);
SELECT * FROM test_view;
-- При вставке возникает ошибка DB::Exception: Missing columns: 'BB' while processing query:
INSERT INTO test_table (A, B ) VALUES ('C', 4), ('D', 5), ('D', 6);
Я нашел issue на гитхабе https://github.com/yandex/ClickHouse/issues/3450 https://github.com/yandex/ClickHouse/issues/448 и много других, даже кто-то пытался пофиксить. https://github.com/yandex/ClickHouse/pull/3796 Дело так и не пошло да? Очень полезная фича. Есть какие-то технические проблемы с реализацией?
Обсуждают сегодня