iceberg-cpp
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | List of all members
iceberg::AggregateEvaluator Class Referenceabstract

Evaluates bound aggregates over StructLike data. More...

#include <aggregate.h>

Public Member Functions

virtual Status Update (const StructLike &data)=0
 Update aggregates with a row.
 
virtual Status Update (const DataFile &file)=0
 Update aggregates using data file metrics.
 
virtual Result< std::span< const Literal > > GetResults () const =0
 Final aggregated value.
 
virtual Result< LiteralGetResult () const =0
 Convenience accessor when only one aggregate is evaluated.
 
virtual bool AllAggregatorsValid () const =0
 Whether all aggregators are still valid (metrics present).
 

Static Public Member Functions

static Result< std::unique_ptr< AggregateEvaluator > > Make (std::shared_ptr< BoundAggregate > aggregate)
 Create an evaluator for a single bound aggregate.
 
static Result< std::unique_ptr< AggregateEvaluator > > Make (std::vector< std::shared_ptr< BoundAggregate > > aggregates)
 Create an evaluator for multiple bound aggregates.
 

Detailed Description

Evaluates bound aggregates over StructLike data.

Member Function Documentation

◆ Make() [1/2]

Result< std::unique_ptr< AggregateEvaluator > > iceberg::AggregateEvaluator::Make ( std::shared_ptr< BoundAggregate aggregate)
static

Create an evaluator for a single bound aggregate.

Parameters
aggregateThe bound aggregate to evaluate across rows.

◆ Make() [2/2]

Result< std::unique_ptr< AggregateEvaluator > > iceberg::AggregateEvaluator::Make ( std::vector< std::shared_ptr< BoundAggregate > >  aggregates)
static

Create an evaluator for multiple bound aggregates.

Parameters
aggregatesAggregates to evaluate in one pass; order is preserved in Results().

The documentation for this class was generated from the following files: