mirror of
https://github.com/fawney19/Aether.git
synced 2026-10-12 12:09:50 +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'), '') IS NOT NULL
|
||||||
OR NULLIF(BTRIM("usage".request_metadata->>'request_path_and_query'), '') IS NOT NULL
|
OR NULLIF(BTRIM("usage".request_metadata->>'request_path_and_query'), '') IS NOT NULL
|
||||||
OR CASE
|
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'), ''),
|
||||||
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'), '')
|
ELSE NULLIF(BTRIM("usage".request_metadata->>'provider_reasoning_effort'), '')
|
||||||
END IS NOT NULL
|
END IS NOT NULL
|
||||||
OR CASE
|
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'), '')
|
ELSE NULLIF(BTRIM("usage".request_metadata->>'provider_service_tier'), '')
|
||||||
END IS NOT NULL
|
END IS NOT NULL
|
||||||
OR ("usage".request_metadata->>'client_requested_stream') IN ('true', 'false')
|
OR ("usage".request_metadata->>'client_requested_stream') IN ('true', 'false')
|
||||||
@@ -138,7 +138,7 @@ SELECT
|
|||||||
NULLIF(BTRIM("usage".request_metadata->>'request_path_and_query'), ''),
|
NULLIF(BTRIM("usage".request_metadata->>'request_path_and_query'), ''),
|
||||||
'provider_reasoning_effort',
|
'provider_reasoning_effort',
|
||||||
CASE
|
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'), ''),
|
||||||
NULLIF(BTRIM("usage".provider_request_body->'reasoning'->>'effort'), '')
|
NULLIF(BTRIM("usage".provider_request_body->'reasoning'->>'effort'), '')
|
||||||
)
|
)
|
||||||
@@ -146,7 +146,7 @@ SELECT
|
|||||||
END,
|
END,
|
||||||
'provider_service_tier',
|
'provider_service_tier',
|
||||||
CASE
|
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'), '')
|
ELSE NULLIF(BTRIM("usage".request_metadata->>'provider_service_tier'), '')
|
||||||
END,
|
END,
|
||||||
'client_requested_stream',
|
'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'), '') IS NOT NULL
|
||||||
OR NULLIF(BTRIM("usage".request_metadata->>'request_path_and_query'), '') IS NOT NULL
|
OR NULLIF(BTRIM("usage".request_metadata->>'request_path_and_query'), '') IS NOT NULL
|
||||||
OR CASE
|
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'), ''),
|
||||||
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'), '')
|
ELSE NULLIF(BTRIM("usage".request_metadata->>'provider_reasoning_effort'), '')
|
||||||
END IS NOT NULL
|
END IS NOT NULL
|
||||||
OR CASE
|
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'), '')
|
ELSE NULLIF(BTRIM("usage".request_metadata->>'provider_service_tier'), '')
|
||||||
END IS NOT NULL
|
END IS NOT NULL
|
||||||
OR ("usage".request_metadata->>'client_requested_stream') IN ('true', 'false')
|
OR ("usage".request_metadata->>'client_requested_stream') IN ('true', 'false')
|
||||||
@@ -138,7 +138,7 @@ SELECT
|
|||||||
NULLIF(BTRIM("usage".request_metadata->>'request_path_and_query'), ''),
|
NULLIF(BTRIM("usage".request_metadata->>'request_path_and_query'), ''),
|
||||||
'provider_reasoning_effort',
|
'provider_reasoning_effort',
|
||||||
CASE
|
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'), ''),
|
||||||
NULLIF(BTRIM("usage".provider_request_body->'reasoning'->>'effort'), '')
|
NULLIF(BTRIM("usage".provider_request_body->'reasoning'->>'effort'), '')
|
||||||
)
|
)
|
||||||
@@ -146,7 +146,7 @@ SELECT
|
|||||||
END,
|
END,
|
||||||
'provider_service_tier',
|
'provider_service_tier',
|
||||||
CASE
|
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'), '')
|
ELSE NULLIF(BTRIM("usage".request_metadata->>'provider_service_tier'), '')
|
||||||
END,
|
END,
|
||||||
'client_requested_stream',
|
'client_requested_stream',
|
||||||
|
|||||||
@@ -707,6 +707,8 @@ fn usage_sql_uses_json_null_placeholders_for_usage_payload_columns() {
|
|||||||
super::LIST_RECENT_USAGE_AUDITS_PREFIX,
|
super::LIST_RECENT_USAGE_AUDITS_PREFIX,
|
||||||
] {
|
] {
|
||||||
assert!(sql.contains("jsonb_strip_nulls(jsonb_build_object("));
|
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("'client_ip'"));
|
||||||
assert!(sql.contains("request_metadata->>'client_ip'"));
|
assert!(sql.contains("request_metadata->>'client_ip'"));
|
||||||
assert!(sql.contains("'user_agent'"));
|
assert!(sql.contains("'user_agent'"));
|
||||||
|
|||||||
Reference in New Issue
Block a user