From c3a0e326e8565bcbe5c9b1b1f595a293f7e4954d Mon Sep 17 00:00:00 2001 From: Nikita Vasilevsky Date: Sun, 6 Feb 2022 17:22:33 +0000 Subject: [PATCH] Fix PG.connect keyword arguments deprecation warning on ruby 2.7 --- activerecord/CHANGELOG.md | 6 ++++++ .../active_record/connection_adapters/postgresql_adapter.rb | 4 ++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/activerecord/CHANGELOG.md b/activerecord/CHANGELOG.md index 0dff520ce5..753b800eef 100644 --- a/activerecord/CHANGELOG.md +++ b/activerecord/CHANGELOG.md @@ -1,3 +1,9 @@ +* Fix PG.connect keyword arguments deprecation warning on ruby 2.7 + + Fixes #44307. + + *Nikita Vasilevsky* + * Fix dropping DB connections after serialization failures and deadlocks. Prior to 6.1.4, serialization failures and deadlocks caused rollbacks to be diff --git a/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb b/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb index 480e8e951f..fd3d1a83c2 100644 --- a/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb +++ b/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb @@ -75,7 +75,7 @@ module ActiveRecord class << self def new_client(conn_params) - PG.connect(conn_params) + PG.connect(**conn_params) rescue ::PG::Error => error if conn_params && conn_params[:dbname] && error.message.include?(conn_params[:dbname]) raise ActiveRecord::NoDatabaseError.db_error(conn_params[:dbname]) @@ -281,7 +281,7 @@ module ActiveRecord def initialize(connection, logger, connection_parameters, config) super(connection, logger, config) - @connection_parameters = connection_parameters + @connection_parameters = connection_parameters || {} # @local_tz is initialized as nil to avoid warnings when connect tries to use it @local_tz = nil