UCanAccess 2.0.9.2 throws an exception when I try to create a named Savepoint. An unnamed Savepoint works fine:
packageucaNamedSavepoint;importjava.sql.*;publicclassUcaNamedSavepointMain{publicstaticvoidmain(String[]args){StringconnStr="jdbc:ucanaccess://C:/Users/Public/mdbTest.mdb";try(Connectionconn=DriverManager.getConnection(connStr)){conn.setAutoCommit(false);try(Statements=conn.createStatement()){s.executeUpdate("UPDATE ucaTest SET Field2='NEWVALUE1' WHERE ID=1");}Savepointsp1=conn.setSavepoint();try(Statements=conn.createStatement()){s.executeUpdate("UPDATE ucaTest SET Field2='NEWVALUE2' WHERE ID=2");}conn.rollback(sp1);conn.commit();}catch(Exceptione){e.printStackTrace(System.out);}}}
but if I change the line
Savepointsp1=conn.setSavepoint();
to
Savepointsp1=conn.setSavepoint("mySavepoint");
I get
net.ucanaccess.jdbc.UcanaccessSQLException: Invalid argument in JDBC call: 3B001 savepoint exception: invalid specification
at net.ucanaccess.jdbc.UcanaccessConnection.rollback(UcanaccessConnection.java:609)
at ucaNamedSavepoint.UcaNamedSavepointMain.main(UcaNamedSavepointMain.java:18)
Caused by: java.sql.SQLException: Invalid argument in JDBC call: 3B001 savepoint exception: invalid specification
at org.hsqldb.jdbc.Util.sqlException(Unknown Source)
at org.hsqldb.jdbc.Util.sqlException(Unknown Source)
at org.hsqldb.jdbc.Util.sqlException(Unknown Source)
at org.hsqldb.jdbc.Util.invalidArgument(Unknown Source)
at org.hsqldb.jdbc.JDBCConnection.rollback(Unknown Source)
at net.ucanaccess.jdbc.UcanaccessConnection.rollback(UcanaccessConnection.java:597)
... 1 more
Caused by: org.hsqldb.HsqlException: Invalid argument in JDBC call: 3B001 savepoint exception: invalid specification
at org.hsqldb.error.Error.error(Unknown Source)
at org.hsqldb.error.Error.error(Unknown Source)
... 5 more
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
UCanAccess 2.0.9.2 throws an exception when I try to create a named Savepoint. An unnamed Savepoint works fine:
but if I change the line
to
I get
Hi Gord
A trivial bug omitting Savepoint unwrapping to get the hasqldb original savepoint.
The fix will be in the 2.0.9.3.
Cheers Marco
Last edit: Marco Amadei 2014-11-10
Fixed on svn trunk