提交 0866a4b8 编写于 作者: S seuwebber 提交者: ob-robot

[to #46647036]fix bug alter trigger

上级 c9dfe11c
...@@ -182,10 +182,10 @@ private: ...@@ -182,10 +182,10 @@ private:
inline bool ObTriggerNameHashWrapper::operator ==(const ObTriggerNameHashWrapper &rv) const inline bool ObTriggerNameHashWrapper::operator ==(const ObTriggerNameHashWrapper &rv) const
{ {
common::ObCollationType cs_type = common::CS_TYPE_UTF8MB4_GENERAL_CI; ObCompareNameWithTenantID name_cmp(tenant_id_);
return (tenant_id_ == rv.get_tenant_id()) return (tenant_id_ == rv.get_tenant_id())
&& (database_id_ == rv.get_database_id()) && (database_id_ == rv.get_database_id())
&& (0 == common::ObCharset::strcmp(cs_type, trigger_name_, rv.get_trigger_name())); && (0 == name_cmp.compare(trigger_name_, rv.get_trigger_name()));
} }
inline uint64_t ObTriggerNameHashWrapper::hash() const inline uint64_t ObTriggerNameHashWrapper::hash() const
......
...@@ -1035,6 +1035,7 @@ int ObTriggerResolver::analyze_trigger(ObSchemaGetterGuard &schema_guard, ...@@ -1035,6 +1035,7 @@ int ObTriggerResolver::analyze_trigger(ObSchemaGetterGuard &schema_guard,
(ObPLPackageAST, package_body_ast, allocator)) { (ObPLPackageAST, package_body_ast, allocator)) {
ObPLPackageGuard package_guard(PACKAGE_RESV_HANDLE); ObPLPackageGuard package_guard(PACKAGE_RESV_HANDLE);
const ObString &pkg_name = trigger_info.get_package_body_info().get_package_name(); const ObString &pkg_name = trigger_info.get_package_body_info().get_package_name();
ObString source;
ObPLCompiler compiler(allocator, *session_info, schema_guard, package_guard, *sql_proxy); ObPLCompiler compiler(allocator, *session_info, schema_guard, package_guard, *sql_proxy);
const ObPackageInfo &package_spec_info = trigger_info.get_package_spec_info(); const ObPackageInfo &package_spec_info = trigger_info.get_package_spec_info();
OZ (package_spec_ast.init(db_name, OZ (package_spec_ast.init(db_name,
...@@ -1044,7 +1045,10 @@ int ObTriggerResolver::analyze_trigger(ObSchemaGetterGuard &schema_guard, ...@@ -1044,7 +1045,10 @@ int ObTriggerResolver::analyze_trigger(ObSchemaGetterGuard &schema_guard,
package_spec_info.get_package_id(), package_spec_info.get_package_id(),
package_spec_info.get_schema_version(), package_spec_info.get_schema_version(),
NULL)); NULL));
OZ (compiler.analyze_package(trigger_info.get_package_spec_source(), NULL, package_spec_ast, true)); OZ (ObTriggerInfo::gen_package_source(trigger_info.get_tenant_id(),
trigger_info.get_trigger_spec_package_id(trigger_info.get_trigger_id()),
source, true, schema_guard, allocator));
OZ (compiler.analyze_package(source, NULL, package_spec_ast, true));
OZ (package_body_ast.init(db_name, OZ (package_body_ast.init(db_name,
pkg_name, pkg_name,
PL_PACKAGE_BODY, PL_PACKAGE_BODY,
...@@ -1052,7 +1056,10 @@ int ObTriggerResolver::analyze_trigger(ObSchemaGetterGuard &schema_guard, ...@@ -1052,7 +1056,10 @@ int ObTriggerResolver::analyze_trigger(ObSchemaGetterGuard &schema_guard,
trigger_info.get_package_body_info().get_package_id(), trigger_info.get_package_body_info().get_package_id(),
trigger_info.get_package_body_info().get_schema_version(), trigger_info.get_package_body_info().get_schema_version(),
&package_spec_ast)); &package_spec_ast));
OZ (compiler.analyze_package(trigger_info.get_package_body_source(), OZ (ObTriggerInfo::gen_package_source(trigger_info.get_tenant_id(),
trigger_info.get_trigger_body_package_id(trigger_info.get_trigger_id()),
source, false, schema_guard, allocator));
OZ (compiler.analyze_package(source,
&(package_spec_ast.get_body()->get_namespace()), &(package_spec_ast.get_body()->get_namespace()),
package_body_ast, package_body_ast,
true)); true));
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册