pub struct IndexManager { /* private fields */ }Implementations§
Source§impl IndexManager
impl IndexManager
pub fn new() -> Self
Build a manager sharing one schema-event registry with SchemaManager.
Single enum dual emission source: index DDL is emitted here, everything
else by SchemaManager; sharing one registry lets observers subscribe
once and receive both halves.
Shared schema-event registry behind this manager.
Sourcepub fn register_schema_callback(
&self,
callback: SchemaChangeCallback,
) -> SubscriptionId
pub fn register_schema_callback( &self, callback: SchemaChangeCallback, ) -> SubscriptionId
Register a runtime observer for index DDL events.
Writes to the registry shared with SchemaManager, so one
subscription receives both index DDL and table/space DDL.
Sourcepub fn register_schema_callback_filtered(
&self,
callback: SchemaChangeCallback,
filter: EventFilter<SchemaChangeEvent>,
) -> SubscriptionId
pub fn register_schema_callback_filtered( &self, callback: SchemaChangeCallback, filter: EventFilter<SchemaChangeEvent>, ) -> SubscriptionId
Register a filtered observer invoked only when filter returns true.
Sourcepub fn unregister_schema_callback(&self, id: SubscriptionId) -> bool
pub fn unregister_schema_callback(&self, id: SubscriptionId) -> bool
Remove a previously registered observer. Returns true if present.
Sourcepub fn schema_callback_count(&self) -> usize
pub fn schema_callback_count(&self) -> usize
Number of registered index observers.
pub fn save_indexes(&self, path: &Path) -> Result<(), StorageError>
pub fn load_indexes(&self, path: &Path) -> Result<(), StorageError>
Trait Implementations§
Source§impl Debug for IndexManager
impl Debug for IndexManager
Source§impl Default for IndexManager
impl Default for IndexManager
Source§impl IndexMetadataManager for IndexManager
impl IndexMetadataManager for IndexManager
fn create_tag_index( &self, space_id: u64, index: &Index, ) -> Result<bool, StorageError>
fn drop_tag_index( &self, space_id: u64, index_name: &str, ) -> Result<bool, StorageError>
fn get_tag_index( &self, space_id: u64, index_name: &str, ) -> Result<Option<Index>, StorageError>
fn list_tag_indexes(&self, space_id: u64) -> Result<Vec<Index>, StorageError>
fn drop_tag_indexes_by_tag( &self, space_id: u64, tag_name: &str, ) -> Result<Vec<String>, StorageError>
fn create_edge_index( &self, space_id: u64, index: &Index, ) -> Result<bool, StorageError>
fn drop_edge_index( &self, space_id: u64, index_name: &str, ) -> Result<bool, StorageError>
fn get_edge_index( &self, space_id: u64, index_name: &str, ) -> Result<Option<Index>, StorageError>
fn list_edge_indexes(&self, space_id: u64) -> Result<Vec<Index>, StorageError>
fn drop_edge_indexes_by_type( &self, space_id: u64, edge_type: &str, ) -> Result<Vec<String>, StorageError>
Source§fn set_tag_index_status(
&self,
space_id: u64,
index_name: &str,
status: IndexStatus,
) -> Result<bool, StorageError>
fn set_tag_index_status( &self, space_id: u64, index_name: &str, status: IndexStatus, ) -> Result<bool, StorageError>
Set the status of a tag index (used for generation rebuild lifecycle).
Source§fn set_edge_index_status(
&self,
space_id: u64,
index_name: &str,
status: IndexStatus,
) -> Result<bool, StorageError>
fn set_edge_index_status( &self, space_id: u64, index_name: &str, status: IndexStatus, ) -> Result<bool, StorageError>
Set the status of an edge index (used for generation rebuild lifecycle).
Auto Trait Implementations§
impl !Freeze for IndexManager
impl !RefUnwindSafe for IndexManager
impl !UnwindSafe for IndexManager
impl Send for IndexManager
impl Sync for IndexManager
impl Unpin for IndexManager
impl UnsafeUnpin for IndexManager
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> FmtForward for T
impl<T> FmtForward for T
Source§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
Causes
self to use its Binary implementation when Debug-formatted.Source§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
Causes
self to use its Display implementation when
Debug-formatted.Source§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
Causes
self to use its LowerExp implementation when
Debug-formatted.Source§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
Causes
self to use its LowerHex implementation when
Debug-formatted.Source§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
Causes
self to use its Octal implementation when Debug-formatted.Source§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
Causes
self to use its Pointer implementation when
Debug-formatted.Source§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
Causes
self to use its UpperExp implementation when
Debug-formatted.Source§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
Causes
self to use its UpperHex implementation when
Debug-formatted.Source§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
Source§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
Pipes by value. This is generally the method you want to use. Read more
Source§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
Borrows
self and passes that borrow into the pipe function. Read moreSource§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
Mutably borrows
self and passes that borrow into the pipe function. Read moreSource§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
Source§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
Source§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
Borrows
self, then passes self.as_ref() into the pipe function.Source§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
Mutably borrows
self, then passes self.as_mut() into the pipe
function.Source§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
Borrows
self, then passes self.deref() into the pipe function.impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<T> Tap for T
impl<T> Tap for T
Source§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Immutable access to the
Borrow<B> of a value. Read moreSource§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
Mutable access to the
BorrowMut<B> of a value. Read moreSource§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
Immutable access to the
AsRef<R> view of a value. Read moreSource§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
Mutable access to the
AsMut<R> view of a value. Read moreSource§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Immutable access to the
Deref::Target of a value. Read moreSource§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Mutable access to the
Deref::Target of a value. Read moreSource§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
Calls
.tap() only in debug builds, and is erased in release builds.Source§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
Calls
.tap_mut() only in debug builds, and is erased in release
builds.Source§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
Calls
.tap_borrow() only in debug builds, and is erased in release
builds.Source§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
Calls
.tap_borrow_mut() only in debug builds, and is erased in release
builds.Source§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
Calls
.tap_ref() only in debug builds, and is erased in release
builds.Source§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
Calls
.tap_ref_mut() only in debug builds, and is erased in release
builds.Source§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
Calls
.tap_deref() only in debug builds, and is erased in release
builds.