-
Notifications
You must be signed in to change notification settings - Fork 1k
Description
Is your feature request related to a problem or challenge? Please describe what you are trying to do.
-
part of [EPIC] [Parquet] Implement Variant type support in Parquet #6736
-
As part of implementing shredded variants in
variant_get
[Variant] Support Shredded Objects invariant_get
#8083 there are cases where the code needs to assemble a Variant whose metadata is already known and can not be changed
For example, when "shredding" a variant object, a new variant object is made with fields that are successfully shredded totally removed. The output variant object has the same metadata as the input variant (and can't change) but needs to have different actual fields.
The existing VariantBuilder
/ MetadataBuilder
allows new fields to be added (and thus change the Metadata), so it is not directly applicable
Describe the solution you'd like
A way to build variants with a pre-existing, read only, metadata. If a field is added to the the in progress object that is not present in the original metadata, then an error / panic should be raised.
Describe alternatives you've considered
@scovich has one proposal here (basically make MetadataBuilder a trait):
Additional context