add for insert values statement split&rewrite batch optimization
This commit is contained in:
committed by
ob-robot
parent
15934d24ac
commit
9b3f07d4ad
@ -421,8 +421,8 @@ OB_INLINE int ObExprValuesOp::calc_next_row()
|
||||
ObPhysicalPlanCtx *plan_ctx = GET_PHY_PLAN_CTX(ctx_);
|
||||
int64_t col_num = MY_SPEC.get_output_count();
|
||||
int64_t col_idx = 0;
|
||||
ctx_.get_sql_ctx()->multi_stmt_item_.get_batched_stmt_cnt();
|
||||
int64_t value_group = (MY_SPEC.contain_ab_param_ ? ctx_.get_sql_ctx()->multi_stmt_item_.get_batched_stmt_cnt() : 1);
|
||||
int64_t batch_cnt = ctx_.get_sql_ctx()->get_batch_params_count();
|
||||
int64_t value_group = (MY_SPEC.contain_ab_param_ ? batch_cnt : 1);
|
||||
int64_t real_value_cnt = MY_SPEC.get_value_count() * value_group;
|
||||
if (node_idx_ == real_value_cnt) {
|
||||
// there is no values any more
|
||||
|
||||
@ -642,7 +642,7 @@ int ObTableModifyOp::merge_implict_cursor(int64_t insert_rows,
|
||||
int64_t found_rows)
|
||||
{
|
||||
int ret = OB_SUCCESS;
|
||||
bool is_ins_val_opt = ctx_.get_sql_ctx()->multi_stmt_item_.is_ins_multi_val_opt();
|
||||
bool is_ins_val_opt = ctx_.get_sql_ctx()->is_do_insert_batch_opt();
|
||||
if (MY_SPEC.ab_stmt_id_ != nullptr && !is_ins_val_opt) {
|
||||
ObDatum *stmt_id_datum = nullptr;
|
||||
if (OB_FAIL(MY_SPEC.ab_stmt_id_->eval(eval_ctx_, stmt_id_datum))) {
|
||||
|
||||
@ -502,7 +502,7 @@ OB_NOINLINE int ObPreCalcExprFrameInfo::do_batch_stmt_eval(ObExecContext &exec_c
|
||||
ObEvalCtx eval_ctx(exec_ctx);
|
||||
ObDatum *res_datum = NULL;
|
||||
ObDatumObjParam datum_param;
|
||||
int64_t group_cnt = exec_ctx.get_sql_ctx()->multi_stmt_item_.get_batched_stmt_cnt();
|
||||
int64_t group_cnt = exec_ctx.get_sql_ctx()->get_batch_params_count();
|
||||
ObSqlDatumArray *datum_array = nullptr;
|
||||
//construct sql array obj
|
||||
for (int64_t i = 0; OB_SUCC(ret) && i < pre_calc_rt_exprs_.count(); ++i) {
|
||||
|
||||
Reference in New Issue
Block a user