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