pub struct TableCacheDataSource<'a> { /* private fields */ }Expand description
DataSource implementation for TableCache.
This allows the query engine to access table data and indexes.
Implementations§
Source§impl<'a> TableCacheDataSource<'a>
impl<'a> TableCacheDataSource<'a>
Sourcepub fn new(cache: &'a TableCache) -> Self
pub fn new(cache: &'a TableCache) -> Self
Creates a new data source from a TableCache reference.
Trait Implementations§
Source§impl<'a> DataSource for TableCacheDataSource<'a>
impl<'a> DataSource for TableCacheDataSource<'a>
Source§fn get_table_rows(&self, table: &str) -> ExecutionResult<Vec<Rc<Row>>>
fn get_table_rows(&self, table: &str) -> ExecutionResult<Vec<Rc<Row>>>
Returns all rows from a table.
Source§fn get_index_range(
&self,
table: &str,
index: &str,
range_start: Option<&Value>,
range_end: Option<&Value>,
include_start: bool,
include_end: bool,
) -> ExecutionResult<Vec<Rc<Row>>>
fn get_index_range( &self, table: &str, index: &str, range_start: Option<&Value>, range_end: Option<&Value>, include_start: bool, include_end: bool, ) -> ExecutionResult<Vec<Rc<Row>>>
Returns rows from an index scan with a key range.
Source§fn get_index_range_with_limit(
&self,
table: &str,
index: &str,
range_start: Option<&Value>,
range_end: Option<&Value>,
include_start: bool,
include_end: bool,
limit: Option<usize>,
offset: usize,
reverse: bool,
) -> ExecutionResult<Vec<Rc<Row>>>
fn get_index_range_with_limit( &self, table: &str, index: &str, range_start: Option<&Value>, range_end: Option<&Value>, include_start: bool, include_end: bool, limit: Option<usize>, offset: usize, reverse: bool, ) -> ExecutionResult<Vec<Rc<Row>>>
Returns rows from an index scan with a key range, limit, offset, and reverse option.
This enables true pushdown of LIMIT to the storage layer.
Source§fn get_index_point(
&self,
table: &str,
index: &str,
key: &Value,
) -> ExecutionResult<Vec<Rc<Row>>>
fn get_index_point( &self, table: &str, index: &str, key: &Value, ) -> ExecutionResult<Vec<Rc<Row>>>
Returns rows from an index point lookup.
Source§fn get_index_point_with_limit(
&self,
table: &str,
index: &str,
key: &Value,
limit: Option<usize>,
) -> ExecutionResult<Vec<Rc<Row>>>
fn get_index_point_with_limit( &self, table: &str, index: &str, key: &Value, limit: Option<usize>, ) -> ExecutionResult<Vec<Rc<Row>>>
Returns rows from an index point lookup with limit.
Source§fn get_column_count(&self, table: &str) -> ExecutionResult<usize>
fn get_column_count(&self, table: &str) -> ExecutionResult<usize>
Returns the column count for a table.
Source§fn get_gin_index_rows(
&self,
table: &str,
index: &str,
key: &str,
value: &str,
) -> ExecutionResult<Vec<Rc<Row>>>
fn get_gin_index_rows( &self, table: &str, index: &str, key: &str, value: &str, ) -> ExecutionResult<Vec<Rc<Row>>>
Returns rows from a GIN index lookup by key-value pair.
Used for JSONB path equality queries like
$.category = 'Electronics'.Source§fn get_gin_index_rows_by_key(
&self,
table: &str,
index: &str,
key: &str,
) -> ExecutionResult<Vec<Rc<Row>>>
fn get_gin_index_rows_by_key( &self, table: &str, index: &str, key: &str, ) -> ExecutionResult<Vec<Rc<Row>>>
Returns rows from a GIN index lookup by key existence.
Used for JSONB key existence queries.
Auto Trait Implementations§
impl<'a> Freeze for TableCacheDataSource<'a>
impl<'a> RefUnwindSafe for TableCacheDataSource<'a>
impl<'a> !Send for TableCacheDataSource<'a>
impl<'a> !Sync for TableCacheDataSource<'a>
impl<'a> Unpin for TableCacheDataSource<'a>
impl<'a> UnwindSafe for TableCacheDataSource<'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
Mutably borrows from an owned value. Read more