|
iceberg-cpp
|
Unbound predicates contain unbound terms and must be bound to a concrete schema before they can be evaluated. More...
#include <predicate.h>
Public Member Functions | |
| std::shared_ptr< NamedReference > | reference () override |
| Returns the reference of this UnboundPredicate. | |
| std::string | ToString () const override |
| Get a user-readable string representation. | |
| Result< std::shared_ptr< Expression > > | Bind (const Schema &schema, bool case_sensitive) const override |
| Bind this UnboundPredicate. | |
| Result< std::shared_ptr< Expression > > | Negate () const override |
| Negate this UnboundPredicate. | |
| const Term & | unbound_term () const override |
| Returns the term of this predicate as a base Term reference. | |
| std::span< const Literal > | literals () const override |
| Returns the literals of this predicate. | |
Public Member Functions inherited from iceberg::UnboundPredicate | |
| bool | is_unbound_predicate () const override |
Public Member Functions inherited from iceberg::Expression | |
| virtual bool | Equals (const Expression &other) const |
| Returns whether this expression will accept the same values as another. | |
| virtual bool | is_bound_predicate () const |
| virtual bool | is_unbound_aggregate () const |
| virtual bool | is_bound_aggregate () const |
Public Member Functions inherited from iceberg::Unbound< Expression > | |
| Result< std::shared_ptr< Expression > > | Bind (const Schema &schema) const |
| Overloaded Bind method that uses case-sensitive matching by default. | |
Public Member Functions inherited from iceberg::Predicate< UnboundTerm< B > > | |
| Expression::Operation | op () const override |
| Returns the operation for an expression node. | |
| const std::shared_ptr< T > & | term () const |
| Returns the term this predicate tests. | |
Static Public Member Functions | |
| static Result< std::unique_ptr< UnboundPredicateImpl< B > > > | Make (Expression::Operation op, std::shared_ptr< UnboundTerm< B > > term) |
| Create an unbound predicate (unary operation). | |
| static Result< std::unique_ptr< UnboundPredicateImpl< B > > > | Make (Expression::Operation op, std::shared_ptr< UnboundTerm< B > > term, Literal value) |
| Create an unbound predicate with a single value. | |
| static Result< std::unique_ptr< UnboundPredicateImpl< B > > > | Make (Expression::Operation op, std::shared_ptr< UnboundTerm< B > > term, std::vector< Literal > values) |
| Create an unbound predicate with multiple values. | |
Additional Inherited Members | |
Public Types inherited from iceberg::Expression | |
| enum class | Operation { kTrue , kFalse , kIsNull , kNotNull , kIsNan , kNotNan , kLt , kLtEq , kGt , kGtEq , kEq , kNotEq , kIn , kNotIn , kNot , kAnd , kOr , kStartsWith , kNotStartsWith , kCount , kCountNull , kCountStar , kMax , kMin } |
| Operation types for expressions. | |
Protected Member Functions inherited from iceberg::Predicate< UnboundTerm< B > > | |
| Predicate (Expression::Operation op, std::shared_ptr< T > term) | |
| Create a predicate with an operation and term. | |
Protected Attributes inherited from iceberg::Predicate< UnboundTerm< B > > | |
| Expression::Operation | operation_ |
| std::shared_ptr< T > | term_ |
Unbound predicates contain unbound terms and must be bound to a concrete schema before they can be evaluated.
| B | The bound type this predicate produces when binding is successful |
|
overridevirtual |
Bind this UnboundPredicate.
Implements iceberg::UnboundPredicate.
|
inlineoverridevirtual |
Returns the literals of this predicate.
Implements iceberg::UnboundPredicate.
|
static |
Create an unbound predicate (unary operation).
| op | The operation (kIsNull, kNotNull, kIsNan, kNotNan) |
| term | The unbound term |
|
static |
Create an unbound predicate with a single value.
| op | The operation |
| term | The unbound term |
| value | The literal value |
|
static |
Create an unbound predicate with multiple values.
| op | The operation (typically kIn or kNotIn) |
| term | The unbound term |
| values | Vector of literal values |
|
overridevirtual |
Negate this UnboundPredicate.
Implements iceberg::UnboundPredicate.
|
inlineoverridevirtual |
Returns the reference of this UnboundPredicate.
Implements iceberg::UnboundPredicate.
|
overridevirtual |
Get a user-readable string representation.
Reimplemented from iceberg::Expression.
|
inlineoverridevirtual |
Returns the term of this predicate as a base Term reference.
Implements iceberg::UnboundPredicate.