You are here

protected function Schema::getPrefixInfo in Drupal 8

Same name in this branch
  1. 8 core/lib/Drupal/Core/Database/Schema.php \Drupal\Core\Database\Schema::getPrefixInfo()
  2. 8 core/lib/Drupal/Core/Database/Driver/mysql/Schema.php \Drupal\Core\Database\Driver\mysql\Schema::getPrefixInfo()
Same name and namespace in other branches
  1. 9 core/lib/Drupal/Core/Database/Driver/mysql/Schema.php \Drupal\Core\Database\Driver\mysql\Schema::getPrefixInfo()

Get information about the table and database name from the prefix.

Return value

A keyed array with information about the database, table name and prefix.

Overrides Schema::getPrefixInfo

2 calls to Schema::getPrefixInfo()
Schema::buildTableNameCondition in core/lib/Drupal/Core/Database/Driver/mysql/Schema.php
Build a condition to match a table name against a standard information_schema.
Schema::renameTable in core/lib/Drupal/Core/Database/Driver/mysql/Schema.php
Rename a table.

File

core/lib/Drupal/Core/Database/Driver/mysql/Schema.php, line 50

Class

Schema
MySQL implementation of \Drupal\Core\Database\Schema.

Namespace

Drupal\Core\Database\Driver\mysql

Code

protected function getPrefixInfo($table = 'default', $add_prefix = TRUE) {
  $info = [
    'prefix' => $this->connection
      ->tablePrefix($table),
  ];
  if ($add_prefix) {
    $table = $info['prefix'] . $table;
  }
  if (($pos = strpos($table, '.')) !== FALSE) {
    $info['database'] = substr($table, 0, $pos);
    $info['table'] = substr($table, ++$pos);
  }
  else {
    $info['database'] = $this->connection
      ->getConnectionOptions()['database'];
    $info['table'] = $table;
  }
  return $info;
}