@@ -289,7 +289,13 @@ struct ListType {} // see LogicalTypes.md
289
289
struct EnumType {} // allowed for BYTE_ARRAY, must be encoded with UTF-8
290
290
struct DateType {} // allowed for INT32
291
291
struct Float16Type {} // allowed for FIXED[2], must encoded raw FLOAT16 bytes
292
- struct FixedSizeListType {} // see LogicalTypes.md
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