@@ -289,7 +289,13 @@ struct ListType {} // see LogicalTypes.md
289289struct EnumType {} // allowed for BYTE_ARRAY, must be encoded with UTF-8
290290struct DateType {} // allowed for INT32
291291struct 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+ }
293299
294300/**
295301 * Logical type to annotate a column that is always null.
@@ -398,14 +404,15 @@ union LogicalType {
398404 8: TimestampType TIMESTAMP
399405
400406 // 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
407413 // 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
409416}
410417
411418/**
0 commit comments