|
iceberg-cpp
|
Core Apache Iceberg C++ APIs. More...
Namespaces | |
| namespace | arrow |
| Arrow-backed IO and data conversion APIs. | |
| namespace | avro |
| Avro reader, writer, and metadata APIs. | |
| namespace | hive |
| Hive catalog APIs. | |
| namespace | parquet |
| Parquet reader, writer, and registration APIs. | |
| namespace | puffin |
| Puffin file metadata, reader, and writer APIs. | |
| namespace | rest |
| REST catalog APIs. | |
| namespace | retry |
| Retry policy APIs. | |
| namespace | sql |
| SQL catalog APIs. | |
| namespace | table |
| Table update requirement APIs. | |
| namespace | util |
| Utility APIs. | |
Classes | |
| class | AddedRowsScanTask |
| A scan task for inserts generated by adding a data file to the table. More... | |
| class | Aggregate |
| Base aggregate holding an operation and a term. More... | |
| class | AggregateEvaluator |
| Evaluates bound aggregates over StructLike data. More... | |
| struct | AliveRowSelection |
| Result of ComputeAliveRows: indices of rows not matched by any delete. More... | |
| class | And |
| An Expression that represents a logical AND operation between two expressions. More... | |
| class | ArrayLike |
| An immutable array-like wrapper. More... | |
| class | ArrowArrayArrayLike |
| Wrapper for one row of a list-typed ArrowArray. More... | |
| class | ArrowArrayMapLike |
| Wrapper for one row of a map-typed ArrowArray. More... | |
| class | ArrowArrayStructLike |
| Wrapper for one row of a struct-typed ArrowArray. More... | |
| class | AssignFreshIdVisitor |
| Assigns fresh IDs to all fields in the schema. More... | |
| class | Base64 |
| Utilities for base64 and base64url encoding and decoding. More... | |
| class | BaseInheritableMetadata |
| Base implementation of InheritableMetadata that handles standard inheritance rules. More... | |
| class | BinaryType |
| A data type representing an arbitrary-length byte sequence. More... | |
| class | Binder |
| struct | BlobMetadata |
| Metadata about a statistics or indices blob. More... | |
| class | BooleanType |
| A data type representing a boolean (true or false). More... | |
| class | Bound |
| Interface for bound expressions that can be evaluated. More... | |
| class | BoundAggregate |
| Base class for bound aggregates. More... | |
| class | BoundingBox |
| A pair of lower and upper geospatial column bounds. More... | |
| class | BoundLiteralPredicate |
| Bound literal predicate (comparison against a single value). More... | |
| class | BoundPredicate |
| Bound predicates contain bound terms and can be evaluated. More... | |
| class | BoundReference |
| A reference to a bound field. More... | |
| class | BoundSetPredicate |
| Bound set predicate (membership testing against a set of values). More... | |
| class | BoundTerm |
| Base class for bound terms. More... | |
| class | BoundTransform |
| A bound transform expression. More... | |
| class | BoundUnaryPredicate |
| Bound unary predicate (null, not-null, etc.). More... | |
| class | BoundVisitor |
| Visitor for bound expressions. More... | |
| class | BucketTransform |
| Bucket transform that hashes input values into N buckets. More... | |
| class | BucketUtils |
| class | Catalog |
| A Catalog API for table create, drop, and load operations. More... | |
| class | CatalogUtil |
| Utilities for working with catalogs. More... | |
| class | CerrLogger |
| Logger that writes one line per record to std::cerr. More... | |
| class | ChangelogScanTask |
| A scan task for reading changelog entries between snapshots. More... | |
| class | CommitMetrics |
| Live commit metrics collected during a table commit operation. More... | |
| struct | CommitMetricsResult |
| Immutable snapshot of commit metrics for use in CommitReport. More... | |
| struct | CommitReport |
| Report generated after a commit operation. More... | |
| class | CompositeMetricsReporter |
| A MetricsReporter that delegates to multiple reporters. More... | |
| class | ConfigBase |
| struct | ContentFileUtil |
| Utility functions for content files. More... | |
| class | Conversions |
| Conversion utilities for primitive types. More... | |
| class | CopyInheritableMetadata |
| Metadata inheritance for copying manifests before commit. More... | |
| class | CountAggregate |
| Base class for COUNT aggregates. More... | |
| class | Counter |
| Abstract counter for tracking event totals. More... | |
| struct | CounterResult |
| Serialisable snapshot of a single Counter measurement. More... | |
| class | CountNonNullAggregate |
| COUNT(term) aggregate. More... | |
| class | CountNullAggregate |
| COUNT_NULL(term) aggregate. More... | |
| class | CountStarAggregate |
| COUNT(*) aggregate. More... | |
| struct | DataFile |
| DataFile carries data file path, partition tuple, metrics, ... More... | |
| class | DataFileSet |
| A set of DataFile pointers with insertion order preserved and deduplicated by file path. More... | |
| class | DataFileStructLike |
| StructLike wrapper for DataFile metadata. More... | |
| struct | DataOperation |
| Data operation that produce snapshots. More... | |
| class | DataTableScan |
| A scan that reads data files and applies delete files to filter rows. More... | |
| class | DataWriter |
| Writer for Iceberg data files. More... | |
| struct | DataWriterOptions |
| Options for creating a DataWriter. More... | |
| class | DateType |
| A data type representing a calendar date without reference to a timezone or time. More... | |
| class | DayTransform |
| Day transform that extracts the number of days from timestamp inputs since the epoch. More... | |
| class | Decimal |
| Represents 128-bit fixed-point decimal numbers. The max decimal precision that can be safely represented is 38 significant digits. More... | |
| class | DecimalType |
| A data type representing a fixed-precision decimal. More... | |
| class | DefaultCounter |
| Thread-safe counter backed by std::atomic<int64_t>. More... | |
| struct | DefaultError |
| /brief Default error trait More... | |
| class | DefaultMetricsContext |
| MetricsContext backed by DefaultCounter and DefaultTimer instances. More... | |
| class | DefaultTimer |
| Thread-safe timer backed by std::atomic<int64_t>. More... | |
| class | DeleteCounter |
| Counts rows removed by delete filters. More... | |
| class | DeletedDataFileScanTask |
| A scan task for deletes generated by removing a data file from the table. More... | |
| class | DeleteFileIndex |
| An index of delete files by sequence number. More... | |
| class | DeleteFiles |
| API for deleting data files from a table. More... | |
| class | DeleteFileSet |
| A set of delete-file pointers deduplicated by delete-file identity. More... | |
| class | DeleteFilter |
| Concrete batch-oriented delete filter for merge-on-read data batches. More... | |
| class | DeleteLoader |
| Loads delete files and constructs in-memory delete indexes. More... | |
| struct | DeleteWriteResult |
| File metadata for deletion vectors produced by DVWriter. More... | |
| class | DoubleType |
| A data type representing a 64-bit (double precision) IEEE-754 float. More... | |
| class | DVWriter |
| A deletion vector file writer. More... | |
| struct | DVWriterOptions |
| Options for creating a DVWriter. More... | |
| class | EmptyInheritableMetadata |
| Empty implementation that applies no inheritance. More... | |
| struct | EncryptedKey |
| Represents an encrypted table key entry. More... | |
| class | EqualityDeleteWriter |
| Writer for Iceberg equality delete files. More... | |
| struct | EqualityDeleteWriterOptions |
| Options for creating an EqualityDeleteWriter. More... | |
| struct | Error |
| Error with a kind and a message. More... | |
| class | ErrorCollector |
| Base class for collecting errors in the builder pattern. More... | |
| class | Evaluator |
| Evaluates an Expression against data rows. More... | |
| class | Executor |
| Schedules iceberg-cpp internal planning tasks. More... | |
| class | ExpireSnapshots |
| API for removing old snapshots from a table. More... | |
| class | Expression |
| Represents a boolean expression tree. More... | |
| class | ExpressionError |
| Exception thrown when expression construction fails. More... | |
| class | Expressions |
| Fluent APIs to create expressions. More... | |
| class | ExpressionVisitor |
| Base visitor for traversing expression trees. More... | |
| class | False |
| An expression that is always false. More... | |
| class | FastAppend |
| API for appending new files in a table. More... | |
| struct | FieldMetrics |
| Field-level metrics for a single column. More... | |
| struct | FieldProjection |
| A field schema partner to carry projection information. More... | |
| class | FileIO |
| Pluggable module for reading, writing, and deleting files. More... | |
| class | FileIORegistry |
| Registry for FileIO implementations. More... | |
| class | FileScanTask |
| Task representing a data file and its corresponding delete files. More... | |
| class | FileScanTaskReader |
| Opens a FileScanTask as an ArrowArrayStream. More... | |
| class | FileWriter |
| Base interface for data file writers. More... | |
| class | FixedType |
| A data type representing a fixed-length bytestring. More... | |
| class | FloatType |
| A data type representing a 32-bit (single precision) IEEE-754 float. More... | |
| class | FnOnce |
| class | FnOnce< R(Args...)> |
| class | GeographyType |
| A data type representing OGC geography in WKB format. More... | |
| class | GeometryType |
| A data type representing OGC geometry in WKB format. More... | |
| class | GeospatialBound |
| A point used as a lower or upper geospatial column bound. More... | |
| class | GetProjectedIdsVisitor |
| Visitor for getting projected field IDs. More... | |
| class | HistoryTable |
| History metadata table. More... | |
| class | HourTransform |
| Hour transform that extracts the number of hours from timestamp inputs since the epoch. More... | |
| class | IcebergError |
| Base exception class for exceptions thrown by the Iceberg library. More... | |
| class | IdentityTransform |
| Identity transform that returns the input unchanged. More... | |
| class | IdToFieldVisitor |
| Visitor for building a map from field ID to SchemaField reference. More... | |
| class | InclusiveMetricsEvaluator |
| class | IncrementalAppendScan |
| A scan that reads data files added between snapshots (incremental appends). More... | |
| class | IncrementalChangelogScan |
| A scan that reads changelog entries between snapshots. More... | |
| class | IncrementalScan |
| A base template class for incremental scans that read changes between snapshots, and return scan tasks of the specified type. More... | |
| class | InheritableMetadata |
| Interface for applying inheritable metadata to manifest entries. More... | |
| class | InheritableMetadataFactory |
| Factory for creating InheritableMetadata instances. More... | |
| class | InMemoryCatalog |
| An in-memory implementation of the Iceberg Catalog interface. More... | |
| class | InputFile |
| Handle for opening a readable file. More... | |
| class | IntType |
| A data type representing a 32-bit signed integer. More... | |
| class | IsBoundVisitor |
| class | Lazy |
| class | ListType |
| A data type representing a list of values. More... | |
| class | Literal |
| Literal is a literal value that is associated with a primitive type. More... | |
| struct | LiteralHash |
| struct | LiteralTraits |
| struct | LiteralValueHash |
| Hash function for Literal to facilitate use in unordered containers. More... | |
| class | LocationProvider |
| Interface for providing data file locations. More... | |
| class | LocationUtil |
| struct | LogAttribute |
| A structured key/value attribute attached to a log record. More... | |
| class | Logger |
| Pluggable logging sink. More... | |
| class | Loggers |
| Registry of logger factories, mirroring MetricsReporters. More... | |
| class | LogMessage |
| A single log record handed to a Logger. More... | |
| class | LongType |
| A data type representing a 64-bit signed integer. More... | |
| struct | ManifestEntry |
| A manifest is an immutable Avro file that lists data files or delete files, along with each file's partition data tuple, metrics, and tracking information. More... | |
| class | ManifestEvaluator |
| Evaluates an Expression against manifest. More... | |
| struct | ManifestFile |
| Entry in a manifest list. More... | |
| class | ManifestFileStructLike |
| StructLike wrapper for ManifestFile. More... | |
| class | ManifestFilterManager |
| Filters an existing snapshot's manifest list. More... | |
| class | ManifestGroup |
| Coordinates reading manifest files and producing scan tasks. More... | |
| struct | ManifestList |
| class | ManifestListReader |
| Read manifest files from a manifest list file. More... | |
| class | ManifestListWriter |
| Write manifest files to a manifest list file. More... | |
| class | ManifestMergeManager |
| Merges small manifests into larger ones using greedy bin-packing. More... | |
| class | ManifestReader |
| Read manifest entries from a manifest file. More... | |
| class | ManifestWriter |
| Write manifest entries to a manifest file. More... | |
| class | MapLike |
| An immutable map-like wrapper. More... | |
| struct | MappedField |
| An immutable mapping between a field ID and a set of names. More... | |
| class | MappedFields |
| A list of field mappings for child field of structs, maps, and lists. More... | |
| class | MapType |
| A data type representing a dictionary of values. More... | |
| class | MaxAggregate |
| Bound MAX aggregate. More... | |
| class | MergeAppend |
| API for appending new files in a table while merging manifests. More... | |
| class | MergingSnapshotUpdate |
| Abstract base class for merge-based snapshot write operations. More... | |
| struct | MetadataColumns |
| A class containing constants and utility methods for metadata columns. More... | |
| struct | MetadataLogEntry |
| Represents a metadata log entry. More... | |
| class | MetadataTable |
| Base class for Iceberg metadata tables. More... | |
| struct | Metrics |
| Iceberg file format metrics. More... | |
| class | MetricsConfig |
| Configuration for collecting column metrics for an Iceberg table. More... | |
| class | MetricsContext |
| Factory for creating named Counter and Timer instances. More... | |
| struct | MetricsMode |
| class | MetricsReporter |
| Interface for reporting metrics from Iceberg operations. More... | |
| class | MetricsReporters |
| Factory class for creating and managing MetricsReporter instances. More... | |
| class | MinAggregate |
| Bound MIN aggregate. More... | |
| class | MonthTransform |
| Month transform that extracts the number of months from timestamp inputs since the epoch. More... | |
| class | NamedReference |
| A reference to an unbound named field. More... | |
| class | NameMapping |
| Represents a mapping from external schema names to Iceberg type IDs. More... | |
| struct | Namespace |
| A namespace in a catalog. More... | |
| class | NameToIdVisitor |
| Visitor for building maps from field name to field ID and field ID to field name. More... | |
| class | NestedType |
| A data type that has child fields. More... | |
| class | Not |
| An Expression that represents logical NOT operation. More... | |
| class | Or |
| An Expression that represents a logical OR operation between two expressions. More... | |
| class | OutputFile |
| Handle for creating a writable file. More... | |
| class | OverwriteFiles |
| API for overwriting files in a table. More... | |
| class | PartitionField |
| a field with its transform. More... | |
| struct | PartitionFieldSummary |
| Field summary for partition field in the spec. More... | |
| class | PartitionFieldSummaryArrayLike |
| ArrayLike wrapper for a vector of PartitionFieldSummary. More... | |
| class | PartitionFieldSummaryStructLike |
| StructLike wrapper for PartitionFieldSummary. More... | |
| struct | PartitionKeyEqual |
| Transparent equality functor for PartitionKey with heterogeneous lookup support. More... | |
| struct | PartitionKeyHash |
| Transparent hash functor for PartitionKey with heterogeneous lookup support. More... | |
| struct | PartitionKeyRef |
| Lightweight lookup key for heterogeneous lookup without copying PartitionValues. More... | |
| class | PartitionMap |
| A map that uses a pair of spec ID and partition tuple as keys. More... | |
| class | PartitionSet |
| A set that uses a pair of spec ID and partition tuple as elements. More... | |
| class | PartitionSpec |
| A partition spec for a Table. More... | |
| struct | PartitionStatisticsFile |
| Represents a partition statistics file. More... | |
| class | PartitionValues |
| StructLike wrapper for a vector of literals that represent partition values. More... | |
| struct | PartitionValuesEqual |
| Equality functor for PartitionValues. More... | |
| struct | PartitionValuesHash |
| Hash functor for PartitionValues. More... | |
| class | PendingUpdate |
| Base class for all kinds of table metadata updates. More... | |
| class | PositionDeleteIndex |
| Tracks deleted row positions using a bitmap. More... | |
| class | PositionDeleteWriter |
| Writer for Iceberg position delete files. More... | |
| struct | PositionDeleteWriterOptions |
| Options for creating a PositionDeleteWriter. More... | |
| class | PositionOutputStream |
| Positioned byte stream for writing file contents. More... | |
| class | PositionPathVisitor |
| Visitor for building a map from field ID to position path. More... | |
| class | Predicate |
| A predicate is a boolean expression that tests a term against some criteria. More... | |
| class | PrimitiveType |
| A data type that does not have child fields. More... | |
| class | ProjectionEvaluator |
| A class that projects expressions for a table's data rows into expressions on the table's partition values, for a table's partition spec. More... | |
| struct | Projections |
| Utils to project expressions on rows to expressions on partitions. More... | |
| class | PropertyUtil |
| class | PruneColumnVisitor |
| Visitor for pruning columns based on selected field IDs. More... | |
| class | Reader |
| Base reader class to read data from different file formats. More... | |
| struct | ReaderFactoryRegistry |
| Registry of reader factories for different file formats. More... | |
| struct | ReaderOptions |
| Options for creating a reader. More... | |
| class | ReaderProperties |
| class | Reference |
| A reference represents a named field in an expression. More... | |
| class | ReferenceVisitor |
| Visitor to collect referenced field IDs from an expression. More... | |
| class | ReplacePartitions |
| API for overwriting files in a table by partition. More... | |
| class | ResidualEvaluator |
| Finds the residuals for an Expression using the partitions in the given PartitionSpec. More... | |
| class | ResolvingFileIO |
| FileIO that resolves and caches implementations by registry name. More... | |
| struct | RetryConfig |
| Configuration for retry behavior. More... | |
| class | RetryRunner |
| Utility class for running tasks with retry logic. More... | |
| class | RewriteFiles |
| API for replacing files in a table. More... | |
| class | RewriteNot |
| class | RoaringPositionBitmap |
| A bitmap that supports positive 64-bit positions, optimized for cases where most positions fit in 32 bits. More... | |
| class | RollingManifestWriter |
| A rolling manifest writer that can produce multiple manifest files. More... | |
| class | RowDelta |
| API for encoding row-level changes to a table. More... | |
| class | SanitizeExpression |
| Rewrites an expression tree as an unbound expression whose literal values are replaced with type-aware placeholders (e.g. "(2-digit-int)", "(hash-3f9a1c02)", "(date-5-days-ago)"). More... | |
| class | ScanMetrics |
| Live scan metrics collected during a table scan operation. More... | |
| struct | ScanMetricsResult |
| Immutable snapshot of scan metrics for use in ScanReport. More... | |
| struct | ScanReport |
| Report generated after a table scan operation. More... | |
| class | ScanTask |
| An abstract scan task. More... | |
| class | Schema |
| A schema for a Table. More... | |
| class | SchemaCache |
| class | SchemaField |
| A type combined with a name. More... | |
| struct | SchemaProjection |
| A schema partner to carry projection information. More... | |
| class | ScopedLogger |
| Bind a logger for the current thread until this object leaves scope. More... | |
| class | SeekableInputStream |
| Seekable byte stream for reading file contents. More... | |
| class | SessionCatalog |
| Factory interface for creating context-bound catalog views. More... | |
| struct | SessionContext |
| Session state used to bind catalog operations to a caller context. More... | |
| class | SetSnapshot |
| Sets the current snapshot directly or by rolling back. More... | |
| struct | Snapshot |
| A snapshot of the data in a table at a point in time. More... | |
| class | SnapshotCache |
| A snapshot with cached manifest loading capabilities. More... | |
| struct | SnapshotLogEntry |
| Represents a snapshot log entry. More... | |
| class | SnapshotManager |
| API for managing snapshots. More... | |
| struct | SnapshotRef |
| A reference to a snapshot, either a branch or a tag. More... | |
| class | SnapshotsTable |
| Snapshots metadata table. More... | |
| class | SnapshotSummaryBuilder |
| Helper class for building snapshot summaries. More... | |
| struct | SnapshotSummaryFields |
| Optional Snapshot Summary Fields. More... | |
| class | SnapshotUpdate |
| API for table changes that produce snapshots. More... | |
| class | SortField |
| a field with its transform. More... | |
| class | SortOrder |
| A sort order for a table. More... | |
| struct | Split |
| A split of the file to read. More... | |
| class | StagedTable |
| A table created by stage-create and not yet committed. More... | |
| class | StaticTable |
| A read-only table. More... | |
| struct | StatisticsFile |
| Represents a statistics file in the Puffin format. More... | |
| struct | StorageCredential |
| A storage credential vended for a storage location prefix. More... | |
| class | StrictMetricsEvaluator |
| Evaluates an Expression against DataFile. More... | |
| struct | StringEqual |
| Transparent equality function that supports std::string_view as lookup key. More... | |
| struct | StringHash |
| Transparent hash function that supports std::string_view as lookup key. More... | |
| struct | StringLess |
| Transparent less function that supports std::string_view as lookup key. More... | |
| class | StringType |
| A data type representing an arbitrary-length character sequence (encoded in UTF-8). More... | |
| class | StringUtils |
| class | StructLike |
| An immutable struct-like wrapper. More... | |
| class | StructLikeAccessor |
| An accessor for a struct-like object. More... | |
| class | StructLikeSet |
| A set of StructLike rows with type-aware hashing and equality. More... | |
| class | StructType |
| A data type representing a struct with nested fields. More... | |
| class | SupportsStorageCredentials |
| Mix-in for FileIO implementations that route object paths to per-prefix file systems built from vended storage credentials, letting the catalog stay decoupled from concrete storage implementations. More... | |
| class | Table |
| Represents an Iceberg table. More... | |
| struct | TableIdentifier |
| Identifies a table in iceberg catalog. More... | |
| struct | TableMetadata |
| Represents the metadata for an Iceberg table. More... | |
| class | TableMetadataBuilder |
| Builder class for constructing TableMetadata objects. More... | |
| class | TableMetadataCache |
| struct | TableMetadataUtil |
| Utility class for table metadata. More... | |
| class | TableProperties |
| Table properties for Iceberg tables. More... | |
| class | TableRequirement |
| Base class for update requirement operations. More... | |
| class | TableRequirements |
| Factory class for generating table requirements. More... | |
| class | TableScan |
| Represents a configured scan operation on a table. More... | |
| class | TableScanBuilder |
| Builder class for creating TableScan instances. More... | |
| class | TableUpdate |
| Base class for metadata update operations. More... | |
| class | TableUpdateContext |
| Context for generating table requirements. More... | |
| struct | TaskContext |
| Context passed to task creation functions. More... | |
| class | TaskGroup |
| class | TemporalUtils |
| class | Term |
| A term is an expression node that produces a typed value when evaluated. More... | |
| class | Timer |
| Abstract timer for measuring operation durations. More... | |
| struct | TimerResult |
| Serialisable snapshot of a single Timer measurement. More... | |
| class | TimestampBase |
| A base class for any timestamp time (irrespective of unit or timezone). More... | |
| class | TimestampNsType |
| A data type representing a timestamp in nanoseconds without reference to a timezone. More... | |
| class | TimestampType |
| A data type representing a timestamp in microseconds without reference to a timezone. More... | |
| class | TimestampTzNsType |
| A data type representing a timestamp as nanoseconds since the epoch in UTC. A time zone or offset is not stored. More... | |
| class | TimestampTzType |
| A data type representing a timestamp as microseconds since the epoch in UTC. A time zone or offset is not stored. More... | |
| class | TimeType |
| A data type representing a wall clock time in microseconds without reference to a timezone or date. More... | |
| class | Transaction |
| A transaction for performing multiple updates to a table. More... | |
| class | TransactionContext |
| Shared context between Transaction and PendingUpdate instances. More... | |
| class | Transform |
| Represents a transform used in partitioning or sorting in Iceberg. More... | |
| class | TransformFunction |
| A transform function used for partitioning. More... | |
| class | TransformUtil |
| class | True |
| An Expression that is always true. More... | |
| class | TruncateTransform |
| Truncate transform that truncates values to a specified width. More... | |
| class | TruncateUtils |
| class | Type |
| Interface for a data type for a field. More... | |
| class | Unbound |
| Interface for unbound expressions that need schema binding. More... | |
| class | UnboundAggregate |
| Base class for unbound aggregates. More... | |
| class | UnboundAggregateImpl |
| Template for unbound aggregates that carry a term and operation. More... | |
| class | UnboundPredicate |
| Non-template base class for all UnboundPredicate instances. More... | |
| class | UnboundPredicateImpl |
| Unbound predicates contain unbound terms and must be bound to a concrete schema before they can be evaluated. More... | |
| class | UnboundTerm |
| Base class for unbound terms. More... | |
| class | UnboundTransform |
| An unbound transform expression. More... | |
| class | UnknownType |
| A null-only placeholder type used when a more specific type is not known. More... | |
| class | UpdateLocation |
| Updating table location with a new base location. More... | |
| class | UpdatePartitionSpec |
| API for partition spec evolution. More... | |
| class | UpdatePartitionStatistics |
| Updates table partition statistics. More... | |
| class | UpdateProperties |
| Updates table properties. More... | |
| class | UpdateSchema |
| API for schema evolution. More... | |
| class | UpdateSnapshotReference |
| Updates snapshot references. More... | |
| class | UpdateSortOrder |
| Updating table sort order with a newly created order. More... | |
| class | UpdateStatistics |
| Updates table statistics. More... | |
| class | UrlEncoder |
| Utilities for encoding and decoding URLs. More... | |
| class | Uuid |
| class | UuidType |
| A data type representing a UUID. While defined as a distinct type, it is effectively a fixed(16). More... | |
| class | VariantType |
| A semi-structured type whose structure may vary across rows. More... | |
| class | VoidTransform |
| Void transform that discards the input and always returns null. More... | |
| class | Writer |
| Base writer class to write data from different file formats. More... | |
| struct | WriteResult |
| File metadata for files produced by a writer. More... | |
| struct | WriterFactoryRegistry |
| Registry of writer factories for different file formats. More... | |
| struct | WriterOptions |
| Options for creating a writer. More... | |
| class | WriterProperties |
| class | YearTransform |
| Year transform that extracts the number of years from timestamp inputs since the epoch. More... | |
Concepts | |
| concept | TermType |
| concept | AsResult |
| concept | IsIncrementalScan |
| concept | EndianConvertible |
| Concept for values that can be converted to/from another endian format. | |
| concept | FromChars |
Typedefs | |
| using | FieldIdsSetRef = std::reference_wrapper< std::unordered_set< int32_t > > |
| using | ReaderFactory = std::function< Result< std::unique_ptr< Reader > >()> |
| Factory function to create a reader of a specific file format. | |
| using | WriterFactory = std::function< Result< std::unique_ptr< Writer > >()> |
| Factory function to create a writer of a specific file format. | |
| using | FatalHandler = std::function< void(const std::source_location &, std::string_view message)> |
| A hook invoked on the fatal-log path just before std::abort(). | |
| using | LoggerFactory = std::function< Result< std::unique_ptr< Logger > >(const std::unordered_map< std::string, std::string > &properties)> |
| Factory constructing a Logger from catalog-style properties. | |
| using | ManifestWriterFactory = std::function< Result< std::unique_ptr< ManifestWriter > >(int32_t spec_id, ManifestContent content)> |
| Factory type for creating ManifestWriter instances. | |
| using | MetricsReport = std::variant< ScanReport, CommitReport > |
| A metrics report, which can be either a ScanReport or CommitReport. | |
| using | MetricsReporterFactory = std::function< Result< std::unique_ptr< MetricsReporter > >(const std::unordered_map< std::string, std::string > &properties)> |
| Function type for creating MetricsReporter instances. | |
| using | DurationNs = std::chrono::nanoseconds |
| Duration type for metrics reporting (nanosecond precision). | |
| using | MappedFieldConstRef = std::reference_wrapper< const MappedField > |
| template<typename T , typename E = typename DefaultError<T>::type> | |
| using | Result = std::expected< T, E > |
| Result alias. | |
| using | Status = Result< void > |
| template<AsResult T> | |
| using | ResultValueT = typename std::remove_cvref_t< T >::value_type |
| using | Scalar = std::variant< std::monostate, bool, int32_t, int64_t, float, double, std::string_view, Decimal, std::shared_ptr< StructLike >, std::shared_ptr< ArrayLike >, std::shared_ptr< MapLike > > |
| A scalar value depending on its data type. | |
| using | DataTableScanBuilder = TableScanBuilder< DataTableScan > |
| using | IncrementalAppendScanBuilder = TableScanBuilder< IncrementalAppendScan > |
| using | IncrementalChangelogScanBuilder = TableScanBuilder< IncrementalChangelogScan > |
| using | UncheckedStructLikeSet = StructLikeSet< false > |
| using | ExecutorTask = FnOnce< void()> |
| using | OptionalExecutor = std::optional< std::reference_wrapper< Executor > > |
| using | PartitionKey = std::pair< int32_t, PartitionValues > |
| using | TimePointMs = std::chrono::time_point< std::chrono::system_clock, std::chrono::milliseconds > |
| A time point in milliseconds. | |
| using | TimePointNs = std::chrono::time_point< std::chrono::system_clock, std::chrono::nanoseconds > |
| A time point in nanoseconds. | |
Enumerations | |
| enum class | LogLevel { kTrace , kDebug , kInfo , kWarn , kError , kCritical , kFatal , kOff } |
| Logging severity level, ordered from most to least verbose. More... | |
| enum class | ManifestStatus { kExisting = 0 , kAdded = 1 , kDeleted = 2 } |
| enum class | ManifestContent { kData = 0 , kDeletes = 1 } |
| The type of files tracked by the manifest, either data or delete files; 0 for all v1 manifests. More... | |
| enum class | CounterUnit { kCount , kBytes , kUndefined } |
| Unit for a Counter metric. | |
| enum class | MetricsReportType { kScanReport , kCommitReport } |
| The type of a metrics report. | |
| enum class | TimerUnit { kNanoseconds , kMicroseconds , kMilliseconds , kSeconds , kMinutes , kHours , kDays } |
| Time units supported by Timer. | |
| enum class | ErrorKind { kAlreadyExists , kAuthenticationFailed , kBadRequest , kCommitFailed , kCommitStateUnknown , kDecompressError , kForbidden , kInternalServerError , kInvalid , kInvalidArgument , kInvalidArrowData , kInvalidExpression , kInvalidManifest , kInvalidManifestList , kInvalidSchema , kIOError , kJsonParseError , kNamespaceNotEmpty , kNoSuchNamespace , kNoSuchPlanId , kNoSuchPlanTask , kNoSuchTable , kNoSuchWarehouse , kNoSuchView , kNotAllowed , kNotAuthorized , kNotFound , kNotImplemented , kNotSupported , kRestError , kRetryableValidationFailed , kServiceUnavailable , kTokenExpired , kUnknownError , kValidationFailed } |
| Error types for iceberg. | |
| enum class | SnapshotRefType { kBranch , kTag } |
| The type of snapshot reference. More... | |
| enum class | SortDirection { kAscending , kDescending } |
| Sort direction in a partition, either ascending or descending. More... | |
| enum class | NullOrder { kFirst , kLast } |
| enum class | ChangelogOperation : uint8_t { kInsert , kDelete , kUpdateBefore , kUpdateAfter } |
| enum class | TransactionKind : uint8_t { kCreate , kUpdate } |
| Whether a transaction creates a new table or updates an existing one. | |
| enum class | TransformType { kUnknown , kIdentity , kBucket , kTruncate , kYear , kMonth , kDay , kHour , kVoid } |
| Transform types used for partitioning. More... | |
| enum class | TypeId { kStruct , kList , kMap , kBoolean , kInt , kLong , kFloat , kDouble , kDecimal , kDate , kTime , kTimestamp , kTimestampTz , kTimestampNs , kTimestampTzNs , kString , kUuid , kFixed , kBinary , kUnknown , kVariant , kGeometry , kGeography } |
| A data type. More... | |
| enum class | TimeUnit { kMicrosecond , kNanosecond } |
| The time unit. In Iceberg V3 nanoseconds are also supported. | |
| enum class | EdgeAlgorithm { kSpherical , kVincenty , kThomas , kAndoyer , kKarney } |
| The algorithm used to interpolate geography edges. | |
| enum class | CleanupLevel : uint8_t { kNone , kMetadataOnly , kAll } |
| An enum representing possible clean up levels used in snapshot expiration. More... | |
Functions | |
| void ICEBERG_EXPORT | ForEachPositionDelete (std::span< const int64_t > positions, PositionDeleteIndex &target, std::vector< uint32_t > &scratch) |
Apply positions to target as deletes; semantically equivalent to calling target.Delete(pos) for each entry. Out-of-range positions are silently ignored. Sorted, mostly-contiguous input is fastest. | |
| ICEBERG_EXPORT std::string_view | ToString (Expression::Operation op) |
| Returns a string representation of an expression operation. | |
| ICEBERG_EXPORT Result< Expression::Operation > | Negate (Expression::Operation op) |
| Returns the negated operation. | |
| template<typename R , typename V > requires std::derived_from<V, ExpressionVisitor<R>> | |
| Result< R > | Visit (const std::shared_ptr< Expression > &expr, V &visitor) |
| Traverse an expression tree with a visitor. | |
| ICEBERG_EXPORT std::string_view | ToString (FileFormatType format_type) |
| Convert a FileFormatType to a string. | |
| ICEBERG_EXPORT Result< FileFormatType > | FileFormatTypeFromString (std::string_view str) noexcept |
| Convert a string to a FileFormatType. | |
| ICEBERG_EXPORT Result< bool > | GeospatialBoundsIntersect (const Type &type, const BoundingBox &lhs, const BoundingBox &rhs) |
| Check whether two bounding boxes intersect for an Iceberg geospatial type. | |
| constexpr std::string_view | ToString (LogLevel level) noexcept |
| String representation of a LogLevel. | |
| Result< LogLevel > | LogLevelFromString (std::string_view s) |
| Parse a LogLevel from a string (case-insensitive). | |
| ICEBERG_EXPORT std::shared_ptr< Logger > | GetDefaultLogger () |
| Return the process-global default logger (never null). | |
| ICEBERG_EXPORT std::shared_ptr< Logger > | GetCurrentLogger () |
| Return the effective logger for this thread (never null): the active ScopedLogger binding if any, else the global default. | |
| ICEBERG_EXPORT void | SetDefaultLogger (std::shared_ptr< Logger > logger) |
| Install a new process-global default logger. | |
| ICEBERG_EXPORT void | SetDefaultLevel (LogLevel level) |
| Set the minimum level of the current default logger. | |
| ICEBERG_EXPORT void | SetFatalHandler (FatalHandler handler) |
| Install (or clear, with nullptr) the process-global fatal handler. | |
| ICEBERG_EXPORT FatalHandler | GetFatalHandler () |
| Return the installed fatal handler (empty if none). Used by the fatal logging path; thread-safe. | |
| template<typename... Args> | |
| void | Log (LogLevel level, internal::FmtWithLoc< std::type_identity_t< Args >... > fmt, Args &&... args) noexcept |
| Log to the process-default logger, std::format style. Formats only if the level is enabled; never throws. | |
| template<typename... Args> | |
| void | Log (Logger &logger, LogLevel level, internal::FmtWithLoc< std::type_identity_t< Args >... > fmt, Args &&... args) noexcept |
| Log to an explicit logger, std::format style. Formats only if enabled. | |
| ICEBERG_EXPORT constexpr Result< ManifestStatus > | ManifestStatusFromInt (int32_t status) noexcept |
| Get the relative manifest status type from int. | |
| ICEBERG_EXPORT constexpr std::string_view | ToString (DataFile::Content type) noexcept |
| Get the relative datafile content type name. | |
| ICEBERG_EXPORT constexpr Result< DataFile::Content > | DataFileContentFromInt (int32_t content) noexcept |
| Get the relative data file content type from int. | |
| ICEBERG_EXPORT constexpr std::string_view | ToString (ManifestContent type) noexcept |
| Get the relative manifest content type name. | |
| ICEBERG_EXPORT constexpr Result< ManifestContent > | ManifestContentFromString (std::string_view str) noexcept |
| Get the relative manifest content type from name. | |
| ICEBERG_EXPORT constexpr std::string_view | ToString (CounterUnit unit) noexcept |
| String representation of a CounterUnit. | |
| ICEBERG_EXPORT Result< CounterUnit > | CounterUnitFromString (std::string_view s) |
| Parse a CounterUnit from a string. | |
| ICEBERG_EXPORT constexpr std::string_view | ToString (MetricsReportType type) noexcept |
| Get the string representation of a metrics report type. | |
| ICEBERG_EXPORT MetricsReportType | GetReportType (const MetricsReport &report) |
| Get the type of a metrics report. | |
| ICEBERG_EXPORT constexpr std::string_view | ToString (TimerUnit unit) noexcept |
| String representation of a TimerUnit. | |
| ICEBERG_EXPORT std::string | ToString (const MappedField &field) |
| ICEBERG_EXPORT std::string | ToString (const MappedFields &fields) |
| ICEBERG_EXPORT std::string | ToString (const NameMapping &mapping) |
| ICEBERG_EXPORT Result< std::unique_ptr< NameMapping > > | CreateMapping (const Schema &schema) |
| Create a name-based mapping for a schema. | |
| ICEBERG_EXPORT Result< std::unique_ptr< NameMapping > > | UpdateMapping (const NameMapping &mapping, const std::unordered_map< int32_t, std::shared_ptr< SchemaField > > &updates, const std::multimap< int32_t, int32_t > &adds) |
| Update a name-based mapping using changes to a schema. | |
| Result< Scalar > | LiteralToScalar (const Literal &literal) |
| Convert a Literal to a Scalar. | |
| ICEBERG_EXPORT Result< SchemaProjection > | Project (const Schema &expected_schema, const Schema &source_schema, bool prune_source) |
| Project the expected schema on top of the source schema. | |
| ICEBERG_EXPORT std::string_view | ToString (FieldProjection::Kind kind) |
| ICEBERG_EXPORT std::string | ToString (const FieldProjection &projection) |
| ICEBERG_EXPORT std::string | ToString (const SchemaProjection &projection) |
| ICEBERG_EXPORT constexpr std::string_view | ToString (SnapshotRefType type) noexcept |
| Get the relative snapshot reference type name. | |
| ICEBERG_EXPORT constexpr Result< SnapshotRefType > | SnapshotRefTypeFromString (std::string_view str) noexcept |
| Get the relative snapshot reference type from name. | |
| ICEBERG_EXPORT constexpr std::string_view | ToString (SortDirection direction) |
| Get the relative sort direction name. | |
| ICEBERG_EXPORT constexpr Result< SortDirection > | SortDirectionFromString (std::string_view str) |
| Get the relative sort direction from name. | |
| ICEBERG_EXPORT constexpr std::string_view | ToString (NullOrder null_order) |
| Get the relative null order name. | |
| ICEBERG_EXPORT constexpr Result< NullOrder > | NullOrderFromString (std::string_view str) |
| Get the relative null order from name. | |
| ICEBERG_EXPORT std::string | ToString (const BlobMetadata &blob_metadata) |
| Returns a string representation of a BlobMetadata. | |
| ICEBERG_EXPORT std::string | ToString (const StatisticsFile &statistics_file) |
| Returns a string representation of a StatisticsFile. | |
| ICEBERG_EXPORT std::string | ToString (const PartitionStatisticsFile &partition_statistics_file) |
| Returns a string representation of a PartitionStatisticsFile. | |
| ICEBERG_EXPORT std::string | ToString (const Namespace &ns) |
| ICEBERG_EXPORT std::string | ToString (const TableIdentifier &ident) |
| ICEBERG_EXPORT std::string | ToString (const SnapshotLogEntry &entry) |
| Returns a string representation of a SnapshotLogEntry. | |
| ICEBERG_EXPORT std::string | ToString (const MetadataLogEntry &entry) |
| Returns a string representation of a MetadataLogEntry. | |
| ICEBERG_EXPORT constexpr std::string_view | TransformTypeToString (TransformType type) |
| Get the relative transform name. | |
| ICEBERG_EXPORT Result< std::shared_ptr< Transform > > | TransformFromString (std::string_view transform_str) |
| Converts a string representation of a transform into a Transform instance. | |
| ICEBERG_EXPORT const std::shared_ptr< BooleanType > & | boolean () |
| Return a BooleanType instance. | |
| ICEBERG_EXPORT const std::shared_ptr< IntType > & | int32 () |
| Return an IntType instance. | |
| ICEBERG_EXPORT const std::shared_ptr< LongType > & | int64 () |
| Return a LongType instance. | |
| ICEBERG_EXPORT const std::shared_ptr< FloatType > & | float32 () |
| Return a FloatType instance. | |
| ICEBERG_EXPORT const std::shared_ptr< DoubleType > & | float64 () |
| Return a DoubleType instance. | |
| ICEBERG_EXPORT const std::shared_ptr< DateType > & | date () |
| Return a DateType instance. | |
| ICEBERG_EXPORT const std::shared_ptr< TimeType > & | time () |
| Return a TimeType instance. | |
| ICEBERG_EXPORT const std::shared_ptr< TimestampType > & | timestamp () |
| Return a TimestampType instance. | |
| ICEBERG_EXPORT const std::shared_ptr< TimestampTzType > & | timestamp_tz () |
| Return a TimestampTzType instance. | |
| ICEBERG_EXPORT const std::shared_ptr< TimestampNsType > & | timestamp_ns () |
| Return a TimestampNsType instance. | |
| ICEBERG_EXPORT const std::shared_ptr< TimestampTzNsType > & | timestamptz_ns () |
| Return a TimestampTzNsType instance. | |
| ICEBERG_EXPORT const std::shared_ptr< BinaryType > & | binary () |
| Return a BinaryType instance. | |
| ICEBERG_EXPORT const std::shared_ptr< StringType > & | string () |
| Return a StringType instance. | |
| ICEBERG_EXPORT const std::shared_ptr< UuidType > & | uuid () |
| Return a UuidType instance. | |
| ICEBERG_EXPORT const std::shared_ptr< UnknownType > & | unknown () |
| Return an UnknownType instance. | |
| ICEBERG_EXPORT const std::shared_ptr< VariantType > & | variant () |
| Return a VariantType instance. | |
| ICEBERG_EXPORT const std::shared_ptr< GeometryType > & | geometry () |
| Return the default GeometryType instance. | |
| ICEBERG_EXPORT const std::shared_ptr< GeographyType > & | geography () |
| Return the default GeographyType instance. | |
| ICEBERG_EXPORT std::shared_ptr< DecimalType > | decimal (int32_t precision, int32_t scale) |
| Create a DecimalType with the given precision and scale. | |
| ICEBERG_EXPORT std::shared_ptr< FixedType > | fixed (int32_t length) |
| Create a FixedType with the given length. | |
| ICEBERG_EXPORT std::shared_ptr< GeometryType > | geometry (std::string crs) |
| Create a GeometryType with the given CRS. | |
| ICEBERG_EXPORT std::shared_ptr< GeographyType > | geography (std::string crs) |
| Create a GeographyType with the given CRS. | |
| ICEBERG_EXPORT std::shared_ptr< GeographyType > | geography (std::string crs, EdgeAlgorithm algorithm) |
| Create a GeographyType with the given CRS and edge algorithm. | |
| ICEBERG_EXPORT std::shared_ptr< StructType > | struct_ (std::vector< SchemaField > fields) |
| Create a StructType with the given fields. | |
| ICEBERG_EXPORT std::shared_ptr< ListType > | list (SchemaField element) |
| Create a ListType with the given element field. | |
| ICEBERG_EXPORT std::shared_ptr< MapType > | map (SchemaField key, SchemaField value) |
| Create a MapType with the given key and value fields. | |
| ICEBERG_EXPORT std::string_view | ToString (TypeId id) |
| Get the lowercase string representation of a TypeId. | |
| ICEBERG_EXPORT std::string_view | ToString (EdgeAlgorithm algorithm) |
| Get the lowercase string representation of an EdgeAlgorithm. | |
| ICEBERG_EXPORT Result< EdgeAlgorithm > | EdgeAlgorithmFromString (std::string_view name) |
| Parse a lowercase edge algorithm name. | |
| ICEBERG_EXPORT std::ostream & | operator<< (std::ostream &os, const Decimal &decimal) |
| template<EndianConvertible T> | |
| constexpr T | ByteSwap (T value) |
| Byte-swap a value. For floating-point types, only support 32-bit and 64-bit floats. | |
| template<EndianConvertible T> | |
| constexpr T | ToLittleEndian (T value) |
| Convert a value to little-endian format. | |
| template<EndianConvertible T> | |
| constexpr T | FromLittleEndian (T value) |
| Convert a value from little-endian format. | |
| template<EndianConvertible T> | |
| constexpr T | ToBigEndian (T value) |
| Convert a value to big-endian format. | |
| template<EndianConvertible T> | |
| constexpr T | FromBigEndian (T value) |
| Convert a value from big-endian format. | |
| template<EndianConvertible T> | |
| void | WriteLittleEndian (T value, void *output) |
| Write a value in little-endian format to a buffer. | |
| template<EndianConvertible T> | |
| T | ReadLittleEndian (const void *input) |
| Read a value in little-endian format from a buffer. | |
| template<EndianConvertible T> | |
| void | WriteBigEndian (T value, void *output) |
| Write a value in big-endian format to a buffer. | |
| template<EndianConvertible T> | |
| T | ReadBigEndian (const void *input) |
| Read a value in big-endian format from a buffer. | |
| ICEBERG_EXPORT auto | MakeCommitRetryRunner (int32_t num_retries, int32_t min_wait_ms, int32_t max_wait_ms, int32_t total_timeout_ms) |
| Helper function to create a RetryRunner with table commit configuration. | |
| ICEBERG_EXPORT Result< bool > | StructLikeEqual (const StructLike &lhs, const StructLike &rhs) |
| Compare two StructLike rows by scalar values. | |
| ICEBERG_EXPORT TimePointMs | TimePointMsFromUnixMs (int64_t unix_ms) |
| Returns a TimePointMs from a Unix timestamp in milliseconds. | |
| ICEBERG_EXPORT int64_t | UnixMsFromTimePointMs (TimePointMs time_point_ms) |
| Returns a Unix timestamp in milliseconds from a TimePointMs. | |
| ICEBERG_EXPORT TimePointNs | TimePointNsFromUnixNs (int64_t unix_ns) |
| Returns a TimePointNs from a Unix timestamp in nanoseconds. | |
| ICEBERG_EXPORT int64_t | UnixNsFromTimePointNs (TimePointNs time_point_ns) |
| Returns a Unix timestamp in nanoseconds from a TimePointNs. | |
| ICEBERG_EXPORT std::string | FormatTimePointMs (TimePointMs time_point_ms) |
| Returns a human-readable string representation of a TimePointMs. | |
| ICEBERG_EXPORT TimePointMs | CurrentTimePointMs () |
| Returns a time point in milliseconds that represents the current system time. | |
| ICEBERG_EXPORT std::unordered_map< int32_t, int32_t > | IndexParents (const StructType &root_struct) |
| Index parent field IDs for all fields in a struct hierarchy. | |
| ICEBERG_EXPORT Result< std::shared_ptr< Schema > > | AssignFreshIds (int32_t schema_id, const Schema &schema, std::function< int32_t()> next_id) |
| Assigns fresh IDs to all fields in a schema. | |
| ICEBERG_EXPORT bool | IsPromotionAllowed (const std::shared_ptr< Type > &from_type, const std::shared_ptr< Type > &to_type) |
| Check if type promotion from one type to another is allowed. | |
| template<typename VISITOR , typename... ARGS> | |
| Status | VisitTypeInline (const Type &type, VISITOR *visitor, ARGS &&... args) |
Calls visitor with the corresponding concrete type class. | |
| template<typename VISITOR , typename... ARGS> | |
| auto | VisitType (const Type &type, VISITOR &&visitor, ARGS &&... args) -> decltype(std::forward< VISITOR >(visitor)(type, args...)) |
Call visitor with the corresponding concrete type class. | |
| template<typename VISITOR , typename... ARGS> | |
| Status | VisitTypeIdInline (TypeId id, VISITOR *visitor, ARGS &&... args) |
Calls visitor with a nullptr of the corresponding concrete type class. | |
| template<typename VISITOR , typename... ARGS> | |
| auto | VisitTypeCategory (const Type &type, VISITOR *visitor, ARGS &&... args) |
| Visit a type using a categorical visitor pattern. | |
Variables | |
| constexpr std::string_view | kParquetFieldIdKey = "PARQUET:field_id" |
| constexpr int64_t | kInvalidSnapshotId = -1 |
| constexpr int64_t | kInvalidSequenceNumber = -1 |
| constexpr int64_t | kInvalidSchemaId = -1 |
| constexpr int64_t | kUnassignedSequenceNumber = -1 |
| Stand-in for the current sequence number that will be assigned when the commit is successful. This is replaced when writing a manifest list by the ManifestFile adapter. | |
| constexpr std::string_view | kLevelProperty = "level" |
| Well-known Logger::Initialize() property keys. | |
| constexpr std::string_view | kPatternProperty = "pattern" |
| constexpr std::string_view | kLoggerImpl = "logger-impl" |
| Property key selecting the logger implementation. | |
| constexpr std::string_view | kLoggerTypeNoop = "noop" |
| Built-in logger type identifiers. | |
| constexpr std::string_view | kLoggerTypeCerr = "cerr" |
| constexpr std::string_view | kLoggerTypeSpdlog = "spdlog" |
| constexpr std::string_view | kMetricsReporterImpl = "metrics-reporter-impl" |
| Property key for configuring the metrics reporter implementation. | |
| constexpr std::string_view | kMetricsReporterTypeNoop = "noop" |
| Property value for the noop metrics reporter. | |
| template class ICEBERG_EXTERN_TEMPLATE_CLASS_EXPORT | TableScanBuilder< DataTableScan > |
| template class ICEBERG_EXTERN_TEMPLATE_CLASS_EXPORT | TableScanBuilder< IncrementalAppendScan > |
| template class ICEBERG_EXTERN_TEMPLATE_CLASS_EXPORT | TableScanBuilder< IncrementalChangelogScan > |
| constexpr size_t | kHashPrime = 0x9e3779b9 |
| template class ICEBERG_EXTERN_TEMPLATE_CLASS_EXPORT | StructLikeSet< true > |
| template class ICEBERG_EXTERN_TEMPLATE_CLASS_EXPORT | StructLikeSet< false > |
Core Apache Iceberg C++ APIs.
| using iceberg::FatalHandler = typedef std::function<void(const std::source_location&, std::string_view message)> |
A hook invoked on the fatal-log path just before std::abort().
Receives the fatal record's source location and already-formatted message. Runs after the record has been emitted and the logger flushed, so an embedder (JNI, a Python host, a crash reporter) can print a stack trace, flush its own resources, or translate the abort. It must not return normally on the expectation of cancelling the abort – ICEBERG_LOG_FATAL always terminates; if the handler itself does not exit the process, std::abort() still runs after it.
| using iceberg::MetricsReport = typedef std::variant<ScanReport, CommitReport> |
A metrics report, which can be either a ScanReport or CommitReport.
This variant type allows handling both report types uniformly through the MetricsReporter interface.
| using iceberg::MetricsReporterFactory = typedef std::function<Result<std::unique_ptr<MetricsReporter> >( const std::unordered_map<std::string, std::string>& properties)> |
Function type for creating MetricsReporter instances.
| properties | Configuration properties for the reporter. |
| using iceberg::Scalar = typedef std::variant<std::monostate, bool, int32_t, int64_t, float, double, std::string_view, Decimal, std::shared_ptr<StructLike>, std::shared_ptr<ArrayLike>, std::shared_ptr<MapLike> > |
A scalar value depending on its data type.
Note that all string and binary values are stored as non-owned string_view and their lifetime is managed by the wrapped object.
|
strong |
An enum representing possible clean up levels used in snapshot expiration.
|
strong |
Logging severity level, ordered from most to least verbose.
Levels are ordered so that level >= threshold is the enabled test. kOff is the maximum sentinel: as a threshold it disables all emission (it is never the level of an actual message).
|
strong |
|
strong |
|
strong |
|
strong |
|
strong |
Transform types used for partitioning.
|
strong |
A data type.
This is not a complete data type by itself because some types are nested and/or parameterized.
Iceberg V3's unknown type is supported as a null-only placeholder type.
| ICEBERG_EXPORT Result< std::shared_ptr< Schema > > iceberg::AssignFreshIds | ( | int32_t | schema_id, |
| const Schema & | schema, | ||
| std::function< int32_t()> | next_id | ||
| ) |
Assigns fresh IDs to all fields in a schema.
| schema_id | An ID assigned to this schema |
| schema | The schema to assign IDs to. |
| next_id | An id assignment function, which returns the next ID to assign. |
|
inline |
Parse a CounterUnit from a string.
| s | The string to parse ("count", "bytes", or "undefined"). |
| ICEBERG_EXPORT Result< std::unique_ptr< NameMapping > > iceberg::CreateMapping | ( | const Schema & | schema | ) |
Create a name-based mapping for a schema.
The mapping returned by this method will use the schema's name for each field.
| schema | The schema to create the mapping for. |
| void ICEBERG_EXPORT iceberg::ForEachPositionDelete | ( | std::span< const int64_t > | positions, |
| PositionDeleteIndex & | target, | ||
| std::vector< uint32_t > & | scratch | ||
| ) |
Apply positions to target as deletes; semantically equivalent to calling target.Delete(pos) for each entry. Out-of-range positions are silently ignored. Sorted, mostly-contiguous input is fastest.
| scratch | Caller-owned reusable buffer for the bulk dispatch path. Cleared and reused per key group; retain across calls to amortize allocations. Pass a distinct scratch per thread when calling concurrently with disjoint target. |
| ICEBERG_EXPORT Result< bool > iceberg::GeospatialBoundsIntersect | ( | const Type & | type, |
| const BoundingBox & | lhs, | ||
| const BoundingBox & | rhs | ||
| ) |
Check whether two bounding boxes intersect for an Iceberg geospatial type.
Returns an error for invalid boxes or a non-geospatial type.
| ICEBERG_EXPORT std::shared_ptr< Logger > iceberg::GetCurrentLogger | ( | ) |
Return the effective logger for this thread (never null): the active ScopedLogger binding if any, else the global default.
Off the hot path – returns an owning copy, e.g. to capture the current logger and re-bind it on a worker thread (see ScopedLogger). During teardown, prefer the Log(...) overloads over emitting through this handle.
| ICEBERG_EXPORT std::shared_ptr< Logger > iceberg::GetDefaultLogger | ( | ) |
Return the process-global default logger (never null).
Off the hot path – acquires the slot lock and returns an owning copy. The logging path uses the cheaper internal hot-path accessor instead.
|
inline |
Get the type of a metrics report.
| report | The metrics report to get the type of. |
| ICEBERG_EXPORT std::unordered_map< int32_t, int32_t > iceberg::IndexParents | ( | const StructType & | root_struct | ) |
Index parent field IDs for all fields in a struct hierarchy.
| root_struct | The root struct type to analyze |
| ICEBERG_EXPORT bool iceberg::IsPromotionAllowed | ( | const std::shared_ptr< Type > & | from_type, |
| const std::shared_ptr< Type > & | to_type | ||
| ) |
Check if type promotion from one type to another is allowed.
Type promotion rules:
| from_type | The original type |
| to_type | The target type |
|
noexcept |
Log to an explicit logger, std::format style. Formats only if enabled.
Example: iceberg::Log(logger, LogLevel::kWarn, "retry {}", attempt);
|
noexcept |
Log to the process-default logger, std::format style. Formats only if the level is enabled; never throws.
Example: iceberg::Log(LogLevel::kInfo, "loaded {} files", n);
Parse a LogLevel from a string (case-insensitive).
| s | The string to parse ("trace", "debug", "info", "warn", "error", "critical", "fatal", or "off"). |
| ICEBERG_EXPORT Result< SchemaProjection > iceberg::Project | ( | const Schema & | expected_schema, |
| const Schema & | source_schema, | ||
| bool | prune_source | ||
| ) |
Project the expected schema on top of the source schema.
| expected_schema | The expected schema. |
| source_schema | The source schema. |
| prune_source | Whether the source schema can be pruned to project the expected schema on it. For example, literally a Parquet reader implementation is capable of column pruning, so prune_source is set to true in this case such that the from field in FieldProjection exactly reflects the position (relative to its nesting level) to get the column value from the reader. |
| T iceberg::ReadBigEndian | ( | const void * | input | ) |
Read a value in big-endian format from a buffer.
| T iceberg::ReadLittleEndian | ( | const void * | input | ) |
Read a value in little-endian format from a buffer.
| ICEBERG_EXPORT void iceberg::SetDefaultLevel | ( | LogLevel | level | ) |
Set the minimum level of the current default logger.
Convenience for GetDefaultLogger()->SetLevel(level). Filtering is always decided by the logger's own ShouldLog(), so changing a logger's level by any means (this, SetLevel on a held handle, or Initialize) takes effect immediately.
| ICEBERG_EXPORT void iceberg::SetDefaultLogger | ( | std::shared_ptr< Logger > | logger | ) |
Install a new process-global default logger.
A null argument installs the no-op logger. Thread-safe; intended for occasional (configuration-time) use rather than the hot path.
| ICEBERG_EXPORT void iceberg::SetFatalHandler | ( | FatalHandler | handler | ) |
Install (or clear, with nullptr) the process-global fatal handler.
Thread-safe. Intended to be set once at startup. Replaces any previous handler.
| ICEBERG_EXPORT std::string_view iceberg::ToString | ( | TypeId | id | ) |
Get the lowercase string representation of a TypeId.
This returns the same lowercase string as used by Type::ToString() methods. For example: TypeId::kBoolean -> "boolean", TypeId::kInt -> "int", etc.
| id | The TypeId to convert to string |
| ICEBERG_EXPORT Result< std::shared_ptr< Transform > > iceberg::TransformFromString | ( | std::string_view | transform_str | ) |
Converts a string representation of a transform into a Transform instance.
This function parses the provided string to identify the corresponding transform type (e.g., "identity", "year", "bucket[16]"), and creates a shared pointer to the corresponding Transform object. It supports both simple transforms (like "identity") and parameterized transforms (like "bucket[16]" or "truncate[4]").
| transform_str | The string representation of the transform type. |
| ICEBERG_EXPORT Result< std::unique_ptr< NameMapping > > iceberg::UpdateMapping | ( | const NameMapping & | mapping, |
| const std::unordered_map< int32_t, std::shared_ptr< SchemaField > > & | updates, | ||
| const std::multimap< int32_t, int32_t > & | adds | ||
| ) |
Update a name-based mapping using changes to a schema.
| mapping | a name-based mapping |
| updates | a map from field ID to updated field definitions |
| adds | a map from parent field ID to nested fields to be added |
| Result< R > iceberg::Visit | ( | const std::shared_ptr< Expression > & | expr, |
| V & | visitor | ||
| ) |
Traverse an expression tree with a visitor.
This function traverses the given expression tree in postorder traversal and calls appropriate visitor methods for each node. Results from child nodes are passed to parent nodes.
| R | The return type produced by the visitor |
| V | The visitor type (must derive from ExpressionVisitor<R>) |
| expr | The expression to traverse |
| visitor | The visitor to use for traversal |
|
inline |
Call visitor with the corresponding concrete type class.
| ARGS | Additional arguments, if any, will be passed to the Visit function after the type argument |
Unlike VisitTypeInline which calls visitor.Visit, here visitor itself is called. visitor must support a const Type& argument as a fallback, in addition to concrete type classes.
The intent is for this to be called on a generic lambda that may internally use if constexpr or similar constructs.
|
inline |
Visit a type using a categorical visitor pattern.
This function provides a simplified visitor interface that groups Iceberg types into five categories based on their structural properties:
This grouping is useful for algorithms that need to distinguish between container types and leaf types, but don't require separate handling for each primitive type variant (e.g., Int vs Long vs String).
| VISITOR | Visitor class that must implement five Visit methods:
|
| ARGS | Additional argument types forwarded to Visit methods |
| type | The type to visit |
| visitor | Pointer to the visitor instance |
| args | Additional arguments forwarded to the Visit methods |
|
inline |
Calls visitor with a nullptr of the corresponding concrete type class.
| VISITOR | Visitor type that implements Visit() for all Iceberg types. |
| ARGS | Additional arguments, if any, will be passed to the Visit function after the type argument |
|
inline |
Calls visitor with the corresponding concrete type class.
| VISITOR | Visitor type that implements Visit() for all Iceberg types. |
| ARGS | Additional arguments, if any, will be passed to the Visit function after the type argument |
A visitor is a type that implements specialized logic for each Iceberg type. Example usage:
| void iceberg::WriteBigEndian | ( | T | value, |
| void * | output | ||
| ) |
Write a value in big-endian format to a buffer.
| void iceberg::WriteLittleEndian | ( | T | value, |
| void * | output | ||
| ) |
Write a value in little-endian format to a buffer.
|
inlineconstexpr |
Well-known Logger::Initialize() property keys.
level is honored by the base Logger::Initialize (parsed via LogLevelFromString) on every backend. pattern is honored only by the spdlog backend; CerrLogger uses a fixed layout and ignores it.
|
constexpr |
Property key for configuring the metrics reporter implementation.
Set this property in catalog properties to specify which metrics reporter implementation to use. The value should match a registered reporter type.