public function Connection::escapeAlias in Zircon Profile 8
Same name in this branch
- 8 core/lib/Drupal/Core/Database/Connection.php \Drupal\Core\Database\Connection::escapeAlias()
- 8 core/lib/Drupal/Core/Database/Driver/pgsql/Connection.php \Drupal\Core\Database\Driver\pgsql\Connection::escapeAlias()
Same name and namespace in other branches
- 8.0 core/lib/Drupal/Core/Database/Driver/pgsql/Connection.php \Drupal\Core\Database\Driver\pgsql\Connection::escapeAlias()
Escapes an alias name string.
Force all alias names to be strictly alphanumeric-plus-underscore. In contrast to DatabaseConnection::escapeField() / DatabaseConnection::escapeTable(), this doesn't allow the period (".") because that is not allowed in aliases.
Parameters
string $field: An unsanitized alias name.
Return value
string The sanitized alias name.
Overrides Connection::escapeAlias
1 call to Connection::escapeAlias()
- Connection::escapeField in core/
lib/ Drupal/ Core/ Database/ Driver/ pgsql/ Connection.php - Escapes a field name string.
File
- core/
lib/ Drupal/ Core/ Database/ Driver/ pgsql/ Connection.php, line 202 - Contains \Drupal\Core\Database\Driver\pgsql\Connection.
Class
- Connection
- PostgreSQL implementation of \Drupal\Core\Database\Connection.
Namespace
Drupal\Core\Database\Driver\pgsqlCode
public function escapeAlias($field) {
$escaped = preg_replace('/[^A-Za-z0-9_]+/', '', $field);
// Escape the alias in quotes for case-sensitivity.
if (preg_match('/[A-Z]/', $escaped)) {
$escaped = '"' . $escaped . '"';
}
elseif (in_array(strtolower($escaped), $this->postgresqlReservedKeyWords)) {
// Quote the alias name for PostgreSQL reserved key words.
$escaped = '"' . $escaped . '"';
}
return $escaped;
}