
On 24-04-2009 01:37:07 -0700, gsd wrote:
Thanks for the reply Fabian.
Fabian Groffen wrote:
Does your tool allow to extract the real problem by following the SQLException chain? That would help a lot to identify the batch fails.
It does now. The SQLException chain has three levels:
Message: "Error(s) occurred while executing the batch, see next SQLExceptions for details" State: null Code: 0
Message: "current transaction is aborted (please ROLLBACK)" (repeated 91 times) State: null Code: 0
Message: "current transaction is aborted (please ROLLBACK)" (repeated 8 times) State: null Code: 0
This is our error message for a transaction violation (concurrency conflict). This suggests that you are doing parallel work here, or at least have more than one client connected and doing something. Note that MonetDB/SQL only implements fully serialisable transactions, the most strict transaction isolation level.
This doesn't seem very informative to me... I'm using version 6 of Java - is there a suggested version to use or versions not to use?
There is/was a bug in Java 6 that causes an IndexOutOfBoundsException somewhere deep down at the driver's kernel, but since you don't hit that error, I think it's fine. Java 5 (1.5) is still the J2EE default, and our driver is also at that level.
Finally, on a different note, is it possible to pipe STDIN to COPY INTO calls via JDBC => MonetDb?
I think it's technically possible to send COPY INTO + the data following over JDBC, but as JDBC is statement based, this does not align very much with the interface.