fix(usage): cache-affinity 间隔查询将 interval_minutes 强制转为 DOUBLE PRECISION

This commit is contained in:
fawney19
2026-04-19 16:32:29 +08:00
parent c302dfe42d
commit d719a1329c

View File

@@ -2541,12 +2541,14 @@ intervals AS (
model,
CAST(EXTRACT(EPOCH FROM created_at) AS BIGINT) AS created_at_unix_secs,
usage_id,
EXTRACT(EPOCH FROM (
created_at - LAG(created_at) OVER (
PARTITION BY group_id
ORDER BY created_at ASC, usage_id ASC
)
)) / 60.0 AS interval_minutes
CAST((
EXTRACT(EPOCH FROM (
created_at - LAG(created_at) OVER (
PARTITION BY group_id
ORDER BY created_at ASC, usage_id ASC
)
)) / 60.0
) AS DOUBLE PRECISION) AS interval_minutes
FROM filtered_usage
)
SELECT
@@ -6193,6 +6195,11 @@ mod tests {
assert!(include_str!("sql.rs").contains("COALESCE(\"usage\".model, '') AS model"));
}
#[test]
fn usage_sql_cache_affinity_interval_query_casts_interval_minutes_to_double_precision() {
assert!(include_str!("sql.rs").contains("AS DOUBLE PRECISION) AS interval_minutes"));
}
#[test]
fn usage_sql_reads_http_audits_for_single_record_fetches() {
assert!(super::FIND_BY_REQUEST_ID_SQL.contains("LEFT JOIN usage_http_audits"));