56 lines
1.6 KiB
SQL
56 lines
1.6 KiB
SQL
-- RMI v5.0 ClickHouse Schema (T07)
|
|
-- Apply: docker exec rmi-clickhouse clickhouse-client < infra/clickhouse_schema.sql
|
|
-- Idempotent: all CREATE statements use IF NOT EXISTS.
|
|
|
|
CREATE DATABASE IF NOT EXISTS rmi;
|
|
|
|
USE rmi;
|
|
|
|
CREATE TABLE IF NOT EXISTS x402_revenue (
|
|
tx_hash String,
|
|
tool_id String,
|
|
agent_id String,
|
|
amount_usd Float64,
|
|
chain String,
|
|
paid_at DateTime,
|
|
tier String
|
|
) ENGINE = MergeTree() ORDER BY paid_at;
|
|
|
|
CREATE TABLE IF NOT EXISTS mcp_calls (
|
|
call_id String,
|
|
tool_id String,
|
|
agent_id String,
|
|
latency_ms UInt32,
|
|
success UInt8,
|
|
called_at DateTime
|
|
) ENGINE = MergeTree() ORDER BY called_at;
|
|
|
|
CREATE TABLE IF NOT EXISTS indexer_lag (
|
|
chain String,
|
|
block_lag UInt32,
|
|
last_block UInt64,
|
|
updated_at DateTime
|
|
) ENGINE = MergeTree() ORDER BY (chain, updated_at);
|
|
|
|
CREATE TABLE IF NOT EXISTS reputation_deltas (
|
|
deployer_id String,
|
|
old_alpha UInt32,
|
|
old_beta UInt32,
|
|
new_alpha UInt32,
|
|
new_beta UInt32,
|
|
event_type String,
|
|
updated_at DateTime
|
|
) ENGINE = MergeTree() ORDER BY (deployer_id, updated_at);
|
|
|
|
CREATE TABLE IF NOT EXISTS cost_attribution (
|
|
ts DateTime,
|
|
tool_id String,
|
|
agent_id String,
|
|
llm_tokens_cents UInt32,
|
|
rpc_requests_cents UInt32,
|
|
storage_reads_cents UInt32,
|
|
compute_cents UInt32,
|
|
price_charged_cents UInt32
|
|
) ENGINE = MergeTree()
|
|
ORDER BY (ts, tool_id, agent_id)
|
|
PARTITION BY toYYYYMM(ts);
|