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