43 const std::shared_ptr<Expression>& expr);
48 const Schema& schema,
const std::shared_ptr<Expression>& expr,
bool case_sensitive);
53 const std::shared_ptr<Expression>& child_result)
override;
55 const std::shared_ptr<Expression>& left_result,
56 const std::shared_ptr<Expression>& right_result)
override;
58 const std::shared_ptr<Expression>& left_result,
59 const std::shared_ptr<Expression>& right_result)
override;
61 const std::shared_ptr<BoundPredicate>& pred)
override;
63 const std::shared_ptr<UnboundPredicate>& pred)
override;
An Expression that represents a logical AND operation between two expressions.
Definition expression.h:139
Base visitor for traversing expression trees.
Definition expression_visitor.h:49
An Expression that represents logical NOT operation.
Definition expression.h:289
An Expression that represents a logical OR operation between two expressions.
Definition expression.h:215
Rewrites an expression tree as an unbound expression whose literal values are replaced with type-awar...
Definition sanitize_expression.h:39
Result< std::shared_ptr< Expression > > AlwaysFalse() override
Visit a False expression (always evaluates to false).
static Result< std::shared_ptr< Expression > > Sanitize(const Schema &schema, const std::shared_ptr< Expression > &expr, bool case_sensitive)
Bind expr to schema first, falling back to sanitizing the unbound expression if binding fails.
Result< std::shared_ptr< Expression > > AlwaysTrue() override
Visit a True expression (always evaluates to true).
static Result< std::shared_ptr< Expression > > Sanitize(const std::shared_ptr< Expression > &expr)
Sanitize an expression tree and return an unbound expression.
Result< std::shared_ptr< Expression > > Predicate(const std::shared_ptr< BoundPredicate > &pred) override
Visit a bound predicate.
Result< std::shared_ptr< Expression > > Predicate(const std::shared_ptr< UnboundPredicate > &pred) override
Visit an unbound predicate.
A schema for a Table.
Definition schema.h:51
Define symbol visibility macros for core Iceberg APIs.
Core Apache Iceberg C++ APIs.
Definition arrow_io_util.h:33
std::expected< T, E > Result
Result alias.
Definition result.h:88