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 = """
|
String finalSql = """
|
||||||
SELECT bucket, metric_name,
|
SELECT bucket, metric_name,
|
||||||
greatest(0, max_val - lag(max_val, 1, max_val)
|
greatest(0, max_val - lagInFrame(max_val, 1, max_val)
|
||||||
OVER (PARTITION BY metric_name ORDER BY bucket)) AS avg_value
|
OVER (PARTITION BY metric_name ORDER BY bucket
|
||||||
|
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING)) AS avg_value
|
||||||
FROM (
|
FROM (
|
||||||
SELECT toStartOfInterval(collected_at, INTERVAL %d SECOND) AS bucket,
|
SELECT toStartOfInterval(collected_at, INTERVAL %d SECOND) AS bucket,
|
||||||
metric_name,
|
metric_name,
|
||||||
|
|||||||
Reference in New Issue
Block a user