all record fields are optional by default

This commit is contained in:
chrislu
2024-04-18 23:17:52 -07:00
parent 384ed7a381
commit cc1ce3de87
3 changed files with 85 additions and 71 deletions

View File

@@ -21,7 +21,7 @@ func toParquetFieldType(fieldType *schema_pb.Type) (dataType parquet.Node, err e
dataType, err = toParquetFieldTypeScalar(fieldType.GetScalarType())
case *schema_pb.Type_RecordType:
dataType, err = toParquetFieldTypeRecord(fieldType.GetRecordType())
case *schema_pb.Type_ListType:
case *schema_pb.Type_ListType:
dataType, err = toParquetFieldTypeList(fieldType.GetListType())
default:
return nil, fmt.Errorf("unknown field type: %T", fieldType.Kind)
@@ -65,6 +65,9 @@ func toParquetFieldTypeRecord(recordType *schema_pb.RecordType) (parquet.Node, e
if err != nil {
return nil, err
}
if !field.IsRequired {
parquetFieldType = parquet.Optional(parquetFieldType)
}
recordNode[field.Name] = parquetFieldType
}
return recordNode, nil