iceberg-cpp
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | List of all members
iceberg::ManifestFile Struct Reference

Entry in a manifest list. More...

#include <manifest_list.h>

Public Member Functions

bool has_added_files () const
 Checks if this manifest file contains entries with ADDED status.
 
bool has_existing_files () const
 Checks if this manifest file contains entries with EXISTING status.
 
bool has_deleted_files () const
 Checks if this manifest file contains entries with DELETED status.
 
bool operator== (const ManifestFile &other) const
 

Static Public Member Functions

static const std::shared_ptr< StructType > & Type ()
 

Public Attributes

std::string manifest_path
 
int64_t manifest_length = 0
 
int32_t partition_spec_id = PartitionSpec::kInitialSpecId
 
ManifestContent content = ManifestContent::kData
 
int64_t sequence_number = TableMetadata::kInitialSequenceNumber
 
int64_t min_sequence_number = TableMetadata::kInitialSequenceNumber
 
int64_t added_snapshot_id = kInvalidSnapshotId
 
std::optional< int32_t > added_files_count
 
std::optional< int32_t > existing_files_count
 
std::optional< int32_t > deleted_files_count
 
std::optional< int64_t > added_rows_count
 
std::optional< int64_t > existing_rows_count
 
std::optional< int64_t > deleted_rows_count
 
std::vector< PartitionFieldSummarypartitions
 
std::vector< uint8_t > key_metadata
 
std::optional< int64_t > first_row_id
 

Static Public Attributes

static constexpr int32_t kManifestPathFieldId = 500
 
static const SchemaField kManifestPath
 
static constexpr int32_t kManifestLengthFieldId = 501
 
static const SchemaField kManifestLength
 
static constexpr int32_t kPartitionSpecIdFieldId = 502
 
static const SchemaField kPartitionSpecId
 
static constexpr int32_t kContentFieldId = 517
 
static const SchemaField kContent
 
static constexpr int32_t kSequenceNumberFieldId = 515
 
static const SchemaField kSequenceNumber
 
static constexpr int32_t kMinSequenceNumberFieldId = 516
 
static const SchemaField kMinSequenceNumber
 
static constexpr int32_t kAddedSnapshotIdFieldId = 503
 
static const SchemaField kAddedSnapshotId
 
static constexpr int32_t kAddedFilesCountFieldId = 504
 
static const SchemaField kAddedFilesCount
 
static constexpr int32_t kExistingFilesCountFieldId = 505
 
static const SchemaField kExistingFilesCount
 
static constexpr int32_t kDeletedFilesCountFieldId = 506
 
static const SchemaField kDeletedFilesCount
 
static constexpr int32_t kAddedRowsCountFieldId = 512
 
static const SchemaField kAddedRowsCount
 
static constexpr int32_t kExistingRowsCountFieldId = 513
 
static const SchemaField kExistingRowsCount
 
static constexpr int32_t kDeletedRowsCountFieldId = 514
 
static const SchemaField kDeletedRowsCount
 
static constexpr int32_t kPartitionSummaryFieldId = 507
 
static const SchemaField kPartitions
 
static constexpr int32_t kKeyMetadataFieldId = 519
 
static const SchemaField kKeyMetadata
 
static constexpr int32_t kFirstRowIdFieldId = 520
 
static const SchemaField kFirstRowId
 

Detailed Description

Entry in a manifest list.

Member Data Documentation

◆ added_files_count

std::optional<int32_t> iceberg::ManifestFile::added_files_count

Field id: 504 Number of entries in the manifest that have status ADDED (1), when null this is assumed to be non-zero

◆ added_rows_count

std::optional<int64_t> iceberg::ManifestFile::added_rows_count

Field id: 512 Number of rows in all of files in the manifest that have status ADDED, when null this is assumed to be non-zero

◆ added_snapshot_id

int64_t iceberg::ManifestFile::added_snapshot_id = kInvalidSnapshotId

Field id: 503 ID of the snapshot where the manifest file was added

◆ content

ManifestContent iceberg::ManifestFile::content = ManifestContent::kData

Field id: 517 The type of files tracked by the manifest, either data or delete files; 0 for all v1 manifests

◆ deleted_files_count

std::optional<int32_t> iceberg::ManifestFile::deleted_files_count

Field id: 506 Number of entries in the manifest that have status DELETED (2), when null this is assumed to be non-zero

◆ deleted_rows_count

std::optional<int64_t> iceberg::ManifestFile::deleted_rows_count

Field id: 514 Number of rows in all of files in the manifest that have status DELETED, when null this is assumed to be non-zero

◆ existing_files_count

std::optional<int32_t> iceberg::ManifestFile::existing_files_count

Field id: 505 Number of entries in the manifest that have status EXISTING (0), when null this is assumed to be non-zero

◆ existing_rows_count

std::optional<int64_t> iceberg::ManifestFile::existing_rows_count

Field id: 513 Number of rows in all of files in the manifest that have status EXISTING, when null this is assumed to be non-zero

◆ first_row_id

std::optional<int64_t> iceberg::ManifestFile::first_row_id

Field id: 520 The starting _row_id to assign to rows added by ADDED data files

◆ kAddedFilesCount

const SchemaField iceberg::ManifestFile::kAddedFilesCount
inlinestatic
Initial value:
kAddedFilesCountFieldId, "added_files_count", int32(), "Added entry count")
static SchemaField MakeOptional(int32_t field_id, std::string_view name, std::shared_ptr< Type > type, std::string_view doc={})
Construct an optional (nullable) field.
Definition schema_field.cc:38
ICEBERG_EXPORT const std::shared_ptr< IntType > & int32()
Return an IntType instance.

◆ kAddedRowsCount

const SchemaField iceberg::ManifestFile::kAddedRowsCount
inlinestatic
Initial value:
kAddedRowsCountFieldId, "added_rows_count", int64(), "Added rows count")
ICEBERG_EXPORT const std::shared_ptr< LongType > & int64()
Return a LongType instance.

◆ kAddedSnapshotId

const SchemaField iceberg::ManifestFile::kAddedSnapshotId
inlinestatic
Initial value:
=
SchemaField::MakeRequired(kAddedSnapshotIdFieldId, "added_snapshot_id", int64(),
"Snapshot ID that added the manifest")
static SchemaField MakeRequired(int32_t field_id, std::string_view name, std::shared_ptr< Type > type, std::string_view doc={})
Construct a required (non-null) field.
Definition schema_field.cc:43

◆ kContent

const SchemaField iceberg::ManifestFile::kContent
inlinestatic
Initial value:
kContentFieldId, "content", int32(), "Contents of the manifest: 0=data, 1=deletes")

◆ kDeletedFilesCount

const SchemaField iceberg::ManifestFile::kDeletedFilesCount
inlinestatic
Initial value:
kDeletedFilesCountFieldId, "deleted_files_count", int32(), "Deleted entry count")

◆ kDeletedRowsCount

const SchemaField iceberg::ManifestFile::kDeletedRowsCount
inlinestatic
Initial value:
kDeletedRowsCountFieldId, "deleted_rows_count", int64(), "Deleted rows count")

◆ kExistingFilesCount

const SchemaField iceberg::ManifestFile::kExistingFilesCount
inlinestatic
Initial value:
=
SchemaField::MakeOptional(kExistingFilesCountFieldId, "existing_files_count",
int32(), "Existing entry count")

◆ kExistingRowsCount

const SchemaField iceberg::ManifestFile::kExistingRowsCount
inlinestatic
Initial value:
kExistingRowsCountFieldId, "existing_rows_count", int64(), "Existing rows count")

◆ key_metadata

std::vector<uint8_t> iceberg::ManifestFile::key_metadata

Field id: 519 Implementation-specific key metadata for encryption

◆ kFirstRowId

const SchemaField iceberg::ManifestFile::kFirstRowId
inlinestatic
Initial value:
kFirstRowIdFieldId, "first_row_id", int64(),
"Starting row ID to assign to new rows in ADDED data files")

◆ kKeyMetadata

const SchemaField iceberg::ManifestFile::kKeyMetadata
inlinestatic
Initial value:
kKeyMetadataFieldId, "key_metadata", binary(), "Encryption key metadata blob")
ICEBERG_EXPORT const std::shared_ptr< BinaryType > & binary()
Return a BinaryType instance.

◆ kManifestLength

const SchemaField iceberg::ManifestFile::kManifestLength
inlinestatic
Initial value:
kManifestLengthFieldId, "manifest_length", int64(), "Total file size in bytes")

◆ kManifestPath

const SchemaField iceberg::ManifestFile::kManifestPath
inlinestatic
Initial value:
kManifestPathFieldId, "manifest_path", string(), "Location URI with FS scheme")

◆ kMinSequenceNumber

const SchemaField iceberg::ManifestFile::kMinSequenceNumber
inlinestatic
Initial value:
=
SchemaField::MakeOptional(kMinSequenceNumberFieldId, "min_sequence_number", int64(),
"Lowest sequence number in the manifest")

◆ kPartitions

const SchemaField iceberg::ManifestFile::kPartitions
inlinestatic
Initial value:
kPartitionSummaryFieldId, "partitions",
list(SchemaField::MakeRequired(508, std::string(ListType::kElementName),
PartitionFieldSummary::kContainsNull,
PartitionFieldSummary::kContainsNaN,
PartitionFieldSummary::kLowerBound,
PartitionFieldSummary::kUpperBound,
}))),
"Summary for each partition")
std::shared_ptr< ListType > list(SchemaField element)
Create a ListType with the given element field.
Definition type.cc:392
std::shared_ptr< StructType > struct_(std::vector< SchemaField > fields)
Create a StructType with the given fields.
Definition type.cc:396

◆ kPartitionSpecId

const SchemaField iceberg::ManifestFile::kPartitionSpecId
inlinestatic
Initial value:
kPartitionSpecIdFieldId, "partition_spec_id", int32(), "Spec ID used to write")

◆ kSequenceNumber

const SchemaField iceberg::ManifestFile::kSequenceNumber
inlinestatic
Initial value:
=
SchemaField::MakeOptional(kSequenceNumberFieldId, "sequence_number", int64(),
"Sequence number when the manifest was added")

◆ manifest_length

int64_t iceberg::ManifestFile::manifest_length = 0

Field id: 501 Length of the manifest file in bytes

◆ manifest_path

std::string iceberg::ManifestFile::manifest_path

Field id: 500 Location of the manifest file

◆ min_sequence_number

int64_t iceberg::ManifestFile::min_sequence_number = TableMetadata::kInitialSequenceNumber

Field id: 516 The minimum data sequence number of all live data or delete files in the manifest; use 0 when reading v1 manifest lists

◆ partition_spec_id

int32_t iceberg::ManifestFile::partition_spec_id = PartitionSpec::kInitialSpecId

Field id: 502 ID of a partition spec used to write the manifest; must be listed in table metadata partition-specs

◆ partitions

std::vector<PartitionFieldSummary> iceberg::ManifestFile::partitions

Field id: 507 Element field id: 508 A list of field summaries for each partition field in the spec. Each field in the list corresponds to a field in the manifest file's partition spec.

◆ sequence_number

int64_t iceberg::ManifestFile::sequence_number = TableMetadata::kInitialSequenceNumber

Field id: 515 The sequence number when the manifest was added to the table; use 0 when reading v1 manifest lists


The documentation for this struct was generated from the following files: