diff --git a/src/share/schema/ob_table_schema.cpp b/src/share/schema/ob_table_schema.cpp index 42f87fbdfe..f71efc296d 100644 --- a/src/share/schema/ob_table_schema.cpp +++ b/src/share/schema/ob_table_schema.cpp @@ -7988,7 +7988,12 @@ int ObColumnIterByPrevNextID::next(const ObColumnSchemaV2 *&column_schema) } } else { if (OB_ISNULL(last_column_schema_)) { - column_schema = get_first_column(); + if (table_schema_.is_sys_view() && 0 == table_schema_.get_column_count()) { + is_end_ = true; + ret = OB_ITER_END; + } else { + column_schema = get_first_column(); + } } else if (BORDER_COLUMN_ID == last_column_schema_->get_next_column_id()) { is_end_ = true; ret = OB_ITER_END; diff --git a/src/sql/resolver/ddl/ob_alter_table_resolver.cpp b/src/sql/resolver/ddl/ob_alter_table_resolver.cpp index 605f43038a..6b4edebc62 100644 --- a/src/sql/resolver/ddl/ob_alter_table_resolver.cpp +++ b/src/sql/resolver/ddl/ob_alter_table_resolver.cpp @@ -272,6 +272,8 @@ int ObAlterTableResolver::resolve(const ParseNode &parse_tree) if (OB_FAIL(ret)) { } else if (OB_FAIL(schema_guard->get_database_id(alter_table_stmt->get_tenant_id(), database_name, database_id))) { LOG_WARN("fail to get database id", K(ret), K(alter_table_stmt->get_tenant_id()), K(database_name)); + } else if (OB_INVALID_ID == database_id) { + // do nothing } else if (OB_FAIL(schema_checker_->get_mock_fk_parent_table_with_name( session_info_->get_effective_tenant_id(), database_id, new_table_name, mock_parent_table_schema))) {