alamb commented on code in PR #11787:
URL: https://github.com/apache/datafusion/pull/11787#discussion_r1702324937


##########
datafusion/functions/src/string/starts_with.rs:
##########
@@ -81,18 +106,73 @@ impl ScalarUDFImpl for StartsWithFunc {
     }
 
     fn return_type(&self, _arg_types: &[DataType]) -> Result<DataType> {
-        use DataType::*;
-
-        Ok(Boolean)
+        Ok(DataType::Boolean)
     }
 
     fn invoke(&self, args: &[ColumnarValue]) -> Result<ColumnarValue> {
         match args[0].data_type() {
             DataType::Utf8 => make_scalar_function(starts_with::<i32>, 
vec![])(args),
-            DataType::LargeUtf8 => {
-                return make_scalar_function(starts_with::<i64>, vec![])(args);
-            }
-            _ => internal_err!("Unsupported data type"),
+            DataType::LargeUtf8 => make_scalar_function(starts_with::<i64>, 
vec![])(args),
+            DataType::Utf8View => make_scalar_function(starts_with::<i32>, 
vec![])(args),
+            _ => internal_err!("Unsupported data types for starts_with")?,
         }
     }
 }
+
+#[cfg(test)]
+mod tests {
+    use crate::utils::test::test_function;
+    use arrow::array::{Array, BooleanArray};
+    use arrow::datatypes::DataType::Boolean;
+    use datafusion_common::{Result, ScalarValue};
+    use datafusion_expr::{ColumnarValue, ScalarUDFImpl};
+
+    use super::*;
+
+    #[test]
+    fn test_functions() -> Result<()> {
+        // Generate test cases for starts_with
+        let test_cases = vec![

Review Comment:
   Deal! I filed https://github.com/apache/datafusion/issues/11790
   
   What I recommend doing is starting with a single ticket and making it a 
complete template / description with the idea being that that someone that is 
not familar DataFusion or Utf8View can work on it
   
   Then when we file tickets for the rest of the functions we can reuse the 
same description over again. This
   1. Reduces the barrier to contribution
   2. I have found people love working on the code when there is a clear 
description
   
   I took a shot at updating https://github.com/apache/datafusion/issues/11786 
with background for use a template. Let me know what you think
   
   
   



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