iceberg-cpp
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
iceberg::ResidualEvaluator Class Reference

Finds the residuals for an Expression using the partitions in the given PartitionSpec. More...

#include <residual_evaluator.h>

Public Member Functions

virtual Result< std::shared_ptr< Expression > > ResidualFor (const StructLike &partition_data) const
 Returns a residual expression for the given partition values.
 

Static Public Member Functions

static Result< std::unique_ptr< ResidualEvaluator > > Unpartitioned (std::shared_ptr< Expression > expr)
 Return a residual evaluator for an unpartitioned PartitionSpec.
 
static Result< std::unique_ptr< ResidualEvaluator > > Make (std::shared_ptr< Expression > expr, const PartitionSpec &spec, const Schema &schema, bool case_sensitive=true)
 Return a residual evaluator for a PartitionSpec and Expression.
 

Protected Member Functions

 ResidualEvaluator (std::shared_ptr< Expression > expr, const PartitionSpec &spec, const Schema &schema, bool case_sensitive)
 

Protected Attributes

std::shared_ptr< Expressionexpr_
 

Detailed Description

Finds the residuals for an Expression using the partitions in the given PartitionSpec.

A residual expression is made by partially evaluating an expression using partition values. For example, if a table is partitioned by day(utc_timestamp) and is read with a filter expression utc_timestamp >= a and utc_timestamp <= b, then there are 4 possible residual expressions for the partition data, d:

Partition data is passed using StructLike. Residuals are returned by ResidualFor().

Member Function Documentation

◆ Make()

Result< std::unique_ptr< ResidualEvaluator > > iceberg::ResidualEvaluator::Make ( std::shared_ptr< Expression expr,
const PartitionSpec spec,
const Schema schema,
bool  case_sensitive = true 
)
static

Return a residual evaluator for a PartitionSpec and Expression.

Parameters
exprAn expression
specA partition spec
schemaThe schema to bind expressions against
case_sensitiveWhether field name matching is case-sensitive
Returns
A residual evaluator for the expression

◆ ResidualFor()

Result< std::shared_ptr< Expression > > iceberg::ResidualEvaluator::ResidualFor ( const StructLike partition_data) const
virtual

Returns a residual expression for the given partition values.

Parameters
partition_dataPartition data values
Returns
The residual of this evaluator's expression from the partition values

◆ Unpartitioned()

Result< std::unique_ptr< ResidualEvaluator > > iceberg::ResidualEvaluator::Unpartitioned ( std::shared_ptr< Expression expr)
static

Return a residual evaluator for an unpartitioned PartitionSpec.

Parameters
exprAn expression
Returns
A residual evaluator that always returns the expression

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