#[derive(
Debug,
Clone,
PartialEq,
serde::Serialize,
serde::Deserialize,
zerompk::ToMessagePack,
zerompk::FromMessagePack,
)]
pub struct SortedIndexSpec {
pub sort_columns: Vec<(String, String)>,
pub key_column: String,
pub window_type: String,
pub window_timestamp_column: String,
pub window_start_ms: u64,
pub window_end_ms: u64,
}
#[derive(
Debug,
Clone,
PartialEq,
serde::Serialize,
serde::Deserialize,
zerompk::ToMessagePack,
zerompk::FromMessagePack,
)]
pub enum SortedIndexRead {
Rank { primary_key: Vec<u8> },
TopK { k: u32 },
Range {
score_min: Option<Vec<u8>>,
score_max: Option<Vec<u8>>,
},
Count,
Score { primary_key: Vec<u8> },
}