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}