[FEAT MERGE] 4.2 add trans_debug_info for 4377

Co-authored-by: Handora <qcdsr970209@gmail.com>
This commit is contained in:
yishenglanlingzui
2023-05-06 06:08:35 +00:00
committed by ob-robot
parent 711f4d5cd0
commit 9e328378c8
63 changed files with 1013 additions and 169 deletions

View File

@ -275,7 +275,8 @@ int ObDmlCgService::generate_delete_ctdef(ObLogDelUpd &op,
ObSEArray<ObRawExpr*, 64> new_row;
if (OB_FAIL(old_row.assign(index_dml_info.column_old_values_exprs_))) {
LOG_WARN("fail to assign delete old row", K(ret));
} else if (OB_FAIL(generate_dml_base_ctdef(op, index_dml_info,
} else if (OB_FAIL(generate_dml_base_ctdef(op,
index_dml_info,
del_ctdef,
ObTriggerEvents::get_delete_event(),
old_row,
@ -988,7 +989,8 @@ int ObDmlCgService::generate_scan_ctdef(ObLogInsert &op,
false))) {
LOG_WARN("generate calc exprs failed", K(ret));
} else if (OB_FAIL(cg_.tsc_cg_service_.generate_das_result_output(scan_ctdef.access_column_ids_,
scan_ctdef))) {
scan_ctdef,
nullptr))) {
LOG_WARN("generate das result output failed", K(ret));
}
}
@ -1626,6 +1628,20 @@ int ObDmlCgService::generate_dml_base_ctdef(ObLogicalOperator &op,
}
}
if (OB_SUCC(ret) &&
op.is_dml_operator() &&
OB_NOT_NULL(index_dml_info.trans_info_expr_)) {
ObLogDelUpd &dml_op = static_cast<ObLogDelUpd&>(op);
// Cg is only needed when the current trans_info_expr_ has a producer operator
if (has_exist_in_array(dml_op.get_produced_trans_exprs(), index_dml_info.trans_info_expr_)) {
if (cg_.generate_rt_expr(*index_dml_info.trans_info_expr_, dml_base_ctdef.trans_info_expr_)) {
LOG_WARN("fail to cg trans_info expr", K(ret), KPC(index_dml_info.trans_info_expr_));
}
} else {
LOG_TRACE("this trans_info_expr not produced", K(ret), K(index_dml_info));
}
}
if (OB_SUCC(ret) &&
log_op_def::LOG_INSERT == op.get_type()) {
ObLogInsert &log_ins_op = static_cast<ObLogInsert &>(op);
@ -1633,7 +1649,6 @@ int ObDmlCgService::generate_dml_base_ctdef(ObLogicalOperator &op,
dml_base_ctdef.das_base_ctdef_.is_insert_up_ = true;
}
}
return ret;
}