Adding multiple fields (at once) gives error

User 677b9c22ff

15-11-2006 18:23:18

Hi,


thanks to multi-tasking we can add multiple columns in a quick time, even if the calculation on the first column was not finished yet, however this gives an error in v1.0 both LINUX and WIN. I hope we can keep this instead of allowing only once at time.





Reason, the terms calculations are strictly single-threaded, it will take a long time to calculate logD for millions of compounds, however on a multiple core machine (INTEL QUAD Xeon, AMD Opteron 8x) or the new


threading monsters from Cray Cray Threadstorm we can use multiple cores to calculate multiple terms at once within the database (i dont want to do it outside, because this destroys the beauty of Instan-JChem).





org.springframework.jdbc.UncategorizedSQLException: StatementCallback; uncategorized SQLException for SQL [ALTER TABLE pka ADD COLUMN logp2 REAL]; SQL state [X0X95]; error code [20000]; Operation 'ALTER TABLE' cannot be performed on object 'PKA' because there is an open ResultSet dependent on that object.; nested exception is org.apache.derby.impl.jdbc.EmbedSQLException: Operation 'ALTER TABLE' cannot be performed on object 'PKA' because there is an open ResultSet dependent on that object.





Tobias

ChemAxon fa971619eb

15-11-2006 19:07:11

Yes, currently only one chem terms calculation process can be run at a time. If you try to start a second it will fail.





We recently discussed this limitation and the planned solution is to allow multiple chem terms columns to be defined together, and then calculate them all in one go (this is possible because a single process will be doing the updating). But this is not currently posible.





One current workaround would be to define the chem terms columns on an empty table before you improted your data. Then when you import your data into that table all the calcualtions would be run as you imported each structure. Obviously the import will be slower, but the whole process may well be faster.