pub struct IndexMethodDefinition<'a> {
pub method_name: &'a str,
pub index_name: &'a str,
pub patterns: &'a [Select],
pub backing_btree: bool,
pub results_materialized: bool,
}Fields§
§method_name: &'a strindex method name
index_name: &'a strindex name
patterns: &'a [Select]SELECT patterns where index method can be used the patterns can contain positional placeholder which will make planner to capture parameters from the original query and provide them to the index method (for example, pattern ‘SELECT * FROM {table} LIMIT ?’ will capture LIMIT parameter and provide its value from the query to the index method query_start(…) call)
backing_btree: boolspecial marker which forces tursodb core to treat index method as backing btree - so it will allocate real btree on disk for that index method
results_materialized: boolWhether query_start() materializes all matching rowids up front (e.g. into a Vec/VecDeque).
When true, the cursor is safe to use during DML because it does not lazily stream from
a live data structure that writes could invalidate.
When false, the emitter will collect rowids into a RowSet/ephemeral table before writing.
Trait Implementations§
Auto Trait Implementations§
impl<'a> Freeze for IndexMethodDefinition<'a>
impl<'a> RefUnwindSafe for IndexMethodDefinition<'a>
impl<'a> Send for IndexMethodDefinition<'a>
impl<'a> Sync for IndexMethodDefinition<'a>
impl<'a> Unpin for IndexMethodDefinition<'a>
impl<'a> UnsafeUnpin for IndexMethodDefinition<'a>
impl<'a> UnwindSafe for IndexMethodDefinition<'a>
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
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> ⓘ
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> ⓘ
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