function Connection::setPrefix

Same name in this branch
  1. 10 core/lib/Drupal/Core/Database/Connection.php \Drupal\Core\Database\Connection::setPrefix()
Same name and namespace in other branches
  1. 9 core/lib/Drupal/Core/Database/Connection.php \Drupal\Core\Database\Connection::setPrefix()
  2. 8.9.x core/lib/Drupal/Core/Database/Connection.php \Drupal\Core\Database\Connection::setPrefix()
  3. 11.x core/modules/pgsql/src/Driver/Database/pgsql/Connection.php \Drupal\pgsql\Driver\Database\pgsql\Connection::setPrefix()
  4. 11.x core/lib/Drupal/Core/Database/Connection.php \Drupal\Core\Database\Connection::setPrefix()

Set the prefix used by this database connection.

Parameters

string $prefix: A single prefix.

Overrides Connection::setPrefix

File

core/modules/pgsql/src/Driver/Database/pgsql/Connection.php, line 118

Class

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

Namespace

Drupal\pgsql\Driver\Database\pgsql

Code

protected function setPrefix($prefix) {
  assert(is_string($prefix), 'The \'$prefix\' argument to ' . __METHOD__ . '() must be a string');
  $this->prefix = $prefix;
  // Add the schema name if it is not set to public, otherwise it will use the
  // default schema name.
  $quoted_schema = '';
  if (isset($this->connectionOptions['schema']) && $this->connectionOptions['schema'] !== 'public') {
    $quoted_schema = $this->identifierQuotes[0] . $this->connectionOptions['schema'] . $this->identifierQuotes[1] . '.';
  }
  $this->tablePlaceholderReplacements = [
    $quoted_schema . $this->identifierQuotes[0] . str_replace('.', $this->identifierQuotes[1] . '.' . $this->identifierQuotes[0], $prefix),
    $this->identifierQuotes[1],
  ];
}

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