alamb commented on issue #11513:
URL: https://github.com/apache/datafusion/issues/11513#issuecomment-2380710741
> I’d love to hear if this design is sound, or if there are any potential
pitfalls in how I’ve approached type mapping.
One thing I found a bit confusing was `ExtensionType::logical_type` in your
example returns a `LogicalType`
```rust
pub trait ExtensionType {
fn logical_type(&self) -> LogicalType;
}
```
But one of the `LogicalType` variants is itself an `ExtensionType`
```rust
#[derive(Clone)]
pub enum LogicalType {
//...
Extenstion(Arc<dyn ExtensionType>),
}
```
It seems like the idea is that the logical type would report its underlying
representation to DataFusion.
I wonder when we would ever need to know the "logical_type" of an extension
type. I think it would never make sense to DataFusion to treat a logical
extension type as its underlying representation
Just becase I know JSON columns are represented as Strings internally, I
think they should never be treated as Strings unless the user explicitly
requests such a conversion and the ExtensionType defines how to cast to a String
--
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]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]