pub struct CsrNodeGroup { /* private fields */ }Expand description
CSR node group: wraps a NodeGroup with a CSR header and index.
Body columns: [InternalId (NBR_ID), InternalId (REL_ID), ...properties]
Implementations§
Source§impl CsrNodeGroup
impl CsrNodeGroup
Sourcepub fn new(
node_group_idx: NodeGroupIdx,
num_bound_nodes: u64,
property_types: &[LogicalType],
body_capacity: u64,
) -> Self
pub fn new( node_group_idx: NodeGroupIdx, num_bound_nodes: u64, property_types: &[LogicalType], body_capacity: u64, ) -> Self
Create a new CSR node group.
num_bound_nodes is the number of source nodes in this group.
property_types are the types of relationship properties (excluding NBR_ID and REL_ID).
body_capacity is the total number of relationship entries.
pub fn header(&self) -> &CsrHeader
pub fn header_mut(&mut self) -> &mut CsrHeader
pub fn index(&self) -> &CsrIndex
pub fn index_mut(&mut self) -> &mut CsrIndex
pub fn body(&self) -> &NodeGroup
pub fn body_mut(&mut self) -> &mut NodeGroup
Sourcepub fn get_neighbors(&self, bound_node_offset: u64) -> CsrList
pub fn get_neighbors(&self, bound_node_offset: u64) -> CsrList
Get the CSR list (start_row, length) for a bound node.
Sourcepub fn num_body_columns(&self) -> usize
pub fn num_body_columns(&self) -> usize
Number of body columns (including NBR_ID and REL_ID).
Sourcepub fn nbr_id_column_id() -> u32
pub fn nbr_id_column_id() -> u32
Column ID for neighbor ID.
Sourcepub fn rel_id_column_id() -> u32
pub fn rel_id_column_id() -> u32
Column ID for relationship ID.
Auto Trait Implementations§
impl Freeze for CsrNodeGroup
impl RefUnwindSafe for CsrNodeGroup
impl Send for CsrNodeGroup
impl Sync for CsrNodeGroup
impl Unpin for CsrNodeGroup
impl UnsafeUnpin for CsrNodeGroup
impl UnwindSafe for CsrNodeGroup
Blanket Implementations§
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
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreCreates a shared type from an unshared type.