bugfix: failed to update local table semi join link table
This commit is contained in:
parent
56a3dc4308
commit
5813fbd504
@ -48,9 +48,11 @@ int ObTransformDBlink::transform_one_stmt(ObIArray<ObParentDMLStmt> &parent_stmt
|
||||
if (OB_FAIL(formalize_link_table(stmt))) {
|
||||
LOG_WARN("failed to formalize link table", K(ret));
|
||||
}
|
||||
} else if ((!stmt->is_dml_write_stmt() || stmt->is_merge_stmt()) &&
|
||||
OB_FAIL(pack_link_table(stmt, trans_happened))) {
|
||||
} else if (OB_FAIL(pack_link_table(stmt, trans_happened))) {
|
||||
LOG_WARN("failed to pack link table", K(ret));
|
||||
} else if (OB_UNLIKELY(stmt->is_dml_write_stmt() && stmt->is_dblink_stmt())) {
|
||||
ret = OB_ERR_UNEXPECTED;
|
||||
LOG_WARN("unexpected dblink stmt", KPC(stmt));
|
||||
} else {
|
||||
LOG_TRACE("succeed to pack link table", K(ret));
|
||||
}
|
||||
@ -555,7 +557,8 @@ int ObTransformDBlink::collect_link_table(ObDMLStmt *stmt,
|
||||
ret = OB_ERR_UNEXPECTED;
|
||||
LOG_WARN("unexpect null stmt", K(ret));
|
||||
} else if (stmt->is_hierarchical_query() || stmt->is_unpivot_select() ||
|
||||
(stmt->is_select_stmt() && sel_stmt->has_select_into())) {
|
||||
(stmt->is_select_stmt() && sel_stmt->has_select_into()) ||
|
||||
stmt->is_dml_write_stmt()) {
|
||||
all_table_from_one_dblink = false;
|
||||
} else if (has_invalid_link_expr(*stmt, has_special_expr)) {
|
||||
LOG_WARN("failed to check stmt has invalid link expr", K(ret));
|
||||
|
@ -229,6 +229,7 @@ int ObTransformerImpl::do_transform_dblink_write(ObDMLStmt *&stmt, bool &trans_h
|
||||
ret = OB_ERR_UNEXPECTED;
|
||||
LOG_WARN("get unexpected null", K(stmt), K(ret));
|
||||
} else {
|
||||
OPT_TRACE_TITLE("start transform dblink write");
|
||||
ObTransformDBlink trans(ctx_);
|
||||
trans.set_transformer_type(PROCESS_DBLINK);
|
||||
trans.set_transform_for_write(true);
|
||||
@ -253,6 +254,7 @@ int ObTransformerImpl::do_transform_dblink_read(ObDMLStmt *&stmt)
|
||||
ret = OB_ERR_UNEXPECTED;
|
||||
LOG_WARN("get unexpected null", K(stmt), K(ret));
|
||||
} else {
|
||||
OPT_TRACE_TITLE("start transform dblink read");
|
||||
ObTransformDBlink trans(ctx_);
|
||||
trans.set_transformer_type(PROCESS_DBLINK);
|
||||
trans.set_transform_for_write(false);
|
||||
|
Loading…
x
Reference in New Issue
Block a user