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

Reply via email to