Change to no ps parameterization if parameterize syntax tree miss 4002 error in ps prepare stage

This commit is contained in:
obdev
2023-05-31 08:18:17 +00:00
committed by ob-robot
parent 6fab7bf5f7
commit 8174fdba9b

View File

@ -1043,11 +1043,18 @@ int ObSql::do_real_prepare(const ObString &sql,
param_store,
session.get_local_collation_connection()))) {
LOG_WARN("parameterize syntax tree failed", K(ret));
} else if (!pc_ctx.ps_need_parameterized_) {
pc_ctx.fixed_param_idx_.reset();
pc_ctx.fp_result_.raw_params_.reset();
} else {
info_ctx.no_param_sql_ = pc_ctx.sql_ctx_.spm_ctx_.bl_key_.constructed_sql_;
if (OB_INVALID_ARGUMENT == ret) {
pc_ctx.ps_need_parameterized_ = false;
ret = OB_SUCCESS;
}
}
if (OB_SUCC(ret)) {
if (!pc_ctx.ps_need_parameterized_) {
pc_ctx.fixed_param_idx_.reset();
pc_ctx.fp_result_.raw_params_.reset();
} else {
info_ctx.no_param_sql_ = pc_ctx.sql_ctx_.spm_ctx_.bl_key_.constructed_sql_;
}
}
}