mirror of
https://github.com/fawney19/Aether.git
synced 2026-10-08 02:17:46 +08:00
feat(usage): enrich audit metadata and detail views
This commit is contained in:
+3
@@ -179,6 +179,7 @@ SELECT
|
||||
OR NULLIF(BTRIM("usage".request_metadata->>'user_agent'), '') 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->>'requested_reasoning_effort'), '') IS NOT NULL
|
||||
OR NULLIF(BTRIM("usage".request_metadata->>'provider_reasoning_effort'), '') IS NOT NULL
|
||||
OR NULLIF(BTRIM("usage".request_metadata->>'provider_service_tier'), '') IS NOT NULL
|
||||
OR NULLIF(BTRIM("usage".request_metadata->>'provider_actual_service_tier'), '') IS NOT NULL
|
||||
@@ -193,6 +194,8 @@ SELECT
|
||||
NULLIF(BTRIM("usage".request_metadata->>'request_path'), ''),
|
||||
'request_path_and_query',
|
||||
NULLIF(BTRIM("usage".request_metadata->>'request_path_and_query'), ''),
|
||||
'requested_reasoning_effort',
|
||||
NULLIF(BTRIM("usage".request_metadata->>'requested_reasoning_effort'), ''),
|
||||
'provider_reasoning_effort',
|
||||
NULLIF(BTRIM("usage".request_metadata->>'provider_reasoning_effort'), ''),
|
||||
'provider_service_tier',
|
||||
|
||||
@@ -179,6 +179,7 @@ SELECT
|
||||
OR NULLIF(BTRIM("usage".request_metadata->>'user_agent'), '') 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->>'requested_reasoning_effort'), '') IS NOT NULL
|
||||
OR NULLIF(BTRIM("usage".request_metadata->>'provider_reasoning_effort'), '') IS NOT NULL
|
||||
OR NULLIF(BTRIM("usage".request_metadata->>'provider_service_tier'), '') IS NOT NULL
|
||||
OR NULLIF(BTRIM("usage".request_metadata->>'provider_actual_service_tier'), '') IS NOT NULL
|
||||
@@ -193,6 +194,8 @@ SELECT
|
||||
NULLIF(BTRIM("usage".request_metadata->>'request_path'), ''),
|
||||
'request_path_and_query',
|
||||
NULLIF(BTRIM("usage".request_metadata->>'request_path_and_query'), ''),
|
||||
'requested_reasoning_effort',
|
||||
NULLIF(BTRIM("usage".request_metadata->>'requested_reasoning_effort'), ''),
|
||||
'provider_reasoning_effort',
|
||||
NULLIF(BTRIM("usage".request_metadata->>'provider_reasoning_effort'), ''),
|
||||
'provider_service_tier',
|
||||
|
||||
@@ -157,22 +157,22 @@ DO UPDATE SET
|
||||
api_key_id = CASE WHEN "usage".billing_status = 'pending' THEN COALESCE(EXCLUDED.api_key_id, "usage".api_key_id) ELSE "usage".api_key_id END,
|
||||
username = CASE WHEN "usage".billing_status = 'pending' THEN COALESCE(EXCLUDED.username, "usage".username) ELSE "usage".username END,
|
||||
api_key_name = CASE WHEN "usage".billing_status = 'pending' THEN COALESCE(EXCLUDED.api_key_name, "usage".api_key_name) ELSE "usage".api_key_name END,
|
||||
provider_name = CASE WHEN "usage".billing_status = 'pending' THEN COALESCE(EXCLUDED.provider_name, "usage".provider_name) ELSE "usage".provider_name END,
|
||||
model = CASE WHEN "usage".billing_status = 'pending' THEN COALESCE(EXCLUDED.model, "usage".model) ELSE "usage".model END,
|
||||
target_model = CASE WHEN "usage".billing_status = 'pending' THEN COALESCE(EXCLUDED.target_model, "usage".target_model) ELSE "usage".target_model END,
|
||||
provider_id = CASE WHEN "usage".billing_status = 'pending' OR ("usage".provider_id IS NULL AND ("usage".provider_endpoint_id IS NULL OR "usage".provider_endpoint_id = EXCLUDED.provider_endpoint_id) AND ("usage".provider_api_key_id IS NULL OR "usage".provider_api_key_id = EXCLUDED.provider_api_key_id)) THEN COALESCE(EXCLUDED.provider_id, "usage".provider_id) ELSE "usage".provider_id END,
|
||||
provider_endpoint_id = CASE WHEN "usage".billing_status = 'pending' OR ("usage".provider_endpoint_id IS NULL AND ("usage".provider_id IS NULL OR "usage".provider_id = EXCLUDED.provider_id) AND ("usage".provider_api_key_id IS NULL OR "usage".provider_api_key_id = EXCLUDED.provider_api_key_id)) THEN COALESCE(EXCLUDED.provider_endpoint_id, "usage".provider_endpoint_id) ELSE "usage".provider_endpoint_id END,
|
||||
provider_api_key_id = CASE WHEN "usage".billing_status = 'pending' OR ("usage".provider_api_key_id IS NULL AND ("usage".provider_id IS NULL OR "usage".provider_id = EXCLUDED.provider_id) AND ("usage".provider_endpoint_id IS NULL OR "usage".provider_endpoint_id = EXCLUDED.provider_endpoint_id)) THEN COALESCE(EXCLUDED.provider_api_key_id, "usage".provider_api_key_id) ELSE "usage".provider_api_key_id END,
|
||||
request_type = CASE WHEN "usage".billing_status = 'pending' THEN COALESCE(EXCLUDED.request_type, "usage".request_type) ELSE "usage".request_type END,
|
||||
api_format = CASE WHEN "usage".billing_status = 'pending' THEN COALESCE(EXCLUDED.api_format, "usage".api_format) ELSE "usage".api_format END,
|
||||
api_family = CASE WHEN "usage".billing_status = 'pending' THEN COALESCE(EXCLUDED.api_family, "usage".api_family) ELSE "usage".api_family END,
|
||||
endpoint_kind = CASE WHEN "usage".billing_status = 'pending' THEN COALESCE(EXCLUDED.endpoint_kind, "usage".endpoint_kind) ELSE "usage".endpoint_kind END,
|
||||
endpoint_api_format = CASE WHEN "usage".billing_status = 'pending' THEN COALESCE(EXCLUDED.endpoint_api_format, "usage".endpoint_api_format) ELSE "usage".endpoint_api_format END,
|
||||
provider_api_family = CASE WHEN "usage".billing_status = 'pending' THEN COALESCE(EXCLUDED.provider_api_family, "usage".provider_api_family) ELSE "usage".provider_api_family END,
|
||||
provider_endpoint_kind = CASE WHEN "usage".billing_status = 'pending' THEN COALESCE(EXCLUDED.provider_endpoint_kind, "usage".provider_endpoint_kind) ELSE "usage".provider_endpoint_kind END,
|
||||
has_format_conversion = CASE WHEN "usage".billing_status = 'pending' THEN COALESCE(EXCLUDED.has_format_conversion, "usage".has_format_conversion) ELSE "usage".has_format_conversion END,
|
||||
is_stream = CASE WHEN "usage".billing_status = 'pending' THEN COALESCE(EXCLUDED.is_stream, "usage".is_stream) ELSE "usage".is_stream END,
|
||||
upstream_is_stream = CASE WHEN "usage".billing_status = 'pending' THEN COALESCE(EXCLUDED.upstream_is_stream, "usage".upstream_is_stream, "usage".is_stream, false) ELSE "usage".upstream_is_stream END,
|
||||
provider_name = CASE WHEN "usage".billing_status = 'pending' AND $61 THEN COALESCE(EXCLUDED.provider_name, "usage".provider_name) ELSE "usage".provider_name END,
|
||||
model = CASE WHEN "usage".billing_status = 'pending' AND $61 THEN COALESCE(EXCLUDED.model, "usage".model) ELSE "usage".model END,
|
||||
target_model = CASE WHEN "usage".billing_status = 'pending' AND $61 THEN CASE WHEN EXCLUDED.status IN ('completed', 'failed', 'cancelled') THEN EXCLUDED.target_model ELSE COALESCE(EXCLUDED.target_model, "usage".target_model) END ELSE "usage".target_model END,
|
||||
provider_id = CASE WHEN ("usage".billing_status = 'pending' AND $61) OR ("usage".billing_status <> 'pending' AND "usage".provider_id IS NULL AND ("usage".provider_endpoint_id IS NULL OR "usage".provider_endpoint_id = EXCLUDED.provider_endpoint_id) AND ("usage".provider_api_key_id IS NULL OR "usage".provider_api_key_id = EXCLUDED.provider_api_key_id)) THEN COALESCE(EXCLUDED.provider_id, "usage".provider_id) ELSE "usage".provider_id END,
|
||||
provider_endpoint_id = CASE WHEN ("usage".billing_status = 'pending' AND $61) OR ("usage".billing_status <> 'pending' AND "usage".provider_endpoint_id IS NULL AND ("usage".provider_id IS NULL OR "usage".provider_id = EXCLUDED.provider_id) AND ("usage".provider_api_key_id IS NULL OR "usage".provider_api_key_id = EXCLUDED.provider_api_key_id)) THEN COALESCE(EXCLUDED.provider_endpoint_id, "usage".provider_endpoint_id) ELSE "usage".provider_endpoint_id END,
|
||||
provider_api_key_id = CASE WHEN ("usage".billing_status = 'pending' AND $61) OR ("usage".billing_status <> 'pending' AND "usage".provider_api_key_id IS NULL AND ("usage".provider_id IS NULL OR "usage".provider_id = EXCLUDED.provider_id) AND ("usage".provider_endpoint_id IS NULL OR "usage".provider_endpoint_id = EXCLUDED.provider_endpoint_id)) THEN COALESCE(EXCLUDED.provider_api_key_id, "usage".provider_api_key_id) ELSE "usage".provider_api_key_id END,
|
||||
request_type = CASE WHEN "usage".billing_status = 'pending' AND $61 THEN COALESCE(EXCLUDED.request_type, "usage".request_type) ELSE "usage".request_type END,
|
||||
api_format = CASE WHEN "usage".billing_status = 'pending' AND $61 THEN COALESCE(EXCLUDED.api_format, "usage".api_format) ELSE "usage".api_format END,
|
||||
api_family = CASE WHEN "usage".billing_status = 'pending' AND $61 THEN COALESCE(EXCLUDED.api_family, "usage".api_family) ELSE "usage".api_family END,
|
||||
endpoint_kind = CASE WHEN "usage".billing_status = 'pending' AND $61 THEN COALESCE(EXCLUDED.endpoint_kind, "usage".endpoint_kind) ELSE "usage".endpoint_kind END,
|
||||
endpoint_api_format = CASE WHEN "usage".billing_status = 'pending' AND $61 THEN COALESCE(EXCLUDED.endpoint_api_format, "usage".endpoint_api_format) ELSE "usage".endpoint_api_format END,
|
||||
provider_api_family = CASE WHEN "usage".billing_status = 'pending' AND $61 THEN COALESCE(EXCLUDED.provider_api_family, "usage".provider_api_family) ELSE "usage".provider_api_family END,
|
||||
provider_endpoint_kind = CASE WHEN "usage".billing_status = 'pending' AND $61 THEN COALESCE(EXCLUDED.provider_endpoint_kind, "usage".provider_endpoint_kind) ELSE "usage".provider_endpoint_kind END,
|
||||
has_format_conversion = CASE WHEN "usage".billing_status = 'pending' AND $61 THEN COALESCE(EXCLUDED.has_format_conversion, "usage".has_format_conversion) ELSE "usage".has_format_conversion END,
|
||||
is_stream = CASE WHEN "usage".billing_status = 'pending' AND $61 THEN COALESCE(EXCLUDED.is_stream, "usage".is_stream) ELSE "usage".is_stream END,
|
||||
upstream_is_stream = CASE WHEN "usage".billing_status = 'pending' AND $61 THEN COALESCE(EXCLUDED.upstream_is_stream, "usage".upstream_is_stream, "usage".is_stream, false) ELSE "usage".upstream_is_stream END,
|
||||
input_tokens = CASE WHEN "usage".billing_status = 'pending' AND EXCLUDED.status IN ('completed', 'failed', 'cancelled') THEN GREATEST("usage".input_tokens, EXCLUDED.input_tokens) ELSE "usage".input_tokens END,
|
||||
output_tokens = CASE WHEN "usage".billing_status = 'pending' AND EXCLUDED.status IN ('completed', 'failed', 'cancelled') THEN GREATEST("usage".output_tokens, EXCLUDED.output_tokens) ELSE "usage".output_tokens END,
|
||||
total_tokens = CASE WHEN "usage".billing_status = 'pending' AND EXCLUDED.status IN ('completed', 'failed', 'cancelled') THEN GREATEST("usage".total_tokens, EXCLUDED.total_tokens) ELSE "usage".total_tokens END,
|
||||
@@ -223,42 +223,42 @@ DO UPDATE SET
|
||||
END ELSE "usage".status END,
|
||||
billing_status = CASE WHEN "usage".billing_status = 'pending' THEN EXCLUDED.billing_status ELSE "usage".billing_status END,
|
||||
request_headers = NULL,
|
||||
request_body = CASE WHEN "usage".billing_status = 'pending' THEN CASE
|
||||
request_body = CASE WHEN "usage".billing_status = 'pending' AND $61 THEN CASE
|
||||
WHEN EXCLUDED.request_body_compressed IS NOT NULL OR $57 THEN NULL
|
||||
ELSE COALESCE(EXCLUDED.request_body, "usage".request_body)
|
||||
END ELSE "usage".request_body END,
|
||||
request_body_compressed = CASE WHEN "usage".billing_status = 'pending' THEN CASE
|
||||
request_body_compressed = CASE WHEN "usage".billing_status = 'pending' AND $61 THEN CASE
|
||||
WHEN EXCLUDED.request_body IS NOT NULL OR $57 THEN NULL
|
||||
ELSE COALESCE(EXCLUDED.request_body_compressed, "usage".request_body_compressed)
|
||||
END ELSE "usage".request_body_compressed END,
|
||||
provider_request_headers = NULL,
|
||||
provider_request_body = CASE WHEN "usage".billing_status = 'pending' THEN CASE
|
||||
provider_request_body = CASE WHEN "usage".billing_status = 'pending' AND $61 THEN CASE
|
||||
WHEN EXCLUDED.provider_request_body_compressed IS NOT NULL OR $58 THEN NULL
|
||||
ELSE COALESCE(EXCLUDED.provider_request_body, "usage".provider_request_body)
|
||||
END ELSE "usage".provider_request_body END,
|
||||
provider_request_body_compressed = CASE WHEN "usage".billing_status = 'pending' THEN CASE
|
||||
provider_request_body_compressed = CASE WHEN "usage".billing_status = 'pending' AND $61 THEN CASE
|
||||
WHEN EXCLUDED.provider_request_body IS NOT NULL OR $58 THEN NULL
|
||||
ELSE COALESCE(EXCLUDED.provider_request_body_compressed, "usage".provider_request_body_compressed)
|
||||
END ELSE "usage".provider_request_body_compressed END,
|
||||
response_headers = NULL,
|
||||
response_body = CASE WHEN "usage".billing_status = 'pending' THEN CASE
|
||||
response_body = CASE WHEN "usage".billing_status = 'pending' AND $61 THEN CASE
|
||||
WHEN EXCLUDED.response_body_compressed IS NOT NULL OR $59 THEN NULL
|
||||
ELSE COALESCE(EXCLUDED.response_body, "usage".response_body)
|
||||
END ELSE "usage".response_body END,
|
||||
response_body_compressed = CASE WHEN "usage".billing_status = 'pending' THEN CASE
|
||||
response_body_compressed = CASE WHEN "usage".billing_status = 'pending' AND $61 THEN CASE
|
||||
WHEN EXCLUDED.response_body IS NOT NULL OR $59 THEN NULL
|
||||
ELSE COALESCE(EXCLUDED.response_body_compressed, "usage".response_body_compressed)
|
||||
END ELSE "usage".response_body_compressed END,
|
||||
client_response_headers = NULL,
|
||||
client_response_body = CASE WHEN "usage".billing_status = 'pending' THEN CASE
|
||||
client_response_body = CASE WHEN "usage".billing_status = 'pending' AND $61 THEN CASE
|
||||
WHEN EXCLUDED.client_response_body_compressed IS NOT NULL OR $60 THEN NULL
|
||||
ELSE COALESCE(EXCLUDED.client_response_body, "usage".client_response_body)
|
||||
END ELSE "usage".client_response_body END,
|
||||
client_response_body_compressed = CASE WHEN "usage".billing_status = 'pending' THEN CASE
|
||||
client_response_body_compressed = CASE WHEN "usage".billing_status = 'pending' AND $61 THEN CASE
|
||||
WHEN EXCLUDED.client_response_body IS NOT NULL OR $60 THEN NULL
|
||||
ELSE COALESCE(EXCLUDED.client_response_body_compressed, "usage".client_response_body_compressed)
|
||||
END ELSE "usage".client_response_body_compressed END,
|
||||
request_metadata = CASE WHEN "usage".billing_status = 'pending' THEN COALESCE(EXCLUDED.request_metadata, "usage".request_metadata) ELSE "usage".request_metadata END,
|
||||
request_metadata = CASE WHEN "usage".billing_status = 'pending' AND $61 THEN COALESCE(EXCLUDED.request_metadata, "usage".request_metadata) ELSE "usage".request_metadata END,
|
||||
finalized_at = CASE WHEN "usage".billing_status = 'pending' THEN COALESCE(EXCLUDED.finalized_at, "usage".finalized_at) ELSE "usage".finalized_at END,
|
||||
updated_at_unix_secs = CASE WHEN "usage".billing_status = 'pending' THEN
|
||||
GREATEST(
|
||||
|
||||
+34
-15
@@ -41,16 +41,25 @@ DO UPDATE SET
|
||||
EXCLUDED.client_response_headers,
|
||||
usage_http_audits.client_response_headers
|
||||
),
|
||||
request_body_ref = COALESCE(EXCLUDED.request_body_ref, usage_http_audits.request_body_ref),
|
||||
provider_request_body_ref = COALESCE(
|
||||
EXCLUDED.provider_request_body_ref,
|
||||
usage_http_audits.provider_request_body_ref
|
||||
),
|
||||
response_body_ref = COALESCE(EXCLUDED.response_body_ref, usage_http_audits.response_body_ref),
|
||||
client_response_body_ref = COALESCE(
|
||||
EXCLUDED.client_response_body_ref,
|
||||
usage_http_audits.client_response_body_ref
|
||||
),
|
||||
request_body_ref = CASE
|
||||
WHEN EXCLUDED.request_body_state = 'none' THEN NULL
|
||||
ELSE COALESCE(EXCLUDED.request_body_ref, usage_http_audits.request_body_ref)
|
||||
END,
|
||||
provider_request_body_ref = CASE
|
||||
WHEN EXCLUDED.provider_request_body_state = 'none' THEN NULL
|
||||
ELSE COALESCE(EXCLUDED.provider_request_body_ref, usage_http_audits.provider_request_body_ref)
|
||||
END,
|
||||
response_body_ref = CASE
|
||||
WHEN EXCLUDED.response_body_state = 'none' THEN NULL
|
||||
ELSE COALESCE(EXCLUDED.response_body_ref, usage_http_audits.response_body_ref)
|
||||
END,
|
||||
client_response_body_ref = CASE
|
||||
WHEN EXCLUDED.client_response_body_state = 'none' THEN NULL
|
||||
ELSE COALESCE(
|
||||
EXCLUDED.client_response_body_ref,
|
||||
usage_http_audits.client_response_body_ref
|
||||
)
|
||||
END,
|
||||
request_body_state = COALESCE(
|
||||
EXCLUDED.request_body_state,
|
||||
usage_http_audits.request_body_state
|
||||
@@ -67,9 +76,19 @@ DO UPDATE SET
|
||||
EXCLUDED.client_response_body_state,
|
||||
usage_http_audits.client_response_body_state
|
||||
),
|
||||
body_capture_mode = COALESCE(
|
||||
NULLIF(EXCLUDED.body_capture_mode, 'none'),
|
||||
usage_http_audits.body_capture_mode,
|
||||
'none'
|
||||
),
|
||||
body_capture_mode = CASE
|
||||
WHEN EXCLUDED.body_capture_mode = 'none'
|
||||
AND (
|
||||
EXCLUDED.request_body_state = 'none'
|
||||
OR EXCLUDED.provider_request_body_state = 'none'
|
||||
OR EXCLUDED.response_body_state = 'none'
|
||||
OR EXCLUDED.client_response_body_state = 'none'
|
||||
)
|
||||
THEN 'none'
|
||||
ELSE COALESCE(
|
||||
NULLIF(EXCLUDED.body_capture_mode, 'none'),
|
||||
usage_http_audits.body_capture_mode,
|
||||
'none'
|
||||
)
|
||||
END,
|
||||
updated_at = NOW()
|
||||
|
||||
+12
-30
@@ -29,34 +29,16 @@ INSERT INTO usage_routing_snapshots (
|
||||
)
|
||||
ON CONFLICT (request_id)
|
||||
DO UPDATE SET
|
||||
candidate_id = COALESCE(EXCLUDED.candidate_id, usage_routing_snapshots.candidate_id),
|
||||
candidate_index = COALESCE(
|
||||
EXCLUDED.candidate_index,
|
||||
usage_routing_snapshots.candidate_index
|
||||
),
|
||||
key_name = COALESCE(EXCLUDED.key_name, usage_routing_snapshots.key_name),
|
||||
planner_kind = COALESCE(EXCLUDED.planner_kind, usage_routing_snapshots.planner_kind),
|
||||
route_family = COALESCE(EXCLUDED.route_family, usage_routing_snapshots.route_family),
|
||||
route_kind = COALESCE(EXCLUDED.route_kind, usage_routing_snapshots.route_kind),
|
||||
execution_path = COALESCE(EXCLUDED.execution_path, usage_routing_snapshots.execution_path),
|
||||
local_execution_runtime_miss_reason = COALESCE(
|
||||
EXCLUDED.local_execution_runtime_miss_reason,
|
||||
usage_routing_snapshots.local_execution_runtime_miss_reason
|
||||
),
|
||||
selected_provider_id = COALESCE(
|
||||
EXCLUDED.selected_provider_id,
|
||||
usage_routing_snapshots.selected_provider_id
|
||||
),
|
||||
selected_endpoint_id = COALESCE(
|
||||
EXCLUDED.selected_endpoint_id,
|
||||
usage_routing_snapshots.selected_endpoint_id
|
||||
),
|
||||
selected_provider_api_key_id = COALESCE(
|
||||
EXCLUDED.selected_provider_api_key_id,
|
||||
usage_routing_snapshots.selected_provider_api_key_id
|
||||
),
|
||||
has_format_conversion = COALESCE(
|
||||
EXCLUDED.has_format_conversion,
|
||||
usage_routing_snapshots.has_format_conversion
|
||||
),
|
||||
candidate_id = CASE WHEN $14 THEN EXCLUDED.candidate_id ELSE COALESCE(EXCLUDED.candidate_id, usage_routing_snapshots.candidate_id) END,
|
||||
candidate_index = CASE WHEN $14 THEN EXCLUDED.candidate_index ELSE COALESCE(EXCLUDED.candidate_index, usage_routing_snapshots.candidate_index) END,
|
||||
key_name = CASE WHEN $14 THEN EXCLUDED.key_name ELSE COALESCE(EXCLUDED.key_name, usage_routing_snapshots.key_name) END,
|
||||
planner_kind = CASE WHEN $14 THEN EXCLUDED.planner_kind ELSE COALESCE(EXCLUDED.planner_kind, usage_routing_snapshots.planner_kind) END,
|
||||
route_family = CASE WHEN $14 THEN EXCLUDED.route_family ELSE COALESCE(EXCLUDED.route_family, usage_routing_snapshots.route_family) END,
|
||||
route_kind = CASE WHEN $14 THEN EXCLUDED.route_kind ELSE COALESCE(EXCLUDED.route_kind, usage_routing_snapshots.route_kind) END,
|
||||
execution_path = CASE WHEN $14 THEN EXCLUDED.execution_path ELSE COALESCE(EXCLUDED.execution_path, usage_routing_snapshots.execution_path) END,
|
||||
local_execution_runtime_miss_reason = CASE WHEN $14 THEN EXCLUDED.local_execution_runtime_miss_reason ELSE COALESCE(EXCLUDED.local_execution_runtime_miss_reason, usage_routing_snapshots.local_execution_runtime_miss_reason) END,
|
||||
selected_provider_id = CASE WHEN $14 THEN EXCLUDED.selected_provider_id ELSE COALESCE(EXCLUDED.selected_provider_id, usage_routing_snapshots.selected_provider_id) END,
|
||||
selected_endpoint_id = CASE WHEN $14 THEN EXCLUDED.selected_endpoint_id ELSE COALESCE(EXCLUDED.selected_endpoint_id, usage_routing_snapshots.selected_endpoint_id) END,
|
||||
selected_provider_api_key_id = CASE WHEN $14 THEN EXCLUDED.selected_provider_api_key_id ELSE COALESCE(EXCLUDED.selected_provider_api_key_id, usage_routing_snapshots.selected_provider_api_key_id) END,
|
||||
has_format_conversion = CASE WHEN $14 THEN EXCLUDED.has_format_conversion ELSE COALESCE(EXCLUDED.has_format_conversion, usage_routing_snapshots.has_format_conversion) END,
|
||||
updated_at = NOW()
|
||||
|
||||
+28
-108
@@ -61,112 +61,32 @@ INSERT INTO usage_settlement_snapshots (
|
||||
)
|
||||
ON CONFLICT (request_id)
|
||||
DO UPDATE SET
|
||||
billing_snapshot_schema_version = COALESCE(
|
||||
EXCLUDED.billing_snapshot_schema_version,
|
||||
usage_settlement_snapshots.billing_snapshot_schema_version
|
||||
),
|
||||
billing_snapshot_status = COALESCE(
|
||||
EXCLUDED.billing_snapshot_status,
|
||||
usage_settlement_snapshots.billing_snapshot_status
|
||||
),
|
||||
settlement_snapshot_schema_version = COALESCE(
|
||||
EXCLUDED.settlement_snapshot_schema_version,
|
||||
usage_settlement_snapshots.settlement_snapshot_schema_version
|
||||
),
|
||||
settlement_snapshot = COALESCE(
|
||||
EXCLUDED.settlement_snapshot,
|
||||
usage_settlement_snapshots.settlement_snapshot
|
||||
),
|
||||
billing_dimensions = COALESCE(
|
||||
EXCLUDED.billing_dimensions,
|
||||
usage_settlement_snapshots.billing_dimensions
|
||||
),
|
||||
billing_input_tokens = COALESCE(
|
||||
EXCLUDED.billing_input_tokens,
|
||||
usage_settlement_snapshots.billing_input_tokens
|
||||
),
|
||||
billing_effective_input_tokens = COALESCE(
|
||||
EXCLUDED.billing_effective_input_tokens,
|
||||
usage_settlement_snapshots.billing_effective_input_tokens
|
||||
),
|
||||
billing_output_tokens = COALESCE(
|
||||
EXCLUDED.billing_output_tokens,
|
||||
usage_settlement_snapshots.billing_output_tokens
|
||||
),
|
||||
billing_cache_creation_tokens = COALESCE(
|
||||
EXCLUDED.billing_cache_creation_tokens,
|
||||
usage_settlement_snapshots.billing_cache_creation_tokens
|
||||
),
|
||||
billing_cache_creation_5m_tokens = COALESCE(
|
||||
EXCLUDED.billing_cache_creation_5m_tokens,
|
||||
usage_settlement_snapshots.billing_cache_creation_5m_tokens
|
||||
),
|
||||
billing_cache_creation_1h_tokens = COALESCE(
|
||||
EXCLUDED.billing_cache_creation_1h_tokens,
|
||||
usage_settlement_snapshots.billing_cache_creation_1h_tokens
|
||||
),
|
||||
billing_cache_read_tokens = COALESCE(
|
||||
EXCLUDED.billing_cache_read_tokens,
|
||||
usage_settlement_snapshots.billing_cache_read_tokens
|
||||
),
|
||||
billing_total_input_context = COALESCE(
|
||||
EXCLUDED.billing_total_input_context,
|
||||
usage_settlement_snapshots.billing_total_input_context
|
||||
),
|
||||
billing_cache_creation_cost_usd = COALESCE(
|
||||
EXCLUDED.billing_cache_creation_cost_usd,
|
||||
usage_settlement_snapshots.billing_cache_creation_cost_usd
|
||||
),
|
||||
billing_cache_read_cost_usd = COALESCE(
|
||||
EXCLUDED.billing_cache_read_cost_usd,
|
||||
usage_settlement_snapshots.billing_cache_read_cost_usd
|
||||
),
|
||||
billing_total_cost_usd = COALESCE(
|
||||
EXCLUDED.billing_total_cost_usd,
|
||||
usage_settlement_snapshots.billing_total_cost_usd
|
||||
),
|
||||
billing_actual_total_cost_usd = COALESCE(
|
||||
EXCLUDED.billing_actual_total_cost_usd,
|
||||
usage_settlement_snapshots.billing_actual_total_cost_usd
|
||||
),
|
||||
billing_pricing_source = COALESCE(
|
||||
EXCLUDED.billing_pricing_source,
|
||||
usage_settlement_snapshots.billing_pricing_source
|
||||
),
|
||||
billing_rule_id = COALESCE(
|
||||
EXCLUDED.billing_rule_id,
|
||||
usage_settlement_snapshots.billing_rule_id
|
||||
),
|
||||
billing_rule_version = COALESCE(
|
||||
EXCLUDED.billing_rule_version,
|
||||
usage_settlement_snapshots.billing_rule_version
|
||||
),
|
||||
rate_multiplier = COALESCE(
|
||||
EXCLUDED.rate_multiplier,
|
||||
usage_settlement_snapshots.rate_multiplier
|
||||
),
|
||||
is_free_tier = COALESCE(
|
||||
EXCLUDED.is_free_tier,
|
||||
usage_settlement_snapshots.is_free_tier
|
||||
),
|
||||
input_price_per_1m = COALESCE(
|
||||
EXCLUDED.input_price_per_1m,
|
||||
usage_settlement_snapshots.input_price_per_1m
|
||||
),
|
||||
output_price_per_1m = COALESCE(
|
||||
EXCLUDED.output_price_per_1m,
|
||||
usage_settlement_snapshots.output_price_per_1m
|
||||
),
|
||||
cache_creation_price_per_1m = COALESCE(
|
||||
EXCLUDED.cache_creation_price_per_1m,
|
||||
usage_settlement_snapshots.cache_creation_price_per_1m
|
||||
),
|
||||
cache_read_price_per_1m = COALESCE(
|
||||
EXCLUDED.cache_read_price_per_1m,
|
||||
usage_settlement_snapshots.cache_read_price_per_1m
|
||||
),
|
||||
price_per_request = COALESCE(
|
||||
EXCLUDED.price_per_request,
|
||||
usage_settlement_snapshots.price_per_request
|
||||
),
|
||||
billing_status = CASE WHEN $30 THEN EXCLUDED.billing_status ELSE usage_settlement_snapshots.billing_status END,
|
||||
billing_snapshot_schema_version = CASE WHEN $30 THEN EXCLUDED.billing_snapshot_schema_version ELSE COALESCE(EXCLUDED.billing_snapshot_schema_version, usage_settlement_snapshots.billing_snapshot_schema_version) END,
|
||||
billing_snapshot_status = CASE WHEN $30 THEN EXCLUDED.billing_snapshot_status ELSE COALESCE(EXCLUDED.billing_snapshot_status, usage_settlement_snapshots.billing_snapshot_status) END,
|
||||
settlement_snapshot_schema_version = CASE WHEN $30 THEN EXCLUDED.settlement_snapshot_schema_version ELSE COALESCE(EXCLUDED.settlement_snapshot_schema_version, usage_settlement_snapshots.settlement_snapshot_schema_version) END,
|
||||
settlement_snapshot = CASE WHEN $30 THEN EXCLUDED.settlement_snapshot ELSE COALESCE(EXCLUDED.settlement_snapshot, usage_settlement_snapshots.settlement_snapshot) END,
|
||||
billing_dimensions = CASE WHEN $30 THEN EXCLUDED.billing_dimensions ELSE COALESCE(EXCLUDED.billing_dimensions, usage_settlement_snapshots.billing_dimensions) END,
|
||||
billing_input_tokens = CASE WHEN $30 THEN EXCLUDED.billing_input_tokens ELSE COALESCE(EXCLUDED.billing_input_tokens, usage_settlement_snapshots.billing_input_tokens) END,
|
||||
billing_effective_input_tokens = CASE WHEN $30 THEN EXCLUDED.billing_effective_input_tokens ELSE COALESCE(EXCLUDED.billing_effective_input_tokens, usage_settlement_snapshots.billing_effective_input_tokens) END,
|
||||
billing_output_tokens = CASE WHEN $30 THEN EXCLUDED.billing_output_tokens ELSE COALESCE(EXCLUDED.billing_output_tokens, usage_settlement_snapshots.billing_output_tokens) END,
|
||||
billing_cache_creation_tokens = CASE WHEN $30 THEN EXCLUDED.billing_cache_creation_tokens ELSE COALESCE(EXCLUDED.billing_cache_creation_tokens, usage_settlement_snapshots.billing_cache_creation_tokens) END,
|
||||
billing_cache_creation_5m_tokens = CASE WHEN $30 THEN EXCLUDED.billing_cache_creation_5m_tokens ELSE COALESCE(EXCLUDED.billing_cache_creation_5m_tokens, usage_settlement_snapshots.billing_cache_creation_5m_tokens) END,
|
||||
billing_cache_creation_1h_tokens = CASE WHEN $30 THEN EXCLUDED.billing_cache_creation_1h_tokens ELSE COALESCE(EXCLUDED.billing_cache_creation_1h_tokens, usage_settlement_snapshots.billing_cache_creation_1h_tokens) END,
|
||||
billing_cache_read_tokens = CASE WHEN $30 THEN EXCLUDED.billing_cache_read_tokens ELSE COALESCE(EXCLUDED.billing_cache_read_tokens, usage_settlement_snapshots.billing_cache_read_tokens) END,
|
||||
billing_total_input_context = CASE WHEN $30 THEN EXCLUDED.billing_total_input_context ELSE COALESCE(EXCLUDED.billing_total_input_context, usage_settlement_snapshots.billing_total_input_context) END,
|
||||
billing_cache_creation_cost_usd = CASE WHEN $30 THEN EXCLUDED.billing_cache_creation_cost_usd ELSE COALESCE(EXCLUDED.billing_cache_creation_cost_usd, usage_settlement_snapshots.billing_cache_creation_cost_usd) END,
|
||||
billing_cache_read_cost_usd = CASE WHEN $30 THEN EXCLUDED.billing_cache_read_cost_usd ELSE COALESCE(EXCLUDED.billing_cache_read_cost_usd, usage_settlement_snapshots.billing_cache_read_cost_usd) END,
|
||||
billing_total_cost_usd = CASE WHEN $30 THEN EXCLUDED.billing_total_cost_usd ELSE COALESCE(EXCLUDED.billing_total_cost_usd, usage_settlement_snapshots.billing_total_cost_usd) END,
|
||||
billing_actual_total_cost_usd = CASE WHEN $30 THEN EXCLUDED.billing_actual_total_cost_usd ELSE COALESCE(EXCLUDED.billing_actual_total_cost_usd, usage_settlement_snapshots.billing_actual_total_cost_usd) END,
|
||||
billing_pricing_source = CASE WHEN $30 THEN EXCLUDED.billing_pricing_source ELSE COALESCE(EXCLUDED.billing_pricing_source, usage_settlement_snapshots.billing_pricing_source) END,
|
||||
billing_rule_id = CASE WHEN $30 THEN EXCLUDED.billing_rule_id ELSE COALESCE(EXCLUDED.billing_rule_id, usage_settlement_snapshots.billing_rule_id) END,
|
||||
billing_rule_version = CASE WHEN $30 THEN EXCLUDED.billing_rule_version ELSE COALESCE(EXCLUDED.billing_rule_version, usage_settlement_snapshots.billing_rule_version) END,
|
||||
rate_multiplier = CASE WHEN $30 THEN EXCLUDED.rate_multiplier ELSE COALESCE(EXCLUDED.rate_multiplier, usage_settlement_snapshots.rate_multiplier) END,
|
||||
is_free_tier = CASE WHEN $30 THEN EXCLUDED.is_free_tier ELSE COALESCE(EXCLUDED.is_free_tier, usage_settlement_snapshots.is_free_tier) END,
|
||||
input_price_per_1m = CASE WHEN $30 THEN EXCLUDED.input_price_per_1m ELSE COALESCE(EXCLUDED.input_price_per_1m, usage_settlement_snapshots.input_price_per_1m) END,
|
||||
output_price_per_1m = CASE WHEN $30 THEN EXCLUDED.output_price_per_1m ELSE COALESCE(EXCLUDED.output_price_per_1m, usage_settlement_snapshots.output_price_per_1m) END,
|
||||
cache_creation_price_per_1m = CASE WHEN $30 THEN EXCLUDED.cache_creation_price_per_1m ELSE COALESCE(EXCLUDED.cache_creation_price_per_1m, usage_settlement_snapshots.cache_creation_price_per_1m) END,
|
||||
cache_read_price_per_1m = CASE WHEN $30 THEN EXCLUDED.cache_read_price_per_1m ELSE COALESCE(EXCLUDED.cache_read_price_per_1m, usage_settlement_snapshots.cache_read_price_per_1m) END,
|
||||
price_per_request = CASE WHEN $30 THEN EXCLUDED.price_per_request ELSE COALESCE(EXCLUDED.price_per_request, usage_settlement_snapshots.price_per_request) END,
|
||||
updated_at = NOW()
|
||||
|
||||
Reference in New Issue
Block a user