|
iceberg-cpp
|
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< Expression > | expr_ |
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().
|
static |
Return a residual evaluator for a PartitionSpec and Expression.
| expr | An expression |
| spec | A partition spec |
| schema | The schema to bind expressions against |
| case_sensitive | Whether field name matching is case-sensitive |
|
virtual |
Returns a residual expression for the given partition values.
| partition_data | Partition data values |
|
static |
Return a residual evaluator for an unpartitioned PartitionSpec.
| expr | An expression |