quill_sql/plan/logical_plan/
table_scan.rs

1use crate::catalog::SchemaRef;
2use crate::expression::Expr;
3use crate::utils::table_ref::TableReference;
4
5#[derive(derive_new::new, Debug, Clone)]
6pub struct TableScan {
7    pub table_ref: TableReference,
8    pub table_schema: SchemaRef,
9    pub filters: Vec<Expr>,
10    pub limit: Option<usize>,
11    /// Optional hint: prefer streaming seqscan (bypass buffer pool)
12    pub streaming_hint: Option<bool>,
13}
14
15impl std::fmt::Display for TableScan {
16    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
17        write!(f, "TableScan: {}", self.table_ref)
18    }
19}