I tried to update but experienced a regression with the Java wrapper: It throws an ArrayIndexOutOfBoundsException when registering a zero element byte array:
byte[] stringData = new byte[0];
int var = HDFql.variableTransientRegister(stringData); // throws...
I think the culprit is that the wrapper code doesn’t expect empty arrays to be a thing:
//HDFql.java line 181-187
do
{
type1 = type0;
tmp = java.lang.reflect.Array.get(tmp, 0); //tmp could be empty!
type0 = tmp.getClass().getComponentType();
}
while(type0 != null);
One question @gerhard.aigner: Do you happen to declare arrays like this dataType [][]myVar = new dataType[0][5]; (i.e. with two or more dimensions where the first dimension has a size equal to 0) in other parts of your program?
Thanks for the feedback @gerhard.aigner. It could change the way we have to deal with the exception in Java but nothing that end-users will have to worry about at the end.