zeroshade commented on a change in pull request #11359: URL: https://github.com/apache/arrow/pull/11359#discussion_r741376273
########## File path: go/arrow/array/decimal128.go ########## @@ -229,6 +253,67 @@ func (b *Decimal128Builder) newData() (data *Data) { return } +func (b *Decimal128Builder) unmarshalOne(dec *json.Decoder) error { + t, err := dec.Token() + if err != nil { + return err + } + + var out *big.Float + + switch v := t.(type) { + case float64: + out = big.NewFloat(v) + case string: + out, _, err = big.ParseFloat(v, 10, 0, big.ToNearestAway) + if err != nil { + return err + } + case json.Number: Review comment: It's not an alias but an actual type, which would only get used if the json encoder sets an option to use it. The `json.Number` type provides helper functions for parsing from the string, so the logic wouldn't be the same as using string, but instead using the helper functions directly and checking the error returns from them -- 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: github-unsubscr...@arrow.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org