I am having a hard time reconciling our user documentation with the
actual behavior of Derby procedures. The Developers Guide says the
following in the section titled "Invoking a procedure using the CALL
command": "Procedures that use nested connections, on the other hand,
are not permitted to commit or roll back and can therefore be rolled
back after the calling statement." This says to me that a user-coded
procedure should not be allowed to issue a commit or rollback on the
Connection bound to jdbc:default:connection.
However, this limitation does not appear to be enforced. I find that I
am able to commit and rollback jdbc:default:connection inside a
user-coded procedure. I can do this when I use Derby 10.1.2.1 and I can
do this on the trunk so I assume that this is true for all intervening
releases too.
Am I misunderstanding our user documentation? Does that sentence mean
something else? Where would I look for a definitive summary of how
transactions can be started/terminated inside user-coded procedures?
Thanks,
-Rick
- commits and rollbacks inside database procedures Rick Hillegas
-