decoratedDriver = $decoratedDriver; $this->connectionFactory = $connectionFactory; } /** * {@inheritdoc} */ public function connect(array $params, $username = null, $password = null, array $driverOptions = []): TracingDriverConnectionInterface { return $this->connectionFactory->create( $this->decoratedDriver->connect($params, $username, $password, $driverOptions), $this->decoratedDriver->getDatabasePlatform(), $params ); } /** * {@inheritdoc} */ public function getDatabasePlatform(): AbstractPlatform { return $this->decoratedDriver->getDatabasePlatform(); } /** * {@inheritdoc} */ public function getSchemaManager(Connection $conn, ?AbstractPlatform $platform = null): AbstractSchemaManager { return $this->decoratedDriver->getSchemaManager($conn, $platform); } /** * {@inheritdoc} */ public function getName(): string { return $this->decoratedDriver->getName(); } /** * {@inheritdoc} */ public function getDatabase(Connection $conn): ?string { return $this->decoratedDriver->getDatabase($conn); } /** * {@inheritdoc} */ public function createDatabasePlatformForVersion($version): AbstractPlatform { if ($this->decoratedDriver instanceof VersionAwarePlatformDriver) { return $this->decoratedDriver->createDatabasePlatformForVersion($version); } return $this->getDatabasePlatform(); } /** * {@inheritdoc} */ public function convertException($message, DriverException $exception): DBALDriverException { if ($this->decoratedDriver instanceof ExceptionConverterDriver) { return $this->decoratedDriver->convertException($message, $exception); } return new DBALDriverException($message, $exception); } }