The database server and client are both UDB 7.2 fixpack 4 running on Windows 2000 sp 4. Auto commit is turned off within the client application.
The Version 7 Application Development Guide says that on a Windows 32-bit Operating System uncommitted transactions are always rolled back regardless of whether the program terminates in a normal or abnormal fashion. Behavior on "Most" Operating Systems is to commit with a normal termination and rollback with and abnormal termination.
However, our tests show transactions are implicitly committed if the application is closed via the system menu option close or the [X] option on the window. Transactions are also implicitly committed if the application resets the connection.
However, if the application is killed via the task manager or the application issues a terminate command or the application is forced (force application) the transaction is rolled back.
Our druthers would be that without an explicit application commit in flight transactions are rolled back like the documentation specifies.
So is the documentation incorrect or am I missing something? On non Windows 32-bit systems how is this handled in your code?
Thanks,
Jay