hermanschaaf opened a new issue, #34959:
URL: https://github.com/apache/arrow/issues/34959
### Describe the enhancement requested
Right now it seems like there is support for casting from extension types to
their underlying storage types, but not vice versa.
The `cast_test.go` tests include these cases, for example:
```
canCast(types.NewSmallintType(),
[]arrow.DataType{arrow.PrimitiveTypes.Int16})
canCast(types.NewSmallintType(), numericTypes)
// any cast which is valid for storage is supported
canCast(arrow.Null, []arrow.DataType{types.NewSmallintType()})
```
But adding this case, from the storage type to the extension type, fails:
```
canCast(arrow.PrimitiveTypes.Int16,
[]arrow.DataType{types.NewSmallintType()}) // casting from storage type to
extension is supported
```
```
=== RUN TestCasts/TestCanCast
cast_test.go:335:
Error Trace:
/Users/hermanschaaf/code/cloudquery/arrow/go/arrow/compute/cast_test.go:335
/Users/hermanschaaf/code/cloudquery/arrow/go/arrow/compute/cast_test.go:341
/Users/hermanschaaf/code/cloudquery/arrow/go/arrow/compute/cast_test.go:401
Error: Not equal:
expected: true
actual : false
Test: TestCasts/TestCanCast
Messages: CanCast from: int16, to:
extension_type<storage=int16>, expected: true
```
It seems like this should be possible, as long as the type being cast from
matches the storage type. Is there another way to do this that I might be
missing?
### Component(s)
Go
--
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]