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

A scan that reads data files and applies delete files to filter rows. More...

#include <data_table_scan.h>

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

Public Member Functions

Result< std::vector< std::shared_ptr< FileScanTask > > > PlanFiles () const
 Plans the scan tasks by resolving manifests and data files.
 
virtual Result< FileScanTaskStreamPtr > PlanFilesStream () const
 Lazily plans scan tasks by resolving manifests and data files on demand.
 
- 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.
 
virtual const std::shared_ptr< FileIO > & io () const
 Returns the file I/O instance used for reading files.
 
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)
 Constructs a DataTableScan instance.
 

Protected Member Functions

 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

A scan that reads data files and applies delete files to filter rows.

Member Function Documentation

◆ PlanFiles()

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

Plans the scan tasks by resolving manifests and data files.

Collects PlanFilesStream() into a vector.

Returns
A Result containing scan tasks or an error.

◆ PlanFilesStream()

virtual Result< FileScanTaskStreamPtr > iceberg::DataTableScan::PlanFilesStream ( ) const
virtual

Lazily plans scan tasks by resolving manifests and data files on demand.

The returned fallible, single-pass stream owns its planning resources and can outlive this scan. An executor configured through PlanWith() is borrowed and must remain alive until the stream is destroyed, as later Next() calls may submit work to it.

Reimplemented in iceberg::rest::RestTableScan.


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