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]

Reply via email to