It seems that there is an issue with the VariableTransientRegister
method. As a workaround, please use the VariableRegister
method instead like the following:
public class HDFqlExample
{
public static void Main(string []args)
{
int[,] values = new int[100, 2];
int number;
number = HDFql.VariableRegister(values);
for (int i = 0; i < 100; i++)
{
values[i, 0] = i;
values[i, 1] = 100 - i;
}
for (int iIndex = 0; iIndex < 15; iIndex++)
{
string sFileName = "painters" + iIndex.ToString() + ".h5";
HDFql.Execute("CREATE FILE " + sFileName);
HDFql.Execute("USE FILE " + sFileName);
HDFql.Execute("CREATE GROUP picasso ORDER TRACKED");
HDFql.Execute("CREATE ATTRIBUTE picasso/subject AS UTF8 VARCHAR VALUES(\"Les Demoiselles d'Avignon\")");
HDFql.Execute("CREATE DATASET picasso/guernica AS COMPOUND(X_column AS INT, Y_column AS INT)(100) VALUES FROM MEMORY " + number);
HDFql.Execute("CREATE ATTRIBUTE picasso/guernica/subject AS UTF8 VARCHAR VALUES(\"guerra civil española\")");
HDFql.Execute("CLOSE FILE");
}
HDFql.VariableUnregister(values);
}
}
FYI, we will release a new version of HDFql containing a fix for this issue as soon as the HDF5 library version 1.8.22 is released - which should happen still this year.