summaryrefslogtreecommitdiff
path: root/framework/Testing/Data/Distributed/MasterSlave/TMasterSlaveDbTransaction.php
diff options
context:
space:
mode:
Diffstat (limited to 'framework/Testing/Data/Distributed/MasterSlave/TMasterSlaveDbTransaction.php')
-rw-r--r--framework/Testing/Data/Distributed/MasterSlave/TMasterSlaveDbTransaction.php83
1 files changed, 0 insertions, 83 deletions
diff --git a/framework/Testing/Data/Distributed/MasterSlave/TMasterSlaveDbTransaction.php b/framework/Testing/Data/Distributed/MasterSlave/TMasterSlaveDbTransaction.php
deleted file mode 100644
index 254afdb5..00000000
--- a/framework/Testing/Data/Distributed/MasterSlave/TMasterSlaveDbTransaction.php
+++ /dev/null
@@ -1,83 +0,0 @@
-<?php
-/**
- * TMasterSlaveDbTransaction class file.
- *
- * @author Yves Berkholz <godzilla80[at]gmx[dot]net>
- * @link http://www.pradosoft.com/
- * @copyright Copyright &copy; 2005-2010 PradoSoft
- * @license http://www.pradosoft.com/license/
- * @version $Id$
- * @package System.Testing.Data.Distributed.MasterSlave
- */
- Prado::using('System.Data.TDbTransaction');
-
- /**
- * TMasterSlaveDbTransaction class
- *
- * IMPORTANT!!!
- * BETA Version - Use with care and NOT in production environment (only tested with MySql)
- *
- * TMasterSlaveDbTransaction represents a DB transaction in master/slave senario.
- *
- * @author Yves Berkholz <godzilla80[at]gmx[dot]net>
- * @version $Id$
- * @package System.Testing.Data.Distributed.MasterSlave
- * @since 4.0
- */
- class TMasterSlaveDbTransaction extends TDbTransaction
- {
- /**
- * @var boolean
- */
- private $_compatible = false;
-
- /**
- * Constructor.
- * @param TDbConnection the connection associated with this transaction
- * @see TDbConnection::beginTransaction
- */
- public function __construct(TDbConnection $connection)
- {
- if($connection instanceof ISlaveDbConnection)
- {
- $this->_compatible = true;
- $master = $connection->getMasterConnection();
- $master->setForceMaster(TMasterSlaveDbConnectionForceMaster::ON_TRANSACTION);
- Prado::log('contstuct, ForceMaster: ON_TRANSACTION', TLogger::DEBUG, 'System.Testing.Data.Distributed.MasterSlave.TMasterSlaveDbTransaction');
- parent::__construct($master);
- }
- else
- {
- if($connection instanceof IMasterSlaveDbConnection)
- {
- $this->_compatible = true;
- $connection->setForceMaster(TMasterSlaveDbConnectionForceMaster::ON_TRANSACTION);
- Prado::log('contstuct, ForceMaster: ON_TRANSACTION', TLogger::DEBUG, 'System.TestingData.Distributed.MasterSlave.TMasterSlaveDbTransaction');
- }
- parent::__construct($connection);
- }
- }
-
- /**
- * Commits a transaction.
- * @throws TDbException if the transaction or the DB connection is not active.
- */
- public function commit()
- {
- if($this->_compatible) $this->getConnection()->setForceMaster(TMasterSlaveDbConnectionForceMaster::OFF_AUTOMATIC);
- Prado::log('commit, ForceMaster: OFF_AUTOMATIC', TLogger::DEBUG, 'System.Testing.Data.Distributed.MasterSlave.TMasterSlaveDbTransaction');
- parent::commit();
- }
-
- /**
- * Rolls back a transaction.
- * @throws TDbException if the transaction or the DB connection is not active.
- */
- public function rollback()
- {
- if($this->_compatible) $this->getConnection()->setForceMaster(TMasterSlaveDbConnectionForceMaster::OFF_AUTOMATIC);
- Prado::log('rollback, ForceMaster: OFF_AUTOMATIC', TLogger::DEBUG, 'System.Testing.Data.Distributed.MasterSlave.TMasterSlaveDbTransaction');
- parent::rollback();
- }
- }
-?> \ No newline at end of file