pub enum SourceExpr {
InMemory {
source_id: SourceId,
header: Arc<Header>,
table_type: StTableType,
table_access: StAccess,
},
DbTable(DbTable),
}Expand description
A reference to a table within a query plan, used as the source for selections, scans, filters and joins.
Variants§
InMemory
A plan for a “virtual” or projected table.
The actual in-memory table, e.g., MemTable or &'a [ProductValue]
is not stored within the query plan;
rather, the source_id is an index which corresponds to the table in e.g., a SourceSet.
This allows query plans to be reused by supplying e.g., a new SourceSet.
DbTable(DbTable)
Implementations§
Source§impl SourceExpr
impl SourceExpr
pub fn table_name(&self) -> &str
pub fn table_type(&self) -> StTableType
pub fn table_access(&self) -> StAccess
pub fn head(&self) -> &Arc<Header>
pub fn is_mem_table(&self) -> bool
pub fn is_db_table(&self) -> bool
pub fn from_mem_table( header: Arc<Header>, table_access: StAccess, id: SourceId, ) -> Self
pub fn table_id(&self) -> Option<TableId>
Trait Implementations§
Source§impl AuthAccess for SourceExpr
impl AuthAccess for SourceExpr
Source§impl Clone for SourceExpr
impl Clone for SourceExpr
Source§fn clone(&self) -> SourceExpr
fn clone(&self) -> SourceExpr
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for SourceExpr
impl Debug for SourceExpr
Source§impl From<&TableSchema> for SourceExpr
impl From<&TableSchema> for SourceExpr
Source§fn from(value: &TableSchema) -> Self
fn from(value: &TableSchema) -> Self
Converts to this type from the input type.
Source§impl From<SourceExpr> for QueryExpr
impl From<SourceExpr> for QueryExpr
Source§fn from(source: SourceExpr) -> Self
fn from(source: SourceExpr) -> Self
Converts to this type from the input type.
Source§impl Hash for SourceExpr
impl Hash for SourceExpr
Source§impl PartialEq for SourceExpr
impl PartialEq for SourceExpr
impl Eq for SourceExpr
impl StructuralPartialEq for SourceExpr
Auto Trait Implementations§
impl Freeze for SourceExpr
impl RefUnwindSafe for SourceExpr
impl Send for SourceExpr
impl Sync for SourceExpr
impl Unpin for SourceExpr
impl UnwindSafe for SourceExpr
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.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