diff --git a/src/sql/code_generator/ob_expr_generator_impl.cpp b/src/sql/code_generator/ob_expr_generator_impl.cpp index f3bea9e4bfa28fd12402aabb1d274eb477202d3b..b4fef94b1aee8c7df32603cea6d962e597a704f3 100644 --- a/src/sql/code_generator/ob_expr_generator_impl.cpp +++ b/src/sql/code_generator/ob_expr_generator_impl.cpp @@ -956,12 +956,8 @@ int ObExprGeneratorImpl::visit_enum_set_expr(ObNonTerminalRawExpr& expr, ObExprT LOG_WARN("invalid old op", K(expr), K(ret)); } else { ObExprTypeToStr* type_to_str = static_cast(old_op); - if (OB_ISNULL(type_to_str)) { - ret = OB_ERR_UNEXPECTED; - LOG_WARN("failed to static cast ObExprOperator * to ObExprTypeToStr *", K(expr), K(ret)); - } else if (OB_FAIL(enum_set_op->deep_copy_str_values(type_to_str->get_str_values()))) { + if (OB_FAIL(enum_set_op->deep_copy_str_values(type_to_str->get_str_values()))) { LOG_WARN("failed to deep_copy_str_values", K(expr), K(ret)); - } else { /*do nothing*/ } } return ret; diff --git a/src/sql/engine/cmd/ob_table_executor.cpp b/src/sql/engine/cmd/ob_table_executor.cpp index 4a05875dfaa482491969f0df227e81508a8e9308..d03e68afcf5e31cf02e5e57e25b3bcf54f9a8f76 100644 --- a/src/sql/engine/cmd/ob_table_executor.cpp +++ b/src/sql/engine/cmd/ob_table_executor.cpp @@ -1742,6 +1742,8 @@ int ObAlterTableExecutor::check_fk_constraint_data_validity(ObExecContext& ctx, const ObString& origin_database_name = alter_table_schema.get_origin_database_name(); const ObString& origin_table_name = alter_table_schema.get_origin_table_name(); const ObTableSchema* orig_table_schema = NULL; + THIS_WORKER.set_timeout_ts(ObTimeUtility::current_time() + OB_MAX_USER_SPECIFIED_TIMEOUT); + const int64_t start_time = ObTimeUtility::current_time(); if (OB_ISNULL(gctx.schema_service_)) { ret = OB_ERR_UNEXPECTED; @@ -1777,6 +1779,9 @@ int ObAlterTableExecutor::check_fk_constraint_data_validity(ObExecContext& ctx, LOG_WARN("fail to check data validity by inner sql", K(ret)); } } + + const int64_t end_time = ObTimeUtility::current_time(); + LOG_DEBUG("elapsed time for check_fk_constraint_data_validity:", K(start_time), K(end_time), K(end_time-start_time)); return ret; } diff --git a/src/sql/resolver/ddl/ob_create_func_resolver.cpp b/src/sql/resolver/ddl/ob_create_func_resolver.cpp index f4eb98e21467bd13082e01c8d78328682a45e7dc..8ccf6a2258dc795c67cf698e1a03380095c2cdbe 100644 --- a/src/sql/resolver/ddl/ob_create_func_resolver.cpp +++ b/src/sql/resolver/ddl/ob_create_func_resolver.cpp @@ -53,9 +53,10 @@ int ObCreateFuncResolver::resolve(const ParseNode& parse_tree) } ObObj plugin_path; - session_info_->get_sys_variable(SYS_VAR_PLUGIN_DIR, plugin_path); ObString plugin_path_str; - if (OB_FAIL(plugin_path.get_string(plugin_path_str))) { + if (OB_FAIL(session_info_->get_sys_variable(SYS_VAR_PLUGIN_DIR, plugin_path))) { + LOG_WARN("get sys variable failed", K(ret)); + } else if (OB_FAIL(plugin_path.get_string(plugin_path_str))) { LOG_WARN("get plugin path failed", K(ret)); } else { create_func_arg.udf_.set_name(