The GitHub Actions job "Test" on iceberg-cpp.git/ExpireSnapshots has succeeded.
Run started by GitHub user shangxinli (triggered by shangxinli).

Head commit for run:
015c47711d85dfedfb6cf268358823256be67c69 / Xinli Shang <[email protected]>
feat: add ExpireSnapshots as concrete class

Add ExpireSnapshots as a concrete implementation extending
PendingUpdateTyped, following Gang's suggestion to avoid pure
interfaces when there's only one implementation.

Changes:
- ExpireSnapshots is now a concrete class (not pure interface)
- Builder methods (ExpireSnapshotId, ExpireOlderThan, etc.) are
  non-virtual for performance
- Apply() and Commit() remain virtual (from PendingUpdateTyped)
- Added placeholder implementations in expire_snapshots.cc
- Updated tests to use concrete class directly
- Added source file to CMakeLists.txt and meson.build

This design provides:
- Simpler one-class implementation (vs interface + impl)
- No virtual function overhead for builder methods
- Still polymorphic through PendingUpdate base (for Transaction)
- Maintains fluent API and type safety

Full implementation of Apply() and Commit() will be added in
follow-up PRs.

Report URL: https://github.com/apache/iceberg-cpp/actions/runs/19775719483

With regards,
GitHub Actions via GitBox

Reply via email to