pub fn signature(&self) -> Signature {
        match self {
            BuiltinScalarFunction::ToYear
            | BuiltinScalarFunction::ToMonth
            | BuiltinScalarFunction::ToDayOfYear
            | BuiltinScalarFunction::ToDayOfMonth
            | BuiltinScalarFunction::ToDayOfWeek
            | BuiltinScalarFunction::ToQuarter => {
                Signature::Uniform(1, vec![DataType::Date16, DataType::Timestamp32(None)])
            }
            BuiltinScalarFunction::ToDate | BuiltinScalarFunction::ToDateTime => {
                Signature::Uniform(
                    1,
                    vec![
                        DataType::Date16,
                        DataType::Timestamp32(None),
                        DataType::Int64,
                        DataType::LargeUtf8,
                    ],
                )
            }
            BuiltinScalarFunction::ToHour
            | BuiltinScalarFunction::ToMinute
            | BuiltinScalarFunction::ToSecond => {
                Signature::Uniform(1, vec![DataType::Timestamp32(None)])
            }
            BuiltinScalarFunction::EndsWith => Signature::Any(2),
        }
    }
/// Returns the signature of the scalar function
///
/// Note: the timezone in `Timestamp32` uses `None` as a placeholder, meaning it is
/// allowed to accept timestamps with or without any timezones. No casts during the type
/// coercion will happen even if the arguments have a specific timezone.
Returns the signature of the scalar function
Note: the timezone in `Timestamp32` uses `None` as a placeholder, meaning it is
allowed to accept timestamps with or without any timezones. No casts during the type
coercion will happen even if the arguments have a specific timezone.
Returns the signature of the scalar function Note : the timezone in ` Timestamp32 ` uses ` None ` as a placeholder meaning it is allowed to accept timestamps with or without any timezones . No casts during the type coercion will happen even if the arguments have a specific timezone .
pub fn signature(&self) -> Signature {
        match self {
            BuiltinScalarFunction::ToYear
            | BuiltinScalarFunction::ToMonth
            | BuiltinScalarFunction::ToDayOfYear
            | BuiltinScalarFunction::ToDayOfMonth
            | BuiltinScalarFunction::ToDayOfWeek
            | BuiltinScalarFunction::ToQuarter => {
                Signature::Uniform(1, vec![DataType::Date16, DataType::Timestamp32(None)])
            }
            BuiltinScalarFunction::ToDate | BuiltinScalarFunction::ToDateTime => {
                Signature::Uniform(
                    1,
                    vec![
                        DataType::Date16,
                        DataType::Timestamp32(None),
                        DataType::Int64,
                        DataType::LargeUtf8,
                    ],
                )
            }
            BuiltinScalarFunction::ToHour
            | BuiltinScalarFunction::ToMinute
            | BuiltinScalarFunction::ToSecond => {
                Signature::Uniform(1, vec![DataType::Timestamp32(None)])
            }
            BuiltinScalarFunction::EndsWith => Signature::Any(2),
        }
    }
pub fn signature ( & self ) -> Signature { match self { BuiltinScalarFunction :: ToYear | BuiltinScalarFunction :: ToMonth | BuiltinScalarFunction :: ToDayOfYear | BuiltinScalarFunction :: ToDayOfMonth | BuiltinScalarFunction :: ToDayOfWeek | BuiltinScalarFunction :: ToQuarter => { Signature :: Uniform ( 1 , vec ! [ DataType Date16 DataType Timestamp32 ( None ) ] ) } BuiltinScalarFunction :: ToDate | BuiltinScalarFunction :: ToDateTime => { Signature :: Uniform ( 1 , vec ! [ DataType Date16 DataType Timestamp32 ( None ) DataType Int64 DataType LargeUtf8 ] , ) } BuiltinScalarFunction :: ToHour | BuiltinScalarFunction :: ToMinute | BuiltinScalarFunction :: ToSecond => { Signature :: Uniform ( 1 , vec ! [ DataType Timestamp32 ( None ) ] ) } BuiltinScalarFunction :: EndsWith => Signature :: Any ( 2 ) , } }
Returns the signature of the scalar function
Note: the timezone in `Timestamp32` uses `None` as a placeholder, meaning it is
allowed to accept timestamps with or without any timezones.
Returns the signature of the scalar function Note : the timezone in ` Timestamp32 ` uses ` None ` as a placeholder meaning it is allowed to accept timestamps with or without any timezones .
&self
&self