[to #50868149] fix self attribute access resolve

This commit is contained in:
obdev
2023-07-20 07:12:20 +00:00
committed by ob-robot
parent 85cfc17505
commit 7977b8cc58
7 changed files with 76 additions and 40 deletions

View File

@ -213,39 +213,7 @@ int ObCallProcedureResolver::resolve_param_exprs(const ParseNode *params_node,
CK (OB_NOT_NULL(params_.session_info_));
for (int64_t i = 0; OB_SUCC(ret) && i < params_node->num_child_; ++i) {
ObRawExpr* raw_expr = NULL;
CK (OB_NOT_NULL(params_node->children_[i]));
if (OB_SUCC(ret) && params_.is_execute_call_stmt_) {
ObArray<ObQualifiedName> columns;
ObArray<ObVarInfo> sys_vars;
ObArray<ObAggFunRawExpr*> aggr_exprs;
ObArray<ObWinFunRawExpr*> win_exprs;
ObArray<ObSubQueryInfo> sub_query_info;
ObArray<ObUDFInfo> udf_info;
ObArray<ObOpRawExpr*> op_exprs;
if (OB_FAIL(ObRawExprUtils::build_raw_expr(*params_.expr_factory_,
*params_.session_info_,
params_.schema_checker_,
params_.secondary_namespace_,
T_PL_SCOPE,
NULL/*ObStmt*/,
params_.param_list_,
NULL/*external_param_info*/,
*params_node->children_[i],
raw_expr,
columns,
sys_vars,
aggr_exprs,
win_exprs,
sub_query_info,
udf_info,
op_exprs,
true,
static_cast<TgTimingEvent>(params_.tg_timing_event_)))) {
LOG_WARN("failed to build raw expr", K(ret));
}
} else {
OZ (pl::ObPLResolver::resolve_raw_expr(*params_node->children_[i], params_, raw_expr));
}
OZ (pl::ObPLResolver::resolve_raw_expr(*params_node->children_[i], params_, raw_expr));
CK (OB_NOT_NULL(raw_expr));
OZ (check_param_expr_legal(raw_expr));
OZ (expr_params.push_back(raw_expr));