2
* Copyright (c) 2021 OceanBase
3
* OceanBase CE is licensed under Mulan PubL v2.
4
* You can use this software according to the terms and conditions of the Mulan PubL v2.
5
* You may obtain a copy of Mulan PubL v2 at:
6
* http://license.coscl.org.cn/MulanPubL-2.0
7
* THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
8
* EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
9
* MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
10
* See the Mulan PubL v2 for more details.
13
#define USING_LOG_PREFIX SERVER_OMT
15
#include "common/ob_common_utility.h"
16
#include "lib/net/ob_net_util.h"
17
#include "lib/oblog/ob_log.h"
18
#include "share/schema/ob_schema_getter_guard.h"
19
#include "observer/ob_server_struct.h"
20
#include "observer/omt/ob_tenant_timezone.h"
21
#include "observer/omt/ob_tenant_timezone_mgr.h"
22
#include "share/ob_thread_mgr.h"
23
#include "share/ob_time_zone_info_manager.h"
25
using namespace oceanbase::common;
29
ObTenantTimezone::ObTenantTimezone(common::ObMySQLProxy &sql_proxy, uint64_t tenant_id)
30
: is_inited_(false), tenant_id_(tenant_id),
31
tz_info_mgr_(sql_proxy, tenant_id), update_task_not_exist_(false)
34
ObTenantTimezone::~ObTenantTimezone()
38
int ObTenantTimezone::init()
41
if (OB_UNLIKELY(is_inited_)) {
43
LOG_WARN("init twice", K(ret), K(tenant_id_));
44
} else if (OB_FAIL(tz_info_mgr_.init())) {
45
LOG_WARN("fail to init tz_info_mgr_", K(ret));
49
LOG_INFO("tenant timezone init", K(ret), K(tenant_id_), K(sizeof(ObTimeZoneInfoManager)));