-
Notifications
You must be signed in to change notification settings - Fork 134
Closed
Labels
enhancementNew feature or requestNew feature or request
Description
Is your feature request related to a problem or challenge? Please describe what you are trying to do.
Currently, we de-structure every ScalarValue variant
Lines 308 to 319 in 860283a
| pub fn python_value(&self, py: Python) -> PyResult<PyObject> { | |
| match &self.expr { | |
| Expr::Literal(scalar_value) => match scalar_value { | |
| ScalarValue::Null => Err(py_datafusion_err( | |
| datafusion_common::DataFusionError::NotImplemented( | |
| "ScalarValue::Null".to_string(), | |
| ), | |
| )), | |
| ScalarValue::Boolean(v) => Ok(v.into_py(py)), | |
| ScalarValue::Float32(v) => Ok(v.into_py(py)), | |
| ScalarValue::Float64(v) => Ok(v.into_py(py)), | |
| ScalarValue::Decimal128(v, _, _) => Ok(v.into_py(py)), |
But ScalarValue already implements IntoPy:
https://github.com/apache/datafusion/blob/b7d2aea1dd4bb4a3abe3163dae936d7bfa5b32c9/datafusion/common/src/pyarrow.rs#L72-L76
If we want to avoid that unwrap, we could use the ToPyArrow trait:
https://github.com/apache/datafusion/blob/b7d2aea1dd4bb4a3abe3163dae936d7bfa5b32c9/datafusion/common/src/pyarrow.rs#L55-L64
Additional context
Are there other constraints the ScalarValue variants that datafusion-python can support other than what datafusion can convert?
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request