pub struct VectorSparseInvertedIndexMethodCursor { /* private fields */ }Implementations§
Source§impl VectorSparseInvertedIndexMethodCursor
impl VectorSparseInvertedIndexMethodCursor
pub fn new(configuration: IndexMethodConfiguration) -> Self
Trait Implementations§
Source§impl IndexMethodCursor for VectorSparseInvertedIndexMethodCursor
impl IndexMethodCursor for VectorSparseInvertedIndexMethodCursor
Source§fn create(
&mut self,
connection: &Arc<Connection>,
database_id: usize,
) -> Result<IOResult<()>>
fn create( &mut self, connection: &Arc<Connection>, database_id: usize, ) -> Result<IOResult<()>>
create necessary components for index method (usually, this is a bunch of btree-s)
Source§fn destroy(
&mut self,
connection: &Arc<Connection>,
database_id: usize,
) -> Result<IOResult<()>>
fn destroy( &mut self, connection: &Arc<Connection>, database_id: usize, ) -> Result<IOResult<()>>
destroy components created in the create(…) call for index method
Source§fn open_read(
&mut self,
connection: &Arc<Connection>,
database_id: usize,
) -> Result<IOResult<()>>
fn open_read( &mut self, connection: &Arc<Connection>, database_id: usize, ) -> Result<IOResult<()>>
open necessary components for reading the index
Source§fn open_write(
&mut self,
connection: &Arc<Connection>,
database_id: usize,
) -> Result<IOResult<()>>
fn open_write( &mut self, connection: &Arc<Connection>, database_id: usize, ) -> Result<IOResult<()>>
open necessary components for writing the index
Source§fn insert(&mut self, values: &[Register]) -> Result<IOResult<()>>
fn insert(&mut self, values: &[Register]) -> Result<IOResult<()>>
handle insert action
“values” argument contains registers with values for index columns followed by rowid Integer register
(e.g. for “CREATE INDEX i ON t USING method (x, z)” insert(…) call will have 3 registers in values: [x, z, rowid])
Source§fn delete(&mut self, values: &[Register]) -> Result<IOResult<()>>
fn delete(&mut self, values: &[Register]) -> Result<IOResult<()>>
handle delete action
“values” argument contains registers with values for index columns followed by rowid Integer register
(e.g. for “CREATE INDEX i ON t USING method (x, z)” insert(…) call will have 3 registers in values: [x, z, rowid])
Source§fn query_start(&mut self, values: &[Register]) -> Result<IOResult<bool>>
fn query_start(&mut self, values: &[Register]) -> Result<IOResult<bool>>
initialize query to the index method
first element of “values” slice is the Integer register which holds index of the chosen IndexMethodDefinition::patterns by query planner
next arguments of the “values” slice are values from the original query expression captured by pattern Read more
Source§fn query_rowid(&mut self) -> Result<IOResult<Option<i64>>>
fn query_rowid(&mut self) -> Result<IOResult<Option<i64>>>
Return rowid of the original table row which corresponds to the current cursor row Read more
Source§fn query_column(&mut self, _: usize) -> Result<IOResult<Value>>
fn query_column(&mut self, _: usize) -> Result<IOResult<Value>>
Return column with given idx (zero-based) from current row
Source§fn query_next(&mut self) -> Result<IOResult<bool>>
fn query_next(&mut self) -> Result<IOResult<bool>>
Moves cursor to the next response row
Returns false if query exhausted all rows
Source§fn pre_commit(&mut self) -> Result<IOResult<()>>
fn pre_commit(&mut self) -> Result<IOResult<()>>
Called before transaction commit to flush any pending writes.
This ensures index method writes are persisted as part of the transaction.
Source§fn optimize(
&mut self,
_connection: &Arc<Connection>,
_database_id: usize,
) -> Result<IOResult<()>>
fn optimize( &mut self, _connection: &Arc<Connection>, _database_id: usize, ) -> Result<IOResult<()>>
Optimize the index by merging segments or performing other maintenance.
Source§fn estimate_cost(
&self,
pattern_idx: usize,
base_table_rows: f64,
) -> Option<IndexMethodCostEstimate>
fn estimate_cost( &self, pattern_idx: usize, base_table_rows: f64, ) -> Option<IndexMethodCostEstimate>
Estimate the cost of executing a query with the given pattern. Read more
Auto Trait Implementations§
impl !Freeze for VectorSparseInvertedIndexMethodCursor
impl !RefUnwindSafe for VectorSparseInvertedIndexMethodCursor
impl !UnwindSafe for VectorSparseInvertedIndexMethodCursor
impl Send for VectorSparseInvertedIndexMethodCursor
impl Sync for VectorSparseInvertedIndexMethodCursor
impl Unpin for VectorSparseInvertedIndexMethodCursor
impl UnsafeUnpin for VectorSparseInvertedIndexMethodCursor
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
impl<T> ErasedDestructor for Twhere
T: 'static,
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 more