/** * Tests that the default auto-commit mode for connections can be set in the configuration container. * * @group DBAL-81 */ public function testSetsDefaultConnectionAutoCommitMode() { $this->config->setAutoCommit(false); $this->assertFalse($this->config->getAutoCommit()); $this->config->setAutoCommit(0); $this->assertFalse($this->config->getAutoCommit()); }
/** * Initializes a new instance of the Connection class. * * @param array $params The connection parameters. * @param \Doctrine\DBAL\Driver $driver The driver to use. * @param \Doctrine\DBAL\Configuration|null $config The configuration, optional. * @param \Doctrine\Common\EventManager|null $eventManager The event manager, optional. * * @throws \Doctrine\DBAL\DBALException */ public function __construct(array $params, Driver $driver, Configuration $config = null, EventManager $eventManager = null) { $this->_driver = $driver; $this->_params = $params; if (isset($params['pdo'])) { $this->_conn = $params['pdo']; $this->_isConnected = true; unset($this->_params['pdo']); } // Create default config and event manager if none given if (!$config) { $config = new Configuration(); } if (!$eventManager) { $eventManager = new EventManager(); } $this->_config = $config; $this->_eventManager = $eventManager; $this->_expr = new Query\Expression\ExpressionBuilder($this); $this->autoCommit = $config->getAutoCommit(); }
/** * Initializes a new instance of the Connection class. * * @param array $params The connection parameters. * @param \Doctrine\DBAL\Driver $driver The driver to use. * @param \Doctrine\DBAL\Configuration|null $config The configuration, optional. * @param \Doctrine\Common\EventManager|null $eventManager The event manager, optional. * * @throws \Doctrine\DBAL\DBALException */ public function __construct(array $params, Driver $driver, Configuration $config = null, EventManager $eventManager = null) { $this->_driver = $driver; $this->_params = $params; if (isset($params['pdo'])) { $this->_conn = $params['pdo']; $this->_isConnected = true; } // Create default config and event manager if none given if (!$config) { $config = new Configuration(); } if (!$eventManager) { $eventManager = new EventManager(); } $this->_config = $config; $this->_eventManager = $eventManager; $this->_expr = new Query\Expression\ExpressionBuilder($this); if (!isset($params['platform'])) { $this->_platform = $driver->getDatabasePlatform(); } elseif ($params['platform'] instanceof Platforms\AbstractPlatform) { $this->_platform = $params['platform']; } else { throw DBALException::invalidPlatformSpecified(); } $this->_platform->setEventManager($eventManager); $this->_transactionIsolationLevel = $this->_platform->getDefaultTransactionIsolationLevel(); $this->autoCommit = $config->getAutoCommit(); }