method
add_pg_decoders
v5.0.0.1 -
Show latest stable
- Class:
ActiveRecord::ConnectionAdapters::PostgreSQLAdapter
add_pg_decoders()private
No documentation available.
# File activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb, line 789
def add_pg_decoders
coders_by_name = {
'int2' => PG::TextDecoder::Integer,
'int4' => PG::TextDecoder::Integer,
'int8' => PG::TextDecoder::Integer,
'oid' => PG::TextDecoder::Integer,
'float4' => PG::TextDecoder::Float,
'float8' => PG::TextDecoder::Float,
'bool' => PG::TextDecoder::Boolean,
}
known_coder_types = coders_by_name.keys.map { |n| quote(n) }
query = SELECT t.oid, t.typname FROM pg_type as t WHERE t.typname IN (%s) % known_coder_types.join(", ")
coders = execute_and_clear(query, "SCHEMA", []) do |result|
result
.map { |row| construct_coder(row, coders_by_name[row['typname']]) }
.compact
end
map = PG::TypeMapByOid.new
coders.each { |coder| map.add_coder(coder) }
@connection.type_map_for_results = map
end