Statement versus transaction runtime rollback

When an SQL statement generates an exception, this exception results
in a runtime rollback. A runtime rollback is a system-generated rollback
of a statement or transaction by Derby,
as opposed to an explicit rollback call from your
application.

Extremely severe exceptions, such as disk-full errors, shut down the system,
and the transaction is rolled back when the database is next booted. Severe
exceptions, such as deadlock, cause transaction rollback; Derby rolls
back all changes since the beginning of the transaction and implicitly begins
a new transaction. Less severe exceptions, such as syntax errors, result in
statement rollback; Derby rolls
back only changes made by the statement that caused the error. The application
developer can insert code to explicitly roll back the entire transaction if
desired.

Derby supports partial
rollback through the use of savepoints. See
Using savepoints for more
information.