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()

File

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

Class

Connection
PostgreSQL implementation of <a href="/api/drupal/core%21lib%21Drupal%21Core%21Database%21Connection.php/class/Connection/10" title="Base Database API class." class="local">\Drupal\Core\Database\Connection</a>.

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.