@@ -38,8 +38,6 @@ namespace iceberg {
3838// / specified by the Iceberg Rest Catalog API.
3939class ICEBERG_EXPORT Catalog {
4040 public:
41- class TableBuilder ;
42-
4341 virtual ~Catalog () = default ;
4442
4543 // / \brief Return the name for this catalog
@@ -178,15 +176,6 @@ class ICEBERG_EXPORT Catalog {
178176 virtual Result<std::shared_ptr<Table>> RegisterTable (
179177 const TableIdentifier& identifier, const std::string& metadata_file_location) = 0;
180178
181- // / \brief Instantiate a builder to either create a table or start a create/replace
182- // / transaction
183- // /
184- // / \param identifier a table identifier
185- // / \param schema a schema
186- // / \return the builder to create a table or start a create/replace transaction
187- virtual std::unique_ptr<TableBuilder> BuildTable (const TableIdentifier& identifier,
188- const Schema& schema) const = 0;
189-
190179 // / \brief A builder used to create valid tables or start create/replace transactions
191180 class TableBuilder {
192181 public:
@@ -235,6 +224,15 @@ class ICEBERG_EXPORT Catalog {
235224 // / \return the Transaction to create the table
236225 virtual std::unique_ptr<Transaction> StageCreate () = 0;
237226 };
227+
228+ // / \brief Instantiate a builder to either create a table or start a create/replace
229+ // / transaction
230+ // /
231+ // / \param identifier a table identifier
232+ // / \param schema a schema
233+ // / \return the builder to create a table or start a create/replace transaction
234+ virtual std::unique_ptr<TableBuilder> BuildTable (const TableIdentifier& identifier,
235+ const Schema& schema) const = 0;
238236};
239237
240238} // namespace iceberg
0 commit comments