Merge branch 'column_store'
Co-authored-by: wangt1xiuyi <13547954130@163.com> Co-authored-by: yangqise7en <877793735@qq.com> Co-authored-by: Zach41 <zach_41@163.com>
This commit is contained in:
@ -330,6 +330,7 @@
|
||||
#include "ob_expr_zipf.h"
|
||||
#include "ob_expr_normal.h"
|
||||
#include "ob_expr_uniform.h"
|
||||
#include "ob_datum_cast.h"
|
||||
#include "ob_expr_prefix_pattern.h"
|
||||
#include "ob_expr_initcap.h"
|
||||
#include "ob_expr_temp_table_ssid.h"
|
||||
@ -360,6 +361,8 @@ extern int calc_bool_expr_for_integer_type(const ObExpr &, ObEvalCtx &, ObDatum
|
||||
extern int calc_bool_expr_for_float_type(const ObExpr &, ObEvalCtx &, ObDatum &);
|
||||
extern int calc_bool_expr_for_double_type(const ObExpr &, ObEvalCtx &, ObDatum &);
|
||||
extern int calc_bool_expr_for_other_type(const ObExpr &, ObEvalCtx &, ObDatum &);
|
||||
extern int calc_bool_expr_for_decint_type(const ObExpr &, ObEvalCtx &, ObDatum &);
|
||||
|
||||
extern int calc_char_expr(const ObExpr &, ObEvalCtx &, ObDatum &);
|
||||
extern int calc_coalesce_expr(const ObExpr &, ObEvalCtx &, ObDatum &);
|
||||
extern int calc_cos_expr(const ObExpr &, ObEvalCtx &, ObDatum &);
|
||||
@ -1037,7 +1040,13 @@ static ObExpr::EvalFunc g_expr_eval_functions[] = {
|
||||
ObExprJoinFilter::eval_in_filter, /* 605 */
|
||||
ObExprCurrentScn::eval_current_scn, /* 606 */
|
||||
ObExprTempTableSSID::calc_temp_table_ssid, /* 607 */
|
||||
ObExprAlignDate4Cmp::eval_align_date4cmp, /* 608 */
|
||||
ObExprAlignDate4Cmp::eval_align_date4cmp, /* 608 */
|
||||
ObExprMod::mod_decimalint, /* 609 */
|
||||
calc_bool_expr_for_decint_type, /* 610 */
|
||||
ObExprIs::decimal_int_is_true, /* 611 */
|
||||
ObExprIs::decimal_int_is_false, /* 612 */
|
||||
ObExprIsNot::decimal_int_is_not_true, /* 613 */
|
||||
ObExprIsNot::decimal_int_is_not_false, /* 614 */
|
||||
};
|
||||
|
||||
static ObExpr::EvalBatchFunc g_expr_eval_batch_functions[] = {
|
||||
@ -1157,7 +1166,19 @@ static ObExpr::EvalBatchFunc g_expr_eval_batch_functions[] = {
|
||||
ObExprJoinFilter::eval_in_filter_batch, /* 113 */
|
||||
calc_sqrt_expr_mysql_in_batch, /* 114 */
|
||||
calc_sqrt_expr_oracle_double_in_batch, /* 115 */
|
||||
calc_sqrt_expr_oracle_number_in_batch /* 116 */
|
||||
calc_sqrt_expr_oracle_number_in_batch, /* 116 */
|
||||
ObBatchCast::explicit_batch_cast<ObDecimalIntTC, ObDecimalIntTC>, /* 117 */
|
||||
ObBatchCast::implicit_batch_cast<ObDecimalIntTC, ObDecimalIntTC>, /* 118 */
|
||||
ObBatchCast::explicit_batch_cast<ObIntTC, ObDecimalIntTC>, /* 119 */
|
||||
ObBatchCast::implicit_batch_cast<ObIntTC, ObDecimalIntTC>, /* 120 */
|
||||
ObBatchCast::explicit_batch_cast<ObUIntTC, ObDecimalIntTC>, /* 121 */
|
||||
ObBatchCast::implicit_batch_cast<ObUIntTC, ObDecimalIntTC>, /* 122 */
|
||||
ObBatchCast::explicit_batch_cast<ObDecimalIntTC, ObIntTC>, /* 123 */
|
||||
ObBatchCast::implicit_batch_cast<ObDecimalIntTC, ObIntTC>, /* 124 */
|
||||
ObBatchCast::explicit_batch_cast<ObDecimalIntTC, ObUIntTC>, /* 125 */
|
||||
ObBatchCast::implicit_batch_cast<ObDecimalIntTC, ObUIntTC>, /* 126 */
|
||||
ObBatchCast::explicit_batch_cast<ObDecimalIntTC, ObNumberTC>, /* 127 */
|
||||
ObBatchCast::implicit_batch_cast<ObDecimalIntTC, ObNumberTC>, /* 128 */
|
||||
};
|
||||
|
||||
REG_SER_FUNC_ARRAY(OB_SFA_SQL_EXPR_EVAL,
|
||||
@ -1168,5 +1189,200 @@ REG_SER_FUNC_ARRAY(OB_SFA_SQL_EXPR_EVAL_BATCH,
|
||||
g_expr_eval_batch_functions,
|
||||
ARRAYSIZEOF(g_expr_eval_batch_functions));
|
||||
|
||||
static ObExpr::EvalFunc g_decimal_int_eval_functions[] = {
|
||||
ObExprAdd::add_decimalint32,
|
||||
ObExprAdd::add_decimalint64,
|
||||
ObExprAdd::add_decimalint128,
|
||||
ObExprAdd::add_decimalint256,
|
||||
ObExprAdd::add_decimalint512,
|
||||
ObExprAdd::add_decimalint512_with_check,
|
||||
ObExprMinus::minus_decimalint32,
|
||||
ObExprMinus::minus_decimalint64,
|
||||
ObExprMinus::minus_decimalint128,
|
||||
ObExprMinus::minus_decimalint256,
|
||||
ObExprMinus::minus_decimalint512,
|
||||
ObExprMinus::minus_decimalint512_with_check,
|
||||
ObExprMul::mul_decimalint32_int32_int32,
|
||||
ObExprMul::mul_decimalint64_int32_int32,
|
||||
ObExprMul::mul_decimalint64_int32_int64,
|
||||
ObExprMul::mul_decimalint64_int64_int32,
|
||||
ObExprMul::mul_decimalint128_int32_int64,
|
||||
ObExprMul::mul_decimalint128_int64_int32,
|
||||
ObExprMul::mul_decimalint128_int32_int128,
|
||||
ObExprMul::mul_decimalint128_int128_int32,
|
||||
ObExprMul::mul_decimalint128_int64_int64,
|
||||
ObExprMul::mul_decimalint128_int64_int128,
|
||||
ObExprMul::mul_decimalint128_int128_int64,
|
||||
ObExprMul::mul_decimalint128_int128_int128,
|
||||
ObExprMul::mul_decimalint256_int32_int128,
|
||||
ObExprMul::mul_decimalint256_int128_int32,
|
||||
ObExprMul::mul_decimalint256_int32_int256,
|
||||
ObExprMul::mul_decimalint256_int256_int32,
|
||||
ObExprMul::mul_decimalint256_int64_int128,
|
||||
ObExprMul::mul_decimalint256_int128_int64,
|
||||
ObExprMul::mul_decimalint256_int64_int256,
|
||||
ObExprMul::mul_decimalint256_int256_int64,
|
||||
ObExprMul::mul_decimalint256_int128_int128,
|
||||
ObExprMul::mul_decimalint256_int128_int256,
|
||||
ObExprMul::mul_decimalint256_int256_int128,
|
||||
ObExprMul::mul_decimalint512,
|
||||
ObExprMul::mul_decimalint512_with_check,
|
||||
ObExprMul::mul_decimalint64_round,
|
||||
ObExprMul::mul_decimalint128_round,
|
||||
ObExprMul::mul_decimalint256_round,
|
||||
ObExprMul::mul_decimalint512_round,
|
||||
ObExprMul::mul_decimalint512_round_with_check,
|
||||
ObExprDiv::div_decimalint_32_32,
|
||||
ObExprDiv::div_decimalint_32_64,
|
||||
ObExprDiv::div_decimalint_32_128,
|
||||
ObExprDiv::div_decimalint_32_256,
|
||||
ObExprDiv::div_decimalint_32_512,
|
||||
ObExprDiv::div_decimalint_64_32,
|
||||
ObExprDiv::div_decimalint_64_64,
|
||||
ObExprDiv::div_decimalint_64_128,
|
||||
ObExprDiv::div_decimalint_64_256,
|
||||
ObExprDiv::div_decimalint_64_512,
|
||||
ObExprDiv::div_decimalint_128_32,
|
||||
ObExprDiv::div_decimalint_128_64,
|
||||
ObExprDiv::div_decimalint_128_128,
|
||||
ObExprDiv::div_decimalint_128_256,
|
||||
ObExprDiv::div_decimalint_128_512,
|
||||
ObExprDiv::div_decimalint_256_32,
|
||||
ObExprDiv::div_decimalint_256_64,
|
||||
ObExprDiv::div_decimalint_256_128,
|
||||
ObExprDiv::div_decimalint_256_256,
|
||||
ObExprDiv::div_decimalint_256_512,
|
||||
ObExprDiv::div_decimalint_512_32,
|
||||
ObExprDiv::div_decimalint_512_64,
|
||||
ObExprDiv::div_decimalint_512_128,
|
||||
ObExprDiv::div_decimalint_512_256,
|
||||
ObExprDiv::div_decimalint_512_512,
|
||||
ObExprDiv::div_decimalint_512_32_with_check,
|
||||
ObExprDiv::div_decimalint_512_64_with_check,
|
||||
ObExprDiv::div_decimalint_512_128_with_check,
|
||||
ObExprDiv::div_decimalint_512_256_with_check,
|
||||
ObExprDiv::div_decimalint_512_512_with_check,
|
||||
ObExprAdd::add_decimalint32_oracle,
|
||||
ObExprAdd::add_decimalint64_oracle,
|
||||
ObExprAdd::add_decimalint128_oracle,
|
||||
ObExprMinus::minus_decimalint32_oracle,
|
||||
ObExprMinus::minus_decimalint64_oracle,
|
||||
ObExprMinus::minus_decimalint128_oracle,
|
||||
ObExprMul::mul_decimalint32_int32_int32_oracle,
|
||||
ObExprMul::mul_decimalint64_int32_int32_oracle,
|
||||
ObExprMul::mul_decimalint64_int32_int64_oracle,
|
||||
ObExprMul::mul_decimalint64_int64_int32_oracle,
|
||||
ObExprMul::mul_decimalint128_int32_int64_oracle,
|
||||
ObExprMul::mul_decimalint128_int64_int32_oracle,
|
||||
ObExprMul::mul_decimalint128_int32_int128_oracle,
|
||||
ObExprMul::mul_decimalint128_int128_int32_oracle,
|
||||
ObExprMul::mul_decimalint128_int64_int64_oracle,
|
||||
ObExprMul::mul_decimalint128_int64_int128_oracle,
|
||||
ObExprMul::mul_decimalint128_int128_int64_oracle,
|
||||
ObExprMul::mul_decimalint128_int128_int128_oracle
|
||||
};
|
||||
|
||||
static ObExpr::EvalBatchFunc g_decimal_int_eval_batch_functions[] = {
|
||||
ObExprAdd::add_decimalint32_batch,
|
||||
ObExprAdd::add_decimalint64_batch,
|
||||
ObExprAdd::add_decimalint128_batch,
|
||||
ObExprAdd::add_decimalint256_batch,
|
||||
ObExprAdd::add_decimalint512_batch,
|
||||
ObExprAdd::add_decimalint512_with_check_batch,
|
||||
ObExprMinus::minus_decimalint32_batch,
|
||||
ObExprMinus::minus_decimalint64_batch,
|
||||
ObExprMinus::minus_decimalint128_batch,
|
||||
ObExprMinus::minus_decimalint256_batch,
|
||||
ObExprMinus::minus_decimalint512_batch,
|
||||
ObExprMinus::minus_decimalint512_with_check_batch,
|
||||
ObExprMul::mul_decimalint32_int32_int32_batch,
|
||||
ObExprMul::mul_decimalint64_int32_int32_batch,
|
||||
ObExprMul::mul_decimalint64_int32_int64_batch,
|
||||
ObExprMul::mul_decimalint64_int64_int32_batch,
|
||||
ObExprMul::mul_decimalint128_int32_int64_batch,
|
||||
ObExprMul::mul_decimalint128_int64_int32_batch,
|
||||
ObExprMul::mul_decimalint128_int32_int128_batch,
|
||||
ObExprMul::mul_decimalint128_int128_int32_batch,
|
||||
ObExprMul::mul_decimalint128_int64_int64_batch,
|
||||
ObExprMul::mul_decimalint128_int64_int128_batch,
|
||||
ObExprMul::mul_decimalint128_int128_int64_batch,
|
||||
ObExprMul::mul_decimalint128_int128_int128_batch,
|
||||
ObExprMul::mul_decimalint256_int32_int128_batch,
|
||||
ObExprMul::mul_decimalint256_int128_int32_batch,
|
||||
ObExprMul::mul_decimalint256_int32_int256_batch,
|
||||
ObExprMul::mul_decimalint256_int256_int32_batch,
|
||||
ObExprMul::mul_decimalint256_int64_int128_batch,
|
||||
ObExprMul::mul_decimalint256_int128_int64_batch,
|
||||
ObExprMul::mul_decimalint256_int64_int256_batch,
|
||||
ObExprMul::mul_decimalint256_int256_int64_batch,
|
||||
ObExprMul::mul_decimalint256_int128_int128_batch,
|
||||
ObExprMul::mul_decimalint256_int128_int256_batch,
|
||||
ObExprMul::mul_decimalint256_int256_int128_batch,
|
||||
ObExprMul::mul_decimalint512_batch,
|
||||
ObExprMul::mul_decimalint512_with_check_batch,
|
||||
ObExprMul::mul_decimalint64_round_batch,
|
||||
ObExprMul::mul_decimalint128_round_batch,
|
||||
ObExprMul::mul_decimalint256_round_batch,
|
||||
ObExprMul::mul_decimalint512_round_batch,
|
||||
ObExprMul::mul_decimalint512_round_with_check_batch,
|
||||
ObExprDiv::div_decimalint_32_32_batch,
|
||||
ObExprDiv::div_decimalint_32_32_batch,
|
||||
ObExprDiv::div_decimalint_32_64_batch,
|
||||
ObExprDiv::div_decimalint_32_128_batch,
|
||||
ObExprDiv::div_decimalint_32_256_batch,
|
||||
ObExprDiv::div_decimalint_32_512_batch,
|
||||
ObExprDiv::div_decimalint_64_32_batch,
|
||||
ObExprDiv::div_decimalint_64_64_batch,
|
||||
ObExprDiv::div_decimalint_64_128_batch,
|
||||
ObExprDiv::div_decimalint_64_256_batch,
|
||||
ObExprDiv::div_decimalint_64_512_batch,
|
||||
ObExprDiv::div_decimalint_128_32_batch,
|
||||
ObExprDiv::div_decimalint_128_64_batch,
|
||||
ObExprDiv::div_decimalint_128_128_batch,
|
||||
ObExprDiv::div_decimalint_128_256_batch,
|
||||
ObExprDiv::div_decimalint_128_512_batch,
|
||||
ObExprDiv::div_decimalint_256_32_batch,
|
||||
ObExprDiv::div_decimalint_256_64_batch,
|
||||
ObExprDiv::div_decimalint_256_128_batch,
|
||||
ObExprDiv::div_decimalint_256_256_batch,
|
||||
ObExprDiv::div_decimalint_256_512_batch,
|
||||
ObExprDiv::div_decimalint_512_32_batch,
|
||||
ObExprDiv::div_decimalint_512_64_batch,
|
||||
ObExprDiv::div_decimalint_512_128_batch,
|
||||
ObExprDiv::div_decimalint_512_256_batch,
|
||||
ObExprDiv::div_decimalint_512_512_batch,
|
||||
ObExprDiv::div_decimalint_512_32_with_check_batch,
|
||||
ObExprDiv::div_decimalint_512_64_with_check_batch,
|
||||
ObExprDiv::div_decimalint_512_128_with_check_batch,
|
||||
ObExprDiv::div_decimalint_512_256_with_check_batch,
|
||||
ObExprDiv::div_decimalint_512_512_with_check_batch,
|
||||
ObExprAdd::add_decimalint32_oracle_batch,
|
||||
ObExprAdd::add_decimalint64_oracle_batch,
|
||||
ObExprAdd::add_decimalint128_oracle_batch,
|
||||
ObExprMinus::minus_decimalint32_oracle_batch,
|
||||
ObExprMinus::minus_decimalint64_oracle_batch,
|
||||
ObExprMinus::minus_decimalint128_oracle_batch,
|
||||
ObExprMul::mul_decimalint32_int32_int32_oracle_batch,
|
||||
ObExprMul::mul_decimalint64_int32_int32_oracle_batch,
|
||||
ObExprMul::mul_decimalint64_int32_int64_oracle_batch,
|
||||
ObExprMul::mul_decimalint64_int64_int32_oracle_batch,
|
||||
ObExprMul::mul_decimalint128_int32_int64_oracle_batch,
|
||||
ObExprMul::mul_decimalint128_int64_int32_oracle_batch,
|
||||
ObExprMul::mul_decimalint128_int32_int128_oracle_batch,
|
||||
ObExprMul::mul_decimalint128_int128_int32_oracle_batch,
|
||||
ObExprMul::mul_decimalint128_int64_int64_oracle_batch,
|
||||
ObExprMul::mul_decimalint128_int64_int128_oracle_batch,
|
||||
ObExprMul::mul_decimalint128_int128_int64_oracle_batch,
|
||||
ObExprMul::mul_decimalint128_int128_int128_oracle_batch
|
||||
};
|
||||
|
||||
REG_SER_FUNC_ARRAY(OB_SFA_DECIMAL_INT_EXPR_EVAL,
|
||||
g_decimal_int_eval_functions,
|
||||
ARRAYSIZEOF(g_decimal_int_eval_functions));
|
||||
|
||||
REG_SER_FUNC_ARRAY(OB_SFA_DECIMAL_INT_EXPR_EVAL_BATCH,
|
||||
g_decimal_int_eval_batch_functions,
|
||||
ARRAYSIZEOF(g_decimal_int_eval_batch_functions));
|
||||
|
||||
} // end namespace sql
|
||||
} // end namespace oceanbase
|
||||
|
||||
Reference in New Issue
Block a user