diff --git a/datafusion/functions-array/src/string.rs b/datafusion/functions-array/src/string.rs index d02c863db8b7..9f4ffe88f151 100644 --- a/datafusion/functions-array/src/string.rs +++ b/datafusion/functions-array/src/string.rs @@ -184,7 +184,7 @@ impl StringToArray { ], Volatility::Immutable, ), - aliases: vec![String::from("string_to_list")], + aliases: vec![String::from("string_to_list"), String::from("string_split")], } } } diff --git a/datafusion/functions/src/unicode/substr.rs b/datafusion/functions/src/unicode/substr.rs index c297182057fe..5ff2ffa5e940 100644 --- a/datafusion/functions/src/unicode/substr.rs +++ b/datafusion/functions/src/unicode/substr.rs @@ -32,6 +32,7 @@ use crate::utils::{make_scalar_function, utf8_to_str_type}; #[derive(Debug)] pub struct SubstrFunc { signature: Signature, + aliases: Vec, } impl Default for SubstrFunc { @@ -53,6 +54,7 @@ impl SubstrFunc { ], Volatility::Immutable, ), + aliases: vec![String::from("substring")], } } } @@ -66,6 +68,10 @@ impl ScalarUDFImpl for SubstrFunc { "substr" } + fn aliases(&self) -> &[String] { + &self.aliases + } + fn signature(&self) -> &Signature { &self.signature } diff --git a/datafusion/sqllogictest/test_files/array.slt b/datafusion/sqllogictest/test_files/array.slt index 7917f1d78da8..3b49dd9754c8 100644 --- a/datafusion/sqllogictest/test_files/array.slt +++ b/datafusion/sqllogictest/test_files/array.slt @@ -6471,6 +6471,19 @@ select string_to_list(e, 'm') from values; [adipiscing] NULL +query ? +select string_split(e, 'm') from values; +---- +[Lore, ] +[ipsu, ] +[dolor] +[sit] +[a, et] +[,] +[consectetur] +[adipiscing] +NULL + # array_resize scalar function #1 query ? select array_resize(make_array(1, 2, 3), 1); diff --git a/datafusion/sqllogictest/test_files/functions.slt b/datafusion/sqllogictest/test_files/functions.slt index c3dd791f6ca8..8c2099f53b43 100644 --- a/datafusion/sqllogictest/test_files/functions.slt +++ b/datafusion/sqllogictest/test_files/functions.slt @@ -383,6 +383,12 @@ SELECT substr('alphabet', 3) ---- phabet +# Alias for substr +query T +SELECT substring('alphabet', 3) +---- +phabet + query T SELECT substr('alphabet', 30) ----