@@ -282,14 +282,20 @@ struct Statistics {
282
282
}
283
283
284
284
/** Empty structs to use as logical type annotations */
285
- struct StringType {} // allowed for BINARY, must be encoded with UTF-8
286
- struct UUIDType {} // allowed for FIXED[16], must encoded raw UUID bytes
287
- struct MapType {} // see LogicalTypes.md
288
- struct ListType {} // see LogicalTypes.md
289
- struct EnumType {} // allowed for BINARY, must be encoded with UTF-8
290
- struct DateType {} // allowed for INT32
291
- struct Float16Type {} // allowed for FIXED[2], must encoded raw FLOAT16 bytes
292
- struct FixedSizeListType {} // see LogicalTypes.md
285
+ struct StringType {} // allowed for BINARY, must be encoded with UTF-8
286
+ struct UUIDType {} // allowed for FIXED[16], must encoded raw UUID bytes
287
+ struct MapType {} // see LogicalTypes.md
288
+ struct ListType {} // see LogicalTypes.md
289
+ struct EnumType {} // allowed for BINARY, must be encoded with UTF-8
290
+ struct DateType {} // allowed for INT32
291
+ struct Float16Type {} // allowed for FIXED[2], must encoded raw FLOAT16 bytes
292
+ struct FixedSizeListType { // allowed for FIXED_LEN_BYTE_ARRAY[num_values * width of type],
293
+ 1: required Type type ; // see LogicalTypes.md
294
+ 2: required i32 num_values ;
295
+ }
296
+ struct VariableSizeListType { // allowed for BYTE_ARRAY, see LogicalTypes.md
297
+ 1: required Type type ;
298
+ }
293
299
294
300
/**
295
301
* Logical type to annotate a column that is always null.
@@ -398,14 +404,15 @@ union LogicalType {
398
404
8: TimestampType TIMESTAMP
399
405
400
406
// 9: reserved for INTERVAL
401
- 10: IntType INTEGER // use ConvertedType INT_* or UINT_*
402
- 11: NullType UNKNOWN // no compatible ConvertedType
403
- 12: JsonType JSON // use ConvertedType JSON
404
- 13: BsonType BSON // use ConvertedType BSON
405
- 14: UUIDType UUID // no compatible ConvertedType
406
- 15: Float16Type FLOAT16 // no compatible ConvertedType
407
+ 10: IntType INTEGER // use ConvertedType INT_* or UINT_*
408
+ 11: NullType UNKNOWN // no compatible ConvertedType
409
+ 12: JsonType JSON // use ConvertedType JSON
410
+ 13: BsonType BSON // use ConvertedType BSON
411
+ 14: UUIDType UUID // no compatible ConvertedType
412
+ 15: Float16Type FLOAT16 // no compatible ConvertedType
407
413
// 16: reserved for GEOMETRY
408
- 17: FixedSizeListType FIXED_SIZE_LIST // no compatible ConvertedType
414
+ 17: FixedSizeListType FIXED_SIZE_LIST // no compatible ConvertedType
415
+ 18: VariableSizeListType VARIABLE_SIZE_LIST // no compatible ConvertedType
409
416
}
410
417
411
418
/**
0 commit comments