From ca9f58547a180f66b6eb2ad2ec3795da93f0051f Mon Sep 17 00:00:00 2001 From: Nathaniel Catchpole Date: Tue, 1 Sep 2015 12:40:23 +0100 Subject: [PATCH] Revert "Issue #2560897 by alexpott: Drupal\user\Plugin\views\argument\RolesRid is very broken" This reverts commit f3040e71cb4947607c004b2bb1106ff74141641a. --- .../Core/Database/Driver/pgsql/Connection.php | 17 +++-------------- .../Core/Database/Driver/pgsql/Schema.php | 2 +- 2 files changed, 4 insertions(+), 15 deletions(-) diff --git a/core/lib/Drupal/Core/Database/Driver/pgsql/Connection.php b/core/lib/Drupal/Core/Database/Driver/pgsql/Connection.php index 597df9ba693..5dec0a86d75 100644 --- a/core/lib/Drupal/Core/Database/Driver/pgsql/Connection.php +++ b/core/lib/Drupal/Core/Database/Driver/pgsql/Connection.php @@ -70,21 +70,10 @@ class Connection extends DatabaseConnection { // Force PostgreSQL to use the UTF-8 character set by default. $this->connection->exec("SET NAMES 'UTF8'"); - // Set PostgreSQL init_commands if not already defined. - $connection_options += array( - 'init_commands' => array(), - ); - - $connection_options['init_commands'] += array( - // Set standard_conforming_strings to off so as to treat backslashes as - // escape characters, complying with historical PostgreSQL behavior. In - // PostgreSQL 9.1 and up this is on by default, however Drupal still - // assumes this to be off. - 'standard_conforming_strings' => 'SET standard_conforming_strings = off', - ); - // Execute PostgreSQL init_commands. - $this->connection->exec(implode('; ', $connection_options['init_commands'])); + if (isset($connection_options['init_commands'])) { + $this->connection->exec(implode('; ', $connection_options['init_commands'])); + } } /** diff --git a/core/lib/Drupal/Core/Database/Driver/pgsql/Schema.php b/core/lib/Drupal/Core/Database/Driver/pgsql/Schema.php index 35b44d0fc90..06b75403564 100644 --- a/core/lib/Drupal/Core/Database/Driver/pgsql/Schema.php +++ b/core/lib/Drupal/Core/Database/Driver/pgsql/Schema.php @@ -721,7 +721,7 @@ class Schema extends DatabaseSchema { // Convert to a bytea type by using the SQL replace() function to // convert any single backslashes in the field content to double // backslashes ('\' to '\\'). - $this->connection->query('ALTER TABLE {' . $table . '} ALTER "' . $field . '" TYPE ' . $field_def . ' USING convert_to("' . $field . '", ' . "'UTF8')"); + $this->connection->query('ALTER TABLE {' . $table . '} ALTER "' . $field . '" TYPE ' . $field_def . ' USING decode(replace("' . $field . '"' . ", '\\', '\\\\'), 'escape');"); } }