use crate::store::{
key::{CurrentKey, Key, SysKey},
proto, read, value,
};
pub fn decode_key(bytes: &[u8]) {
let _ = Key::decode(bytes);
}
pub fn decode_record(key_bytes: &[u8], value_bytes: &[u8]) {
let Ok(key) = Key::decode(key_bytes) else {
return;
};
match key {
Key::Current(CurrentKey::Entity(entity)) => {
let _ = read::decode_entity(entity, value_bytes);
}
Key::History(history) => {
let _ = read::decode_entity(history.entity, value_bytes);
}
Key::Current(CurrentKey::GcFile { .. }) => {
let _ = value::decode_value::<proto::GcFileValue>(value_bytes);
}
Key::Snapshot { .. } => {
let _ = value::decode_value::<proto::SnapshotValue>(value_bytes);
}
Key::Changelog { .. } => {
let _ = value::decode_value::<proto::ChangelogValue>(value_bytes);
}
Key::SchemaVersion { .. } => {
let _ = value::decode_value::<proto::SchemaVersionValue>(value_bytes);
}
Key::Sys(SysKey::Format) => {
let _ = value::decode_value::<proto::FormatValue>(value_bytes);
}
Key::Sys(SysKey::Head) => {
let _ = value::decode_value::<proto::HeadValue>(value_bytes);
}
Key::Sys(SysKey::Migration) => {
let _ = value::decode_value::<proto::MigrationValue>(value_bytes);
}
Key::Inline(_) | Key::Index(_) => {}
}
}