pub struct V8Meta {
pub labels: Vec<u32>,
pub wal_truncated: bool,
pub edge_props: EdgeProps,
pub rule_defs: Vec<Vec<u8>>,
pub provenance: BTreeMap<String, BTreeSet<(u32, u32, u32)>>,
pub rule_tripped: BTreeMap<String, bool>,
pub rule_fires: BTreeMap<String, u64>,
pub view_defs: Vec<Vec<u8>>,
pub hnsw: BTreeMap<String, (Vec<u8>, Vec<u8>)>,
pub ivf_bytes: Vec<u8>,
pub last_change: HashMap<u32, u64>,
}Expand description
Metadata serialized as bincode into section 4.
T5 lean layout: only labels and wal_truncated live here.
All large fields (edge_props, provenance, hnsw, rule_defs, rule_tripped,
rule_fires, view_defs) have dedicated rkyv sections (5–9) and are encoded
directly from the corresponding fields in encode_v8. ivf_state is in
section 10. The edge_props, hnsw, rule_defs, rule_tripped,
rule_fires, view_defs, and provenance fields below are kept in
V8Meta solely as a convenient carrier passed to encode_v8 so callers
don’t need to pass a dozen separate arguments; they are NOT written to the
bincode META section (marked #[serde(skip)]).
Fields§
§labels: Vec<u32>Node-id → label-symbol mapping.
wal_truncated: boolSnapshot-truncated-WAL flag.
edge_props: EdgeProps§rule_defs: Vec<Vec<u8>>§provenance: BTreeMap<String, BTreeSet<(u32, u32, u32)>>§rule_tripped: BTreeMap<String, bool>§rule_fires: BTreeMap<String, u64>§view_defs: Vec<Vec<u8>>§hnsw: BTreeMap<String, (Vec<u8>, Vec<u8>)>§ivf_bytes: Vec<u8>Raw bincode bytes of BTreeMap<String, PerRuleIvfState>.
Written as section 10. Retained undecoded at open for lazy init.
An empty Vec means no approximate rules exist.
last_change: HashMap<u32, u64>Per-node last-change commit sequence map: node_id → commit_seq.
Written as section 11 (bincode HashMap<u32, u64>).
Empty for legacy or freshly-opened stores with no mutations.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for V8Meta
impl<'de> Deserialize<'de> for V8Meta
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Auto Trait Implementations§
impl Freeze for V8Meta
impl RefUnwindSafe for V8Meta
impl Send for V8Meta
impl Sync for V8Meta
impl Unpin for V8Meta
impl UnsafeUnpin for V8Meta
impl UnwindSafe for V8Meta
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
out indicating that a T is niched.