report error when modify primary key nullable

This commit is contained in:
obdev
2023-02-07 17:53:32 +08:00
committed by ob-robot
parent a9d66dae7a
commit 53aff20b87
2 changed files with 9 additions and 0 deletions

View File

@ -6965,6 +6965,7 @@ int ObDDLService::fill_new_column_attributes(
if (!is_oracle_mode() || alter_column_schema.is_set_default_) {
new_column_schema.set_cur_default_value(alter_column_schema.get_cur_default_value());
}
new_column_schema.set_zero_fill(alter_column_schema.is_zero_fill());
new_column_schema.set_is_hidden(alter_column_schema.is_hidden());
new_column_schema.set_nullable(alter_column_schema.is_nullable());
new_column_schema.set_autoincrement(alter_column_schema.is_autoincrement());

View File

@ -4676,6 +4676,10 @@ int ObAlterTableResolver::resolve_change_column(const ParseNode &node)
&& alter_column_schema.get_cur_default_value().is_null()) {
ret = OB_ERR_PRIMARY_CANT_HAVE_NULL;
LOG_USER_ERROR(OB_ERR_PRIMARY_CANT_HAVE_NULL);
} else if (0 != origin_col_schema->get_rowkey_position()
&& alter_column_schema.is_set_nullable_) {
ret = OB_ERR_PRIMARY_CANT_HAVE_NULL;
LOG_WARN("can't set primary key nullable", K(ret));
} else if (ObGeometryType == origin_col_schema->get_data_type()
&& origin_col_schema->get_geo_type() != alter_column_schema.get_geo_type()) {
ret = OB_NOT_SUPPORTED;
@ -4934,6 +4938,10 @@ int ObAlterTableResolver::resolve_modify_column(const ParseNode &node,
&& alter_column_schema.get_cur_default_value().is_null()) {
ret = OB_ERR_PRIMARY_CANT_HAVE_NULL;
LOG_USER_ERROR(OB_ERR_PRIMARY_CANT_HAVE_NULL);
} else if (0 != origin_col_schema->get_rowkey_position()
&& alter_column_schema.is_set_nullable_) {
ret = OB_ERR_PRIMARY_CANT_HAVE_NULL;
LOG_WARN("can't set primary key nullable", K(ret));
} else if (ObGeometryType == origin_col_schema->get_data_type()
&& origin_col_schema->get_geo_type() != alter_column_schema.get_geo_type()) {
ret = OB_NOT_SUPPORTED;