Fokko commented on code in PR #47: URL: https://github.com/apache/iceberg-cpp/pull/47#discussion_r2007601534
########## src/iceberg/table.h: ########## @@ -19,17 +19,91 @@ #pragma once +#include <map> #include <string> +#include <vector> +#include "iceberg/expected.h" #include "iceberg/iceberg_export.h" +#include "iceberg/type_fwd.h" namespace iceberg { -/// \brief The metadata of an Iceberg table. +/// \brief Represents an Iceberg table class ICEBERG_EXPORT Table { public: virtual ~Table() = default; - virtual std::string print() const = 0; + + /// \brief Return the full name for this table + virtual std::string name() const = 0; + + /// \brief Returns the UUID of the table + virtual std::string uuid() const = 0; + + /// \brief Refresh the current table metadata + virtual void Refresh() = 0; Review Comment: Maybe good to also look at PyIceberg, where we left out the `TableOperations`. There is more abstraction in Java because supports [File System tables](https://iceberg.apache.org/spec/#file-system-tables). In PyIceberg we've designed everything around the catalog. The `refresh` operation will refresh the `TableMetadata` that (de)serializes from/into the JSON metadata. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org For additional commands, e-mail: issues-h...@iceberg.apache.org