instance method
cast_result
Ruby on Rails edge
Since v8.0.5.1 Private — implementation detail, not part of the public APISignature
cast_result(result)
No documentation comment.
Parameters
-
resultreq
Source
# File activerecord/lib/active_record/connection_adapters/postgresql/database_statements.rb, line 222
def cast_result(result)
ar_result = if result.fields.empty?
ActiveRecord::Result.empty(affected_rows: result.cmd_tuples)
else
fields = result.fields
types = Array.new(fields.size)
field_types = Array.new(fields.size)
missing_oids = []
fields.size.times do |index|
ftype = result.ftype(index)
field_types[index] = ftype
missing_oids << ftype unless type_map.key?(ftype)
end
if missing_oids.any?
load_additional_types(missing_oids)
fields.size.times do |index|
ftype = field_types[index]
next if type_map.key?(ftype)
register_unknown_oid_type(ftype, fields[index])
end
end
fields.size.times do |index|
ftype = field_types[index]
fmod = result.fmod(index)
types[index] = get_oid_type(ftype, fmod, fields[index])
end
ActiveRecord::Result.new(fields, result.values, types.freeze, affected_rows: result.cmd_tuples)
end
result.clear
ar_result
end
Defined in activerecord/lib/active_record/connection_adapters/postgresql/database_statements.rb line 222
· View on GitHub
· Improve this page
· Find usages on GitHub
Defined in ActiveRecord::ConnectionAdapters::PostgreSQL::DatabaseStatements