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

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)


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
	type1 = type0;
	tmp = java.lang.reflect.Array.get(tmp, 0); //tmp could be empty!
	type0 = tmp.getClass().getComponentType();
while(type0 != null);

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

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?


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

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:

1 Like

Hi @gerhard.aigner,

Just to let you know that we have released HDFql version 2.4.0 which fixes the issue you have described in this post.

Hope this helps!

Version 2.4.0 works like a charm and is considerable faster!

1 Like

You are welcome @gerhard.aigner - and great to know that it works like a charm! :slight_smile: