sin(EaTing), wrote:

*In order to preserve transactional atomicity, database-side JDBC procedures that use
nested connections have the following limitations.
• Cannot issue a commit or rollback, unless called within a CALL statement.
• Cannot change connection attributes such as auto-commit.

*
If these items are true for my stored procedure, then I cannot modify the isolation level and neither change the autocommit mode.

The autocommit mode cannot be changed, it is always false for server-side connections. Calling setAutoCommit(false) is allowed since it doesn't change the mode.

Set isolation level I'm not sure about.

And I am yet confused about the first statement "*Cannot issue a commit or rollback, unless called within a CALL statement."* Could a Derby procedure be called without a "CALL statement"?

Procedures are only supported in CALL statements. However server-side jdbc can also exist in functions which can be called from any expression.

So the documentation you found is somewhat incorrect, it could be improved to use routines when describing functions and procedures, and just procedures when needed. E.g.

In order to preserve transactional atomicity, database-side JDBC routines that use nested connections have the following limitations.
 • Can only issue a commit or rollback within a procedure.
 • Cannot change connection attribute auto-commit.

Dan.

Reply via email to