From af4801cfc0ee1a3f65601702cf1bd28883aeb0f1 Mon Sep 17 00:00:00 2001 From: obdev Date: Tue, 10 Oct 2023 10:09:47 +0000 Subject: [PATCH] [CP] fix: fix the core induced by not push back the part expr of foreign key that is parent table mock --- src/sql/optimizer/ob_log_del_upd.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/sql/optimizer/ob_log_del_upd.cpp b/src/sql/optimizer/ob_log_del_upd.cpp index 3f86cf52f1..623d3a4278 100644 --- a/src/sql/optimizer/ob_log_del_upd.cpp +++ b/src/sql/optimizer/ob_log_del_upd.cpp @@ -1344,10 +1344,10 @@ int ObLogDelUpd::generate_fk_lookup_part_id_expr(IndexDMLInfo &index_dml_info) for (int64_t i = 0; OB_SUCC(ret) && i < fk_infos->count(); i++) { const ObForeignKeyInfo &fk_info = fk_infos->at(i); ObRawExpr* fk_scan_part_expr = nullptr; - if (fk_info.table_id_ != fk_info.child_table_id_) { + if (fk_info.table_id_ != fk_info.child_table_id_ || fk_info.is_parent_table_mock_) { // update parent table, check child table, don't use das task to perform foreign key check ret = index_dml_info.fk_lookup_part_id_expr_.push_back(fk_scan_part_expr); - } else if (!fk_info.is_parent_table_mock_) { + } else { const uint64_t parent_table_id = fk_info.parent_table_id_; const ObTableSchema *parent_table_schema = NULL; uint64_t scan_index_tid = OB_INVALID_ID;