I had the following issue which seems to me a critial bug in Oracle 11g:
Breaking an oracle transaction asynchronously with OCIBreak() while transaction is being committed with OCITransCommit() did result in a correctly committed transaction on the database server. However OCITransCommit() returned ORA-01013 (user requested cancel of current operation) which is inconsistent. It should never happen that the transaction is correctly committed and OCITransCommit() returns anything other than OCI_SUCCESS.
My assumption is that the transaction is only committed on the database server if the OCITransCommit() returns OCI_SUCCESS. Or is this assumption not always correct?