@ -27,6 +27,7 @@
|
||||
#include "runtime/string_value.h"
|
||||
#include "runtime/datetime_value.h"
|
||||
#include "runtime/decimal_value.h"
|
||||
#include "runtime/decimalv2_value.h"
|
||||
|
||||
using llvm::BasicBlock;
|
||||
using llvm::CmpInst;
|
||||
@ -67,6 +68,8 @@ Expr* BinaryPredicate::from_thrift(const TExprNode& node) {
|
||||
return new EqDateTimeValPred(node);
|
||||
case TPrimitiveType::DECIMAL:
|
||||
return new EqDecimalValPred(node);
|
||||
case TPrimitiveType::DECIMALV2:
|
||||
return new EqDecimalV2ValPred(node);
|
||||
default:
|
||||
return NULL;
|
||||
}
|
||||
@ -97,6 +100,8 @@ Expr* BinaryPredicate::from_thrift(const TExprNode& node) {
|
||||
return new NeDateTimeValPred(node);
|
||||
case TPrimitiveType::DECIMAL:
|
||||
return new NeDecimalValPred(node);
|
||||
case TPrimitiveType::DECIMALV2:
|
||||
return new NeDecimalV2ValPred(node);
|
||||
default:
|
||||
return NULL;
|
||||
}
|
||||
@ -127,6 +132,8 @@ Expr* BinaryPredicate::from_thrift(const TExprNode& node) {
|
||||
return new LtDateTimeValPred(node);
|
||||
case TPrimitiveType::DECIMAL:
|
||||
return new LtDecimalValPred(node);
|
||||
case TPrimitiveType::DECIMALV2:
|
||||
return new LtDecimalV2ValPred(node);
|
||||
default:
|
||||
return NULL;
|
||||
}
|
||||
@ -157,6 +164,8 @@ Expr* BinaryPredicate::from_thrift(const TExprNode& node) {
|
||||
return new LeDateTimeValPred(node);
|
||||
case TPrimitiveType::DECIMAL:
|
||||
return new LeDecimalValPred(node);
|
||||
case TPrimitiveType::DECIMALV2:
|
||||
return new LeDecimalV2ValPred(node);
|
||||
default:
|
||||
return NULL;
|
||||
}
|
||||
@ -187,6 +196,8 @@ Expr* BinaryPredicate::from_thrift(const TExprNode& node) {
|
||||
return new GtDateTimeValPred(node);
|
||||
case TPrimitiveType::DECIMAL:
|
||||
return new GtDecimalValPred(node);
|
||||
case TPrimitiveType::DECIMALV2:
|
||||
return new GtDecimalV2ValPred(node);
|
||||
default:
|
||||
return NULL;
|
||||
}
|
||||
@ -217,6 +228,8 @@ Expr* BinaryPredicate::from_thrift(const TExprNode& node) {
|
||||
return new GeDateTimeValPred(node);
|
||||
case TPrimitiveType::DECIMAL:
|
||||
return new GeDecimalValPred(node);
|
||||
case TPrimitiveType::DECIMALV2:
|
||||
return new GeDecimalV2ValPred(node);
|
||||
default:
|
||||
return NULL;
|
||||
}
|
||||
@ -418,6 +431,7 @@ BINARY_PRED_FLOAT_FNS(DoubleVal, get_double_val);
|
||||
COMPLICATE_BINARY_PRED_FN(Ge##TYPE##Pred, TYPE, FN, DORIS_TYPE, FROM_FUNC, >=)
|
||||
|
||||
COMPLICATE_BINARY_PRED_FNS(DecimalVal, get_decimal_val, DecimalValue, from_decimal_val)
|
||||
COMPLICATE_BINARY_PRED_FNS(DecimalV2Val, get_decimalv2_val, DecimalV2Value, from_decimal_val)
|
||||
|
||||
#define DATETIME_BINARY_PRED_FN(CLASS, OP, LLVM_PRED) \
|
||||
BooleanVal CLASS::get_boolean_val(ExprContext* ctx, TupleRow* row) { \
|
||||
|
||||
Reference in New Issue
Block a user