shows the actions that occur as a result of different combinations of these configuration properties: Allocate, StopCondition, and TransactionMode.
| Configuration property states and conditions | Event | Resulting Activities | 
|---|---|---|
| TransactionMode = short Allocate = request StopCondition = error or warning | If StopCondition is encountered | Rolls back transaction at StopCondition. Does not continue in request and ends the connection. | 
| If end of request with no StopCondition | Commits transaction and ends the connection. | |
| If begin transaction is encountered in request | Commits transaction. Switches to temporary long transaction mode and turns on begin transaction. | |
| If commit or rollback is encountered | Issues the commit or rollback. | |
| If cursor declare or dynamic prepare is encountered | Commits transaction. Switches to long transaction mode. | |
| TransactionMode = short Allocate = request StopCondition = none | If error or warning is encountered | Does not roll back. Continues in request and keeps the connection until end of request. | 
| If end of request | Commits transaction and ends the connection. | |
| If begin transaction is encountered in request | Commits transaction. Switches to temporary long transaction mode and turns on begin transaction. | |
| If commit or rollback is encountered | Issues the commit or rollback. | |
| If cursor declare or dynamic prepare is encountered | Commits transaction. Switches to long transaction mode. | |
| TransactionMode = short Allocate = connect StopCondition = error or warning | If StopCondition is encountered | Rolls back transaction at StopCondition. Does not continue in request but keeps the connection. | 
| If end of request with no StopCondition | Commits transaction and keeps the connection. | |
| If begin transaction is encountered in request | Commits transaction. Switches to temporary long transaction mode and turns on begin transaction. | |
| If commit or rollback is encountered | Issues the commit or rollback. | |
| If cursor declare or dynamic prepare is encountered | Commits transaction. Switches to long transaction mode. | |
| TransactionMode = short Allocate = connect StopCondition = none | If error or warning is encountered | Does not roll back. Continues in request and keeps the connection. | 
| If end of request with no StopCondition | Commits transaction and keeps the connection. | |
| If begin transaction is encountered in request | Commits transaction. Switches to temporary long transaction mode and turns on begin transaction. | |
| If commit or rollback is encountered | Issues the commit or rollback. | |
| If cursor declare or dynamic prepare is encountered | Commits transaction. Switches to long transaction mode. | |
| TransactionMode = long or temporary long Allocate = request or connect StopCondition = error or warning | If StopCondition is encountered | Does not roll back transaction at StopCondition. Does not continue in request but keeps the connection. | 
| If end of request with no StopCondition | Keeps the connection. | |
| If end of request with commit or rollback | Ends the connection. | |
| If begin transaction is encountered in request | If not in begin transaction block, sets begin transaction. If in begin transaction block, ignores it and issues message. | |
| If commit or rollback is encountered | Issues the commit or rollback. If in begin transaction block, ends begin transaction. | |
| If cursor declare or dynamic prepare is encountered | Executes statement. | |
| Same, plus cursor and dynamic statements all freed and in temporary long mode | If commit or rollback is encountered | Issues the commit or rollback. Ends begin transaction and reverts to previous transaction mode. | 
| Same, plus cursor and dynamic statements active and in temporary long mode | If free of a cursor or dynamic, means that all cursors and dynamics are now freed | Executes free. If not in begin transaction block, reverts to previous transaction mode. | 
| TransactionMode = long or temporary long Allocate = request or connect StopCondition = none | If StopCondition is encountered | Does not roll back transaction at StopCondition. Continues in request and keeps the connection. | 
| If end of request with no StopCondition | Keeps the connection. | |
| If end of request with commit or rollback | Ends the connection. | |
| If begin transaction is encountered in request | If not in begin transaction block, sets begin transaction. If in begin transaction block, then ignores and issues message. | |
| TransactionMode = long or temporary long Allocate = request or connect StopCondition = none | If commit or rollback is encountered | Issues the commit or rollback. If in begin transaction block, ends begin transaction. | 
| If cursor declare or dynamic prepare is encountered | Executes statement. | |
| Same, plus cursor and dynamic statements all freed and in temporary long mode | If commit or rollback is encountered | Issues the commit or rollback. Ends begin transaction. Reverts to previous transaction mode. | 
| Same, plus cursor and dynamic statements active and in temporary long mode | If Free of a cursor or dynamic, all cursors and dynamics are now freed | Executes free. If not in begin transaction block, reverts to previous transaction mode. |