diff --git a/src/sql/optimizer/ob_log_plan.cpp b/src/sql/optimizer/ob_log_plan.cpp index d4856e4eb1..45daa282de 100644 --- a/src/sql/optimizer/ob_log_plan.cpp +++ b/src/sql/optimizer/ob_log_plan.cpp @@ -9503,8 +9503,8 @@ int ObLogPlan::allocate_subplan_filter_as_top(ObLogicalOperator *&top, LOG_WARN("get unexpected null", K(top), K(ret)); } else if (OB_ISNULL(spf_node = static_cast( get_log_op_factory().allocate(*this, LOG_SUBPLAN_FILTER)))) { - ret = OB_ERR_UNEXPECTED; - LOG_WARN("get unexpected null", K(spf_node), K(ret)); + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_WARN("failed to allocate memory", K(ret)); } else if (OB_FAIL(spf_node->add_child(top))) { LOG_WARN("failed to add child", K(ret)); } else if (OB_FAIL(spf_node->add_child(subquery_ops))) { diff --git a/src/sql/rewrite/ob_transform_pre_process.cpp b/src/sql/rewrite/ob_transform_pre_process.cpp index 78ad5c991e..f5b96f3a63 100644 --- a/src/sql/rewrite/ob_transform_pre_process.cpp +++ b/src/sql/rewrite/ob_transform_pre_process.cpp @@ -4795,6 +4795,7 @@ int ObTransformPreProcess::transform_insert_only_merge_into(ObDMLStmt* stmt, ObD int32_t old_bit_id = OB_INVALID_INDEX; int32_t new_bit_id = OB_INVALID_INDEX; const int64_t TARGET_TABLE_IDX = 0; + bool dummy = false; if (OB_ISNULL(stmt) || OB_ISNULL(ctx_) || OB_ISNULL(stmt_factory = ctx_->stmt_factory_) || OB_ISNULL(ctx_->allocator_)) { @@ -4918,6 +4919,8 @@ int ObTransformPreProcess::transform_insert_only_merge_into(ObDMLStmt* stmt, ObD LOG_WARN("failed to replace relation exprs", K(ret)); } else if (OB_FAIL(select_stmt->adjust_subquery_list())) { LOG_WARN("failed to adjust subquery list", K(ret)); + } else if (OB_FAIL(transform_exprs(select_stmt, dummy))) { + LOG_WARN("failed to transform exprs", K(ret)); } else if (OB_FAIL(insert_stmt->adjust_subquery_list())) { LOG_WARN("failed to adjust subquery list", K(ret)); } else {