Перейти к основному содержимому
Перейти к основному содержимому

mergeTreeProjection Табличная Функция

Представляет содержимое некоторой проекции в таблицах MergeTree. Она может быть использована для инспекции.

Синтаксис

mergeTreeProjection(database, table, projection)

Аргументы

АргументОписание
databaseИмя базы данных, из которой нужно читать проекцию.
tableИмя таблицы, из которой нужно читать проекцию.
projectionПроекция, из которой нужно читать.

Возвращаемое значение

Объект таблицы с колонками, предоставляемыми данной проекцией.

Пример использования

CREATE TABLE test
(
    `user_id` UInt64,
    `item_id` UInt64,
    PROJECTION order_by_item_id
    (
        SELECT _part_offset
        ORDER BY item_id
    )
)
ENGINE = MergeTree
ORDER BY user_id;

INSERT INTO test SELECT number, 100 - number FROM numbers(5);
SELECT *, _part_offset FROM mergeTreeProjection(currentDatabase(), test, order_by_item_id);
   ┌─item_id─┬─_parent_part_offset─┬─_part_offset─┐
1. │      96 │                   4 │            0 │
2. │      97 │                   3 │            1 │
3. │      98 │                   2 │            2 │
4. │      99 │                   1 │            3 │
5. │     100 │                   0 │            4 │
   └─────────┴─────────────────────┴──────────────┘
DESCRIBE mergeTreeProjection(currentDatabase(), test, order_by_item_id) SETTINGS describe_compact_output = 1;
   ┌─name────────────────┬─type───┐
1. │ item_id             │ UInt64 │
2. │ _parent_part_offset │ UInt64 │
   └─────────────────────┴────────┘