Latest snapshot jars have just been released and behave
identically in client-server and in-process modes.
Please check and report any issues.
On Thu, 12 Aug 2010 16:47 -0400, "Vince Adamo"
I am running HSQLDB 2.0.0 in a unit test environment and have
come across a situation where the exception
“java.sql.SQLException: invalid transaction state: read-only
SQL-transaction” is thrown while preparing a SQL update
statement, with the connection isolation level set to
Connection.TRANSACTION_SERIALIZABLE, when immediately preceded by
a SQL query with the connection isolation level set to
Connection.TRANSACTION_READ_UNCOMMITTED. I have developed a test
case, which I have attached to this e-mail.
Please note that this test case will fail with the exception
mentioned above when HSQLDB is run “in memory” (i.e. Test class
member variable “serverMode” = false) but it will not fail when
HSQLDB is run remotely as a server (i.e. Test class member
variable “serverMode” = true).
I believe this issue is related to the fact that when running “in
is called directly when setting the connection isolation level,
but when running in “server mode” a remote call is made to
Session.setAttributes() to set the isolation level. The call to
JDBCConnection.setTransactionIsolation(int level) results in a
call to Session.setIsolationDefault(), which sets
Session.isReadOnlyDefault to true when level is READ UNCOMITTED.
The call to Session.setAttributes(), instead, results in a call
to Session.setIsolation(), which does not set
Session.isReadOnlyDefault, it only changes the current
transactions isolation level. And, Session.isReadOnlyDefault is
never reset to false when run “in memory” and the connection’s
isolation is set to SERIALIZABLE.
Is there something wrong with the sequence of events depicted by
the class Test, or is this a bug? And if it’s a bug, can you
recommend a work around?
This SF.net email is sponsored by
Make an app they can't live without
Enter the BlackBerry Developer Challenge
Hsqldb-user mailing list