The normative specification of variants, parquet-format/VariantEncoding.md,
uses examples

optional group shredded_variant_name (VARIANT) {
  required binary metadata;
  optional binary value;
  optional int64 typed_value;
}

But copy that and you get an error

java.lang.IllegalArgumentException: Expecting only spec version for variant
annotation args: []
at org.apache.parquet.Preconditions.checkArgument(Preconditions.java:70)
at
org.apache.parquet.schema.LogicalTypeAnnotation$LogicalTypeToken$3.fromString(LogicalTypeAnnotation.java:64)
at
org.apache.parquet.schema.MessageTypeParser.addGroupType(MessageTypeParser.java:139)
at
org.apache.parquet.schema.MessageTypeParser.addType(MessageTypeParser.java:109)
at
org.apache.parquet.schema.MessageTypeParser.addGroupTypeFields(MessageTypeParser.java:99)
at
org.apache.parquet.schema.MessageTypeParser.parse(MessageTypeParser.java:92)
at
org.apache.parquet.schema.MessageTypeParser.parseMessageType(MessageTypeParser.java:82)

It has to be (VARIANT(1)), as is done in the limited number of places a
variant is declared in the code.

Is this an omission in the specification?

If it is, I'll file an issue/pr to fix.

Reply via email to