fix mv refresh sql execution in oracle mode

This commit is contained in:
haitaoyang 2024-11-22 12:45:42 +00:00 committed by ob-robot
parent e19b90c9ad
commit 86e1a736fe
2 changed files with 7 additions and 3 deletions

View File

@ -303,7 +303,7 @@ int ObMviewCompactionHelper::create_inner_session(
LOG_WARN("Failed to init tenant in session", K(ret), K(tenant_id), K(database_id));
} else if (OB_FAIL(session->set_default_database(database_schema->get_database_name()))) {
LOG_WARN("Failed to set default database", K(ret), K(tenant_id), K(database_id));
} else if (OB_FAIL(set_params_to_session(session))) {
} else if (OB_FAIL(set_params_to_session(is_oracle_mode, session))) {
LOG_WARN("Failed to set params to session", K(ret));
} else {
session->set_inner_session();
@ -355,7 +355,7 @@ void ObMviewCompactionHelper::release_inner_connection(common::sqlclient::ObISQL
}
}
int ObMviewCompactionHelper::set_params_to_session(sql::ObSQLSessionInfo *session)
int ObMviewCompactionHelper::set_params_to_session(const bool is_oracle_mode, sql::ObSQLSessionInfo *session)
{
int ret = OB_SUCCESS;
ObObj param_val;
@ -365,6 +365,10 @@ int ObMviewCompactionHelper::set_params_to_session(sql::ObSQLSessionInfo *sessio
param_val.set_int(ObConsistencyLevel::WEAK);
OZ(session->update_sys_variable(SYS_VAR_OB_READ_CONSISTENCY, param_val));
}
if (OB_SUCC(ret)) {
param_val.set_int(is_oracle_mode ? ObCompatibilityMode::ORACLE_MODE : ObCompatibilityMode::MYSQL_MODE);
OZ(session->update_sys_variable(SYS_VAR_OB_COMPATIBILITY_MODE, param_val));
}
if (OB_SUCC(ret)) {
ObObj result_val;
if (OB_FAIL(session->get_sys_variable(SYS_VAR_OB_QUERY_TIMEOUT, result_val))) {

View File

@ -137,7 +137,7 @@ public:
static void release_inner_session(sql::ObFreeSessionCtx &free_session_ctx, sql::ObSQLSessionInfo *&session);
static int create_inner_connection(sql::ObSQLSessionInfo *session, common::sqlclient::ObISQLConnection *&connection);
static void release_inner_connection(common::sqlclient::ObISQLConnection *&connection);
static int set_params_to_session(sql::ObSQLSessionInfo *session);
static int set_params_to_session(bool is_oracle_mode, sql::ObSQLSessionInfo *session);
static int validate_row_count(const ObMergeParameter &merge_param, const int64_t major_row_count);
private:
static int convert_datum_range(