RussellSpitzer commented on code in PR #18526:
URL: https://github.com/apache/iceberg/pull/18526#discussion_r4364626160
##########
format/spec.md:
##########
@@ -463,15 +463,17 @@ The set of metadata columns is:
| **`2147483541 _commit_snapshot_id`** | `long` | The
snapshot ID in which the change occurred
|
| **`2147483540 _row_id`** | `long` | A unique
long assigned for row lineage, see [Row Lineage](#row-lineage)
|
| **`2147483539 _last_updated_sequence_number`** | `long` | The
sequence number which last updated this row, see [Row Lineage](#row-lineage)
|
+| **`2147483538 _last_updated_time`** | `timestamptz` | The
commit time of the snapshot which last updated this row (v4 and later), see
[Row Lineage](#row-lineage) |
#### Row Lineage
In v3 and later, an Iceberg table must track row lineage fields for all newly
created rows. Engines must maintain the `next-row-id` table field and the
following row-level fields when writing data files:
* `_row_id` a unique long identifier for every row within the table. The value
is assigned via inheritance when a row is first added to the table.
* `_last_updated_sequence_number` the sequence number of the commit that last
updated a row. The value is inherited when a row is first added or modified.
+* `_last_updated_time` (v4 and later) the commit time of the snapshot that
last updated a row. The value is inherited when a row is first added or
modified.
-These fields are assigned and updated by inheritance because the commit
sequence number and starting row ID are not assigned until the snapshot is
successfully committed. Inheritance is used to allow writing data and manifest
files before values are known so that it is not necessary to rewrite data and
manifest files when an optimistic commit is retried.
+These fields are assigned and updated by inheritance because the commit
sequence number, commit timestamp, and starting row ID are not assigned until
the snapshot is successfully committed. Inheritance is used to allow writing
data and manifest files before values are known so that it is not necessary to
rewrite data and manifest files when an optimistic commit is retried.
Review Comment:
I think we should attempt to remove "commit timestamp" from the vocabulary
and stick to "snapshot-timestamp" and "_last_updated_time"
So for example here we would say "snapshot timestamp"
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]