function Connection::__construct

Constructs a connection object.

Parameters

\PDO $connection: An object of the PDO class representing a database connection.

array $connection_options: An array of options for the connection. May include the following:

  • prefix
  • namespace
  • Other driver-specific options.

Overrides Connection::__construct

File

core/lib/Drupal/Core/Database/Driver/pgsql/Connection.php, line 77

Class

Connection
PostgreSQL implementation of \Drupal\Core\Database\Connection.

Namespace

Drupal\Core\Database\Driver\pgsql

Code

public function __construct(\PDO $connection, array $connection_options) {
  parent::__construct($connection, $connection_options);
  // This driver defaults to transaction support, except if explicitly passed FALSE.
  $this->transactionSupport = !isset($connection_options['transactions']) || $connection_options['transactions'] !== FALSE;
  // Transactional DDL is always available in PostgreSQL,
  // but we'll only enable it if standard transactions are.
  $this->transactionalDDLSupport = $this->transactionSupport;
  $this->connectionOptions = $connection_options;
  // Force PostgreSQL to use the UTF-8 character set by default.
  $this->connection
    ->exec("SET NAMES 'UTF8'");
  // Execute PostgreSQL init_commands.
  if (isset($connection_options['init_commands'])) {
    $this->connection
      ->exec(implode('; ', $connection_options['init_commands']));
  }
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.