I try to create alias in H2 for function with two parameters of array.
parameters: Array sourceArray, Array subArray Returns boolean: TRUE if sourceArray contains all elements of subArray. OR ELSE false
I declared function:
CREATE ALIAS IF NOT EXISTS array_contains_all AS '
boolean arrayContainsAll(java.util.HashSet sourceArray, java.util.HashSet subArray) {
return sourceArray.containsAll(subArray);
}';
I call this function:
SELECT array_contains_all (Array['HELLO', 'WORLD', 'FRIEND'], Array['HELLO', 'WORLD']);
I expected TRUE. But it throws error:
Hexadecimal string contains non-hex character: "[HELLO, WORLD, FRIEND]".
Then I tried:
CREATE ALIAS IF NOT EXISTS array_contains_all AS '
boolean arrayContainsAll(java.sql.Array sourceArray, java.sql.Array subArray) {
java.util.List<Object> sourceArrayList = java.util.Arrays.asList((Object[]) sourceArray.getArray());
java.util.List<Object> subArrayList = java.util.Arrays.asList((Object[]) subArray.getArray());
return sourceArrayList.containsAll(subArrayList);
}';
It throws the same error:
Hexadecimal string contains non-hex character: "[HELLO, WORLD, FRIEND]".
How to correct this?