vibesql_executor/select/
mod.rs

1pub mod columnar;
2pub(crate) mod cte;
3mod executor;
4pub(crate) mod filter;
5mod from_iterator;
6pub(crate) mod grouping;
7mod helpers;
8mod iterator;
9pub mod join;
10#[allow(dead_code)] // Experimental feature with tests, not yet enabled in production
11pub mod late_materialization;
12mod order;
13#[cfg(feature = "parallel")]
14mod parallel;
15mod vectorized;
16pub(crate) mod projection;
17mod projection_simd;
18pub(crate) mod scan;
19mod set_operations;
20pub(crate) mod window;
21
22pub use cte::CteResult;
23pub use iterator::{RowIterator, TableScanIterator};
24pub use late_materialization::{
25    SelectionVector, RowReference, LazyMaterializedBatch,
26    gather_columns, gather_single_column,
27};
28pub use window::WindowFunctionKey;
29
30/// Result of a SELECT query including column metadata
31#[derive(Debug)]
32pub struct SelectResult {
33    /// Column names derived from the SELECT list
34    pub columns: Vec<String>,
35    /// Result rows
36    pub rows: Vec<vibesql_storage::Row>,
37}
38
39pub use executor::SelectExecutor;