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

A DataTableScan that delegates PlanFilesStream() to the REST catalog server via the scan planning endpoints (planTableScan / fetchPlanningResult / cancelPlanning / fetchScanTasks). More...

#include <rest_table_scan.h>

Inheritance diagram for iceberg::rest::RestTableScan:
iceberg::DataTableScan iceberg::TableScan

Public Member Functions

Result< FileScanTaskStreamPtr > PlanFilesStream () const override
 Plans files lazily via the REST scan planning endpoints.
 
const std::shared_ptr< FileIO > & io () const override
 Returns the effective FileIO for reading scan results.
 
- Public Member Functions inherited from iceberg::DataTableScan
Result< std::vector< std::shared_ptr< FileScanTask > > > PlanFiles () const
 Plans the scan tasks by resolving manifests and data files.
 
- 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< DataTableScan > > 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)
 Create a point-in-time scan. Incremental ranges must use RestIncrementalAppendScan.
 
- Static Public Member Functions inherited from iceberg::DataTableScan
static Result< std::unique_ptr< DataTableScan > > Make (std::shared_ptr< TableMetadata > metadata, std::shared_ptr< Schema > schema, std::shared_ptr< FileIO > io, internal::TableScanContext context)
 Constructs a DataTableScan instance.
 

Additional Inherited Members

- Protected Member Functions inherited from iceberg::DataTableScan
 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
 
- 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

A DataTableScan that delegates PlanFilesStream() to the REST catalog server via the scan planning endpoints (planTableScan / fetchPlanningResult / cancelPlanning / fetchScanTasks).

Member Function Documentation

◆ io()

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

Returns the effective FileIO for reading scan results.

If the server vended storage credentials during planning, returns a FileIO initialised with those credentials; otherwise returns the table's FileIO.

Reimplemented from iceberg::TableScan.

◆ PlanFilesStream()

Result< FileScanTaskStreamPtr > iceberg::rest::RestTableScan::PlanFilesStream ( ) const
overridevirtual

Plans files lazily via the REST scan planning endpoints.

Plan tasks are fetched serially; an executor set via PlanWith() is not used.

Reimplemented from iceberg::DataTableScan.


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