jayzhan211 commented on code in PR #12536:
URL: https://github.com/apache/datafusion/pull/12536#discussion_r1779319730
##########
datafusion/expr-common/src/columnar_value.rs:
##########
@@ -89,7 +91,7 @@ pub enum ColumnarValue {
/// Array of values
Array(ArrayRef),
/// A single value
- Scalar(ScalarValue),
+ Scalar(Scalar),
Review Comment:
> > we can get the LogicalType from it if each DataType has at most one
LogicalType
>
> We should not assume this to be the case. I suppose #12644 may convey why,
but even if we don't do Extension Types, this assumption will be very limiting.
I'm still not convinced why my assumption is limited. I don't think it makes
sense to have more than 1 logical type for the same physical type. Let alone
arrow's extension type, it is more easier to map them to single logical type
like `LogicalType::UserDefined()` and carry to Datafusion. If we have two
logical type that has the same physical type, which means we should standardize
them into one type. Consider that in Datafusion we provide the native type like
rust's native type or arrow's builtin type. Other user-defined type and
extension types should be able to built on top of those native/builtin type.
--
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]