#[derive(Debug, Clone, zerompk::ToMessagePack, zerompk::FromMessagePack)]
pub struct ArrayShardSliceReq {
pub array_id_msgpack: Vec<u8>,
pub slice_msgpack: Vec<u8>,
pub attr_projection: Vec<u32>,
pub limit: u32,
pub cell_filter_msgpack: Vec<u8>,
pub prefix_bits: u8,
pub slice_hilbert_ranges: Vec<(u64, u64)>,
pub shard_hilbert_range: Option<(u64, u64)>,
pub system_as_of: Option<i64>,
pub valid_at_ms: Option<i64>,
}
#[derive(Debug, Clone, zerompk::ToMessagePack, zerompk::FromMessagePack)]
pub struct ArrayShardSliceResp {
pub shard_id: u32,
pub rows_msgpack: Vec<Vec<u8>>,
pub truncated: bool,
pub truncated_before_horizon: bool,
}
#[derive(Debug, Clone, zerompk::ToMessagePack, zerompk::FromMessagePack)]
pub struct ArrayShardAggReq {
pub array_id_msgpack: Vec<u8>,
pub attr_idx: u32,
pub reducer_msgpack: Vec<u8>,
pub group_by_dim: i32,
pub cell_filter_msgpack: Vec<u8>,
pub shard_hilbert_range: Option<(u64, u64)>,
pub system_as_of: Option<i64>,
pub valid_at_ms: Option<i64>,
}
#[derive(Debug, Clone, zerompk::ToMessagePack, zerompk::FromMessagePack)]
pub struct ArrayShardAggResp {
pub shard_id: u32,
pub partials: Vec<super::merge::ArrayAggPartial>,
pub truncated_before_horizon: bool,
}
#[derive(Debug, Clone, zerompk::ToMessagePack, zerompk::FromMessagePack)]
pub struct ArrayShardPutReq {
pub array_id_msgpack: Vec<u8>,
pub cells_msgpack: Vec<u8>,
pub wal_lsn: u64,
pub representative_hilbert_prefix: u64,
pub prefix_bits: u8,
}
#[derive(Debug, Clone, zerompk::ToMessagePack, zerompk::FromMessagePack)]
pub struct ArrayShardPutResp {
pub shard_id: u32,
pub applied_lsn: u64,
}
#[derive(Debug, Clone, zerompk::ToMessagePack, zerompk::FromMessagePack)]
pub struct ArrayShardDeleteReq {
pub array_id_msgpack: Vec<u8>,
pub coords_msgpack: Vec<u8>,
pub wal_lsn: u64,
pub representative_hilbert_prefix: u64,
pub prefix_bits: u8,
}
#[derive(Debug, Clone, zerompk::ToMessagePack, zerompk::FromMessagePack)]
pub struct ArrayShardDeleteResp {
pub shard_id: u32,
pub applied_lsn: u64,
}
#[derive(Debug, Clone, zerompk::ToMessagePack, zerompk::FromMessagePack)]
pub struct ArrayShardSurrogateBitmapReq {
pub array_id_msgpack: Vec<u8>,
pub slice_msgpack: Vec<u8>,
}
#[derive(Debug, Clone, zerompk::ToMessagePack, zerompk::FromMessagePack)]
pub struct ArrayShardSurrogateBitmapResp {
pub shard_id: u32,
pub bitmap_msgpack: Vec<u8>,
}