iceberg-cpp
Loading...
Searching...
No Matches
Public Member Functions | List of all members
iceberg::ManifestEvalVisitor Class Reference
Inheritance diagram for iceberg::ManifestEvalVisitor:
iceberg::BoundVisitor< bool > iceberg::ExpressionVisitor< R >

Public Member Functions

 ManifestEvalVisitor (const ManifestFile &manifest)
 
Result< bool > AlwaysTrue () override
 Visit a True expression (always evaluates to true).
 
Result< bool > AlwaysFalse () override
 Visit a False expression (always evaluates to false).
 
Result< bool > Not (bool child_result) override
 
Result< bool > And (bool left_result, bool right_result) override
 
Result< bool > Or (bool left_result, bool right_result) override
 
Result< bool > IsNull (const std::shared_ptr< Bound > &expr) override
 Visit an IS_NULL bound expression.
 
Result< bool > NotNull (const std::shared_ptr< Bound > &expr) override
 Visit a NOT_NULL bound expression.
 
Result< bool > IsNaN (const std::shared_ptr< Bound > &expr) override
 Visit an IS_NAN bound expression.
 
Result< bool > NotNaN (const std::shared_ptr< Bound > &expr) override
 Visit a NOT_NAN bound expression.
 
Result< bool > Lt (const std::shared_ptr< Bound > &expr, const Literal &lit) override
 Visit a less-than bound expression.
 
Result< bool > LtEq (const std::shared_ptr< Bound > &expr, const Literal &lit) override
 Visit a less-than-or-equal bound expression.
 
Result< bool > Gt (const std::shared_ptr< Bound > &expr, const Literal &lit) override
 Visit a greater-than bound expression.
 
Result< bool > GtEq (const std::shared_ptr< Bound > &expr, const Literal &lit) override
 Visit a greater-than-or-equal bound expression.
 
Result< bool > Eq (const std::shared_ptr< Bound > &expr, const Literal &lit) override
 Visit an equality bound expression.
 
Result< bool > NotEq (const std::shared_ptr< Bound > &expr, const Literal &lit) override
 Visit a not-equal bound expression.
 
Result< bool > In (const std::shared_ptr< Bound > &expr, const BoundSetPredicate::LiteralSet &literal_set) override
 Visit an IN set bound expression.
 
Result< bool > NotIn (const std::shared_ptr< Bound > &expr, const BoundSetPredicate::LiteralSet &literal_set) override
 Visit a NOT_IN set bound expression.
 
Result< bool > StartsWith (const std::shared_ptr< Bound > &expr, const Literal &lit) override
 Visit a starts-with bound expression.
 
Result< bool > NotStartsWith (const std::shared_ptr< Bound > &expr, const Literal &lit) override
 Visit a not-starts-with bound expression.
 
- Public Member Functions inherited from iceberg::BoundVisitor< bool >
Result< bool > Predicate (const std::shared_ptr< BoundPredicate > &pred) override
 Visit a bound predicate.
 
Result< bool > Predicate (const std::shared_ptr< UnboundPredicate > &pred) override
 Visit an unbound predicate.
 
- Public Member Functions inherited from iceberg::ExpressionVisitor< R >
virtual Result< R > Not (ParamType child_result)=0
 Visit a Not expression.
 
virtual Result< R > And (ParamType left_result, ParamType right_result)=0
 Visit an And expression.
 
virtual Result< R > Or (ParamType left_result, ParamType right_result)=0
 Visit an Or expression.
 
virtual Result< R > Aggregate (const std::shared_ptr< BoundAggregate > &aggregate)
 Visit a bound aggregate.
 
virtual Result< R > Aggregate (const std::shared_ptr< UnboundAggregate > &aggregate)
 Visit an unbound aggregate.
 

Member Function Documentation

◆ AlwaysFalse()

Result< bool > iceberg::ManifestEvalVisitor::AlwaysFalse ( )
inlineoverridevirtual

Visit a False expression (always evaluates to false).

Implements iceberg::ExpressionVisitor< R >.

◆ AlwaysTrue()

Result< bool > iceberg::ManifestEvalVisitor::AlwaysTrue ( )
inlineoverridevirtual

Visit a True expression (always evaluates to true).

Implements iceberg::ExpressionVisitor< R >.

◆ Eq()

Result< bool > iceberg::ManifestEvalVisitor::Eq ( const std::shared_ptr< Bound > &  expr,
const Literal lit 
)
inlineoverridevirtual

Visit an equality bound expression.

Parameters
exprThe bound expression being tested
litThe literal value to compare against

Implements iceberg::BoundVisitor< bool >.

◆ Gt()

Result< bool > iceberg::ManifestEvalVisitor::Gt ( const std::shared_ptr< Bound > &  expr,
const Literal lit 
)
inlineoverridevirtual

Visit a greater-than bound expression.

Parameters
exprThe bound expression being tested
litThe literal value to compare against

Implements iceberg::BoundVisitor< bool >.

◆ GtEq()

Result< bool > iceberg::ManifestEvalVisitor::GtEq ( const std::shared_ptr< Bound > &  expr,
const Literal lit 
)
inlineoverridevirtual

Visit a greater-than-or-equal bound expression.

Parameters
exprThe bound expression being tested
litThe literal value to compare against

Implements iceberg::BoundVisitor< bool >.

◆ In()

Result< bool > iceberg::ManifestEvalVisitor::In ( const std::shared_ptr< Bound > &  expr,
const BoundSetPredicate::LiteralSet &  literal_set 
)
inlineoverridevirtual

Visit an IN set bound expression.

Parameters
exprThe bound expression being tested
literal_setThe set of literal values to test membership

Reimplemented from iceberg::BoundVisitor< bool >.

◆ IsNaN()

Result< bool > iceberg::ManifestEvalVisitor::IsNaN ( const std::shared_ptr< Bound > &  expr)
inlineoverridevirtual

Visit an IS_NAN bound expression.

Parameters
exprThe bound expression being tested

Reimplemented from iceberg::BoundVisitor< bool >.

◆ IsNull()

Result< bool > iceberg::ManifestEvalVisitor::IsNull ( const std::shared_ptr< Bound > &  expr)
inlineoverridevirtual

Visit an IS_NULL bound expression.

Parameters
exprThe bound expression being tested

Implements iceberg::BoundVisitor< bool >.

◆ Lt()

Result< bool > iceberg::ManifestEvalVisitor::Lt ( const std::shared_ptr< Bound > &  expr,
const Literal lit 
)
inlineoverridevirtual

Visit a less-than bound expression.

Parameters
exprThe bound expression being tested
litThe literal value to compare against

Implements iceberg::BoundVisitor< bool >.

◆ LtEq()

Result< bool > iceberg::ManifestEvalVisitor::LtEq ( const std::shared_ptr< Bound > &  expr,
const Literal lit 
)
inlineoverridevirtual

Visit a less-than-or-equal bound expression.

Parameters
exprThe bound expression being tested
litThe literal value to compare against

Implements iceberg::BoundVisitor< bool >.

◆ NotEq()

Result< bool > iceberg::ManifestEvalVisitor::NotEq ( const std::shared_ptr< Bound > &  expr,
const Literal lit 
)
inlineoverridevirtual

Visit a not-equal bound expression.

Parameters
exprThe bound expression being tested
litThe literal value to compare against

Implements iceberg::BoundVisitor< bool >.

◆ NotIn()

Result< bool > iceberg::ManifestEvalVisitor::NotIn ( const std::shared_ptr< Bound > &  expr,
const BoundSetPredicate::LiteralSet &  literal_set 
)
inlineoverridevirtual

Visit a NOT_IN set bound expression.

Parameters
exprThe bound expression being tested
literal_setThe set of literal values to test membership

Reimplemented from iceberg::BoundVisitor< bool >.

◆ NotNaN()

Result< bool > iceberg::ManifestEvalVisitor::NotNaN ( const std::shared_ptr< Bound > &  expr)
inlineoverridevirtual

Visit a NOT_NAN bound expression.

Parameters
exprThe bound expression being tested

Reimplemented from iceberg::BoundVisitor< bool >.

◆ NotNull()

Result< bool > iceberg::ManifestEvalVisitor::NotNull ( const std::shared_ptr< Bound > &  expr)
inlineoverridevirtual

Visit a NOT_NULL bound expression.

Parameters
exprThe bound expression being tested

Implements iceberg::BoundVisitor< bool >.

◆ NotStartsWith()

Result< bool > iceberg::ManifestEvalVisitor::NotStartsWith ( const std::shared_ptr< Bound > &  expr,
const Literal lit 
)
inlineoverridevirtual

Visit a not-starts-with bound expression.

Parameters
exprThe bound expression being tested
litThe literal value to check for prefix match

Reimplemented from iceberg::BoundVisitor< bool >.

◆ StartsWith()

Result< bool > iceberg::ManifestEvalVisitor::StartsWith ( const std::shared_ptr< Bound > &  expr,
const Literal lit 
)
inlineoverridevirtual

Visit a starts-with bound expression.

Parameters
exprThe bound expression being tested
litThe literal value to check for prefix match

Reimplemented from iceberg::BoundVisitor< bool >.


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