This is an automated email from the ASF dual-hosted git repository.

alamb pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/datafusion.git


The following commit(s) were added to refs/heads/main by this push:
     new 767bbca634 [MINOR] Remove ScalarFunction from datafusion.proto #10173 
(#10202)
767bbca634 is described below

commit 767bbca6347db7d396e1b1a5fa51d17373a9e5c2
Author: Dmitry Bugakov <[email protected]>
AuthorDate: Tue Apr 23 22:57:04 2024 +0200

    [MINOR] Remove ScalarFunction from datafusion.proto #10173 (#10202)
---
 datafusion/proto/proto/datafusion.proto          | 156 ----------
 datafusion/proto/src/generated/pbjson.rs         | 351 -----------------------
 datafusion/proto/src/generated/prost.rs          | 190 +-----------
 datafusion/proto/src/logical_plan/from_proto.rs  |  10 +-
 datafusion/proto/src/physical_plan/from_proto.rs |   6 -
 5 files changed, 3 insertions(+), 710 deletions(-)

diff --git a/datafusion/proto/proto/datafusion.proto 
b/datafusion/proto/proto/datafusion.proto
index 7aa2870558..5bffdc3af7 100644
--- a/datafusion/proto/proto/datafusion.proto
+++ b/datafusion/proto/proto/datafusion.proto
@@ -389,7 +389,6 @@ message LogicalExprNode {
     NegativeNode negative = 13;
     InListNode in_list = 14;
     Wildcard wildcard = 15;
-    ScalarFunctionNode scalar_function = 16;
     TryCastNode try_cast = 17;
 
     // window expressions
@@ -538,153 +537,6 @@ message InListNode {
   bool negated = 3;
 }
 
-enum ScalarFunction {
-  //  0 was Abs before
-  //  The first enum value must be zero for open enums
-  unknown = 0;
-  //  1 was Acos
-  //  2 was Asin
-  // 3 was Atan
-  // 4 was Ascii
-  // 5 was Ceil
-  // 6 was Cos
-  // 7 was Digest
-  // 8 was Exp
-  // 9 was Floor
-  // 10 was Ln
-  // 11 was Log
-  // 12 was Log10
-  // 13 was Log2
-  // 14 was Round
-  // 15 was Signum
-  // 16 was Sin
-  // 17 was Sqrt
-  // Tan = 18;
-  // 19 was Trunc
-  // 20 was Array
-  // RegexpMatch = 21;
-  // 22 was BitLength
-  // 23 was Btrim
-  // 24 was CharacterLength
-  // 25 was Chr
-  // 26 was Concat
-  // 27 was ConcatWithSeparator
-  // 28 was DatePart
-  // 29 was DateTrunc
-  // 30 was InitCap
-  // 31 was Left
-  // 32 was Lpad
-  // 33 was Lower
-  // 34 was Ltrim
-  // 35 was MD5
-  //  36 was NullIf
-  // 37 was OctetLength 
-  // 38 was Random
-  // 39 was RegexpReplace
-  // 40 was Repeat
-  // 41 was Replace
-  // 42 was Reverse
-  // 43 was Right
-  // 44 was Rpad
-  // 45 was Rtrim
-  // 46 was SHA224
-  // 47 was SHA256
-  // 48 was SHA384
-  // 49 was SHA512
-  // 50 was SplitPart
-  // StartsWith = 51;
-  // 52 was Strpos
-  // 53 was Substr
-  // ToHex = 54;
-  // 55 was ToTimestamp
-  // 56 was ToTimestampMillis
-  // 57 was ToTimestampMicros
-  // 58 was ToTimestampSeconds
-  // 59 was Now
-  // 60 was Translate
-  // Trim = 61;
-  // Upper = 62;
-  // 63 was Coalesce
-  // 64 was Power
-  // 65 was StructFun
-  // 66 was FromUnixtime
-  // 67 Atan2
-  // 68 was DateBin
-  // 69 was ArrowTypeof
-  // 70 was CurrentDate
-  // 71 was CurrentTime
-  // 72 was Uuid
-  // 73 was Cbrt
-  // 74 Acosh
-  // 75 was Asinh
-  // 76 was Atanh
-  // 77 was Sinh
-  // 78 was Cosh
-  // Tanh = 79
-  // 80 was Pi
-  // 81 was Degrees
-  // 82 was Radians
-  // 83 was Factorial
-  // 84 was Lcm
-  // 85 was Gcd
-  // 86 was ArrayAppend
-  // 87 was ArrayConcat
-  // 88 was ArrayDims
-  // 89 was ArrayRepeat
-  // 90 was ArrayLength
-  // 91 was ArrayNdims
-  // 92 was ArrayPosition
-  // 93 was ArrayPositions
-  // 94 was ArrayPrepend
-  // 95 was ArrayRemove
-  // 96 was ArrayReplace
-  // 97 was ArrayToString
-  // 98 was Cardinality
-  // 99 was ArrayElement
-  // 100 was ArraySlice
-  // 103 was Cot
-  // 104 was ArrayHas
-  // 105 was ArrayHasAny
-  // 106 was ArrayHasAll
-  // 107 was ArrayRemoveN
-  // 108 was ArrayReplaceN
-  // 109 was ArrayRemoveAll
-  // 110 was ArrayReplaceAll
-  // 111 was Nanvl
-  // 112 was Flatten
-  // 113 was IsNan
-  // 114 was Iszero
-  // 115 was ArrayEmpty
-  // 116 was ArrayPopBack
-  // 117 was StringToArray
-  // 118 was ToTimestampNanos
-  // 119 was ArrayIntersect
-  // 120 was ArrayUnion
-  // 121 was OverLay
-  // 122 is Range
-  // 123 is ArrayExcept
-  // 124 was ArrayPopFront
-  // 125 was Levenshtein
-  // 126 was SubstrIndex
-  // 127 was FindInSet
-  // 128 was ArraySort
-  // 129 was ArrayDistinct
-  // 130 was ArrayResize
-  // 131 was EndsWith
-  // 132 was InStr
-  // 133 was MakeDate
-  // 134 was ArrayReverse
-  // 135 is RegexpLike
-  // 136 was ToChar
-  // 137 was ToDate
-  // 138 was ToUnixtime
-}
-
-message ScalarFunctionNode {
-  ScalarFunction fun = 1;
-  repeated LogicalExprNode args = 2;
-}
-
 enum AggregateFunction {
   MIN = 0;
   MAX = 1;
@@ -1458,7 +1310,6 @@ message PhysicalExprNode {
     PhysicalSortExprNode sort = 10;
     PhysicalNegativeNode negative = 11;
     PhysicalInListNode in_list = 12;
-    PhysicalScalarFunctionNode scalar_function = 13;
     PhysicalTryCastNode try_cast = 14;
 
     // window expressions
@@ -1559,13 +1410,6 @@ message PhysicalCaseNode {
   PhysicalExprNode else_expr = 3;
 }
 
-message PhysicalScalarFunctionNode {
-  string name = 1;
-  ScalarFunction fun = 2;
-  repeated PhysicalExprNode args = 3;
-  ArrowType return_type = 4;
-}
-
 message PhysicalTryCastNode {
   PhysicalExprNode expr = 1;
   ArrowType arrow_type = 2;
diff --git a/datafusion/proto/src/generated/pbjson.rs 
b/datafusion/proto/src/generated/pbjson.rs
index 29724fa9cf..0fb6f46237 100644
--- a/datafusion/proto/src/generated/pbjson.rs
+++ b/datafusion/proto/src/generated/pbjson.rs
@@ -13809,9 +13809,6 @@ impl serde::Serialize for LogicalExprNode {
                 logical_expr_node::ExprType::Wildcard(v) => {
                     struct_ser.serialize_field("wildcard", v)?;
                 }
-                logical_expr_node::ExprType::ScalarFunction(v) => {
-                    struct_ser.serialize_field("scalarFunction", v)?;
-                }
                 logical_expr_node::ExprType::TryCast(v) => {
                     struct_ser.serialize_field("tryCast", v)?;
                 }
@@ -13903,8 +13900,6 @@ impl<'de> serde::Deserialize<'de> for LogicalExprNode {
             "in_list",
             "inList",
             "wildcard",
-            "scalar_function",
-            "scalarFunction",
             "try_cast",
             "tryCast",
             "window_expr",
@@ -13956,7 +13951,6 @@ impl<'de> serde::Deserialize<'de> for LogicalExprNode {
             Negative,
             InList,
             Wildcard,
-            ScalarFunction,
             TryCast,
             WindowExpr,
             AggregateUdfExpr,
@@ -14012,7 +14006,6 @@ impl<'de> serde::Deserialize<'de> for LogicalExprNode {
                             "negative" => Ok(GeneratedField::Negative),
                             "inList" | "in_list" => Ok(GeneratedField::InList),
                             "wildcard" => Ok(GeneratedField::Wildcard),
-                            "scalarFunction" | "scalar_function" => 
Ok(GeneratedField::ScalarFunction),
                             "tryCast" | "try_cast" => 
Ok(GeneratedField::TryCast),
                             "windowExpr" | "window_expr" => 
Ok(GeneratedField::WindowExpr),
                             "aggregateUdfExpr" | "aggregate_udf_expr" => 
Ok(GeneratedField::AggregateUdfExpr),
@@ -14157,13 +14150,6 @@ impl<'de> serde::Deserialize<'de> for LogicalExprNode {
                                 return 
Err(serde::de::Error::duplicate_field("wildcard"));
                             }
                             expr_type__ = 
map_.next_value::<::std::option::Option<_>>()?.map(logical_expr_node::ExprType::Wildcard)
-;
-                        }
-                        GeneratedField::ScalarFunction => {
-                            if expr_type__.is_some() {
-                                return 
Err(serde::de::Error::duplicate_field("scalarFunction"));
-                            }
-                            expr_type__ = 
map_.next_value::<::std::option::Option<_>>()?.map(logical_expr_node::ExprType::ScalarFunction)
 ;
                         }
                         GeneratedField::TryCast => {
@@ -18526,9 +18512,6 @@ impl serde::Serialize for PhysicalExprNode {
                 physical_expr_node::ExprType::InList(v) => {
                     struct_ser.serialize_field("inList", v)?;
                 }
-                physical_expr_node::ExprType::ScalarFunction(v) => {
-                    struct_ser.serialize_field("scalarFunction", v)?;
-                }
                 physical_expr_node::ExprType::TryCast(v) => {
                     struct_ser.serialize_field("tryCast", v)?;
                 }
@@ -18572,8 +18555,6 @@ impl<'de> serde::Deserialize<'de> for PhysicalExprNode {
             "negative",
             "in_list",
             "inList",
-            "scalar_function",
-            "scalarFunction",
             "try_cast",
             "tryCast",
             "window_expr",
@@ -18598,7 +18579,6 @@ impl<'de> serde::Deserialize<'de> for PhysicalExprNode {
             Sort,
             Negative,
             InList,
-            ScalarFunction,
             TryCast,
             WindowExpr,
             ScalarUdf,
@@ -18636,7 +18616,6 @@ impl<'de> serde::Deserialize<'de> for PhysicalExprNode {
                             "sort" => Ok(GeneratedField::Sort),
                             "negative" => Ok(GeneratedField::Negative),
                             "inList" | "in_list" => Ok(GeneratedField::InList),
-                            "scalarFunction" | "scalar_function" => 
Ok(GeneratedField::ScalarFunction),
                             "tryCast" | "try_cast" => 
Ok(GeneratedField::TryCast),
                             "windowExpr" | "window_expr" => 
Ok(GeneratedField::WindowExpr),
                             "scalarUdf" | "scalar_udf" => 
Ok(GeneratedField::ScalarUdf),
@@ -18745,13 +18724,6 @@ impl<'de> serde::Deserialize<'de> for PhysicalExprNode 
{
                                 return 
Err(serde::de::Error::duplicate_field("inList"));
                             }
                             expr_type__ = 
map_.next_value::<::std::option::Option<_>>()?.map(physical_expr_node::ExprType::InList)
-;
-                        }
-                        GeneratedField::ScalarFunction => {
-                            if expr_type__.is_some() {
-                                return 
Err(serde::de::Error::duplicate_field("scalarFunction"));
-                            }
-                            expr_type__ = 
map_.next_value::<::std::option::Option<_>>()?.map(physical_expr_node::ExprType::ScalarFunction)
 ;
                         }
                         GeneratedField::TryCast => {
@@ -20110,151 +20082,6 @@ impl<'de> serde::Deserialize<'de> for 
PhysicalPlanNode {
         deserializer.deserialize_struct("datafusion.PhysicalPlanNode", FIELDS, 
GeneratedVisitor)
     }
 }
-impl serde::Serialize for PhysicalScalarFunctionNode {
-    #[allow(deprecated)]
-    fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, 
S::Error>
-    where
-        S: serde::Serializer,
-    {
-        use serde::ser::SerializeStruct;
-        let mut len = 0;
-        if !self.name.is_empty() {
-            len += 1;
-        }
-        if self.fun != 0 {
-            len += 1;
-        }
-        if !self.args.is_empty() {
-            len += 1;
-        }
-        if self.return_type.is_some() {
-            len += 1;
-        }
-        let mut struct_ser = 
serializer.serialize_struct("datafusion.PhysicalScalarFunctionNode", len)?;
-        if !self.name.is_empty() {
-            struct_ser.serialize_field("name", &self.name)?;
-        }
-        if self.fun != 0 {
-            let v = ScalarFunction::try_from(self.fun)
-                .map_err(|_| serde::ser::Error::custom(format!("Invalid 
variant {}", self.fun)))?;
-            struct_ser.serialize_field("fun", &v)?;
-        }
-        if !self.args.is_empty() {
-            struct_ser.serialize_field("args", &self.args)?;
-        }
-        if let Some(v) = self.return_type.as_ref() {
-            struct_ser.serialize_field("returnType", v)?;
-        }
-        struct_ser.end()
-    }
-}
-impl<'de> serde::Deserialize<'de> for PhysicalScalarFunctionNode {
-    #[allow(deprecated)]
-    fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
-    where
-        D: serde::Deserializer<'de>,
-    {
-        const FIELDS: &[&str] = &[
-            "name",
-            "fun",
-            "args",
-            "return_type",
-            "returnType",
-        ];
-
-        #[allow(clippy::enum_variant_names)]
-        enum GeneratedField {
-            Name,
-            Fun,
-            Args,
-            ReturnType,
-        }
-        impl<'de> serde::Deserialize<'de> for GeneratedField {
-            fn deserialize<D>(deserializer: D) -> 
std::result::Result<GeneratedField, D::Error>
-            where
-                D: serde::Deserializer<'de>,
-            {
-                struct GeneratedVisitor;
-
-                impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
-                    type Value = GeneratedField;
-
-                    fn expecting(&self, formatter: &mut 
std::fmt::Formatter<'_>) -> std::fmt::Result {
-                        write!(formatter, "expected one of: {:?}", &FIELDS)
-                    }
-
-                    #[allow(unused_variables)]
-                    fn visit_str<E>(self, value: &str) -> 
std::result::Result<GeneratedField, E>
-                    where
-                        E: serde::de::Error,
-                    {
-                        match value {
-                            "name" => Ok(GeneratedField::Name),
-                            "fun" => Ok(GeneratedField::Fun),
-                            "args" => Ok(GeneratedField::Args),
-                            "returnType" | "return_type" => 
Ok(GeneratedField::ReturnType),
-                            _ => Err(serde::de::Error::unknown_field(value, 
FIELDS)),
-                        }
-                    }
-                }
-                deserializer.deserialize_identifier(GeneratedVisitor)
-            }
-        }
-        struct GeneratedVisitor;
-        impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
-            type Value = PhysicalScalarFunctionNode;
-
-            fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> 
std::fmt::Result {
-                formatter.write_str("struct 
datafusion.PhysicalScalarFunctionNode")
-            }
-
-            fn visit_map<V>(self, mut map_: V) -> 
std::result::Result<PhysicalScalarFunctionNode, V::Error>
-                where
-                    V: serde::de::MapAccess<'de>,
-            {
-                let mut name__ = None;
-                let mut fun__ = None;
-                let mut args__ = None;
-                let mut return_type__ = None;
-                while let Some(k) = map_.next_key()? {
-                    match k {
-                        GeneratedField::Name => {
-                            if name__.is_some() {
-                                return 
Err(serde::de::Error::duplicate_field("name"));
-                            }
-                            name__ = Some(map_.next_value()?);
-                        }
-                        GeneratedField::Fun => {
-                            if fun__.is_some() {
-                                return 
Err(serde::de::Error::duplicate_field("fun"));
-                            }
-                            fun__ = Some(map_.next_value::<ScalarFunction>()? 
as i32);
-                        }
-                        GeneratedField::Args => {
-                            if args__.is_some() {
-                                return 
Err(serde::de::Error::duplicate_field("args"));
-                            }
-                            args__ = Some(map_.next_value()?);
-                        }
-                        GeneratedField::ReturnType => {
-                            if return_type__.is_some() {
-                                return 
Err(serde::de::Error::duplicate_field("returnType"));
-                            }
-                            return_type__ = map_.next_value()?;
-                        }
-                    }
-                }
-                Ok(PhysicalScalarFunctionNode {
-                    name: name__.unwrap_or_default(),
-                    fun: fun__.unwrap_or_default(),
-                    args: args__.unwrap_or_default(),
-                    return_type: return_type__,
-                })
-            }
-        }
-        
deserializer.deserialize_struct("datafusion.PhysicalScalarFunctionNode", 
FIELDS, GeneratedVisitor)
-    }
-}
 impl serde::Serialize for PhysicalScalarUdfNode {
     #[allow(deprecated)]
     fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, 
S::Error>
@@ -22784,184 +22611,6 @@ impl<'de> serde::Deserialize<'de> for 
ScalarFixedSizeBinary {
         deserializer.deserialize_struct("datafusion.ScalarFixedSizeBinary", 
FIELDS, GeneratedVisitor)
     }
 }
-impl serde::Serialize for ScalarFunction {
-    #[allow(deprecated)]
-    fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, 
S::Error>
-    where
-        S: serde::Serializer,
-    {
-        let variant = match self {
-            Self::Unknown => "unknown",
-        };
-        serializer.serialize_str(variant)
-    }
-}
-impl<'de> serde::Deserialize<'de> for ScalarFunction {
-    #[allow(deprecated)]
-    fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
-    where
-        D: serde::Deserializer<'de>,
-    {
-        const FIELDS: &[&str] = &[
-            "unknown",
-        ];
-
-        struct GeneratedVisitor;
-
-        impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
-            type Value = ScalarFunction;
-
-            fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> 
std::fmt::Result {
-                write!(formatter, "expected one of: {:?}", &FIELDS)
-            }
-
-            fn visit_i64<E>(self, v: i64) -> std::result::Result<Self::Value, 
E>
-            where
-                E: serde::de::Error,
-            {
-                i32::try_from(v)
-                    .ok()
-                    .and_then(|x| x.try_into().ok())
-                    .ok_or_else(|| {
-                        
serde::de::Error::invalid_value(serde::de::Unexpected::Signed(v), &self)
-                    })
-            }
-
-            fn visit_u64<E>(self, v: u64) -> std::result::Result<Self::Value, 
E>
-            where
-                E: serde::de::Error,
-            {
-                i32::try_from(v)
-                    .ok()
-                    .and_then(|x| x.try_into().ok())
-                    .ok_or_else(|| {
-                        
serde::de::Error::invalid_value(serde::de::Unexpected::Unsigned(v), &self)
-                    })
-            }
-
-            fn visit_str<E>(self, value: &str) -> 
std::result::Result<Self::Value, E>
-            where
-                E: serde::de::Error,
-            {
-                match value {
-                    "unknown" => Ok(ScalarFunction::Unknown),
-                    _ => Err(serde::de::Error::unknown_variant(value, FIELDS)),
-                }
-            }
-        }
-        deserializer.deserialize_any(GeneratedVisitor)
-    }
-}
-impl serde::Serialize for ScalarFunctionNode {
-    #[allow(deprecated)]
-    fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, 
S::Error>
-    where
-        S: serde::Serializer,
-    {
-        use serde::ser::SerializeStruct;
-        let mut len = 0;
-        if self.fun != 0 {
-            len += 1;
-        }
-        if !self.args.is_empty() {
-            len += 1;
-        }
-        let mut struct_ser = 
serializer.serialize_struct("datafusion.ScalarFunctionNode", len)?;
-        if self.fun != 0 {
-            let v = ScalarFunction::try_from(self.fun)
-                .map_err(|_| serde::ser::Error::custom(format!("Invalid 
variant {}", self.fun)))?;
-            struct_ser.serialize_field("fun", &v)?;
-        }
-        if !self.args.is_empty() {
-            struct_ser.serialize_field("args", &self.args)?;
-        }
-        struct_ser.end()
-    }
-}
-impl<'de> serde::Deserialize<'de> for ScalarFunctionNode {
-    #[allow(deprecated)]
-    fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
-    where
-        D: serde::Deserializer<'de>,
-    {
-        const FIELDS: &[&str] = &[
-            "fun",
-            "args",
-        ];
-
-        #[allow(clippy::enum_variant_names)]
-        enum GeneratedField {
-            Fun,
-            Args,
-        }
-        impl<'de> serde::Deserialize<'de> for GeneratedField {
-            fn deserialize<D>(deserializer: D) -> 
std::result::Result<GeneratedField, D::Error>
-            where
-                D: serde::Deserializer<'de>,
-            {
-                struct GeneratedVisitor;
-
-                impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
-                    type Value = GeneratedField;
-
-                    fn expecting(&self, formatter: &mut 
std::fmt::Formatter<'_>) -> std::fmt::Result {
-                        write!(formatter, "expected one of: {:?}", &FIELDS)
-                    }
-
-                    #[allow(unused_variables)]
-                    fn visit_str<E>(self, value: &str) -> 
std::result::Result<GeneratedField, E>
-                    where
-                        E: serde::de::Error,
-                    {
-                        match value {
-                            "fun" => Ok(GeneratedField::Fun),
-                            "args" => Ok(GeneratedField::Args),
-                            _ => Err(serde::de::Error::unknown_field(value, 
FIELDS)),
-                        }
-                    }
-                }
-                deserializer.deserialize_identifier(GeneratedVisitor)
-            }
-        }
-        struct GeneratedVisitor;
-        impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
-            type Value = ScalarFunctionNode;
-
-            fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> 
std::fmt::Result {
-                formatter.write_str("struct datafusion.ScalarFunctionNode")
-            }
-
-            fn visit_map<V>(self, mut map_: V) -> 
std::result::Result<ScalarFunctionNode, V::Error>
-                where
-                    V: serde::de::MapAccess<'de>,
-            {
-                let mut fun__ = None;
-                let mut args__ = None;
-                while let Some(k) = map_.next_key()? {
-                    match k {
-                        GeneratedField::Fun => {
-                            if fun__.is_some() {
-                                return 
Err(serde::de::Error::duplicate_field("fun"));
-                            }
-                            fun__ = Some(map_.next_value::<ScalarFunction>()? 
as i32);
-                        }
-                        GeneratedField::Args => {
-                            if args__.is_some() {
-                                return 
Err(serde::de::Error::duplicate_field("args"));
-                            }
-                            args__ = Some(map_.next_value()?);
-                        }
-                    }
-                }
-                Ok(ScalarFunctionNode {
-                    fun: fun__.unwrap_or_default(),
-                    args: args__.unwrap_or_default(),
-                })
-            }
-        }
-        deserializer.deserialize_struct("datafusion.ScalarFunctionNode", 
FIELDS, GeneratedVisitor)
-    }
-}
 impl serde::Serialize for ScalarNestedValue {
     #[allow(deprecated)]
     fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, 
S::Error>
diff --git a/datafusion/proto/src/generated/prost.rs 
b/datafusion/proto/src/generated/prost.rs
index 400a7bf757..d0210eb7cf 100644
--- a/datafusion/proto/src/generated/prost.rs
+++ b/datafusion/proto/src/generated/prost.rs
@@ -572,7 +572,7 @@ pub struct SubqueryAliasNode {
 pub struct LogicalExprNode {
     #[prost(
         oneof = "logical_expr_node::ExprType",
-        tags = "1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 
19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35"
+        tags = "1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 
20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35"
     )]
     pub expr_type: ::core::option::Option<logical_expr_node::ExprType>,
 }
@@ -616,8 +616,6 @@ pub mod logical_expr_node {
         InList(::prost::alloc::boxed::Box<super::InListNode>),
         #[prost(message, tag = "15")]
         Wildcard(super::Wildcard),
-        #[prost(message, tag = "16")]
-        ScalarFunction(super::ScalarFunctionNode),
         #[prost(message, tag = "17")]
         TryCast(::prost::alloc::boxed::Box<super::TryCastNode>),
         /// window expressions
@@ -841,14 +839,6 @@ pub struct InListNode {
 }
 #[allow(clippy::derive_partial_eq_without_eq)]
 #[derive(Clone, PartialEq, ::prost::Message)]
-pub struct ScalarFunctionNode {
-    #[prost(enumeration = "ScalarFunction", tag = "1")]
-    pub fun: i32,
-    #[prost(message, repeated, tag = "2")]
-    pub args: ::prost::alloc::vec::Vec<LogicalExprNode>,
-}
-#[allow(clippy::derive_partial_eq_without_eq)]
-#[derive(Clone, PartialEq, ::prost::Message)]
 pub struct AggregateExprNode {
     #[prost(enumeration = "AggregateFunction", tag = "1")]
     pub aggr_function: i32,
@@ -2060,7 +2050,7 @@ pub struct PhysicalExtensionNode {
 pub struct PhysicalExprNode {
     #[prost(
         oneof = "physical_expr_node::ExprType",
-        tags = "1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18"
+        tags = "1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16, 18"
     )]
     pub expr_type: ::core::option::Option<physical_expr_node::ExprType>,
 }
@@ -2097,8 +2087,6 @@ pub mod physical_expr_node {
         Negative(::prost::alloc::boxed::Box<super::PhysicalNegativeNode>),
         #[prost(message, tag = "12")]
         InList(::prost::alloc::boxed::Box<super::PhysicalInListNode>),
-        #[prost(message, tag = "13")]
-        ScalarFunction(super::PhysicalScalarFunctionNode),
         #[prost(message, tag = "14")]
         TryCast(::prost::alloc::boxed::Box<super::PhysicalTryCastNode>),
         /// window expressions
@@ -2275,18 +2263,6 @@ pub struct PhysicalCaseNode {
 }
 #[allow(clippy::derive_partial_eq_without_eq)]
 #[derive(Clone, PartialEq, ::prost::Message)]
-pub struct PhysicalScalarFunctionNode {
-    #[prost(string, tag = "1")]
-    pub name: ::prost::alloc::string::String,
-    #[prost(enumeration = "ScalarFunction", tag = "2")]
-    pub fun: i32,
-    #[prost(message, repeated, tag = "3")]
-    pub args: ::prost::alloc::vec::Vec<PhysicalExprNode>,
-    #[prost(message, optional, tag = "4")]
-    pub return_type: ::core::option::Option<ArrowType>,
-}
-#[allow(clippy::derive_partial_eq_without_eq)]
-#[derive(Clone, PartialEq, ::prost::Message)]
 pub struct PhysicalTryCastNode {
     #[prost(message, optional, boxed, tag = "1")]
     pub expr: 
::core::option::Option<::prost::alloc::boxed::Box<PhysicalExprNode>>,
@@ -2838,168 +2814,6 @@ impl JoinConstraint {
 }
 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, 
::prost::Enumeration)]
 #[repr(i32)]
-pub enum ScalarFunction {
-    ///   0 was Abs before
-    ///   The first enum value must be zero for open enums
-    ///
-    ///   1 was Acos
-    ///   2 was Asin
-    /// 3 was Atan
-    /// 4 was Ascii
-    /// 5 was Ceil
-    /// 6 was Cos
-    /// 7 was Digest
-    /// 8 was Exp
-    /// 9 was Floor
-    /// 10 was Ln
-    /// 11 was Log
-    /// 12 was Log10
-    /// 13 was Log2
-    /// 14 was Round
-    /// 15 was Signum
-    /// 16 was Sin
-    /// 17 was Sqrt
-    /// Tan = 18;
-    /// 19 was Trunc
-    /// 20 was Array
-    /// RegexpMatch = 21;
-    /// 22 was BitLength
-    /// 23 was Btrim
-    /// 24 was CharacterLength
-    /// 25 was Chr
-    /// 26 was Concat
-    /// 27 was ConcatWithSeparator
-    /// 28 was DatePart
-    /// 29 was DateTrunc
-    /// 30 was InitCap
-    /// 31 was Left
-    /// 32 was Lpad
-    /// 33 was Lower
-    /// 34 was Ltrim
-    /// 35 was MD5
-    ///   36 was NullIf
-    /// 37 was OctetLength
-    /// 38 was Random
-    /// 39 was RegexpReplace
-    /// 40 was Repeat
-    /// 41 was Replace
-    /// 42 was Reverse
-    /// 43 was Right
-    /// 44 was Rpad
-    /// 45 was Rtrim
-    /// 46 was SHA224
-    /// 47 was SHA256
-    /// 48 was SHA384
-    /// 49 was SHA512
-    /// 50 was SplitPart
-    /// StartsWith = 51;
-    /// 52 was Strpos
-    /// 53 was Substr
-    /// ToHex = 54;
-    /// 55 was ToTimestamp
-    /// 56 was ToTimestampMillis
-    /// 57 was ToTimestampMicros
-    /// 58 was ToTimestampSeconds
-    /// 59 was Now
-    /// 60 was Translate
-    /// Trim = 61;
-    /// Upper = 62;
-    /// 63 was Coalesce
-    /// 64 was Power
-    /// 65 was StructFun
-    /// 66 was FromUnixtime
-    /// 67 Atan2
-    /// 68 was DateBin
-    /// 69 was ArrowTypeof
-    /// 70 was CurrentDate
-    /// 71 was CurrentTime
-    /// 72 was Uuid
-    /// 73 was Cbrt
-    /// 74 Acosh
-    /// 75 was Asinh
-    /// 76 was Atanh
-    /// 77 was Sinh
-    /// 78 was Cosh
-    /// Tanh = 79
-    /// 80 was Pi
-    /// 81 was Degrees
-    /// 82 was Radians
-    /// 83 was Factorial
-    /// 84 was Lcm
-    /// 85 was Gcd
-    /// 86 was ArrayAppend
-    /// 87 was ArrayConcat
-    /// 88 was ArrayDims
-    /// 89 was ArrayRepeat
-    /// 90 was ArrayLength
-    /// 91 was ArrayNdims
-    /// 92 was ArrayPosition
-    /// 93 was ArrayPositions
-    /// 94 was ArrayPrepend
-    /// 95 was ArrayRemove
-    /// 96 was ArrayReplace
-    /// 97 was ArrayToString
-    /// 98 was Cardinality
-    /// 99 was ArrayElement
-    /// 100 was ArraySlice
-    /// 103 was Cot
-    /// 104 was ArrayHas
-    /// 105 was ArrayHasAny
-    /// 106 was ArrayHasAll
-    /// 107 was ArrayRemoveN
-    /// 108 was ArrayReplaceN
-    /// 109 was ArrayRemoveAll
-    /// 110 was ArrayReplaceAll
-    /// 111 was Nanvl
-    /// 112 was Flatten
-    /// 113 was IsNan
-    /// 114 was Iszero
-    /// 115 was ArrayEmpty
-    /// 116 was ArrayPopBack
-    /// 117 was StringToArray
-    /// 118 was ToTimestampNanos
-    /// 119 was ArrayIntersect
-    /// 120 was ArrayUnion
-    /// 121 was OverLay
-    /// 122 is Range
-    /// 123 is ArrayExcept
-    /// 124 was ArrayPopFront
-    /// 125 was Levenshtein
-    /// 126 was SubstrIndex
-    /// 127 was FindInSet
-    /// 128 was ArraySort
-    /// 129 was ArrayDistinct
-    /// 130 was ArrayResize
-    /// 131 was EndsWith
-    /// 132 was InStr
-    /// 133 was MakeDate
-    /// 134 was ArrayReverse
-    /// 135 is RegexpLike
-    /// 136 was ToChar
-    /// 137 was ToDate
-    /// 138 was ToUnixtime
-    Unknown = 0,
-}
-impl ScalarFunction {
-    /// String value of the enum field names used in the ProtoBuf definition.
-    ///
-    /// The values are not transformed in any way and thus are considered 
stable
-    /// (if the ProtoBuf definition does not change) and safe for programmatic 
use.
-    pub fn as_str_name(&self) -> &'static str {
-        match self {
-            ScalarFunction::Unknown => "unknown",
-        }
-    }
-    /// Creates an enum from field names used in the ProtoBuf definition.
-    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
-        match value {
-            "unknown" => Some(Self::Unknown),
-            _ => None,
-        }
-    }
-}
-#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, 
::prost::Enumeration)]
-#[repr(i32)]
 pub enum AggregateFunction {
     Min = 0,
     Max = 1,
diff --git a/datafusion/proto/src/logical_plan/from_proto.rs 
b/datafusion/proto/src/logical_plan/from_proto.rs
index c0898db6f6..83b232da9d 100644
--- a/datafusion/proto/src/logical_plan/from_proto.rs
+++ b/datafusion/proto/src/logical_plan/from_proto.rs
@@ -852,7 +852,7 @@ pub fn parse_expr(
     registry: &dyn FunctionRegistry,
     codec: &dyn LogicalExtensionCodec,
 ) -> Result<Expr, Error> {
-    use protobuf::{logical_expr_node::ExprType, window_expr_node, 
ScalarFunction};
+    use protobuf::{logical_expr_node::ExprType, window_expr_node};
 
     let expr_type = proto
         .expr_type
@@ -1264,14 +1264,6 @@ pub fn parse_expr(
                 Some(qualifier.clone())
             },
         }),
-        ExprType::ScalarFunction(expr) => {
-            let scalar_function = protobuf::ScalarFunction::try_from(expr.fun)
-                .map_err(|_| Error::unknown("ScalarFunction", expr.fun))?;
-
-            match scalar_function {
-                ScalarFunction::Unknown => Err(proto_error("Unknown scalar 
function")),
-            }
-        }
         ExprType::ScalarUdfExpr(protobuf::ScalarUdfExprNode {
             fun_name,
             args,
diff --git a/datafusion/proto/src/physical_plan/from_proto.rs 
b/datafusion/proto/src/physical_plan/from_proto.rs
index 12a3288a76..4b8a480623 100644
--- a/datafusion/proto/src/physical_plan/from_proto.rs
+++ b/datafusion/proto/src/physical_plan/from_proto.rs
@@ -338,12 +338,6 @@ pub fn parse_physical_expr(
             )?,
             convert_required!(e.arrow_type)?,
         )),
-        ExprType::ScalarFunction(e) => {
-            return Err(proto_error(format!(
-                "Received an unknown scalar function: {}",
-                e.fun,
-            )));
-        }
         ExprType::ScalarUdf(e) => {
             let udf = match &e.fun_definition {
                 Some(buf) => codec.try_decode_udf(&e.name, buf)?,


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to