summaryrefslogtreecommitdiffstatshomepage
path: root/core/modules/pgsql
diff options
context:
space:
mode:
Diffstat (limited to 'core/modules/pgsql')
-rw-r--r--core/modules/pgsql/src/Driver/Database/pgsql/Connection.php4
-rw-r--r--core/modules/pgsql/src/Hook/PgsqlRequirementsHooks.php36
-rw-r--r--core/modules/pgsql/tests/src/Kernel/pgsql/SchemaTest.php4
3 files changed, 7 insertions, 37 deletions
diff --git a/core/modules/pgsql/src/Driver/Database/pgsql/Connection.php b/core/modules/pgsql/src/Driver/Database/pgsql/Connection.php
index 40b2de75cf0..f7601226614 100644
--- a/core/modules/pgsql/src/Driver/Database/pgsql/Connection.php
+++ b/core/modules/pgsql/src/Driver/Database/pgsql/Connection.php
@@ -151,8 +151,8 @@ class Connection extends DatabaseConnection implements SupportsTemporaryTablesIn
// so backslashes in the password need to be doubled up.
// The bug was reported against pdo_pgsql 1.0.2, backslashes in passwords
// will break on this doubling up when the bug is fixed, so check the
- // version
- // elseif (phpversion('pdo_pgsql') < 'version_this_was_fixed_in') {
+ // version.
+ // "elseif (phpversion('pdo_pgsql') < 'version_this_was_fixed_in') {".
else {
$connection_options['password'] = str_replace('\\', '\\\\', $connection_options['password']);
}
diff --git a/core/modules/pgsql/src/Hook/PgsqlRequirementsHooks.php b/core/modules/pgsql/src/Hook/PgsqlRequirementsHooks.php
index 65fa78a5e71..0e7bbd97628 100644
--- a/core/modules/pgsql/src/Hook/PgsqlRequirementsHooks.php
+++ b/core/modules/pgsql/src/Hook/PgsqlRequirementsHooks.php
@@ -2,18 +2,14 @@
namespace Drupal\pgsql\Hook;
-use Drupal\Core\Database\Database;
-use Drupal\Core\Extension\Requirement\RequirementSeverity;
-use Drupal\Core\StringTranslation\StringTranslationTrait;
use Drupal\Core\Hook\Attribute\Hook;
+use Drupal\pgsql\Install\Requirements\PgsqlRequirements;
/**
* Hook implementations for pgsql module.
*/
class PgsqlRequirementsHooks {
- use StringTranslationTrait;
-
/**
* Implements hook_update_requirements().
*
@@ -22,34 +18,8 @@ class PgsqlRequirementsHooks {
#[Hook('update_requirements')]
#[Hook('runtime_requirements')]
public function checkRequirements(): array {
- $requirements = [];
- // Test with PostgreSQL databases for the status of the pg_trgm extension.
- if (Database::isActiveConnection()) {
- $connection = Database::getConnection();
-
- // Set the requirement just for postgres.
- if ($connection->driver() == 'pgsql') {
- $requirements['pgsql_extension_pg_trgm'] = [
- 'severity' => RequirementSeverity::OK,
- 'title' => $this->t('PostgreSQL pg_trgm extension'),
- 'value' => $this->t('Available'),
- 'description' => $this->t('The pg_trgm PostgreSQL extension is present.'),
- ];
-
- // If the extension is not available, set the requirement error.
- if (!$connection->schema()->extensionExists('pg_trgm')) {
- $requirements['pgsql_extension_pg_trgm']['severity'] = RequirementSeverity::Error;
- $requirements['pgsql_extension_pg_trgm']['value'] = $this->t('Not created');
- $requirements['pgsql_extension_pg_trgm']['description'] = $this->t('The <a href=":pg_trgm">pg_trgm</a> PostgreSQL extension is not present. The extension is required by Drupal to improve performance when using PostgreSQL. See <a href=":requirements">Drupal database server requirements</a> for more information.', [
- ':pg_trgm' => 'https://www.postgresql.org/docs/current/pgtrgm.html',
- ':requirements' => 'https://www.drupal.org/docs/system-requirements/database-server-requirements',
- ]);
- }
-
- }
- }
-
- return $requirements;
+ // We want the identical check from the install time requirements.
+ return PgsqlRequirements::getRequirements();
}
}
diff --git a/core/modules/pgsql/tests/src/Kernel/pgsql/SchemaTest.php b/core/modules/pgsql/tests/src/Kernel/pgsql/SchemaTest.php
index e10ed33d190..1073e697163 100644
--- a/core/modules/pgsql/tests/src/Kernel/pgsql/SchemaTest.php
+++ b/core/modules/pgsql/tests/src/Kernel/pgsql/SchemaTest.php
@@ -200,7 +200,7 @@ class SchemaTest extends DriverSpecificSchemaTestBase {
$this->assertFalse($this->schema->fieldExists($table_name_new, $field_name));
$this->assertTrue($this->schema->fieldExists($table_name_new, $field_name_new));
- // Adding an unique key
+ // Adding an unique key.
$unique_key_name = $unique_key_introspect_name = 'unique';
$this->schema->addUniqueKey($table_name_new, $unique_key_name, [$field_name_new]);
@@ -210,7 +210,7 @@ class SchemaTest extends DriverSpecificSchemaTestBase {
$unique_key_introspect_name = $ensure_identifiers_length->invoke($this->schema, $table_name_new, $unique_key_name, 'key');
$this->assertEquals([$field_name_new], $introspect_index_schema->invoke($this->schema, $table_name_new)['unique keys'][$unique_key_introspect_name]);
- // Dropping an unique key
+ // Dropping an unique key.
$this->schema->dropUniqueKey($table_name_new, $unique_key_name);
// Dropping a field.