> How can I > > even include something *outside* a transaction *inside* it I was referring to conditions outside the database which you detect while the transaction is in progress and which invalidate the semantic integrity of the transaction as a whole. Under such circumstances you would want to issue a rollback even though technically the transaction went through an *could* be committed. That's about the only case where it makes sense to have a keyword separate from "end", namely "rollback". Because you have the choice: either "end" the transaction or "rollback". All other cases just need "end". They will rollback or commit depending on whether there were any unhandled errors. Karsten -- GPG key ID E4071346 @ wwwkeys.pgp.net E167 67FD A291 2BEA 73BD 4537 78B9 A9F9 E407 1346