diff --git a/datafusion/proto/proto/datafusion.proto b/datafusion/proto/proto/datafusion.proto index 7aa287055818f..5bffdc3af7741 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 29724fa9cf667..0fb6f4623745c 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(&self, serializer: S) -> std::result::Result - 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(deserializer: D) -> std::result::Result - 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(deserializer: D) -> std::result::Result - 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(self, value: &str) -> std::result::Result - 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(self, mut map_: V) -> std::result::Result - 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::()? 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(&self, serializer: S) -> std::result::Result @@ -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(&self, serializer: S) -> std::result::Result - 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(deserializer: D) -> std::result::Result - 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(self, v: i64) -> std::result::Result - 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(self, v: u64) -> std::result::Result - 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(self, value: &str) -> std::result::Result - 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(&self, serializer: S) -> std::result::Result - 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(deserializer: D) -> std::result::Result - 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(deserializer: D) -> std::result::Result - 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(self, value: &str) -> std::result::Result - 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(self, mut map_: V) -> std::result::Result - 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::()? 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(&self, serializer: S) -> std::result::Result diff --git a/datafusion/proto/src/generated/prost.rs b/datafusion/proto/src/generated/prost.rs index 400a7bf75765b..d0210eb7cfd38 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, } @@ -616,8 +616,6 @@ pub mod logical_expr_node { InList(::prost::alloc::boxed::Box), #[prost(message, tag = "15")] Wildcard(super::Wildcard), - #[prost(message, tag = "16")] - ScalarFunction(super::ScalarFunctionNode), #[prost(message, tag = "17")] TryCast(::prost::alloc::boxed::Box), /// 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, -} -#[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, } @@ -2097,8 +2087,6 @@ pub mod physical_expr_node { Negative(::prost::alloc::boxed::Box), #[prost(message, tag = "12")] InList(::prost::alloc::boxed::Box), - #[prost(message, tag = "13")] - ScalarFunction(super::PhysicalScalarFunctionNode), #[prost(message, tag = "14")] TryCast(::prost::alloc::boxed::Box), /// 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, - #[prost(message, optional, tag = "4")] - pub return_type: ::core::option::Option, -} -#[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>, @@ -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 { - 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 c0898db6f6719..83b232da9d21c 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 { - 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 1ea7a9cf54b19..9536ece09a63b 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)?,