Weijun-H commented on code in PR #9108:
URL: https://github.com/apache/arrow-datafusion/pull/9108#discussion_r1485709509


##########
datafusion/expr/src/signature.rs:
##########
@@ -132,7 +138,136 @@ pub enum ArrayFunctionSignature {
     /// The first argument should be non-list or list, and the second argument 
should be List/LargeList.
     /// The first argument's list dimension should be one dimension less than 
the second argument's list dimension.
     ElementAndArray,
+    /// Specialized Signature for ArrayEqual and similar functions
     ArrayAndIndex,
+    /// Specialized Signature for ArrayEmpty and similar functions
+    Array,
+}
+
+impl ArrayFunctionSignature {
+    /// Arguments to ArrayFunctionSignature
+    /// `current_types` - The data types of the arguments
+    /// `allow_null_coercion` - Whether null type coercion is allowed
+    /// Returns the valid types for the function signature
+    pub fn get_type_signature(
+        &self,
+        current_types: &[DataType],
+        allow_null_coercion: bool,
+    ) -> Result<Vec<Vec<DataType>>> {
+        fn array_append_or_prepend_valid_types(

Review Comment:
   It is only for the `match` statement below



-- 
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]

Reply via email to