|
iceberg-cpp
|
A metadata table backed by a source Iceberg table. More...
#include <metadata_table.h>
Public Types | |
| using | Kind = MetadataTableKind |
Public Member Functions | |
| virtual Kind | kind () const noexcept=0 |
| Return this metadata table's kind. | |
| virtual const std::shared_ptr< Schema > & | schema () const =0 |
| Return the complete canonical schema of this metadata table. | |
| const std::shared_ptr< const Table > & | source_table () const |
| Return the source table whose metadata is exposed. | |
| virtual Result< std::unique_ptr< MetadataScanBuilder > > | NewScan () const |
| Capture the source metadata and create a scan builder. | |
Static Public Member Functions | |
| static Result< std::unique_ptr< MetadataTable > > | Make (std::shared_ptr< const Table > table, Kind kind) |
| Create a metadata table; unsupported kinds return NotImplemented. | |
|
template<typename MetadataTableType > requires std::derived_from<MetadataTableType, MetadataTable> | |
| static Result< std::unique_ptr< MetadataTableType > > | Make (std::shared_ptr< const Table > table) |
| Create a specific metadata table from its concrete class. | |
Protected Member Functions | |
| MetadataTable (std::shared_ptr< const Table > source_table) | |
| virtual Result< std::unique_ptr< MetadataScan > > | MakeScan (internal::MetadataScanContext context) const =0 |
| Plan a scan using the captured metadata, projection, and snapshot selection. | |
Friends | |
| class | MetadataScanBuilder |
A metadata table backed by a source Iceberg table.
|
pure virtualnoexcept |
Return this metadata table's kind.
Implemented in iceberg::HistoryTable, iceberg::RefsTable, and iceberg::SnapshotsTable.
|
protectedpure virtual |
Plan a scan using the captured metadata, projection, and snapshot selection.
Implemented in iceberg::HistoryTable, iceberg::RefsTable, and iceberg::SnapshotsTable.
|
virtual |
Capture the source metadata and create a scan builder.
This metadata table must outlive the builder. Built scans retain their own inputs and can outlive both tables.
|
pure virtual |
Return the complete canonical schema of this metadata table.
Implemented in iceberg::HistoryTable, iceberg::RefsTable, and iceberg::SnapshotsTable.