2828
2929namespace iceberg {
3030
31- // / \brief Non-template base class for table metadata changes using builder pattern
31+ // / \brief Base class for table metadata changes using builder pattern
3232// /
3333// / This base class allows storing different types of PendingUpdate operations
3434// / in the same collection (e.g., in Transaction). It provides the common Commit()
3535// / interface that all updates share.
3636// /
3737// / This matches the Java Iceberg pattern where BaseTransaction stores a
3838// / List<PendingUpdate> without type parameters.
39- class ICEBERG_EXPORT PendingUpdateBase {
39+ class ICEBERG_EXPORT PendingUpdate {
4040 public:
41- virtual ~PendingUpdateBase () = default ;
41+ virtual ~PendingUpdate () = default ;
4242
4343 // / \brief Apply and commit the pending changes to the table
4444 // /
@@ -53,18 +53,18 @@ class ICEBERG_EXPORT PendingUpdateBase {
5353 virtual Status Commit () = 0;
5454
5555 // Non-copyable, movable
56- PendingUpdateBase (const PendingUpdateBase &) = delete ;
57- PendingUpdateBase & operator =(const PendingUpdateBase &) = delete ;
58- PendingUpdateBase (PendingUpdateBase &&) noexcept = default ;
59- PendingUpdateBase & operator =(PendingUpdateBase &&) noexcept = default ;
56+ PendingUpdate (const PendingUpdate &) = delete ;
57+ PendingUpdate & operator =(const PendingUpdate &) = delete ;
58+ PendingUpdate (PendingUpdate &&) noexcept = default ;
59+ PendingUpdate & operator =(PendingUpdate &&) noexcept = default ;
6060
6161 protected:
62- PendingUpdateBase () = default ;
62+ PendingUpdate () = default ;
6363};
6464
6565// / \brief Template class for type-safe table metadata changes using builder pattern
6666// /
67- // / PendingUpdate extends PendingUpdateBase with a type-safe Apply() method that
67+ // / PendingUpdateTyped extends PendingUpdate with a type-safe Apply() method that
6868// / returns the specific result type for each operation. Subclasses implement
6969// / specific types of table updates such as schema changes, property updates, or
7070// / snapshot-producing operations like appends and deletes.
@@ -74,9 +74,9 @@ class ICEBERG_EXPORT PendingUpdateBase {
7474// /
7575// / \tparam T The type of result returned by Apply()
7676template <typename T>
77- class ICEBERG_EXPORT PendingUpdate : public PendingUpdateBase {
77+ class ICEBERG_EXPORT PendingUpdateTyped : public PendingUpdate {
7878 public:
79- ~PendingUpdate () override = default ;
79+ ~PendingUpdateTyped () override = default ;
8080
8181 // / \brief Apply the pending changes and return the uncommitted result
8282 // /
@@ -88,7 +88,7 @@ class ICEBERG_EXPORT PendingUpdate : public PendingUpdateBase {
8888 virtual Result<T> Apply () = 0;
8989
9090 protected:
91- PendingUpdate () = default ;
91+ PendingUpdateTyped () = default ;
9292};
9393
9494} // namespace iceberg
0 commit comments