wgtmac commented on code in PR #47: URL: https://github.com/apache/iceberg-cpp/pull/47#discussion_r2007103603
########## 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: > I was thinking Table would be a wrapper around already-parsed data, and so to refresh the table I think you are referring to `SerializableTable` in the java impl. I think a Table abstraction is still needed because we want to differentiate a real table versus metadata table. Table internally holds a `TableOperations` object which offloads all I/O operations to the implementation. -- 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