1//===----------------------------------------------------------------------===//
2// DuckDB
3//
4// duckdb/planner/expression_binder/aggregate_binder.hpp
5//
6//
7//===----------------------------------------------------------------------===//
8
9#pragma once
10
11#include "duckdb/planner/expression_binder.hpp"
12
13namespace duckdb {
14
15//! The AggregateBinder is responsible for binding aggregate statements extracted from a SELECT clause (by the
16//! SelectBinder)
17class AggregateBinder : public ExpressionBinder {
18 friend class SelectBinder;
19
20public:
21 AggregateBinder(Binder &binder, ClientContext &context);
22
23protected:
24 BindResult BindExpression(unique_ptr<ParsedExpression> &expr_ptr, idx_t depth,
25 bool root_expression = false) override;
26
27 string UnsupportedAggregateMessage() override;
28};
29
30} // namespace duckdb
31