Fix: fix duplicate delete same row induced by fk cascade delete
This commit is contained in:
@ -169,6 +169,8 @@ int ObTableMergeOp::open_table_for_each()
|
||||
int ret = OB_SUCCESS;
|
||||
if (OB_FAIL(merge_rtdefs_.allocate_array(ctx_.get_allocator(), MY_SPEC.merge_ctdefs_.count()))) {
|
||||
LOG_WARN("allocate merge rtdef failed", K(ret), K(MY_SPEC.merge_ctdefs_.count()));
|
||||
} else if (OB_FAIL(ObDMLService::create_rowkey_check_hashset(get_spec().rows_, &ctx_, merge_rtdefs_.at(0).rowkey_dist_ctx_))) {
|
||||
LOG_WARN("Failed to create hash set", K(ret));
|
||||
}
|
||||
trigger_clear_exprs_.reset();
|
||||
for (int64_t i = 0; OB_SUCC(ret) && i < MY_SPEC.merge_ctdefs_.count(); ++i) {
|
||||
@ -402,6 +404,7 @@ int ObTableMergeOp::check_is_distinct(bool &conflict)
|
||||
MY_SPEC.rows_,
|
||||
DistinctType::T_HASH_DISTINCT,
|
||||
get_eval_ctx(),
|
||||
get_exec_ctx(),
|
||||
merge_rtdefs_.at(0).rowkey_dist_ctx_,
|
||||
// merge_rtdefs_ length must > 0
|
||||
is_distinct))) {
|
||||
|
||||
Reference in New Issue
Block a user