Structure table name must be qualified with schema (5.12)?

User 57295192cc

18-03-2013 10:12:17

Hi,


When trying to upgrade a database (HSQLDB) to 5.12 using the Java API, I noticed the following:


The properties table originally referenced the structure table without the schema name, e.g. had rows like this:


INSERT INTO JCHEMPROPERTIES VALUES('table.MY_TABLE.absoluteStereo','true',NULL)


When running Updater I get messages like these:


JChem has detected that some important properties are missing from the property table.


JChem has detected that some important table properties are missing from the property table.


After executing all update steps, some new rows are inserted into the properties table, this time referencing the structure table with the full name, including the schema:


INSERT INTO JCHEMPROPERTIES VALUES('table.PUBLIC.MY_TABLE.absoluteStereo','true',NULL)


However, not all existing properties are migrated into this format. E.g. running a search after the upgrade produces an error because the "fingerpring" properties are missing. I suspect that the old format wasn't recognised at all, and Updater was only looking for entries with the schema name, and having found nothing, it simply inserted a new (minimal) set of properties.


So... my question is: is this expected? Should the properties table be updated manually before running Updater to include the schema name ("table.MY_TABLE.*" --> "table.PUBLIC.MY_TABLE.*")?


 


Many thanks,


Pal

ChemAxon abe887c64e

18-03-2013 14:18:10

Hi Pal,


Thank you for bringing the inproper update of HSQL database in JChem 5.12.0 to our attention. Unfortunately, this is really a bug; we will fix it.


The workaround you found is suitable to override the erroneous behavior.


Best regards,


Krisztina

User 57295192cc

18-03-2013 14:27:12

Hi Krisztina,


Thanks very much for the quick reply and evaluation!


Best regards,


Pal