fix invalid definition for timestamp generated column

This commit is contained in:
yinyj17 2023-02-13 13:12:07 +00:00 committed by ob-robot
parent ff893e6e4f
commit 0a4df972e8
2 changed files with 3 additions and 3 deletions

View File

@ -4123,7 +4123,7 @@ int ObAlterTableResolver::process_timestamp_column(ObColumnResolveStat &stat,
SQL_RESV_LOG(WARN, "fail to set orig default value for alter table", K(ret), K(cur_default_value));
} else if (OB_FAIL(session_info_->get_explicit_defaults_for_timestamp(explicit_value))) {
LOG_WARN("fail to get explicit_defaults_for_timestamp", K(ret));
} else if (true == explicit_value) {
} else if (true == explicit_value || alter_column_schema.is_generated_column()) {
//nothing to do
} else {
alter_column_schema.check_timestamp_column_order_ = true;
@ -5110,7 +5110,7 @@ int ObAlterTableResolver::fill_column_schema_according_stat(const ObColumnResolv
} else if (ObTimestampType == alter_column_schema.get_data_type()) {
if (OB_FAIL(session_info_->get_explicit_defaults_for_timestamp(explicit_value))) {
LOG_WARN("fail to get explicit_defaults_for_timestamp", K(ret));
} else if (!explicit_value) {
} else if (!explicit_value && !alter_column_schema.is_generated_column()) {
alter_column_schema.check_timestamp_column_order_ = true;
}
}

View File

@ -2628,7 +2628,7 @@ int ObResolverUtils::resolve_timestamp_node(const bool is_set_null,
LOG_WARN("session info is NULL", K(ret));
} else if (OB_FAIL(session_info->get_explicit_defaults_for_timestamp(explicit_value))) {
LOG_WARN("fail to get explicit_defaults_for_timestamp", K(ret));
} else if (!explicit_value) {
} else if (!explicit_value && !column.is_generated_column()) {
//(1)每个表的第一个timestamp列,如果没有显式的指定NULL属性,也没有显示的指定default
//系统会自动为该列添加Default current_timestamp、on update current_timestamp属性;
if (is_first_timestamp_column && !is_set_null && !is_set_default && !column.is_on_update_current_timestamp()) {