[FEAT MERGE] Solidify session vars for functional index

This commit is contained in:
2149
2023-12-12 06:42:36 +00:00
committed by ob-robot
parent db82b0b5cd
commit 58aad590f1
189 changed files with 3671 additions and 1554 deletions

View File

@ -2784,6 +2784,7 @@ int ObSql::generate_stmt(ParseResult &parse_result,
context.all_expr_constraints_ = &(resolver_ctx.query_ctx_->all_expr_constraints_);
context.all_priv_constraints_ = &(resolver_ctx.query_ctx_->all_priv_constraints_);
context.need_match_all_params_ = resolver_ctx.query_ctx_->need_match_all_params_;
context.all_local_session_vars_ = &(resolver_ctx.query_ctx_->all_local_session_vars_);
context.cur_stmt_ = stmt;
context.res_map_rule_id_ = resolver_ctx.query_ctx_->res_map_rule_id_;
context.res_map_rule_param_idx_ = resolver_ctx.query_ctx_->res_map_rule_param_idx_;
@ -3595,6 +3596,12 @@ int ObSql::code_generate(
last_mem_usage = phy_plan->get_mem_size();
}
}
//add local_session_var array to phy_plan_ctx
if (OB_SUCC(ret)) {
if (OB_FAIL(phy_plan->set_all_local_session_vars(sql_ctx.all_local_session_vars_))) {
LOG_WARN("set all local sesson vars failed", K(ret));
}
}
NG_TRACE(cg_end);
// set phy table location in task_exec_ctx, query_timeout in exec_context
@ -4586,6 +4593,11 @@ int ObSql::after_get_plan(ObPlanCacheCtx &pc_ctx,
}
}
}
if (OB_SUCC(ret) && NULL != phy_plan && !phy_plan->is_remote_plan()) {
if (OB_FAIL(pctx->set_all_local_session_vars(phy_plan->get_all_local_session_vars()))) {
LOG_WARN("fail to set all local session vars", K(ret));
}
}
} else {
// not phy_plan, ignore
}