liurenjie1024 commented on issue #694:
URL: https://github.com/apache/iceberg-rust/issues/694#issuecomment-2510475431

   > @liurenjie1024, @Xuanwo, @Fokko may I ask for another round of Feedback 
for this? I believe if we decide to not introduce a `SchemalessPartitionSpec`, 
we should do so before `0.4.0`
   
   If I understand correctly, one of the most important use case of 
`SchemalessPartitionSpec` is when loading table metadata, there are many 
historial partition spec, which have two important characteristics:
   1. They are not unbound partition spec, since they have been bound to some 
schema, not have to be current schema.
   2. Their partition type don't have to be computed immediately, since this 
maybe a time consuming process.
   
   After discussios(incluiding in slack, github issues), I think I have a 
better understanding why java's `buildUnchecked` method maybe a reasonable 
solution:
   1. It resolves the second point I mentioned above.
   2. When we need to compute the partiton type of a partition spec, we verify 
it at that time. But from our discussion before, iceberg should guarantee that 
schema evolution to be always compatible to reachable partiton spec, e.g. it 
should be invalid to drop a field referenced by a reachable partiton spec. 
   
   So my suggestion would be as following:
   1. Remove `SchemalessPartitonSpec`
   2. Lazily compute partition type
   3. Add a crate private `buildUnchecked` method.


-- 
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: issues-unsubscr...@iceberg.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org
For additional commands, e-mail: issues-h...@iceberg.apache.org

Reply via email to