pub struct GraphView<'a> {
pub ids: &'a IdMap,
pub syms: &'a Interner,
pub labels: &'a [u32],
pub props: ColumnsView<'a>,
pub topo: TopologyView<'a>,
pub edge_props: EdgePropsView<'a>,
pub mask: Option<&'a HashSet<u32>>,
}Expand description
Read-only twin of GraphMut. Holds only borrowed graph state.
Fields§
§ids: &'a IdMap§syms: &'a Interner§labels: &'a [u32]§props: ColumnsView<'a>Overlay-over-base column store view. For V5–V7 snapshots and fresh
databases, base is None and all column reads go to the overlay.
For V8 snapshots, base holds the archived columns from the mmap.
topo: TopologyView<'a>Overlay-over-base topology view. For V5–V7 snapshots and fresh
databases, base is None and all topology reads go to the owned
overlay. For V8 snapshots, base holds the archived CSR from the
mmap, and WAL-replayed edges accumulate in the overlay.
edge_props: EdgePropsView<'a>Overlay-over-base edge-property view. For V8 snapshots the base section is consulted zero-copy; the overlay holds only post-snapshot changes. Tombstones in the overlay mask deleted-from-base entries.
mask: Option<&'a HashSet<u32>>Optional query-scoped node visibility set. None = all nodes visible.
When Some(set), only dense ids present in set are accessible.
Implementations§
Source§impl<'a> GraphView<'a>
impl<'a> GraphView<'a>
Sourcepub fn visible(&self, id: u32) -> bool
pub fn visible(&self, id: u32) -> bool
Returns true if id is visible under the current mask.
Always true when no mask is set.
pub fn node_id(&self, key: &str) -> Option<u32>
pub fn key_of(&self, id: u32) -> &str
pub fn label_of(&self, id: u32) -> Option<&str>
pub fn nodes_with_label(&self, label: &str) -> Vec<u32>
Sourcepub fn prop(&self, id: u32, field: &str) -> Option<ValueRef<'_>>
pub fn prop(&self, id: u32, field: &str) -> Option<ValueRef<'_>>
Look up the property field for node id.
Returns ValueRef::Borrowed for overlay hits (zero allocation) and
ValueRef::Owned for base-section hits (value materialised from
archived data). Returns None when neither overlay nor base has a
value for (id, field).
Auto Trait Implementations§
impl<'a> Freeze for GraphView<'a>
impl<'a> RefUnwindSafe for GraphView<'a>
impl<'a> Send for GraphView<'a>
impl<'a> Sync for GraphView<'a>
impl<'a> Unpin for GraphView<'a>
impl<'a> UnsafeUnpin for GraphView<'a>
impl<'a> UnwindSafe for GraphView<'a>
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
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.