From 48ef8c68fc1625e445d1765f8917c1946ff494d6 Mon Sep 17 00:00:00 2001 From: obdev Date: Thu, 8 Feb 2024 02:38:50 +0000 Subject: [PATCH] Fix mview fetch mview refresh stats params --- .../schema/ob_mview_refresh_stats_params.cpp | 35 ++++++++++--------- ...iew_stats_purge_refresh_stats_executor.cpp | 7 +++- 2 files changed, 25 insertions(+), 17 deletions(-) diff --git a/src/share/schema/ob_mview_refresh_stats_params.cpp b/src/share/schema/ob_mview_refresh_stats_params.cpp index b847876a28..82d7d117dd 100644 --- a/src/share/schema/ob_mview_refresh_stats_params.cpp +++ b/src/share/schema/ob_mview_refresh_stats_params.cpp @@ -357,27 +357,30 @@ int ObMViewRefreshStatsParams::fetch_mview_refresh_stats_params(ObISQLClient &sq if (OB_FAIL(sql.assign_fmt( "select collection_level, retention_period from" "(" - " with defvals as" - " (select collection_level, retention_period from %s where tenant_id = 0)" - " select ifnull(e.collection_level, d.collection_level) collection_level," - " ifnull(e.retention_period, d.retention_period) retention_period" - " from" - " (select tenant_id, mview_id, collection_level, retention_period from %s" - " right outer join" - " (select tenant_id, mview_id from %s where tenant_id = 0 and mview_id = %ld)" - " using (tenant_id, mview_id)" - " ) e, defvals d" + " with defvals as" + " (" + " select" + " ifnull(max(collection_level), 1) as collection_level," + " ifnull(max(retention_period), 31) as retention_period" + " from %s" + " where tenant_id = 0" + " )" + " select" + " ifnull(e.collection_level, d.collection_level) collection_level," + " ifnull(e.retention_period, d.retention_period) retention_period" + " from" + " (select tenant_id, mview_id, collection_level, retention_period from %s" + " right outer join" + " (select tenant_id, mview_id from %s where tenant_id = 0 and mview_id = %ld)" + " using (tenant_id, mview_id)" + " ) e," + " defvals d" ")", OB_ALL_MVIEW_REFRESH_STATS_SYS_DEFAULTS_TNAME, OB_ALL_MVIEW_REFRESH_STATS_PARAMS_TNAME, OB_ALL_MVIEW_TNAME, mview_id))) { LOG_WARN("fail to assign sql with sys defaults", KR(ret)); } else if (OB_FAIL(read_stats_params(sql_client, exec_tenant_id, sql, params))) { - if (OB_UNLIKELY(OB_ENTRY_NOT_EXIST != ret)) { - LOG_WARN("fail to read stats params", KR(ret), K(exec_tenant_id), K(sql)); - } else { - ret = OB_SUCCESS; - params = get_default(); - } + LOG_WARN("fail to read stats params", KR(ret), K(exec_tenant_id), K(sql)); } } else { if (OB_FAIL(sql.assign_fmt("select collection_level, retention_period from %s" diff --git a/src/storage/mview/cmd/ob_mview_stats_purge_refresh_stats_executor.cpp b/src/storage/mview/cmd/ob_mview_stats_purge_refresh_stats_executor.cpp index 1211f3d5a0..b9245ab5ff 100644 --- a/src/storage/mview/cmd/ob_mview_stats_purge_refresh_stats_executor.cpp +++ b/src/storage/mview/cmd/ob_mview_stats_purge_refresh_stats_executor.cpp @@ -86,7 +86,12 @@ int ObMViewStatsPurgeRefreshStatsExecutor::execute(ObExecContext &ctx, ObMViewRefreshStatsParams stats_params; if (OB_FAIL(ObMViewRefreshStatsParams::fetch_mview_refresh_stats_params( *ctx.get_sql_proxy(), tenant_id_, mview_id, stats_params, true))) { - LOG_WARN("fail to fetch sys defaults", KR(ret), K(tenant_id_), K(mview_id)); + if (OB_UNLIKELY(OB_ENTRY_NOT_EXIST != ret)) { + LOG_WARN("fail to fetch mview refresh stats params", KR(ret), K_(tenant_id), K(mview_id)); + } else { + ret = OB_ERR_MVIEW_NOT_EXIST; + LOG_WARN("mview not exist", KR(ret), K_(tenant_id), K(mview_id)); + } } else { filter_param.set_retention_period(stats_params.get_retention_period()); }