fix: use lagInFrame instead of lag for ClickHouse compatibility
All checks were successful
CI / cleanup-branch (push) Has been skipped
CI / build (push) Successful in 1m29s
CI / docker (push) Successful in 1m10s
CI / deploy-feature (push) Has been skipped
CI / deploy (push) Successful in 41s

ClickHouse does not have lag() as a window function. Use lagInFrame()
with explicit ROWS BETWEEN frame instead.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
hsiegeln
2026-04-13 12:06:25 +02:00
parent 5edb833d21
commit 882198d59a

View File

@@ -88,8 +88,9 @@ public class ClickHouseMetricsQueryStore implements MetricsQueryStore {
String finalSql = """
SELECT bucket, metric_name,
greatest(0, max_val - lag(max_val, 1, max_val)
OVER (PARTITION BY metric_name ORDER BY bucket)) AS avg_value
greatest(0, max_val - lagInFrame(max_val, 1, max_val)
OVER (PARTITION BY metric_name ORDER BY bucket
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING)) AS avg_value
FROM (
SELECT toStartOfInterval(collected_at, INTERVAL %d SECOND) AS bucket,
metric_name,