123456789_123456789_123456789_123456789_123456789_

Class: ActiveRecord::ConnectionAdapters::RactorConnectionHandler::AbstractProxyAdapter::QueryResponse

Overview

A shareable snapshot of the main-side query outcome.

Class Method Summary

Instance Attribute Summary

Instance Method Summary

Constructor Details

.new(result, affected_rows, row_count, last_inserted_id, warnings) ⇒ QueryResponse

[ GitHub ]

  
# File 'activerecord/lib/active_record/connection_adapters/ractor_connection_handler/abstract_proxy_adapter/query_response.rb', line 13

def initialize(result, affected_rows, row_count, last_inserted_id, warnings)
  @columns = result.columns
  @rows = result.rows
  @column_types_payload = Proxy.dump_column_types(result)
  @affected_rows = affected_rows
  @row_count = row_count
  @last_inserted_id = last_inserted_id
  @warnings_payload =
    unless warnings.nil? || warnings.empty?
      begin
        Marshal.dump(warnings).freeze
      rescue TypeError
        nil
      end
    end
  ActiveSupport::Ractors.make_shareable(self, copy: false)
end

Instance Attribute Details

#affected_rows (readonly)

[ GitHub ]

  
# File 'activerecord/lib/active_record/connection_adapters/ractor_connection_handler/abstract_proxy_adapter/query_response.rb', line 11

attr_reader :columns, :rows, :affected_rows, :row_count, :last_inserted_id

#columns (readonly)

[ GitHub ]

  
# File 'activerecord/lib/active_record/connection_adapters/ractor_connection_handler/abstract_proxy_adapter/query_response.rb', line 11

attr_reader :columns, :rows, :affected_rows, :row_count, :last_inserted_id

#last_inserted_id (readonly)

[ GitHub ]

  
# File 'activerecord/lib/active_record/connection_adapters/ractor_connection_handler/abstract_proxy_adapter/query_response.rb', line 11

attr_reader :columns, :rows, :affected_rows, :row_count, :last_inserted_id

#row_count (readonly)

[ GitHub ]

  
# File 'activerecord/lib/active_record/connection_adapters/ractor_connection_handler/abstract_proxy_adapter/query_response.rb', line 11

attr_reader :columns, :rows, :affected_rows, :row_count, :last_inserted_id

#rows (readonly)

[ GitHub ]

  
# File 'activerecord/lib/active_record/connection_adapters/ractor_connection_handler/abstract_proxy_adapter/query_response.rb', line 11

attr_reader :columns, :rows, :affected_rows, :row_count, :last_inserted_id

Instance Method Details

#column_types

[ GitHub ]

  
# File 'activerecord/lib/active_record/connection_adapters/ractor_connection_handler/abstract_proxy_adapter/query_response.rb', line 31

def column_types
  @column_types_payload && Marshal.load(@column_types_payload)
end

#warnings

[ GitHub ]

  
# File 'activerecord/lib/active_record/connection_adapters/ractor_connection_handler/abstract_proxy_adapter/query_response.rb', line 35

def warnings
  @warnings_payload && Marshal.load(@warnings_payload)
end