diff options
Diffstat (limited to 'app/php/db/DBTransaction.php')
-rw-r--r-- | app/php/db/DBTransaction.php | 53 |
1 files changed, 0 insertions, 53 deletions
diff --git a/app/php/db/DBTransaction.php b/app/php/db/DBTransaction.php deleted file mode 100644 index b176453..0000000 --- a/app/php/db/DBTransaction.php +++ /dev/null @@ -1,53 +0,0 @@ -<?php - -Prado::using('Application.db.DBConnection'); -Prado::using('System.Data.TDbTransaction'); - -class DBTransaction extends TDbTransaction { - - private $_nestedCount = 0; - private $_rolledBack = FALSE; - - public function beginNestedTransaction() { - if ($this->getActive()) { - $this->_nestedCount++; - } - } - - public function commit() { - if ($this->_rolledBack) { - $childTransaction = (bool)($this->_nestedCount); - $this->rollback(); - if (!$childTransaction) { - throw new TDbException('Nested transaction was rolled back, unable to commit.'); - } - } - else { - if ($this->_nestedCount) { - $this->_nestedCount--; - } - else { - parent::commit(); - } - } - } - - public function rollback() { - if (!$this->getActive()) { - $this->_nestedCount = 0; - return; - } - if ($this->_nestedCount) { - $this->_rolledBack = TRUE; - $this->_nestedCount--; - } - else { - parent::rollback(); - $this->_nestedCount = 0; - $this->_rolledBack = FALSE; - } - } - -} - -?> |