From 7c7ea0f4652ef542144e2e13dbd1e36d8ac44d28 Mon Sep 17 00:00:00 2001 From: Chris Arderne Date: Fri, 14 Aug 2026 14:18:09 +0100 Subject: [PATCH 1/2] perf(clickhouse): add task_events_v2 inserted_at minmax index --- .../schema/038_add_task_events_inserted_at_index.sql | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 internal-packages/clickhouse/schema/038_add_task_events_inserted_at_index.sql diff --git a/internal-packages/clickhouse/schema/038_add_task_events_inserted_at_index.sql b/internal-packages/clickhouse/schema/038_add_task_events_inserted_at_index.sql new file mode 100644 index 0000000000..85f3add7b2 --- /dev/null +++ b/internal-packages/clickhouse/schema/038_add_task_events_inserted_at_index.sql @@ -0,0 +1,9 @@ +-- +goose Up +-- Source index supporting closed projector windows on newly written parts. +-- ADD INDEX only defines the index for new parts; existing parts are not materialized. +ALTER TABLE trigger_dev.task_events_v2 + ADD INDEX IF NOT EXISTS idx_inserted_at_projector inserted_at TYPE minmax GRANULARITY 1; + +-- +goose Down +ALTER TABLE trigger_dev.task_events_v2 + DROP INDEX IF EXISTS idx_inserted_at_projector; From 800b05eb98a029beedc1feb52e303914ad4e512a Mon Sep 17 00:00:00 2001 From: Chris Arderne Date: Fri, 14 Aug 2026 14:28:35 +0100 Subject: [PATCH 2/2] fix(clickhouse): remove semicolon from migration comment The testcontainers migration parser splits Up statements on ';', including semicolons inside comments, which produced a comments-only fragment rejected by ClickHouse as 'Empty query.' --- .../clickhouse/schema/038_add_task_events_inserted_at_index.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal-packages/clickhouse/schema/038_add_task_events_inserted_at_index.sql b/internal-packages/clickhouse/schema/038_add_task_events_inserted_at_index.sql index 85f3add7b2..b9e756b2da 100644 --- a/internal-packages/clickhouse/schema/038_add_task_events_inserted_at_index.sql +++ b/internal-packages/clickhouse/schema/038_add_task_events_inserted_at_index.sql @@ -1,6 +1,6 @@ -- +goose Up -- Source index supporting closed projector windows on newly written parts. --- ADD INDEX only defines the index for new parts; existing parts are not materialized. +-- ADD INDEX only defines the index for new parts and does not materialize existing parts. ALTER TABLE trigger_dev.task_events_v2 ADD INDEX IF NOT EXISTS idx_inserted_at_projector inserted_at TYPE minmax GRANULARITY 1;