Posted to tcl by kbk at Fri May 14 19:48:15 GMT 2010view raw
- # The 'transaction' method executes a block of Tcl code as an
- # ACID transaction against the database.
- method transaction {script} {
- my begintransaction
- set status [catch {uplevel 1 $script} result options]
- switch -exact -- $status {
- 0 {
- my commit
- }
- 2 - 3 - 4 {
- set options [dict merge {-level 1} $options[set options {}]]
- dict incr options -level
- my commit
- }
- default {
- my rollback
- }
- }
- return -options $options $result
- }