3030#include " iceberg/iceberg_export.h"
3131#include " iceberg/result.h"
3232#include " iceberg/schema_field.h"
33+ #include " iceberg/snapshot.h"
34+ #include " iceberg/table_metadata.h"
3335#include " iceberg/type.h"
3436
3537namespace iceberg {
@@ -40,7 +42,7 @@ namespace iceberg {
4042struct ICEBERG_EXPORT PartitionFieldSummary {
4143 // / Field id: 509
4244 // / Whether the manifest contains at least one partition with a null value for the field
43- bool contains_null = false ;
45+ bool contains_null = true ;
4446 // / Field id: 518
4547 // / Whether the manifest contains at least one partition with a NaN value for the field
4648 std::optional<bool > contains_nan;
@@ -97,14 +99,14 @@ struct ICEBERG_EXPORT ManifestFile {
9799 // / Field id: 515
98100 // / The sequence number when the manifest was added to the table; use 0 when reading v1
99101 // / manifest lists
100- int64_t sequence_number = 0 ;
102+ int64_t sequence_number = TableMetadata:: kInitialSequenceNumber ;
101103 // / Field id: 516
102104 // / The minimum data sequence number of all live data or delete files in the manifest;
103105 // / use 0 when reading v1 manifest lists
104- int64_t min_sequence_number = 0 ;
106+ int64_t min_sequence_number = TableMetadata:: kInitialSequenceNumber ;
105107 // / Field id: 503
106108 // / ID of the snapshot where the manifest file was added
107- int64_t added_snapshot_id = 0 ;
109+ int64_t added_snapshot_id = Snapshot:: kInvalidSnapshotId ;
108110 // / Field id: 504
109111 // / Number of entries in the manifest that have status ADDED (1), when null this is
110112 // / assumed to be non-zero
@@ -139,7 +141,7 @@ struct ICEBERG_EXPORT ManifestFile {
139141 std::vector<uint8_t > key_metadata;
140142 // / Field id: 520
141143 // / The starting _row_id to assign to rows added by ADDED data files
142- int64_t first_row_id = 0 ;
144+ std::optional< int64_t > first_row_id;
143145
144146 // / \brief Checks if this manifest file contains entries with ADDED status.
145147 bool has_added_files () const { return added_files_count.value_or (1 ) > 0 ; }
0 commit comments