pub trait IndexHandle: Send + Sync {
// Required methods
fn probe(
&self,
query: &RecordBatch,
k: usize,
) -> Result<RecordBatch, FnError>;
fn persist(&self) -> Result<Vec<u8>, FnError>;
fn schema(&self) -> SchemaRef;
// Provided methods
fn supports_filter(&self) -> bool { ... }
fn probe_filtered(
&self,
_query: &RecordBatch,
_k: usize,
_filter: &BooleanArray,
) -> Result<RecordBatch, FnError> { ... }
}Expand description
Queryable, persistable index handle (read side).
Required Methods§
Sourcefn probe(&self, query: &RecordBatch, k: usize) -> Result<RecordBatch, FnError>
fn probe(&self, query: &RecordBatch, k: usize) -> Result<RecordBatch, FnError>
Provided Methods§
Sourcefn supports_filter(&self) -> bool
fn supports_filter(&self) -> bool
Whether this index supports per-probe filter pushdown.
Sourcefn probe_filtered(
&self,
_query: &RecordBatch,
_k: usize,
_filter: &BooleanArray,
) -> Result<RecordBatch, FnError>
fn probe_filtered( &self, _query: &RecordBatch, _k: usize, _filter: &BooleanArray, ) -> Result<RecordBatch, FnError>
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".