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>
impl<Id: EntityId> PropertyStorage<Id>
Sourcepub fn set(&self, id: Id, key: PropertyKey, value: Value)
pub fn set(&self, id: Id, key: PropertyKey, value: Value)
Sets a property value for an entity.
Sourcepub fn get(&self, id: Id, key: &PropertyKey) -> Option<Value>
pub fn get(&self, id: Id, key: &PropertyKey) -> Option<Value>
Gets a property value for an entity.
Sourcepub fn remove(&self, id: Id, key: &PropertyKey) -> Option<Value>
pub fn remove(&self, id: Id, key: &PropertyKey) -> Option<Value>
Removes a property value for an entity.
Sourcepub fn remove_all(&self, id: Id)
pub fn remove_all(&self, id: Id)
Removes all properties for an entity.
Sourcepub fn get_all(&self, id: Id) -> FxHashMap<PropertyKey, Value>
pub fn get_all(&self, id: Id) -> FxHashMap<PropertyKey, Value>
Gets all properties for an entity.
Sourcepub fn column_count(&self) -> usize
pub fn column_count(&self) -> usize
Returns the number of property columns.
Sourcepub fn keys(&self) -> Vec<PropertyKey>
pub fn keys(&self) -> Vec<PropertyKey>
Returns the keys of all columns.
Sourcepub fn column(&self, key: &PropertyKey) -> Option<PropertyColumnRef<'_, Id>>
pub fn column(&self, key: &PropertyKey) -> Option<PropertyColumnRef<'_, Id>>
Gets a column by key for bulk access.
Sourcepub fn might_match(
&self,
key: &PropertyKey,
op: CompareOp,
value: &Value,
) -> bool
pub fn might_match( &self, key: &PropertyKey, op: CompareOp, value: &Value, ) -> bool
Checks if a predicate on a property might match any values.
Returns true if the property column might contain matching values,
false if it definitely doesn’t. Returns true if the property doesn’t exist.
Sourcepub fn zone_map(&self, key: &PropertyKey) -> Option<ZoneMapEntry>
pub fn zone_map(&self, key: &PropertyKey) -> Option<ZoneMapEntry>
Gets the zone map for a property column.
Sourcepub fn rebuild_zone_maps(&self)
pub fn rebuild_zone_maps(&self)
Rebuilds zone maps for all columns (call after bulk removes).