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:
@ -416,6 +416,7 @@ int ObValuesTableCompression::resolve_params_for_values_clause(ObPlanCacheCtx &p
|
||||
int64_t array_param_idx = 0; // idx in pc_ctx.fp_result_.array_params_
|
||||
int64_t not_param_cnt = 0;
|
||||
bool is_param = false;
|
||||
bool enable_decimal_int = false;
|
||||
if (OB_UNLIKELY(!pc_ctx.exec_ctx_.has_dynamic_values_table()) || OB_ISNULL(session) ||
|
||||
OB_ISNULL(phy_ctx) || OB_UNLIKELY(param_charset_type.count() != raw_param_cnt) ||
|
||||
OB_ISNULL(ab_params)) {
|
||||
@ -424,6 +425,8 @@ int ObValuesTableCompression::resolve_params_for_values_clause(ObPlanCacheCtx &p
|
||||
K(param_charset_type.count()), KP(ab_params));
|
||||
} else if (OB_FAIL(ab_params->reserve(raw_param_cnt))) {
|
||||
LOG_WARN("failed to reserve param num", K(ret));
|
||||
} else if (OB_FAIL(ObSQLUtils::check_enable_decimalint(session, enable_decimal_int))) {
|
||||
LOG_WARN("fail to check enable decimal int", K(ret));
|
||||
} else {
|
||||
ParamStore &phy_param_store = phy_ctx->get_param_store_for_update();
|
||||
ObIArray<ObArrayParamGroup> &array_param_groups = phy_ctx->get_array_param_groups();
|
||||
@ -440,7 +443,7 @@ int ObValuesTableCompression::resolve_params_for_values_clause(ObPlanCacheCtx &p
|
||||
if (OB_FAIL(ObResolverUtils::resolver_param(pc_ctx, *session, phy_param_store, stmt_type,
|
||||
param_charset_type.at(raw_idx), neg_param_index, not_param_index,
|
||||
must_be_positive_idx, pc_ctx.fp_result_.raw_params_.at(raw_idx), raw_idx,
|
||||
obj_param, is_param))) {
|
||||
obj_param, is_param, enable_decimal_int))) {
|
||||
LOG_WARN("failed to resolver param", K(ret), K(raw_idx));
|
||||
} else if (!is_param) {
|
||||
not_param_cnt++; // in value clause, which wonn't happen actually
|
||||
@ -464,7 +467,7 @@ int ObValuesTableCompression::resolve_params_for_values_clause(ObPlanCacheCtx &p
|
||||
if (OB_FAIL(ObResolverUtils::resolver_param(pc_ctx, *session, phy_param_store, stmt_type,
|
||||
param_charset_type.at(raw_idx), neg_param_index, not_param_index,
|
||||
must_be_positive_idx, raw_array_param->at(k), raw_idx,
|
||||
array_param_ptr->data_[k], is_param))) {
|
||||
array_param_ptr->data_[k], is_param, enable_decimal_int))) {
|
||||
LOG_WARN("failed to resolver param", K(ret), K(k), K(raw_idx), K(j));
|
||||
} else {
|
||||
const ObObjParam ¶m = array_param_ptr->data_[k];
|
||||
@ -534,7 +537,7 @@ int ObValuesTableCompression::resolve_params_for_values_clause(ObPlanCacheCtx &p
|
||||
if (OB_FAIL(ObResolverUtils::resolver_param(pc_ctx, *session, phy_param_store, stmt_type,
|
||||
param_charset_type.at(raw_idx), neg_param_index, not_param_index,
|
||||
must_be_positive_idx, pc_ctx.fp_result_.raw_params_.at(raw_idx), raw_idx,
|
||||
obj_param, is_param))) {
|
||||
obj_param, is_param, enable_decimal_int))) {
|
||||
LOG_WARN("failed to resolver param", K(ret), K(raw_idx));
|
||||
} else if (!is_param) {
|
||||
not_param_cnt++;
|
||||
@ -559,12 +562,15 @@ int ObValuesTableCompression::resolve_params_for_values_clause(ObPlanCacheCtx &p
|
||||
int64_t raw_idx = 0; // idx in pc_ctx.fp_result_.raw_params_
|
||||
int64_t array_param_idx = 0; // idx in pc_ctx.fp_result_.array_params_
|
||||
bool is_param = false;
|
||||
bool enable_decimal_int = false;
|
||||
const ObIArray<ObCharsetType> ¶m_charset_type = pc_ctx.param_charset_type_;
|
||||
if (OB_UNLIKELY(!pc_ctx.exec_ctx_.has_dynamic_values_table()) || OB_ISNULL(session) ||
|
||||
OB_ISNULL(phy_ctx) || OB_UNLIKELY(param_charset_type.count() != raw_param_cnt)) {
|
||||
ret = OB_ERR_UNEXPECTED;
|
||||
LOG_WARN("sql should be mutil stmt", K(ret), KP(session), KP(phy_ctx), K(raw_param_cnt),
|
||||
K(param_charset_type.count()));
|
||||
} else if (OB_FAIL(ObSQLUtils::check_enable_decimalint(session, enable_decimal_int))) {
|
||||
LOG_WARN("fail to check enable decimal int", K(ret));
|
||||
} else {
|
||||
ParamStore &phy_param_store = phy_ctx->get_param_store_for_update();
|
||||
ObIArray<ObArrayParamGroup> &array_param_groups = phy_ctx->get_array_param_groups();
|
||||
@ -591,7 +597,7 @@ int ObValuesTableCompression::resolve_params_for_values_clause(ObPlanCacheCtx &p
|
||||
if (OB_FAIL(ObResolverUtils::resolver_param(pc_ctx, *session, phy_param_store, stmt::T_SELECT,
|
||||
param_charset_type.at(raw_idx), bit_set_dummy, bit_set_dummy,
|
||||
bit_set_dummy, raw_array_param->at(k), raw_idx,
|
||||
array_param_ptr->data_[k], is_param))) {
|
||||
array_param_ptr->data_[k], is_param, enable_decimal_int))) {
|
||||
LOG_WARN("failed to resolver param", K(ret), K(k), K(raw_idx), K(j));
|
||||
} else {
|
||||
const ObObjParam ¶m = array_param_ptr->data_[k];
|
||||
|
||||
Reference in New Issue
Block a user