diff --git a/crates/core/src/expr/indexed_field.rs b/crates/core/src/expr/indexed_field.rs deleted file mode 100644 index c980b0f92..000000000 --- a/crates/core/src/expr/indexed_field.rs +++ /dev/null @@ -1,82 +0,0 @@ -// Licensed to the Apache Software Foundation (ASF) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The ASF licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - -use std::fmt::{Display, Formatter}; - -use datafusion::logical_expr::expr::{GetFieldAccess, GetIndexedField}; -use pyo3::prelude::*; - -use super::literal::PyLiteral; -use crate::errors::py_unsupported_variant_err; -use crate::expr::PyExpr; - -#[pyclass( - from_py_object, - frozen, - name = "GetIndexedField", - module = "datafusion.expr", - subclass -)] -#[derive(Clone)] -pub struct PyGetIndexedField { - indexed_field: GetIndexedField, -} - -impl From for GetIndexedField { - fn from(indexed_field: PyGetIndexedField) -> Self { - indexed_field.indexed_field - } -} - -impl From for PyGetIndexedField { - fn from(indexed_field: GetIndexedField) -> PyGetIndexedField { - PyGetIndexedField { indexed_field } - } -} - -impl Display for PyGetIndexedField { - fn fmt(&self, f: &mut Formatter) -> std::fmt::Result { - write!( - f, - "GetIndexedField - Expr: {:?} - Key: {:?}", - &self.indexed_field.expr, &self.indexed_field.field - ) - } -} - -#[pymethods] -impl PyGetIndexedField { - fn expr(&self) -> PyResult { - Ok((*self.indexed_field.expr).clone().into()) - } - - fn key(&self) -> PyResult { - match &self.indexed_field.field { - GetFieldAccess::NamedStructField { name, .. } => Ok(name.clone().into()), - GetFieldAccess::ListIndex { .. } | GetFieldAccess::ListRange { .. } => Err( - py_unsupported_variant_err("GetIndexedField.key is only supported for struct fields"), - ), - } - } - - /// Get a String representation of this column - fn __repr__(&self) -> String { - format!("{}", self) - } -}