提交 9d616dfd 编写于 作者: S SevenJ-swj 提交者: ob-robot

fix data version

上级 6806d5da
......@@ -31476,12 +31476,12 @@ int ObDDLService::grant_revoke_user(
LOG_WARN("failed to get tenant schema version", KR(ret), K(tenant_id));
} else if (OB_FAIL(GET_MIN_DATA_VERSION(tenant_id, compat_version))) {
LOG_WARN("fail to get data version", K(ret), K(tenant_id));
} else if (!ObSQLUtils::is_data_version_ge_423_or_431(compat_version) && !is_ora_mode
} else if (!ObSQLUtils::is_data_version_ge_422_or_431(compat_version) && !is_ora_mode
&& (0 != (priv_set & OB_PRIV_EXECUTE) ||
0 != (priv_set & OB_PRIV_ALTER_ROUTINE) ||
0 != (priv_set & OB_PRIV_CREATE_ROUTINE))) {
ret = OB_NOT_SUPPORTED;
LOG_WARN("some column of user info is not empty when MIN_DATA_VERSION is below DATA_VERSION_4_3_1_0 or DATA_VERSION_4_2_3_0", K(ret), K(priv_set));
LOG_WARN("some column of user info is not empty when MIN_DATA_VERSION is below DATA_VERSION_4_3_1_0 or DATA_VERSION_4_2_2_0", K(ret), K(priv_set));
} else if (OB_FAIL(trans.start(sql_proxy_, tenant_id, refreshed_schema_version))) {
LOG_WARN("Start transaction failed", KR(ret), K(tenant_id), K(refreshed_schema_version));
} else {
......@@ -31966,12 +31966,12 @@ int ObDDLService::revoke_database(
LOG_WARN("fail to check is oracle mode", K(ret));
} else if (OB_FAIL(GET_MIN_DATA_VERSION(tenant_id, compat_version))) {
LOG_WARN("fail to get data version", K(ret), K(tenant_id));
} else if (!ObSQLUtils::is_data_version_ge_423_or_431(compat_version) && !is_ora_mode
} else if (!ObSQLUtils::is_data_version_ge_422_or_431(compat_version) && !is_ora_mode
&& (0 != (priv_set & OB_PRIV_EXECUTE) ||
0 != (priv_set & OB_PRIV_ALTER_ROUTINE) ||
0 != (priv_set & OB_PRIV_CREATE_ROUTINE))) {
ret = OB_NOT_SUPPORTED;
LOG_WARN("some column of user info is not empty when MIN_DATA_VERSION is below DATA_VERSION_4_3_1_0 or DATA_VERSION_4_2_3_0", K(ret), K(priv_set));
LOG_WARN("some column of user info is not empty when MIN_DATA_VERSION is below DATA_VERSION_4_3_1_0 or DATA_VERSION_4_2_2_0", K(ret), K(priv_set));
} else if (OB_FAIL(get_tenant_schema_guard_with_version_in_inner_table(tenant_id, schema_guard))) {
LOG_WARN("fail to get schema guard with version in inner table", K(ret), K(tenant_id));
} else {
......@@ -32465,9 +32465,9 @@ int ObDDLService::revoke_routine(
LOG_WARN("variable is not init");
} else if (OB_FAIL(GET_MIN_DATA_VERSION(tenant_id, compat_version))) {
LOG_WARN("fail to get data version", K(ret), K(tenant_id));
} else if (!ObSQLUtils::is_data_version_ge_423_or_431(compat_version)) {
} else if (!ObSQLUtils::is_data_version_ge_422_or_431(compat_version)) {
ret = OB_NOT_SUPPORTED;
LOG_WARN("version lower than 4.3.1 or 4.2.3 does not support this operation", K(ret));
LOG_WARN("version lower than 4.3.1 or 4.2.2 does not support this operation", K(ret));
} else if (!routine_key.is_valid()) {
ret = OB_INVALID_ARGUMENT;
LOG_WARN("routine_key is invalid", K(routine_key), K(ret));
......@@ -32525,9 +32525,9 @@ int ObDDLService::grant_routine(
LOG_WARN("variable is not init", KR(ret));
} else if (OB_FAIL(GET_MIN_DATA_VERSION(tenant_id, compat_version))) {
LOG_WARN("fail to get data version", K(ret), K(tenant_id));
} else if (!ObSQLUtils::is_data_version_ge_423_or_431(compat_version)) {
} else if (!ObSQLUtils::is_data_version_ge_422_or_431(compat_version)) {
ret = OB_NOT_SUPPORTED;
LOG_WARN("version lower than 4.3.1 or 4.2.3 does not support this operation", K(ret));
LOG_WARN("version lower than 4.3.1 or 4.2.2 does not support this operation", K(ret));
} else if (OB_FAIL(schema_guard.get_schema_version(tenant_id, refreshed_schema_version))) {
LOG_WARN("failed to get tenant schema version", KR(ret), K(tenant_id));
} else if (!routine_key.is_valid()) {
......@@ -32981,7 +32981,7 @@ int ObDDLService::create_routine(ObRoutineInfo &routine_info,
LOG_WARN("failed to get compat mode", K(ret), K(tenant_id));
} else if (OB_FAIL(GET_MIN_DATA_VERSION(tenant_id, data_version))) {
LOG_WARN("fail to get data version", K(tenant_id));
} else if (ObSQLUtils::is_data_version_ge_423_or_431(data_version) && lib::Worker::CompatMode::MYSQL == compat_mode) {
} else if (ObSQLUtils::is_data_version_ge_422_or_431(data_version) && lib::Worker::CompatMode::MYSQL == compat_mode) {
const ObSysVarSchema *sys_var = NULL;
ObMalloc alloc(ObModIds::OB_TEMP_VARIABLES);
ObObj val;
......@@ -33105,7 +33105,7 @@ int ObDDLService::drop_routine(const ObRoutineInfo &routine_info,
LOG_WARN("failed to get compat mode", K(ret), K(tenant_id));
} else if (OB_FAIL(GET_MIN_DATA_VERSION(tenant_id, data_version))) {
LOG_WARN("fail to get data version", K(tenant_id));
} else if (ObSQLUtils::is_data_version_ge_423_or_431(data_version) && lib::Worker::CompatMode::MYSQL == compat_mode) {
} else if (ObSQLUtils::is_data_version_ge_422_or_431(data_version) && lib::Worker::CompatMode::MYSQL == compat_mode) {
const ObSysVarSchema *sys_var = NULL;
ObMalloc alloc(ObModIds::OB_TEMP_VARIABLES);
ObObj val;
......@@ -301,9 +301,9 @@ int ObPrivSqlService::grant_routine(
uint64_t compat_version = 0;
if (OB_FAIL(GET_MIN_DATA_VERSION(tenant_id, compat_version))) {
LOG_WARN("fail to get data version", KR(ret), K(tenant_id));
} else if (!ObSQLUtils::is_data_version_ge_423_or_431(compat_version)) {
} else if (!ObSQLUtils::is_data_version_ge_422_or_431(compat_version)) {
ret = OB_NOT_SUPPORTED;
LOG_WARN("grant/revoke routine priv is not suppported when tenant's data version is below 4.3.1.0 or 4.2.3.0", KR(ret));
LOG_WARN("grant/revoke routine priv is not suppported when tenant's data version is below 4.3.1.0 or 4.2.2.0", KR(ret));
} else if (!routine_priv_key.is_valid()) {
ret = OB_INVALID_ARGUMENT;
LOG_WARN("invalid arguments", K(routine_priv_key), K(ret));
......@@ -918,9 +918,9 @@ int ObPrivSqlService::gen_routine_priv_dml(
uint64_t compat_version = 0;
if (OB_FAIL(GET_MIN_DATA_VERSION(exec_tenant_id, compat_version))) {
LOG_WARN("fail to get data version", KR(ret), K(exec_tenant_id));
} else if (!ObSQLUtils::is_data_version_ge_423_or_431(compat_version)) {
} else if (!ObSQLUtils::is_data_version_ge_422_or_431(compat_version)) {
ret = OB_NOT_SUPPORTED;
LOG_WARN("all routine priv is not suppported when tenant's data version is below 4.3.1.0 or 4.2.3.0", KR(ret));
LOG_WARN("all routine priv is not suppported when tenant's data version is below 4.3.1.0 or 4.2.2.0", KR(ret));
} else {
if ((priv_set & OB_PRIV_EXECUTE) != 0) { all_priv |= 1; }
if ((priv_set & OB_PRIV_ALTER_ROUTINE) != 0) { all_priv |= 2; }
......@@ -969,10 +969,10 @@ int ObPrivSqlService::gen_db_priv_dml(
|| OB_FAIL(dml.add_column("PRIV_SHOW_VIEW", priv_set & OB_PRIV_SHOW_VIEW ? 1 : 0))
|| OB_FAIL(dml.add_gmt_modified())) {
LOG_WARN("add column failed", K(ret));
} else if (!sql::ObSQLUtils::is_data_version_ge_423_or_431(compat_version)) {
} else if (!sql::ObSQLUtils::is_data_version_ge_422_or_431(compat_version)) {
if (priv_others != 0) {
ret = OB_NOT_SUPPORTED;
LOG_WARN("priv others is not suppported when tenant's data version is below 4.3.1.0 or 4.2.3.0", KR(ret));
LOG_WARN("priv others is not suppported when tenant's data version is below 4.3.1.0 or 4.2.2.0", KR(ret));
}
} else if (OB_FAIL(dml.add_column("PRIV_OTHERS", priv_others))) {
LOG_WARN("add column failed", K(ret));
......
......@@ -883,10 +883,10 @@ int ObUserSqlService::gen_user_dml(
if ((user.get_priv_set() & OB_PRIV_CREATE_ROUTINE) != 0) { priv_others |= 4; }
}
if (OB_FAIL(ret)) {
} else if (!sql::ObSQLUtils::is_data_version_ge_423_or_431(compat_version)) {
} else if (!sql::ObSQLUtils::is_data_version_ge_422_or_431(compat_version)) {
if (priv_others != 0) {
ret = OB_NOT_SUPPORTED;
LOG_WARN("some column of user info is not empty when MIN_DATA_VERSION is below DATA_VERSION_4_3_1_0 or DATA_VERSION_4_2_3_0", K(ret), K(user.get_priv(OB_PRIV_EXECUTE)), K(user.get_priv(OB_PRIV_ALTER_ROUTINE)), K(user.get_priv(OB_PRIV_CREATE_ROUTINE)));
LOG_WARN("some column of user info is not empty when MIN_DATA_VERSION is below DATA_VERSION_4_3_1_0 or DATA_VERSION_4_2_2_0", K(ret), K(user.get_priv(OB_PRIV_EXECUTE)), K(user.get_priv(OB_PRIV_ALTER_ROUTINE)), K(user.get_priv(OB_PRIV_CREATE_ROUTINE)));
}
} else if (OB_FAIL(dml.add_column("PRIV_OTHERS", priv_others))) {
LOG_WARN("add PRIV_OTHERS column failed", K(priv_others), K(ret));
......
......@@ -1322,9 +1322,9 @@ int ObGrantResolver::resolve_mysql(const ParseNode &parse_tree)
grant_level = OB_PRIV_TABLE_LEVEL;
} else if (OB_FAIL(GET_MIN_DATA_VERSION(tenant_id, compat_version))) {
LOG_WARN("fail to get data version", K(tenant_id));
} else if (!sql::ObSQLUtils::is_data_version_ge_423_or_431(compat_version)) {
} else if (!sql::ObSQLUtils::is_data_version_ge_422_or_431(compat_version)) {
ret = OB_NOT_SUPPORTED;
LOG_WARN("grammar is not support when MIN_DATA_VERSION is below DATA_VERSION_4_3_1_0 or 4_2_3_0", K(ret));
LOG_WARN("grammar is not support when MIN_DATA_VERSION is below DATA_VERSION_4_3_1_0 or 4_2_2_0", K(ret));
} else if (priv_object_node->value_ == 2) {
grant_level = OB_PRIV_ROUTINE_LEVEL;
} else if (priv_object_node->value_ == 3) {
......@@ -1407,12 +1407,12 @@ int ObGrantResolver::resolve_mysql(const ParseNode &parse_tree)
LOG_WARN("Resolve priv set error", K(ret));
} else if (OB_FAIL(GET_MIN_DATA_VERSION(tenant_id, compat_version))) {
LOG_WARN("fail to get data version", K(tenant_id));
} else if (!sql::ObSQLUtils::is_data_version_ge_423_or_431(compat_version)) {
} else if (!sql::ObSQLUtils::is_data_version_ge_422_or_431(compat_version)) {
if ((priv_set & OB_PRIV_EXECUTE) != 0 ||
(priv_set & OB_PRIV_ALTER_ROUTINE) != 0 ||
(priv_set & OB_PRIV_CREATE_ROUTINE) != 0) {
ret = OB_NOT_SUPPORTED;
LOG_WARN("grammar is not support when MIN_DATA_VERSION is below DATA_VERSION_4_3_1_0 or 4_2_3_0", K(ret));
LOG_WARN("grammar is not support when MIN_DATA_VERSION is below DATA_VERSION_4_3_1_0 or 4_2_2_0", K(ret));
}
}
if (OB_FAIL(ret)) {
......
......@@ -408,9 +408,9 @@ int ObRevokeResolver::resolve_mysql(const ParseNode &parse_tree)
grant_level = OB_PRIV_TABLE_LEVEL;
} else if (OB_FAIL(GET_MIN_DATA_VERSION(tenant_id, compat_version))) {
LOG_WARN("fail to get data version", K(tenant_id));
} else if (!sql::ObSQLUtils::is_data_version_ge_423_or_431(compat_version)) {
} else if (!sql::ObSQLUtils::is_data_version_ge_422_or_431(compat_version)) {
ret = OB_NOT_SUPPORTED;
LOG_WARN("grammar is not support when MIN_DATA_VERSION is below DATA_VERSION_4_3_1_0 or 4_2_3_0", K(ret));
LOG_WARN("grammar is not support when MIN_DATA_VERSION is below DATA_VERSION_4_3_1_0 or 4_2_2_0", K(ret));
} else if (priv_object_node->value_ == 2) {
grant_level = OB_PRIV_ROUTINE_LEVEL;
revoke_stmt->set_object_type(ObObjectType::PROCEDURE);
......@@ -458,12 +458,12 @@ int ObRevokeResolver::resolve_mysql(const ParseNode &parse_tree)
LOG_WARN("Resolve priv set error", K(ret));
} else if (OB_FAIL(GET_MIN_DATA_VERSION(tenant_id, compat_version))) {
LOG_WARN("fail to get data version", K(tenant_id));
} else if (!sql::ObSQLUtils::is_data_version_ge_423_or_431(compat_version)) {
} else if (!sql::ObSQLUtils::is_data_version_ge_422_or_431(compat_version)) {
if ((priv_set & OB_PRIV_EXECUTE) != 0 ||
(priv_set & OB_PRIV_ALTER_ROUTINE) != 0 ||
(priv_set & OB_PRIV_CREATE_ROUTINE) != 0) {
ret = OB_NOT_SUPPORTED;
LOG_WARN("grammar is not support when MIN_DATA_VERSION is below DATA_VERSION_4_3_1_0 or 4_2_3_0", K(ret));
LOG_WARN("grammar is not support when MIN_DATA_VERSION is below DATA_VERSION_4_3_1_0 or 4_2_2_0", K(ret));
}
}
if (OB_FAIL(ret)) {
......
......@@ -1678,8 +1678,6 @@ int ObCreateViewResolver::add_column_infos(const uint64_t tenant_id,
OB_FAIL(resolve_column_default_value(&select_stmt, select_item, column, alloc, session_info))) {
// oracle mode has default expr value, not support now
LOG_WARN("add column to table_schema failed", K(ret), K(column));
} else if (OB_FAIL(resolve_columns_nullable_value(&select_stmt, table_schema, select_item, column, alloc, session_info, &schema_guard))){
LOG_WARN("failed to add column nullable info", K(ret));
} else if (OB_FAIL(table_schema.add_column(column))) {
LOG_WARN("add column to table_schema failed", K(ret), K(column));
} else {
......
......@@ -3154,7 +3154,7 @@ bool ObSchemaChecker::enable_mysql_pl_priv_check(int64_t tenant_id, ObSchemaGett
int ret = OB_SUCCESS;
if (OB_FAIL(GET_MIN_DATA_VERSION(tenant_id, compat_version))) {
LOG_WARN("fail to get data version", K(tenant_id));
} else if (lib::is_mysql_mode() && sql::ObSQLUtils::is_data_version_ge_423_or_431(compat_version)) {
} else if (lib::is_mysql_mode() && sql::ObSQLUtils::is_data_version_ge_422_or_431(compat_version)) {
const ObSysVarSchema *sys_var = NULL;
ObMalloc alloc(ObModIds::OB_TEMP_VARIABLES);
ObObj val;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册