radiance/schema/slot_status.sql

74 lines
2.3 KiB
SQL

CREATE TABLE IF NOT EXISTS slot_status_queue
(
slot UInt64,
timestamp UInt64,
delay UInt64,
type Enum8(
'unspecified' = 0,
'firstShredReceived' = 1,
'completed' = 2,
'createdBank' = 3,
'frozen' = 4,
'dead' = 5,
'optimisticConfirmation' = 6,
'root' = 7
),
source String,
leader String,
parent UInt64,
"stats.num_transaction_entries" Nullable(UInt64),
"stats.num_successful_transactions" Nullable(UInt64),
"stats.num_failed_transactions" Nullable(UInt64),
"stats.max_transactions_per_entry" Nullable(UInt64),
err String
) ENGINE = Kafka()
SETTINGS
kafka_broker_list = '<snip>:30036',
kafka_topic_list = 'certus.radiance.slot_status',
kafka_group_name = 'heimdall-chdev1',
kafka_format = 'Protobuf',
kafka_max_block_size = 32,
format_schema = 'network.proto:SlotStatus';
CREATE TABLE IF NOT EXISTS slot_status
(
slot UInt64,
timestamp DateTime64(3),
delay UInt64,
type Enum8(
'unspecified' = 0,
'firstShredReceived' = 1,
'completed' = 2,
'createdBank' = 3,
'frozen' = 4,
'dead' = 5,
'optimisticConfirmation' = 6,
'root' = 7
),
source String,
leader String,
parent UInt64,
"stats.num_transaction_entries" Nullable(UInt64),
"stats.num_successful_transactions" Nullable(UInt64),
"stats.num_failed_transactions" Nullable(UInt64),
"stats.max_transactions_per_entry" Nullable(UInt64),
err String
) ENGINE = MergeTree()
PARTITION BY toDate(timestamp)
ORDER BY (slot, type, leader);
CREATE MATERIALIZED VIEW IF NOT EXISTS slot_status_view TO slot_status
AS
SELECT fromUnixTimestamp64Milli(timestamp) AS timestamp,
* EXCEPT ( timestamp )
FROM slot_status_queue;