fix: use lagInFrame instead of lag for ClickHouse compatibility
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:
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user