Bug: Change in table name is not recognized.

User ccbacff418

22-10-2006 21:22:55


I just discovered a possible bug in Instant JChem.

I improted an sd file and gave the table a name (e.g., my_compounds). Then I sent to the project window and renamed the table (e.g., Test).

Then when I proceeded to import a new sd file into Test (File/Import from file) I select an sd file and in the next window where it says "Import into this database table" the name shown is NOT the new one (Test) but the old one! (my_compounds).

Same happens when you right-click on Table and select "Edit table definition", the name of the tab shown is still the first one.

Let me know if this is indeed a bug or that I'm missing a subtle point here.


- Guillermo.

ChemAxon fa971619eb

23-10-2006 09:56:39

This is actually not a bug, but can appear a little confusing. Let me explain...

The reason is that the node that appears in the project explorer is not actually representing the table, but a higher level item that we refer to as a "data tree". A data tree represents a set of database tables in a relational database (utilising the foreign key definitions) and let results be presented in a "master-detail" arrangement.

If you are familiar with ISIS/Base then the data tree can be thought of as being quite like the ISIS HView.

This abiltiy to handle relational data is currently under development in Instant JChem and currently the data tree can only contain a single table (no relational data), so it currently behaves as if it were synonymous with that table. But once we add the ability to add further tables with relationships to the "parent" table then it will be logical to be able to provide an different name for the data tree. Also, you will be able to create multiple data trees, and so each will need to be able to have a display name that is independent of any table they contain.

Also note that you can't rename a JChem table once it has been created.

So in your example you should ensure that you specify the correct table name when you create the table.