Class: ActiveRecord::ConnectionAdapters::ClickHouse::HTTPConnection::RawResult

Inherits:
Object
  • Object
show all
Defined in:
lib/active_record/connection_adapters/clickhouse/http_connection.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(columns: [], types: [], rows: [], summary: {}, query_id: nil) ⇒ RawResult

Returns a new instance of RawResult.



79
80
81
82
83
84
85
# File 'lib/active_record/connection_adapters/clickhouse/http_connection.rb', line 79

def initialize(columns: [], types: [], rows: [], summary: {}, query_id: nil)
  @columns = columns
  @types = types
  @rows = rows
  @summary = summary
  @query_id = query_id
end

Instance Attribute Details

#columnsObject (readonly)

Returns the value of attribute columns.



77
78
79
# File 'lib/active_record/connection_adapters/clickhouse/http_connection.rb', line 77

def columns
  @columns
end

#query_idObject (readonly)

Returns the value of attribute query_id.



77
78
79
# File 'lib/active_record/connection_adapters/clickhouse/http_connection.rb', line 77

def query_id
  @query_id
end

#rowsObject (readonly)

Returns the value of attribute rows.



77
78
79
# File 'lib/active_record/connection_adapters/clickhouse/http_connection.rb', line 77

def rows
  @rows
end

#summaryObject (readonly)

Returns the value of attribute summary.



77
78
79
# File 'lib/active_record/connection_adapters/clickhouse/http_connection.rb', line 77

def summary
  @summary
end

#typesObject (readonly)

Returns the value of attribute types.



77
78
79
# File 'lib/active_record/connection_adapters/clickhouse/http_connection.rb', line 77

def types
  @types
end

Instance Method Details

#statsObject

Server-side execution stats, for the sql.active_record notification payload.



90
91
92
93
94
95
96
97
98
# File 'lib/active_record/connection_adapters/clickhouse/http_connection.rb', line 90

def stats
  {
    query_id: query_id,
    read_rows: Integer(summary.fetch("read_rows", 0)),
    read_bytes: Integer(summary.fetch("read_bytes", 0)),
    written_rows: written_rows,
    elapsed_ns: Integer(summary.fetch("elapsed_ns", 0))
  }
end

#written_rowsObject



87
# File 'lib/active_record/connection_adapters/clickhouse/http_connection.rb', line 87

def written_rows = Integer(summary.fetch("written_rows", 0))