From 759f4bbfa2dd94c4885512f9f90ae450f6255fcb Mon Sep 17 00:00:00 2001 From: seuwebber Date: Tue, 30 May 2023 04:41:09 +0000 Subject: [PATCH] [to #40760427]fix mysqlTest --- src/sql/engine/dml/ob_trigger_handler.cpp | 5 ++++- src/sql/resolver/dml/ob_del_upd_resolver.cpp | 3 +-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/sql/engine/dml/ob_trigger_handler.cpp b/src/sql/engine/dml/ob_trigger_handler.cpp index 1a2189a9df..77e19251bc 100644 --- a/src/sql/engine/dml/ob_trigger_handler.cpp +++ b/src/sql/engine/dml/ob_trigger_handler.cpp @@ -412,7 +412,10 @@ int TriggerHandle::calc_trigger_routine( trigger_id, routine_id, params); CK (OB_NOT_NULL(exec_ctx.get_my_session())); OZ (exec_ctx.get_my_session()->reset_all_package_state_by_dbms_session(true)); - OX (exec_ctx.get_my_session()->set_for_trigger_package(old_flag)); + if (exec_ctx.get_my_session()->is_for_trigger_package()) { + // whether `ret == OB_SUCCESS`, need to restore flag + exec_ctx.get_my_session()->set_for_trigger_package(old_flag); + } return ret; } diff --git a/src/sql/resolver/dml/ob_del_upd_resolver.cpp b/src/sql/resolver/dml/ob_del_upd_resolver.cpp index a390b73737..dc977f68c3 100644 --- a/src/sql/resolver/dml/ob_del_upd_resolver.cpp +++ b/src/sql/resolver/dml/ob_del_upd_resolver.cpp @@ -3280,8 +3280,7 @@ int ObDelUpdResolver::resolve_insert_values(const ParseNode *node, } else if (OB_FAIL(check_basic_column_generated(column_expr, del_upd_stmt, is_generated_column))) { LOG_WARN("check column generated failed", K(ret)); - } else if (is_generated_column && !session_info_->is_for_trigger_package()) { - //兼容oracle,如果是创建trigger过程中发现该错误,不报错,在执行阶段会报错 + } else if (is_generated_column) { ret = OB_NON_DEFAULT_VALUE_FOR_GENERATED_COLUMN; if (!is_oracle_mode()) { ColumnItem *orig_col_item = NULL;