|
iceberg-cpp
|
Base class for bound aggregates. More...
#include <aggregate.h>
Classes | |
| class | Aggregator |
| Base class for aggregators. More... | |
Public Member Functions | |
| std::shared_ptr< BoundReference > | reference () override |
| Returns the underlying bound reference for this term. | |
| Result< Literal > | Evaluate (const StructLike &data) const override=0 |
| Evaluate this expression against a row-based data. | |
| virtual Result< Literal > | Evaluate (const DataFile &file) const =0 |
| virtual bool | HasValue (const DataFile &file) const =0 |
| Whether metrics in the data file are sufficient to evaluate. | |
| bool | is_bound_aggregate () const override |
| virtual std::unique_ptr< Aggregator > | NewAggregator () const =0 |
| Create a new aggregator for this aggregate. | |
Public Member Functions inherited from iceberg::Aggregate< BoundTerm > | |
| Expression::Operation | op () const override |
| Returns the operation for an expression node. | |
| const std::shared_ptr< T > & | term () const |
| std::string | ToString () const override |
| Get a user-readable string representation. | |
Public Member Functions inherited from iceberg::Expression | |
| virtual Result< std::shared_ptr< Expression > > | Negate () const |
| Returns the negation of this expression, equivalent to not(this). | |
| virtual bool | Equals (const Expression &other) const |
| Returns whether this expression will accept the same values as another. | |
| std::string | ToString () const override |
| Get a user-readable string representation. | |
| virtual bool | is_unbound_predicate () const |
| virtual bool | is_bound_predicate () const |
| virtual bool | is_unbound_aggregate () const |
Protected Member Functions | |
| BoundAggregate (Expression::Operation op, std::shared_ptr< BoundTerm > term) | |
Protected Member Functions inherited from iceberg::Aggregate< BoundTerm > | |
| Aggregate (Expression::Operation op, std::shared_ptr< T > term) | |
Additional Inherited Members | |
Public Types inherited from iceberg::Expression | |
| enum class | Operation { kTrue , kFalse , kIsNull , kNotNull , kIsNan , kNotNan , kLt , kLtEq , kGt , kGtEq , kEq , kNotEq , kIn , kNotIn , kNot , kAnd , kOr , kStartsWith , kNotStartsWith , kCount , kCountNull , kCountStar , kMax , kMin } |
| Operation types for expressions. | |
Static Protected Member Functions inherited from iceberg::Aggregate< BoundTerm > | |
| static constexpr bool | IsSupportedOp (Expression::Operation op) |
Protected Attributes inherited from iceberg::Aggregate< BoundTerm > | |
| Expression::Operation | operation_ |
| std::shared_ptr< T > | term_ |
Base class for bound aggregates.
|
overridepure virtual |
Evaluate this expression against a row-based data.
Implements iceberg::Bound.
Implemented in iceberg::CountAggregate, iceberg::MaxAggregate, and iceberg::MinAggregate.
|
pure virtual |
Whether metrics in the data file are sufficient to evaluate.
Implemented in iceberg::CountNonNullAggregate, iceberg::CountNullAggregate, iceberg::CountStarAggregate, iceberg::MaxAggregate, and iceberg::MinAggregate.
|
inlineoverridevirtual |
Reimplemented from iceberg::Expression.
|
pure virtual |
Create a new aggregator for this aggregate.
Implemented in iceberg::CountAggregate, iceberg::MaxAggregate, and iceberg::MinAggregate.
|
inlineoverridevirtual |
Returns the underlying bound reference for this term.
Implements iceberg::Bound.