What & why
udf/table/array/ currently has just four functions (ArrayAppend,
ArrayContains, ArrayDistinct, ArrayUnion). Adding ARRAY_REVERSE and
ARRAY_MAX / ARRAY_MIN rounds out array handling and is a nice exercise in
Java generics and edge-case thinking.
数组函数目录现在只有四个。补上 ARRAY_REVERSE(反转)、ARRAY_MAX/ARRAY_MIN(取最值),
能让数组处理更完整,也是练 Java 泛型和边界思维的好题。
The task
array_reverse(arr) → reversed array
array_max(arr) / array_min(arr) → max/min element (handle numeric types and null elements)
Where to look
- There are two patterns to borrow:
ArrayDistinct.java (array in → array out)
and ArrayContains.java (array in → scalar out). Add ArrayReverse.java,
ArrayMax.java, ArrayMin.java.
- Register in
BuildInSqlFunctionTable.java.
- Test empty arrays, arrays with null elements, and single-element arrays.
Done when
What & why
udf/table/array/currently has just four functions (ArrayAppend,ArrayContains,ArrayDistinct,ArrayUnion). AddingARRAY_REVERSEandARRAY_MAX/ARRAY_MINrounds out array handling and is a nice exercise inJava generics and edge-case thinking.
数组函数目录现在只有四个。补上
ARRAY_REVERSE(反转)、ARRAY_MAX/ARRAY_MIN(取最值),能让数组处理更完整,也是练 Java 泛型和边界思维的好题。
The task
array_reverse(arr)→ reversed arrayarray_max(arr)/array_min(arr)→ max/min element (handle numeric types and null elements)Where to look
ArrayDistinct.java(array in → array out)and
ArrayContains.java(array in → scalar out). AddArrayReverse.java,ArrayMax.java,ArrayMin.java.BuildInSqlFunctionTable.java.Done when
array_max/minis explained in the PR