quill_sql/plan/logical_plan/
aggregate.rs

1use crate::catalog::SchemaRef;
2use crate::expression::Expr;
3use crate::plan::logical_plan::LogicalPlan;
4use std::sync::Arc;
5
6#[derive(Debug, Clone)]
7pub struct Aggregate {
8    /// The incoming logical plan
9    pub input: Arc<LogicalPlan>,
10    /// Grouping expressions
11    pub group_exprs: Vec<Expr>,
12    /// Aggregate expressions
13    pub aggr_exprs: Vec<Expr>,
14    /// The schema description of the aggregate output
15    pub schema: SchemaRef,
16}
17
18impl std::fmt::Display for Aggregate {
19    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
20        write!(f, "Aggregate")
21    }
22}