-
Notifications
You must be signed in to change notification settings - Fork 128
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