[scn] fix failure of mittest after refresh feature scn

This commit is contained in:
obdev
2022-11-28 01:46:42 +00:00
committed by ob-robot
parent 49a02f3304
commit 54b64a7263
1898 changed files with 255804 additions and 280809 deletions

View File

@ -175,7 +175,6 @@ int ObTransformSubqueryCoalesce::transform_same_exprs(ObDMLStmt *stmt,
}
}
if (OB_SUCC(ret) && coalesce_happened) {
is_happened = true;
if (OB_FAIL(ObOptimizerUtil::remove_item(conds, remove_exprs))) {
LOG_WARN("failed to remove exprs", K(ret));
}
@ -1624,12 +1623,6 @@ int ObTransformSubqueryCoalesce::coalesce_update_assignment(ObDMLStmt *stmt, boo
LOG_WARN("failed to adjust subquery list", K(ret));
}
}
for (int64_t i = 0; i < coalesce_infos.count(); i++) {
if (coalesce_infos.at(i) != NULL) {
coalesce_infos.at(i)->~StmtCompareHelper();
coalesce_infos.at(i) = NULL;
}
}
}
return ret;
}
@ -1858,6 +1851,8 @@ int ObTransformSubqueryCoalesce::inner_coalesce_subquery(ObSelectStmt *subquery,
ObStmtCompareContext context;
//select items in subquery
ObSEArray<ObRawExpr*, 16> subquery_select_list;
//select items in subquery trans to select items in coalesce query
ObSEArray<ObRawExpr*, 16> new_select_list;
//select items in coalesce query
ObSEArray<ObRawExpr*, 16> coalesce_select_list;
//column items in subquery
@ -1952,7 +1947,13 @@ int ObTransformSubqueryCoalesce::inner_coalesce_subquery(ObSelectStmt *subquery,
ret = OB_ERR_UNEXPECTED;
LOG_WARN("unexpect null select expr", K(ret));
} else if (!coalesce_select->same_as(*subquery_select, &context)) {
// do nothing
//do nothing
} else if (OB_FAIL(new_select_list.push_back(coalesce_select))) {
LOG_WARN("failed to push back expr", K(ret));
} else if (OB_FAIL(ObTransformUtils::create_select_item(*ctx_->allocator_,
coalesce_select,
coalesce_query))) {
LOG_WARN("failed to create column for subquery", K(ret));
} else if (OB_FAIL(index_map.push_back(coalesce_query->get_select_item_size() - 1))) {
LOG_WARN("failed to push back index", K(ret));
} else {
@ -1964,6 +1965,8 @@ int ObTransformSubqueryCoalesce::inner_coalesce_subquery(ObSelectStmt *subquery,
ObSEArray<ObWinFunRawExpr*, 8> win_func_exprs;
if (ObTransformUtils::replace_expr(subquery_column_list, new_column_list, subquery_select)) {
LOG_WARN("failed to replace expr", K(ret));
} else if (OB_FAIL(new_select_list.push_back(subquery_select))) {
LOG_WARN("failed to push back expr", K(ret));
} else if (OB_FAIL(ObTransformUtils::extract_aggr_expr(subquery->get_current_level(),
subquery_select,
aggr_items))) {
@ -2066,10 +2069,8 @@ int ObTransformSubqueryCoalesce::adjust_assign_exprs(ObUpdateStmt *upd_stmt,
} else {
coalesce_query_expr->set_ref_stmt(coalesce_query);
coalesce_query_expr->set_expr_level(upd_stmt->get_current_level());
if (OB_FAIL(coalesce_query_expr->formalize(ctx_->session_info_))) {
LOG_WARN("failed to formalize coalesce query expr", K(ret));
}
}
for (int64_t i = 0; OB_SUCC(ret) && i < upd_stmt->get_update_table_info().count(); ++i) {
ObUpdateTableInfo* table_info = upd_stmt->get_update_table_info().at(i);
if (OB_ISNULL(table_info)) {
@ -2081,8 +2082,6 @@ int ObTransformSubqueryCoalesce::adjust_assign_exprs(ObUpdateStmt *upd_stmt,
if (OB_ISNULL(assign.expr_)) {
ret = OB_ERR_UNEXPECTED;
LOG_WARN("unexpect null expr", K(ret));
} else if (OB_FAIL(assign.expr_->extract_info())) {
LOG_WARN("failed to extract expr info", K(ret));
} else if (assign.expr_->has_flag(CNT_ALIAS)) {
if (OB_FAIL(adjust_alias_assign_exprs(assign.expr_,
helper,