Skip to main content

PropertyStorage

Struct PropertyStorage 

Source
pub struct PropertyStorage<Id: EntityId = NodeId> { /* private fields */ }
Expand description

Columnar property storage.

Properties are stored in a columnar format where each property key has its own column. This enables efficient filtering and scanning of specific properties across many entities.

Generic over the entity ID type (NodeId or EdgeId).

Implementations§

Source§

impl<Id: EntityId> PropertyStorage<Id>

Source

pub fn new() -> Self

Creates a new property storage.

Source

pub fn set(&self, id: Id, key: PropertyKey, value: Value)

Sets a property value for an entity.

Source

pub fn get(&self, id: Id, key: &PropertyKey) -> Option<Value>

Gets a property value for an entity.

Source

pub fn remove(&self, id: Id, key: &PropertyKey) -> Option<Value>

Removes a property value for an entity.

Source

pub fn remove_all(&self, id: Id)

Removes all properties for an entity.

Source

pub fn get_all(&self, id: Id) -> FxHashMap<PropertyKey, Value>

Gets all properties for an entity.

Source

pub fn column_count(&self) -> usize

Returns the number of property columns.

Source

pub fn keys(&self) -> Vec<PropertyKey>

Returns the keys of all columns.

Source

pub fn column(&self, key: &PropertyKey) -> Option<PropertyColumnRef<'_, Id>>

Gets a column by key for bulk access.

Trait Implementations§

Source§

impl<Id: EntityId> Default for PropertyStorage<Id>

Source§

fn default() -> Self

Returns the “default value” for a type. Read more

Auto Trait Implementations§

§

impl<Id = NodeId> !Freeze for PropertyStorage<Id>

§

impl<Id = NodeId> !RefUnwindSafe for PropertyStorage<Id>

§

impl<Id> Send for PropertyStorage<Id>
where Id: Send,

§

impl<Id> Sync for PropertyStorage<Id>
where Id: Sync + Send,

§

impl<Id> Unpin for PropertyStorage<Id>
where Id: Unpin,

§

impl<Id> UnwindSafe for PropertyStorage<Id>
where Id: UnwindSafe,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.