yevgenypats commented on code in PR #34343:
URL: https://github.com/apache/arrow/pull/34343#discussion_r1119281784
##########
go/arrow/csv/reader.go:
##########
@@ -721,6 +734,39 @@ func (r *Reader) parseDecimal256(field array.Builder, str
string, prec, scale in
field.(*array.Decimal256Builder).Append(val)
}
+func (r *Reader) parseList(field array.Builder, str string) {
+ if r.isNull(str) {
+ field.AppendNull()
+ return
+ }
+ if !(strings.HasPrefix(str, "{") || strings.HasSuffix(str, "}")) {
+ r.err = errors.New("invalid list format. should start with '{'
and end with '}'")
+ field.AppendNull()
+ return
+ }
+ str = strings.TrimPrefix(str, "{")
+ str = strings.TrimSuffix(str, "}")
+ strs := strings.Split(str, ",")
+ if len(strs) == 0 {
+ field.AppendNull()
+ return
+ }
+ listBldr := field.(*array.ListBuilder)
+ listBldr.Append(true)
+ valueBldr := listBldr.ValueBuilder()
+ for _, str := range strs {
+ r.initFieldConverter(valueBldr)(str)
+ }
+}
+
+func (r *Reader) parseFixedSizeBinary(field array.Builder, str string,
byteWidth int) {
+ if r.isNull(str) {
+ field.AppendNull()
+ return
+ }
+ field.(*array.FixedSizeBinaryBuilder).Append([]byte(str))
+}
Review Comment:
Good call. Now that I think about it, when handling an extension type I
think we shouldn't default to the underlying storage but rather then to a
`MarshalJSON` that is also needed here -
https://github.com/apache/arrow/issues/34292#issuecomment-1446791648 WDYT ? As
for example in case of uuid I actually don't want it to default to the
underlying storage implementation neither in JSON nor in CSV.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]