Fix PG.connect keyword arguments deprecation warning on ruby 2.7

This commit is contained in:
Nikita Vasilevsky 2022-02-06 17:22:33 +00:00 committed by GitHub
parent c2ce4d6e14
commit c3a0e326e8
2 changed files with 8 additions and 2 deletions

View File

@ -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. * Fix dropping DB connections after serialization failures and deadlocks.
Prior to 6.1.4, serialization failures and deadlocks caused rollbacks to be Prior to 6.1.4, serialization failures and deadlocks caused rollbacks to be

View File

@ -75,7 +75,7 @@ module ActiveRecord
class << self class << self
def new_client(conn_params) def new_client(conn_params)
PG.connect(conn_params) PG.connect(**conn_params)
rescue ::PG::Error => error rescue ::PG::Error => error
if conn_params && conn_params[:dbname] && error.message.include?(conn_params[:dbname]) if conn_params && conn_params[:dbname] && error.message.include?(conn_params[:dbname])
raise ActiveRecord::NoDatabaseError.db_error(conn_params[:dbname]) raise ActiveRecord::NoDatabaseError.db_error(conn_params[:dbname])
@ -281,7 +281,7 @@ module ActiveRecord
def initialize(connection, logger, connection_parameters, config) def initialize(connection, logger, connection_parameters, config)
super(connection, logger, 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 is initialized as nil to avoid warnings when connect tries to use it
@local_tz = nil @local_tz = nil