A predicate to be evaluated on a table. More...
#include <sqludr.h>
Public Types | |
enum | EvaluationCode { UNKNOWN_EVAL = 0, EVALUATE_ON_RESULT = 0x1, EVALUATE_IN_UDF = 0x2, EVALUATE_IN_CHILD = 0x4 } |
Info on whether a table-valued input or output column is used. More... | |
enum | PredOperator { UNKNOWN_OP, EQUAL, NOT_EQUAL, LESS, LESS_EQUAL, GREATER, GREATER_EQUAL, IN, NOT_IN } |
Public Member Functions | |
EvaluationCode | getEvaluationCode () const |
PredOperator | getOperator () const |
bool | isAComparisonPredicate () const |
A predicate to be evaluated on a table.
These could be different kinds of predicates, like an equals predicate, a non-equals predicate or more complex cases.
Info on whether a table-valued input or output column is used.
Note that these are not necessarily exclusive, a predicate might be evaluated in multiple places, although that should not be common and is not yet allowed.
UNKNOWN_EVAL |
Not yet determined where predicate is evaluated. |
EVALUATE_ON_RESULT |
Predicate is evaluated on the UDF result, in Trafodion code. This is the default. |
EVALUATE_IN_UDF |
Predicate is evaluated inside the code provided by the UDR writer. |
EVALUATE_IN_CHILD |
Predicate should be evaluated in a table-valued input before the data reaches the UDF. |
Operator of a relational (comparison) predicate
PredicateInfo::EvaluationCode PredicateInfo::getEvaluationCode | ( | ) | const |
PredicateInfo::PredOperator PredicateInfo::getOperator | ( | ) | const |
bool PredicateInfo::isAComparisonPredicate | ( | ) | const |
Check whether this predicate is a comparison predicate.
Use this method to determine whether it is safe to cast the object to class ComparisonPredicateInfo.