iceberg-cpp
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
iceberg::rest::RestIncrementalAppendScan Class Reference

An IncrementalAppendScan that delegates PlanFiles() to the REST catalog server. More...

#include <rest_table_scan.h>

Inheritance diagram for iceberg::rest::RestIncrementalAppendScan:
iceberg::IncrementalAppendScan iceberg::IncrementalScan< FileScanTask > iceberg::TableScan

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_
 

Detailed Description

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.

Member Function Documentation

◆ io()

const std::shared_ptr< FileIO > & iceberg::rest::RestIncrementalAppendScan::io ( ) const
overridevirtual

Returns the FileIO with vended credentials if the server returned any during planning; otherwise returns the table's FileIO.

Reimplemented from iceberg::TableScan.

◆ PlanFiles() [1/3]

Result< std::vector< std::shared_ptr< FileScanTask > > > iceberg::IncrementalAppendScan::PlanFiles ( ) const
overridevirtual

Reimplemented from iceberg::IncrementalAppendScan.

◆ PlanFiles() [2/3]

Result< std::vector< std::shared_ptr< FileScanTask > > > iceberg::IncrementalAppendScan::PlanFiles ( std::optional< int64_t >  from_snapshot_id_exclusive,
int64_t  to_snapshot_id_inclusive 
) const
overridevirtual

Reimplemented from iceberg::IncrementalAppendScan.

◆ PlanFiles() [3/3]

Result< std::vector< std::shared_ptr< FileScanTask > > > iceberg::rest::RestIncrementalAppendScan::PlanFiles ( std::optional< int64_t >  from_snapshot_id_exclusive,
int64_t  to_snapshot_id_inclusive 
) const
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.


The documentation for this class was generated from the following file: