alamb commented on code in PR #13817:
URL: https://github.com/apache/datafusion/pull/13817#discussion_r1891569735
##########
datafusion/expr-common/src/signature.rs:
##########
@@ -102,51 +106,75 @@ pub enum TypeSignature {
UserDefined,
/// One or more arguments with arbitrary types
VariadicAny,
- /// Fixed number of arguments of an arbitrary but equal type out of a list
of valid types.
+ /// One or more arguments of an arbitrary but equal type out of a list of
valid types.
///
/// # Examples
/// 1. A function of one argument of f64 is `Uniform(1,
vec![DataType::Float64])`
/// 2. A function of one argument of f64 or f32 is `Uniform(1,
vec![DataType::Float32, DataType::Float64])`
Uniform(usize, Vec<DataType>),
- /// Exact number of arguments of an exact type
+ /// One or more arguments with exactly the specified types in order.
+ ///
+ /// For functions that take no arguments (e.g. `random()` see
[`TypeSignature::Nullary`]).
Exact(Vec<DataType>),
- /// The number of arguments that can be coerced to in order
+ /// One or more arguments belonging to the [`TypeSignatureClass`], in
order.
+ ///
/// For example, `Coercible(vec![logical_float64()])` accepts
/// arguments like `vec![DataType::Int32]` or `vec![DataType::Float32]`
- /// since i32 and f32 can be casted to f64
+ /// since i32 and f32 can be cast to f64
+ ///
+ /// For functions that take no arguments (e.g. `random()` see
[`TypeSignature::Nullary`]).
Coercible(Vec<TypeSignatureClass>),
- /// The arguments will be coerced to a single type based on the comparison
rules.
- /// For example, i32 and i64 has coerced type Int64.
+ /// One or more arguments that can be "compared"
Review Comment:
Agreed -- this can be made better. I will attempt a follow up
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]