提交 b4461bbb 编写于 作者: O obdev 提交者: ob-robot

[to #48916300] a typo when access object_access_idents array

上级 9749d8d4
...@@ -8956,6 +8956,7 @@ do { \ ...@@ -8956,6 +8956,7 @@ do { \
if (OB_SUCC(ret)) { if (OB_SUCC(ret)) {
int64_t idx_cnt = access_idxs.count(); int64_t idx_cnt = access_idxs.count();
int64_t idents_cnt = obj_access_idents.count();
CK (OB_LIKELY(idx_cnt != 0)); CK (OB_LIKELY(idx_cnt != 0));
if (OB_FAIL(ret)) { if (OB_FAIL(ret)) {
} else if (access_idxs.at(idx_cnt - 1).is_system_procedure()) { } else if (access_idxs.at(idx_cnt - 1).is_system_procedure()) {
...@@ -8964,7 +8965,7 @@ do { \ ...@@ -8964,7 +8965,7 @@ do { \
ObArray<ObRawExpr*> params; ObArray<ObRawExpr*> params;
OZ (stmt_factory_.allocate(PL_RAISE_APPLICATION_ERROR, current_block_, stmt)); OZ (stmt_factory_.allocate(PL_RAISE_APPLICATION_ERROR, current_block_, stmt));
CK (OB_NOT_NULL(raise_stmt = static_cast<ObPLRaiseAppErrorStmt *>(stmt))); CK (OB_NOT_NULL(raise_stmt = static_cast<ObPLRaiseAppErrorStmt *>(stmt)));
OZ (obj_access_idents.at(idx_cnt-1).extract_params(0, params)); OZ (obj_access_idents.at(idents_cnt-1).extract_params(0, params));
for (int64_t i = 0; OB_SUCC(ret) && i < params.count(); ++i) { for (int64_t i = 0; OB_SUCC(ret) && i < params.count(); ++i) {
int64_t expr_idx = OB_INVALID_ID; int64_t expr_idx = OB_INVALID_ID;
CK (OB_NOT_NULL(params.at(i))); CK (OB_NOT_NULL(params.at(i)));
...@@ -9007,8 +9008,7 @@ do { \ ...@@ -9007,8 +9008,7 @@ do { \
if (OB_SUCC(ret) if (OB_SUCC(ret)
&& package_routine_info->is_udt_routine() && package_routine_info->is_udt_routine()
&& !package_routine_info->is_udt_static_routine()) { && !package_routine_info->is_udt_static_routine()) {
int64_t idents_cnt = obj_access_idents.count(); if (idents_cnt > 0 && obj_access_idents.at(idents_cnt - 1).udf_info_.is_udt_udf_) {
if (idents_cnt >0 && obj_access_idents.at(idents_cnt - 1).udf_info_.is_udt_udf_) {
call_stmt->set_is_object_udf(); call_stmt->set_is_object_udf();
} }
const ObIArray<ObPLRoutineParam *> &routine_params const ObIArray<ObPLRoutineParam *> &routine_params
...@@ -9041,14 +9041,14 @@ do { \ ...@@ -9041,14 +9041,14 @@ do { \
question_expr->set_result_type(type); question_expr->set_result_type(type);
OZ (question_expr->extract_info()); OZ (question_expr->extract_info());
OZ (question_expr->add_flag(IS_UDT_UDF_SELF_PARAM)); OZ (question_expr->add_flag(IS_UDT_UDF_SELF_PARAM));
OZ (obj_access_idents.at(idx_cnt - 1) OZ (obj_access_idents.at(idents_cnt - 1)
.params_.push_back(std::make_pair(question_expr, 0))); .params_.push_back(std::make_pair(question_expr, 0)));
OZ (func.add_expr(question_expr)); OZ (func.add_expr(question_expr));
if (OB_SUCC(ret) && 0 == self_param_pos) { if (OB_SUCC(ret) && 0 == self_param_pos) {
std::rotate(obj_access_idents.at(idx_cnt-1).params_.begin(), std::rotate(obj_access_idents.at(idents_cnt-1).params_.begin(),
obj_access_idents.at(idx_cnt-1).params_.begin() obj_access_idents.at(idents_cnt-1).params_.begin()
+ obj_access_idents.at(idx_cnt-1).params_.count() - 1, + obj_access_idents.at(idents_cnt-1).params_.count() - 1,
obj_access_idents.at(idx_cnt-1).params_.end()); obj_access_idents.at(idents_cnt-1).params_.end());
} }
} }
} }
...@@ -9058,19 +9058,19 @@ do { \ ...@@ -9058,19 +9058,19 @@ do { \
CK (OB_NOT_NULL(null_expr)); CK (OB_NOT_NULL(null_expr));
OZ (null_expr->extract_info()); OZ (null_expr->extract_info());
OZ (null_expr->add_flag(IS_UDT_UDF_SELF_PARAM)); OZ (null_expr->add_flag(IS_UDT_UDF_SELF_PARAM));
OZ (obj_access_idents.at(idx_cnt - 1) OZ (obj_access_idents.at(idents_cnt - 1)
.params_.push_back(std::make_pair(null_expr, 0))); .params_.push_back(std::make_pair(null_expr, 0)));
if (OB_SUCC(ret) && 0 == self_param_pos) { if (OB_SUCC(ret) && 0 == self_param_pos) {
std::rotate(obj_access_idents.at(idx_cnt-1).params_.begin(), std::rotate(obj_access_idents.at(idents_cnt-1).params_.begin(),
obj_access_idents.at(idx_cnt-1).params_.begin() obj_access_idents.at(idents_cnt-1).params_.begin()
+ obj_access_idents.at(idx_cnt-1).params_.count() - 1, + obj_access_idents.at(idents_cnt-1).params_.count() - 1,
obj_access_idents.at(idx_cnt-1).params_.end()); obj_access_idents.at(idents_cnt-1).params_.end());
} }
} }
} }
} }
// end mock self param // end mock self param
OZ (obj_access_idents.at(idx_cnt-1).extract_params(0, params)); OZ (obj_access_idents.at(idents_cnt-1).extract_params(0, params));
if (OB_FAIL(ret)){ if (OB_FAIL(ret)){
} else if (package_routine_info->get_param_count() != 0) { } else if (package_routine_info->get_param_count() != 0) {
OZ (resolve_call_param_list(params, package_routine_info->get_params(), call_stmt, func)); OZ (resolve_call_param_list(params, package_routine_info->get_params(), call_stmt, func));
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册