pub struct TableScan {
pub table_name: TableReference,
pub source: Arc<dyn TableSource>,
pub projection: Option<Vec<usize>>,
pub projected_schema: DFSchemaRef,
pub filters: Vec<Expr>,
pub fetch: Option<usize>,
pub statistics_requests: BTreeSet<StatisticsRequest>,
}Expand description
Produces rows from a table provider by reference or from the context
Fields§
§table_name: TableReferenceThe name of the table
source: Arc<dyn TableSource>The source of the table
projection: Option<Vec<usize>>Optional column indices to use as a projection
projected_schema: DFSchemaRefThe schema description of the output
filters: Vec<Expr>Optional expressions to be used as filters by the table provider
fetch: Option<usize>Optional number of rows to read
statistics_requests: BTreeSet<StatisticsRequest>Statistics the planner would like the provider to answer for this scan, typically attached by a custom optimizer rule from the surrounding plan (e.g. Min/Max for sort keys).
A BTreeSet, not a Vec to keep the resulting plan deterministic.
Implementations§
Source§impl TableScan
impl TableScan
Sourcepub fn try_new(
table_name: impl Into<TableReference>,
table_source: Arc<dyn TableSource>,
projection: Option<Vec<usize>>,
filters: Vec<Expr>,
fetch: Option<usize>,
) -> Result<Self>
👎Deprecated since 54.0.0: use TableScanBuilder instead
pub fn try_new( table_name: impl Into<TableReference>, table_source: Arc<dyn TableSource>, projection: Option<Vec<usize>>, filters: Vec<Expr>, fetch: Option<usize>, ) -> Result<Self>
use TableScanBuilder instead
Initialize TableScan with appropriate schema from the given arguments.
Trait Implementations§
impl Eq for TableScan
Source§impl From<TableScan> for TableScanBuilder
impl From<TableScan> for TableScanBuilder
Auto Trait Implementations§
impl !RefUnwindSafe for TableScan
impl !UnwindSafe for TableScan
impl Freeze for TableScan
impl Send for TableScan
impl Sync for TableScan
impl Unpin for TableScan
impl UnsafeUnpin for TableScan
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