instance method cast_result

Ruby on Rails edge

Since v8.0.5.1 Private — implementation detail, not part of the public API

Available in: v8.0.5.1 v8.1.3.1 edge

Signature

cast_result(result)

No documentation comment.

Parameters

result req
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

Type at least 2 characters to search.

Use the arrow keys to navigate results, Enter to open one, Escape to close.

Keyboard shortcuts

/
Focus search
⌘K / Ctrl-K
Command palette
?
This help
Esc
Close