pub struct AggResult {
pub columns: Vec<ColumnSchema>,
pub rows: Vec<Row>,
pub deferred: Vec<(usize, Expr)>,
pub synth_rows: Vec<Row>,
pub synth_schema: Vec<ColumnSchema>,
}Expand description
Output of running the aggregate path. Schema describes one row per group; rows are not yet ORDER BY-sorted (caller does it).
Fields§
§columns: Vec<ColumnSchema>§rows: Vec<Row>§deferred: Vec<(usize, Expr)>v7.31 (perf — PG lesson #1, post-LIMIT subquery projection):
select-list items whose rewritten expr carries a subquery and
is referenced by neither ORDER BY nor HAVING. Their output
cells hold NULL placeholders; the caller truncates to
LIMIT+OFFSET first and only then evaluates these for the
surviving rows (PG runs the same shape with SubPlan loops=50
instead of loops=24000). (output_col, rewritten_expr).
synth_rows: Vec<Row>Synthetic group rows aligned 1:1 with rows; populated only
when deferred is non-empty.
synth_schema: Vec<ColumnSchema>Schema the deferred exprs evaluate against.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for AggResult
impl RefUnwindSafe for AggResult
impl Send for AggResult
impl Sync for AggResult
impl Unpin for AggResult
impl UnsafeUnpin for AggResult
impl UnwindSafe for AggResult
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