jayzhan211 commented on code in PR #14440:
URL: https://github.com/apache/datafusion/pull/14440#discussion_r1939394767


##########
datafusion/expr-common/src/signature.rs:
##########
@@ -455,6 +461,46 @@ fn get_data_types(native_type: &NativeType) -> 
Vec<DataType> {
     }
 }
 
+#[derive(Debug, Clone)]
+pub struct FunctionSignature {
+    pub parameters: Vec<ParameterSignature>,
+    /// The volatility of the function. See [Volatility] for more information.
+    pub volatility: Volatility,
+}
+
+pub type ParameterSignature = Vec<ParameterType>;
+
+#[derive(Debug, Clone, Eq, PartialOrd, Hash)]
+pub struct ParameterType {
+    pub param_type: LogicalTypeRef,

Review Comment:
   `param_type`: target type of function signature
   `allowed_casts`: implicit coercion allowed to cast to target type.
   
   For example,
   `param_type`: string
   `allowed_casts`: binary, int
   
   ```
   Valid: All are casted to string
   func(string) 
   func(binary)
   func(int)
   Invalid:
   func(float or other types)
   ```



-- 
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: github-unsubscr...@datafusion.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscr...@datafusion.apache.org
For additional commands, e-mail: github-h...@datafusion.apache.org

Reply via email to