report error when modify primary key nullable
This commit is contained in:
@ -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());
|
||||
|
||||
@ -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;
|
||||
|
||||
Reference in New Issue
Block a user