system.db.rollbackTransaction
This function is used in Python Scripting.
Description
Performs a rollback on the given connection. This will make all statements executed against this transaction since its beginning or since the last commit or rollback undone. Note that if you are done with the transaction, you must also close it after you do a rollback on it.
Client Permission Restrictions
Permission Type: Legacy Database Access
Client access to this scripting function is blocked to users that do not meet the role/zone requirements for the above permission type. This function is unaffected when run in the Gateway scope.
Syntax
system.db.rollbackTransaction(tx)
Parameters
Type | Parameter | Description |
---|---|---|
String | tx | The transaction ID. |
Returns
Nothing
Scope
All
Code Examples
Example #1 - Rollback a Transaction on an Exception
# This example will use a for-loop to run multiple queries in a single Transaction, and rollback if an error occurs.
# Create some variables for use later
txId = system.db.beginTransaction(timeout=5000)
status=2
query = "UPDATE MachineStatus SET status=? WHERE ID=?"
errors = False # A flag to denote if we ran into a problem with a query during the transaction
for machineId in range(8):
try:
system.db.runPrepUpdate(query, args=[status, machineId], tx=txId)
except:
errors = True
break
# If we encountered an error...
if errors:
# ...then rollback the transaction
system.db.rollbackTransaction(txId)
else:
# Otherwise, commit it
system.db.commitTransaction(txId)
# In either case, close the transaction when we're done.
system.db.closeTransaction(txId)