mirror of
https://github.com/fawney19/Aether.git
synced 2026-10-09 02:47:45 +08:00
fix: cast usage provider body before jsonb type checks
This commit is contained in:
+4
-4
@@ -115,14 +115,14 @@ SELECT
|
||||
OR NULLIF(BTRIM("usage".request_metadata->>'request_path'), '') IS NOT NULL
|
||||
OR NULLIF(BTRIM("usage".request_metadata->>'request_path_and_query'), '') IS NOT NULL
|
||||
OR CASE
|
||||
WHEN jsonb_typeof("usage".provider_request_body) = 'object' THEN COALESCE(
|
||||
WHEN jsonb_typeof("usage".provider_request_body::jsonb) = 'object' THEN COALESCE(
|
||||
NULLIF(BTRIM("usage".provider_request_body->>'reasoning_effort'), ''),
|
||||
NULLIF(BTRIM("usage".provider_request_body->'reasoning'->>'effort'), '')
|
||||
)
|
||||
ELSE NULLIF(BTRIM("usage".request_metadata->>'provider_reasoning_effort'), '')
|
||||
END IS NOT NULL
|
||||
OR CASE
|
||||
WHEN jsonb_typeof("usage".provider_request_body) = 'object' THEN NULLIF(BTRIM("usage".provider_request_body->>'service_tier'), '')
|
||||
WHEN jsonb_typeof("usage".provider_request_body::jsonb) = 'object' THEN NULLIF(BTRIM("usage".provider_request_body->>'service_tier'), '')
|
||||
ELSE NULLIF(BTRIM("usage".request_metadata->>'provider_service_tier'), '')
|
||||
END IS NOT NULL
|
||||
OR ("usage".request_metadata->>'client_requested_stream') IN ('true', 'false')
|
||||
@@ -138,7 +138,7 @@ SELECT
|
||||
NULLIF(BTRIM("usage".request_metadata->>'request_path_and_query'), ''),
|
||||
'provider_reasoning_effort',
|
||||
CASE
|
||||
WHEN jsonb_typeof("usage".provider_request_body) = 'object' THEN COALESCE(
|
||||
WHEN jsonb_typeof("usage".provider_request_body::jsonb) = 'object' THEN COALESCE(
|
||||
NULLIF(BTRIM("usage".provider_request_body->>'reasoning_effort'), ''),
|
||||
NULLIF(BTRIM("usage".provider_request_body->'reasoning'->>'effort'), '')
|
||||
)
|
||||
@@ -146,7 +146,7 @@ SELECT
|
||||
END,
|
||||
'provider_service_tier',
|
||||
CASE
|
||||
WHEN jsonb_typeof("usage".provider_request_body) = 'object' THEN NULLIF(BTRIM("usage".provider_request_body->>'service_tier'), '')
|
||||
WHEN jsonb_typeof("usage".provider_request_body::jsonb) = 'object' THEN NULLIF(BTRIM("usage".provider_request_body->>'service_tier'), '')
|
||||
ELSE NULLIF(BTRIM("usage".request_metadata->>'provider_service_tier'), '')
|
||||
END,
|
||||
'client_requested_stream',
|
||||
|
||||
+4
-4
@@ -115,14 +115,14 @@ SELECT
|
||||
OR NULLIF(BTRIM("usage".request_metadata->>'request_path'), '') IS NOT NULL
|
||||
OR NULLIF(BTRIM("usage".request_metadata->>'request_path_and_query'), '') IS NOT NULL
|
||||
OR CASE
|
||||
WHEN jsonb_typeof("usage".provider_request_body) = 'object' THEN COALESCE(
|
||||
WHEN jsonb_typeof("usage".provider_request_body::jsonb) = 'object' THEN COALESCE(
|
||||
NULLIF(BTRIM("usage".provider_request_body->>'reasoning_effort'), ''),
|
||||
NULLIF(BTRIM("usage".provider_request_body->'reasoning'->>'effort'), '')
|
||||
)
|
||||
ELSE NULLIF(BTRIM("usage".request_metadata->>'provider_reasoning_effort'), '')
|
||||
END IS NOT NULL
|
||||
OR CASE
|
||||
WHEN jsonb_typeof("usage".provider_request_body) = 'object' THEN NULLIF(BTRIM("usage".provider_request_body->>'service_tier'), '')
|
||||
WHEN jsonb_typeof("usage".provider_request_body::jsonb) = 'object' THEN NULLIF(BTRIM("usage".provider_request_body->>'service_tier'), '')
|
||||
ELSE NULLIF(BTRIM("usage".request_metadata->>'provider_service_tier'), '')
|
||||
END IS NOT NULL
|
||||
OR ("usage".request_metadata->>'client_requested_stream') IN ('true', 'false')
|
||||
@@ -138,7 +138,7 @@ SELECT
|
||||
NULLIF(BTRIM("usage".request_metadata->>'request_path_and_query'), ''),
|
||||
'provider_reasoning_effort',
|
||||
CASE
|
||||
WHEN jsonb_typeof("usage".provider_request_body) = 'object' THEN COALESCE(
|
||||
WHEN jsonb_typeof("usage".provider_request_body::jsonb) = 'object' THEN COALESCE(
|
||||
NULLIF(BTRIM("usage".provider_request_body->>'reasoning_effort'), ''),
|
||||
NULLIF(BTRIM("usage".provider_request_body->'reasoning'->>'effort'), '')
|
||||
)
|
||||
@@ -146,7 +146,7 @@ SELECT
|
||||
END,
|
||||
'provider_service_tier',
|
||||
CASE
|
||||
WHEN jsonb_typeof("usage".provider_request_body) = 'object' THEN NULLIF(BTRIM("usage".provider_request_body->>'service_tier'), '')
|
||||
WHEN jsonb_typeof("usage".provider_request_body::jsonb) = 'object' THEN NULLIF(BTRIM("usage".provider_request_body->>'service_tier'), '')
|
||||
ELSE NULLIF(BTRIM("usage".request_metadata->>'provider_service_tier'), '')
|
||||
END,
|
||||
'client_requested_stream',
|
||||
|
||||
@@ -707,6 +707,8 @@ fn usage_sql_uses_json_null_placeholders_for_usage_payload_columns() {
|
||||
super::LIST_RECENT_USAGE_AUDITS_PREFIX,
|
||||
] {
|
||||
assert!(sql.contains("jsonb_strip_nulls(jsonb_build_object("));
|
||||
assert!(sql.contains("jsonb_typeof(\"usage\".provider_request_body::jsonb)"));
|
||||
assert!(!sql.contains("jsonb_typeof(\"usage\".provider_request_body)"));
|
||||
assert!(sql.contains("'client_ip'"));
|
||||
assert!(sql.contains("request_metadata->>'client_ip'"));
|
||||
assert!(sql.contains("'user_agent'"));
|
||||
|
||||
Reference in New Issue
Block a user