add optimizer features control to mv rewrite

This commit is contained in:
hy-guo
2024-05-08 08:05:28 +00:00
committed by ob-robot
parent cb329ebdc6
commit 536cd008ea

View File

@ -80,9 +80,9 @@ int ObTransformMVRewrite::need_transform(const common::ObIArray<ObParentDMLStmt>
bool is_stmt_valid = false; bool is_stmt_valid = false;
uint64_t data_version; uint64_t data_version;
need_trans = false; need_trans = false;
if (OB_ISNULL(ctx_) || OB_ISNULL(ctx_->session_info_)) { if (OB_ISNULL(ctx_) || OB_ISNULL(ctx_->session_info_) || OB_ISNULL(stmt.get_query_ctx())) {
ret = OB_ERR_UNEXPECTED; ret = OB_ERR_UNEXPECTED;
LOG_WARN("get unexprcted null", K(ret), K(ctx_)); LOG_WARN("get unexprcted null", K(ret), K(ctx_), K(stmt.get_query_ctx()));
} else if (OB_FAIL(ObTransformRule::need_transform(parent_stmts, } else if (OB_FAIL(ObTransformRule::need_transform(parent_stmts,
current_level, current_level,
stmt, stmt,
@ -98,6 +98,9 @@ int ObTransformMVRewrite::need_transform(const common::ObIArray<ObParentDMLStmt>
} else if (ctx_->session_info_->is_inner() || !ctx_->session_info_->is_user_session()) { } else if (ctx_->session_info_->is_inner() || !ctx_->session_info_->is_user_session()) {
need_trans = false; need_trans = false;
OPT_TRACE("not a user SQL, skip mv rewrite"); OPT_TRACE("not a user SQL, skip mv rewrite");
} else if (stmt.get_query_ctx()->optimizer_features_enable_version_ < COMPAT_VERSION_4_3_1) {
need_trans = false;
OPT_TRACE("optimizer features enable version is lower than 4.3.1, skip mv rewrite");
} else if (OB_FAIL(GET_MIN_DATA_VERSION(ctx_->session_info_->get_effective_tenant_id(), data_version))) { } else if (OB_FAIL(GET_MIN_DATA_VERSION(ctx_->session_info_->get_effective_tenant_id(), data_version))) {
LOG_WARN("failed to get data version", K(ret), K(ctx_->session_info_->get_effective_tenant_id())); LOG_WARN("failed to get data version", K(ret), K(ctx_->session_info_->get_effective_tenant_id()));
} else if (OB_UNLIKELY(data_version < DATA_VERSION_4_3_1_0)) { } else if (OB_UNLIKELY(data_version < DATA_VERSION_4_3_1_0)) {