|
iceberg-cpp
|
An IncrementalAppendScan that delegates PlanFiles() to the REST catalog server. More...
#include <rest_table_scan.h>
Public Member Functions | |
| const std::shared_ptr< FileIO > & | io () const override |
| Returns the FileIO with vended credentials if the server returned any during planning; otherwise returns the table's FileIO. | |
| Result< std::vector< std::shared_ptr< FileScanTask > > > | PlanFiles () const override |
| Result< std::vector< std::shared_ptr< FileScanTask > > > | PlanFiles (std::optional< int64_t > from_snapshot_id_exclusive, int64_t to_snapshot_id_inclusive) const override |
Public Member Functions inherited from iceberg::TableScan | |
| const std::shared_ptr< TableMetadata > & | metadata () const |
| Returns the table metadata being scanned. | |
| Result< std::shared_ptr< Snapshot > > | snapshot () const |
| Returns the snapshot to scan. If there is no snapshot, returns nullptr. | |
| Result< std::shared_ptr< Schema > > | schema () const |
| Returns the projected schema for the scan. | |
| const internal::TableScanContext & | context () const |
| Returns the scan context. | |
| const std::shared_ptr< Expression > & | filter () const |
| Returns this scan's filter expression. | |
| bool | is_case_sensitive () const |
| Returns whether this scan is case-sensitive. | |
Static Public Member Functions | |
| static Result< std::unique_ptr< IncrementalAppendScan > > | Make (std::shared_ptr< TableMetadata > metadata, std::shared_ptr< Schema > schema, std::shared_ptr< FileIO > io, internal::TableScanContext context, std::shared_ptr< const RestScanContext > rest_context) |
Static Public Member Functions inherited from iceberg::IncrementalAppendScan | |
| static Result< std::unique_ptr< IncrementalAppendScan > > | Make (std::shared_ptr< TableMetadata > metadata, std::shared_ptr< Schema > schema, std::shared_ptr< FileIO > io, internal::TableScanContext context) |
| Constructs an IncrementalAppendScan instance. | |
Protected Member Functions | |
| Result< std::vector< std::shared_ptr< FileScanTask > > > | PlanFiles (std::optional< int64_t > from_snapshot_id_exclusive, int64_t to_snapshot_id_inclusive) const override |
| Plans files via the REST scan planning endpoints. | |
Protected Member Functions inherited from iceberg::IncrementalScan< FileScanTask > | |
| TableScan (std::shared_ptr< TableMetadata > metadata, std::shared_ptr< Schema > schema, std::shared_ptr< FileIO > io, internal::TableScanContext context) | |
Protected Member Functions inherited from iceberg::TableScan | |
| TableScan (std::shared_ptr< TableMetadata > metadata, std::shared_ptr< Schema > schema, std::shared_ptr< FileIO > io, internal::TableScanContext context) | |
| Result< std::reference_wrapper< const std::shared_ptr< Schema > > > | ResolveProjectedSchema () const |
| virtual const std::vector< std::string > & | ScanColumns () const |
Additional Inherited Members | |
Protected Attributes inherited from iceberg::TableScan | |
| const std::shared_ptr< TableMetadata > | metadata_ |
| const std::shared_ptr< Schema > | schema_ |
| const std::shared_ptr< FileIO > | io_ |
| const internal::TableScanContext | context_ |
| std::shared_ptr< Schema > | projected_schema_ |
An IncrementalAppendScan that delegates PlanFiles() to the REST catalog server.
Scans without an exclusive start snapshot, including an inclusive root snapshot, return NotSupported.
IncrementalChangelogScan is not delegated because the REST planTableScan response only carries FileScanTask objects; reconstructing ChangelogScanTask entries (AddedRowsScanTask vs DeletedDataFileScanTask) requires per-snapshot operation metadata that the server does not return. Changelog scans always plan locally.
|
overridevirtual |
Returns the FileIO with vended credentials if the server returned any during planning; otherwise returns the table's FileIO.
Reimplemented from iceberg::TableScan.
|
overridevirtual |
Reimplemented from iceberg::IncrementalAppendScan.
|
overridevirtual |
Reimplemented from iceberg::IncrementalAppendScan.
|
overrideprotectedvirtual |
Plans files via the REST scan planning endpoints.
Plan tasks are fetched serially; an executor set via PlanWith() is not used.
Reimplemented from iceberg::IncrementalAppendScan.