Class: ActiveRecord::ConnectionAdapters::RactorConnectionHandler::AbstractProxyAdapter::QueryResponse
| Relationships & Source Files | |
| Inherits: | Object |
| Defined in: | activerecord/lib/active_record/connection_adapters/ractor_connection_handler/abstract_proxy_adapter/query_response.rb |
Overview
A shareable snapshot of the main-side query outcome.
Class Method Summary
Instance Attribute Summary
- #affected_rows readonly
- #columns readonly
- #last_inserted_id readonly
- #row_count readonly
- #rows readonly
Instance Method Summary
Constructor Details
.new(result, affected_rows, row_count, last_inserted_id, warnings) ⇒ QueryResponse
# 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