Resulting Actions in Transaction Management

The actions that occur as a result of different combinations of Allocate, StopCondition, and TransactionMode configuration properties.

State, Event, Result Table for Transaction Management

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 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 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 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.