class method
self.new
Ruby on Rails edge
Signature
self.new(...)
Initializes and connects a PostgreSQL adapter.
Parameters
-
...req
Source
# File activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb, line 386
def initialize(...)
super
conn_params = @config.compact
# Map ActiveRecords param names to PGs.
conn_params[:user] = conn_params.delete(:username) if conn_params[:username]
conn_params[:dbname] = conn_params.delete(:database) if conn_params[:database]
# Forward only valid config params to PG::Connection.connect.
valid_conn_param_keys = PG::Connection.conndefaults_hash.keys + [:requiressl]
conn_params.slice!(*valid_conn_param_keys)
@connection_parameters = conn_params
@max_identifier_length = nil
@type_map = nil
@type_map_queried = false
@raw_connection = nil
@notice_receiver_sql_warnings = []
@notice_receiver_fatal_error = nil
@use_insert_returning = if @config.key?(:insert_returning)
ActiveRecord.deprecator.warn(<<~MSG.squish)
The `insert_returning` option in database configurations is deprecated
and will be removed in Rails 9.0. The option only affects single-row
INSERT statements; other paths such as `insert_all`, `upsert_all`, and
RETURNING for `update` already use RETURNING when the database supports
it, so the option cannot fully disable RETURNING.
MSG
self.class.type_cast_config_to_boolean(@config[:insert_returning])
else
true
end
end
Defined in activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb line 386
· View on GitHub
· Improve this page
· Find usages on GitHub
Defined in ActiveRecord::ConnectionAdapters::PostgreSQLAdapter