W3cubDocs

/Drupal 8

public function Schema::indexExists

public Schema::indexExists($table, $name)

Checks if an index exists in the given table.

Parameters

$table: The name of the table in drupal (no prefixing).

$name: The name of the index in drupal (no prefixing).

Return value

TRUE if the given index exists, otherwise FALSE.

Overrides Schema::indexExists

File

core/lib/Drupal/Core/Database/Driver/pgsql/Schema.php, line 575

Class

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

Namespace

Drupal\Core\Database\Driver\pgsql

Code

public function indexExists($table, $name) {
  // Details http://www.postgresql.org/docs/9.1/interactive/view-pg-indexes.html
  $index_name = $this->ensureIdentifiersLength($table, $name, 'idx');
  // Remove leading and trailing quotes because the index name is in a WHERE
  // clause and not used as an identifier.
  $index_name = str_replace('"', '', $index_name);
  return (bool) $this->connection->query("SELECT 1 FROM pg_indexes WHERE indexname = '$index_name'")->fetchField();
}

© 2001–2016 by the original authors
Licensed under the GNU General Public License, version 2 and later.
Drupal is a registered trademark of Dries Buytaert.
https://api.drupal.org/api/drupal/core!lib!Drupal!Core!Database!Driver!pgsql!Schema.php/function/Schema::indexExists/8.1.x