We have seen many bugs where the client connection state is not correct and/or does not match the server. e.g
DERBY-1044. It would be good to add a test to test that client connection state is set properly and matches server behaviour for different types of connections.
State to check
Types of Connections
Connections obtained from Driver Manager
Connections obtained from regular DataSource
Connections obtained from PooledConnections
- on initial connection.
- after physical connection reset with getConnection()
Connections obtained from XAConnections
- PooledConnection tests above, but in addition check
-in local transaction
- after transitioning to a global transaction
- after transitioning back to local transaction.
For savepoints I added savepointJdbc30_XA.java that extends savepointJdbc30_JSR169 to add in testing for a different type of connection. I don't know if this is the right way to go to test different kinds of connections, for example a similar extension of setTransactionIsolation.java might be one way of testing isolation levels for the different types of connections.