From db7e8aedd64dfeda2f967c24fb218eb3d66adfa9 Mon Sep 17 00:00:00 2001 From: chimyue Date: Fri, 10 May 2024 10:29:46 +0000 Subject: [PATCH] fix real-time mview can not get unrefreshed rows when use prepare protocol --- src/sql/rewrite/ob_transform_mv_rewrite.cpp | 2 +- src/sql/rewrite/ob_transform_pre_process.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/sql/rewrite/ob_transform_mv_rewrite.cpp b/src/sql/rewrite/ob_transform_mv_rewrite.cpp index b4e0e40664..0076bb1d9c 100644 --- a/src/sql/rewrite/ob_transform_mv_rewrite.cpp +++ b/src/sql/rewrite/ob_transform_mv_rewrite.cpp @@ -95,7 +95,7 @@ int ObTransformMVRewrite::need_transform(const common::ObIArray OPT_TRACE("only do mv rewrite in the first iteration"); } else if (stmt.is_select_stmt() && static_cast(&stmt)->is_expanded_mview()) { need_trans = false; - } else if (ctx_->session_info_->is_inner() || !ctx_->session_info_->is_user_session()) { + } else if (ctx_->session_info_->get_ddl_info().is_refreshing_mview()) { need_trans = false; OPT_TRACE("not a user SQL, skip mv rewrite"); } else if (stmt.get_query_ctx()->optimizer_features_enable_version_ < COMPAT_VERSION_4_3_1) { diff --git a/src/sql/rewrite/ob_transform_pre_process.cpp b/src/sql/rewrite/ob_transform_pre_process.cpp index 180c8f3897..bfc5fd783c 100644 --- a/src/sql/rewrite/ob_transform_pre_process.cpp +++ b/src/sql/rewrite/ob_transform_pre_process.cpp @@ -364,7 +364,7 @@ int ObTransformPreProcess::expand_materialized_view(ObDMLStmt *stmt, bool &trans if (OB_ISNULL(stmt) || OB_ISNULL(ctx_) || OB_ISNULL(ctx_->session_info_)) { ret = OB_ERR_UNEXPECTED; LOG_WARN("unexpect null", K(ret), K(stmt), K(ctx_)); - } else if (ctx_->session_info_->is_inner()) { + } else if (ctx_->session_info_->get_ddl_info().is_refreshing_mview()) { // when refresh mview, do not expand rt-mv } else if (NULL != (hint = stmt->get_stmt_hint().get_normal_hint(T_MV_REWRITE)) && hint->is_disable_hint()) {