protected function Schema::getPrefixInfo

Same name in this branch

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

Parameters

Name of table to look prefix up for. Defaults to 'default' because thats: default key for prefix.

$add_prefix: Boolean that indicates whether the given table name should be prefixed.

Return value

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

13 calls to Schema::getPrefixInfo()
1 method overrides Schema::getPrefixInfo()

File

drupal/core/lib/Drupal/Core/Database/Schema.php, line 231
Definition of Drupal\Core\Database\Schema

Class

Schema

Namespace

Drupal\Core\Database

Code

protected function getPrefixInfo($table = 'default', $add_prefix = TRUE) {
  $info = array(
    'schema' => $this->defaultSchema,
    'prefix' => $this->connection
      ->tablePrefix($table),
  );
  if ($add_prefix) {
    $table = $info['prefix'] . $table;
  }

  // If the prefix contains a period in it, then that means the prefix also
  // contains a schema reference in which case we will change the schema key
  // to the value before the period in the prefix. Everything after the dot
  // will be prefixed onto the front of the table.
  if (($pos = strpos($table, '.')) !== FALSE) {

    // Grab everything before the period.
    $info['schema'] = substr($table, 0, $pos);

    // Grab everything after the dot.
    $info['table'] = substr($table, ++$pos);
  }
  else {
    $info['table'] = $table;
  }
  return $info;
}