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;
15pub(crate) mod projection;
16mod projection_simd;
17pub(crate) mod scan;
18mod set_operations;
19mod vectorized;
20pub(crate) mod window;
21
22pub use cte::CteResult;
23pub use iterator::{RowIterator, TableScanIterator};
24pub use late_materialization::{
25    gather_columns, gather_single_column, LazyMaterializedBatch, RowReference, SelectionVector,
26};
27pub use window::WindowFunctionKey;
28
29/// Result of a SELECT query including column metadata
30#[derive(Debug)]
31pub struct SelectResult {
32    /// Column names derived from the SELECT list
33    pub columns: Vec<String>,
34    /// Result rows
35    pub rows: Vec<vibesql_storage::Row>,
36}
37
38pub use executor::SelectExecutor;