HDFql 2.3.0 Release (with EXCEL import/export support!)


#1

We are happy to announce the release of HDFql 2.3.0!

This version includes:

  • Added support for writing/reading values into/from datasets/attributes from/into EXCEL files (with no EXCEL dependency or OLE automation)

  • Improved performance and memory footprint when reading values from datasets/attributes of data type variable-length into a cursor

  • Improved performance of the Java wrapper when writing/reading values into/from datasets/attributes from/into memory

  • Added fixes for many issues

  • Updated HDF5 library in use to 1.8.22 (previously HDFql was using version 1.8.21)

(Please check the release notes for further details and some examples that illustrate how HDFql works)


#2

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

#3

Thanks for reporting this issue @gerhard.aigner - our next release of HDFql will contain a fix for it!


#4

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?


#5

Hi,

No, I don’t recall using multidimensiona arrays. Would this change anything?


#6

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. :slight_smile: