Returns a reverse iterator for all table objects in the given dataset.
public getReverseIterator ( ) : PHPUnit_Extensions_Database_DataSet_ITableIterator | ||
return | PHPUnit_Extensions_Database_DataSet_ITableIterator |
/** * @param PHPUnit_Extensions_Database_DB_IDatabaseConnection $connection * @param PHPUnit_Extensions_Database_DataSet_IDataSet $dataSet */ public function execute(PHPUnit_Extensions_Database_DB_IDatabaseConnection $connection, PHPUnit_Extensions_Database_DataSet_IDataSet $dataSet) { $databaseDataSet = $connection->createDataSet(); $dsIterator = $this->iteratorDirection == self::ITERATOR_TYPE_REVERSE ? $dataSet->getReverseIterator() : $dataSet->getIterator(); foreach ($dsIterator as $table) { /* @var $table PHPUnit_Extensions_Database_DataSet_ITable */ $databaseTableMetaData = $databaseDataSet->getTableMetaData($table->getTableMetaData()->getTableName()); $query = $this->buildOperationQuery($databaseTableMetaData, $table, $connection); if ($query === FALSE && $table->getRowCount() > 0) { throw new PHPUnit_Extensions_Database_Operation_Exception($this->operationName, '', array(), $table, "Rows requested for insert, but no columns provided!"); } $statement = $connection->getConnection()->prepare($query); $rowCount = $table->getRowCount(); for ($i = 0; $i < $rowCount; $i++) { $args = $this->buildOperationArguments($databaseTableMetaData, $table, $i); try { $statement->execute($args); } catch (Exception $e) { throw new PHPUnit_Extensions_Database_Operation_Exception( $this->operationName, $query, $args, $table, $e->getMessage() ); } } } }
public function execute(PHPUnit_Extensions_Database_DB_IDatabaseConnection $connection, PHPUnit_Extensions_Database_DataSet_IDataSet $dataSet) { foreach ($dataSet->getReverseIterator() as $table) { /* @var $table PHPUnit_Extensions_Database_DataSet_ITable */ $query = "\n DELETE FROM {$connection->quoteSchemaObject($table->getTableMetaData()->getTableName())}\n "; try { $connection->getConnection()->query($query); } catch (PDOException $e) { throw new PHPUnit_Extensions_Database_Operation_Exception('DELETE_ALL', $query, array(), $table, $e->getMessage()); } } }
/** * * @param PHPUnit_Extensions_Database_DB_IDatabaseConnection $connection * @param PHPUnit_Extensions_Database_DataSet_IDataSet $dataSet * @return void */ public function execute(\PHPUnit_Extensions_Database_DB_IDatabaseConnection $connection, \PHPUnit_Extensions_Database_DataSet_IDataSet $dataSet) { if (!$connection instanceof \Zend\Test\PHPUnit\Db\Connection) { throw new \Zend\Test\PHPUnit\Db\Exception\InvalidArgumentException("Not a valid Zend_Test_PHPUnit_Db_Connection instance, " . get_class($connection) . " given!"); } foreach ($dataSet->getReverseIterator() as $table) { try { $tableName = $table->getTableMetaData()->getTableName(); $this->_truncate($connection->getConnection(), $tableName); } catch (\Exception $e) { throw new \PHPUnit_Extensions_Database_Operation_Exception('TRUNCATE', 'TRUNCATE ' . $tableName . '', array(), $table, $e->getMessage()); } } }
public function execute(PHPUnit_Extensions_Database_DB_IDatabaseConnection $connection, PHPUnit_Extensions_Database_DataSet_IDataSet $dataSet) { foreach ($dataSet->getReverseIterator() as $table) { /* @var $table PHPUnit_Extensions_Database_DataSet_ITable */ $query = "\n {$connection->getTruncateCommand()} {$connection->quoteSchemaObject($table->getTableMetaData()->getTableName())}\n "; if ($this->useCascade && $connection->allowsCascading()) { $query .= " CASCADE"; } try { $connection->getConnection()->query($query); } catch (PDOException $e) { throw new PHPUnit_Extensions_Database_Operation_Exception('TRUNCATE', $query, array(), $table, $e->getMessage()); } } }
/** * * @param PHPUnit_Extensions_Database_DB_IDatabaseConnection $connection * @param PHPUnit_Extensions_Database_DataSet_IDataSet $dataSet * @return void */ public function execute(PHPUnit_Extensions_Database_DB_IDatabaseConnection $connection, PHPUnit_Extensions_Database_DataSet_IDataSet $dataSet) { if (!$connection instanceof Zend_Test_PHPUnit_Db_Connection) { require_once "Zend/Test/PHPUnit/Db/Exception.php"; throw new Zend_Test_PHPUnit_Db_Exception("Not a valid Zend_Test_PHPUnit_Db_Connection instance, " . get_class($connection) . " given!"); } foreach ($dataSet->getReverseIterator() as $table) { try { $tableName = $table->getTableMetaData()->getTableName(); $this->_truncate($connection->getConnection(), $tableName); } catch (Exception $e) { throw new PHPUnit_Extensions_Database_Operation_Exception('TRUNCATE', 'TRUNCATE ' . $tableName . '', array(), $table, $e->getMessage()); } } }
public function execute(\PHPUnit_Extensions_Database_DB_IDatabaseConnection $connection, \PHPUnit_Extensions_Database_DataSet_IDataSet $dataSet) { /* @var $connection DoctrineExtensions\PHPUnit\TestConnection */ $conn = $connection->getConnection(); foreach ($dataSet->getReverseIterator() as $table) { /* @var $table PHPUnit_Extensions_Database_DataSet_ITable */ $tableName = $connection->quoteSchemaObject($table->getTableMetaData()->getTableName()); $query = $conn->getDatabasePlatform()->getTruncateTableSql($tableName, $this->useCascade); try { $connection->getConnection()->executeUpdate($query); } catch (\Exception $e) { throw new \PHPUnit_Extensions_Database_Operation_Exception('TRUNCATE', $query, array(), $table, $e->getMessage()); } } }
public function execute(PHPUnit_Extensions_Database_DB_IDatabaseConnection $connection, PHPUnit_Extensions_Database_DataSet_IDataSet $dataSet) { foreach ($dataSet->getReverseIterator() as $table) { /* @var $table PHPUnit_Extensions_Database_DataSet_ITable */ $query = "\n {$connection->getTruncateCommand()} {$connection->quoteSchemaObject($table->getTableMetaData()->getTableName())}\n "; if ($this->useCascade && $connection->allowsCascading()) { $query .= ' CASCADE'; } try { $this->disableForeignKeyChecksForMysql($connection); $connection->getConnection()->query($query); $this->enableForeignKeyChecksForMysql($connection); } catch (\Exception $e) { $this->enableForeignKeyChecksForMysql($connection); if ($e instanceof PDOException) { throw new PHPUnit_Extensions_Database_Operation_Exception('TRUNCATE', $query, [], $table, $e->getMessage()); } throw $e; } } }
/** * Disable foreign key constraint checking prior to running the stock PHPUnit * truncate operation and then re-enable it. * * @param \PHPUnit_Extensions_Database_DB_IDatabaseConnection $connection * @param \PHPUnit_Extensions_Database_DataSet_IDataSet $dataSet * @return void */ public function execute(\PHPUnit_Extensions_Database_DB_IDatabaseConnection $connection, \PHPUnit_Extensions_Database_DataSet_IDataSet $dataSet) { if (defined('WPINC')) { $connection->getConnection()->query("SET foreign_key_checks = 0"); } foreach ($dataSet->getReverseIterator() as $table) { /* @var $table PHPUnit_Extensions_Database_DataSet_ITable */ $query = "\n {$connection->getTruncateCommand()}\n {$connection->quoteSchemaObject($table->getTableMetaData()->getTableName())}\n "; if (defined('WPINC')) { $query .= ""; } else { $query .= " RESTART IDENTITY CASCADE"; } try { $connection->getConnection()->query($query); } catch (PDOException $e) { throw new PHPUnit_Extensions_Database_Operation_Exception('TRUNCATE', $query, array(), $table, $e->getMessage()); } } if (defined('WPINC')) { $connection->getConnection()->query("SET foreign_key_checks = 1"); } }
/** * Creates an iterator over the tables in the data set. If $reverse is * true a reverse iterator will be returned. * * @param bool $reverse * @return PHPUnit_Extensions_Database_DataSet_ITableIterator */ protected function createIterator($reverse = FALSE) { $innerIterator = $reverse ? $this->dataSet->getReverseIterator() : $this->dataSet->getIterator(); return new PHPUnit_Extensions_Database_DataSet_ReplacementTableIterator($innerIterator, $this->fullReplacements, $this->subStrReplacements); }