struct Clickhouse::Response

Included Modules

Defined in:

clickhouse/response.cr:1
clickhouse/response.cr:9

Constructors

Instance Method Summary

Constructor Detail

def self.new(uri : URI, req : Request | InsertRequest, http : HTTP::Client::Response, time : Time::Span) #

[View source]

Instance Method Detail

def body(*args, **options) #

[View source]
def body(*args, **options, &) #

[View source]
def clone #

[View source]
def copy_with(uri _uri = @uri, req _req = @req, http _http = @http, time _time = @time) #

[View source]
def data : Array(Array(JSON::Any)) #

def data(*args, **options) #

[View source]
def data(*args, **options, &) #

[View source]
def data=(v : Array(Array(JSON::Any))) : Array(Array(JSON::Any)) #

def data=(v : Nil) #

nil assignments are always ignored


def data? : Array(Array(JSON::Any)) | Nil #

def each(&) #

define 'each' directly since 'delegate' fails


[View source]
def each_hash(&) #

TODO optimize


[View source]
def http : HTTP::Client::Response #

def map(*types : *T) forall T #
res = execute <<-SQL
  SELECT   engine, count(*)
  FROM     system.tables
  GROUP BY engine
  SQL
records = res.success!.map(String, UInt64)
records.each do |(name, cnt)|
  p [name, cnt]

[View source]
def map(**types : **T) forall T #
res = execute <<-SQL
  SELECT   engine, count(*)
  FROM     system.tables
  GROUP BY engine
  SQL
records = res.success!.map(name: String, cnt: UInt64)
records.each do |record|
  p [record["name"], record["cnt"]]

[View source]
def map_nil(*types : *T) forall T #
res = execute <<-SQL
  SELECT   engine, count(*)
  FROM     system.tables
  GROUP BY engine
  SQL
records = res.success!.map(String, UInt64)
records.each do |(name, cnt)|
  p [name, cnt]

[View source]
def map_nil(**types : **T) forall T #
res = execute <<-SQL
  SELECT   engine, count(*)
  FROM     system.tables
  GROUP BY engine
  SQL
records = res.success!.map(name: String, cnt: UInt64)
records.each do |record|
  p [record["name"], record["cnt"]]

[View source]
def meta(*args, **options) #

[View source]
def meta(*args, **options, &) #

[View source]
def parsed : JSONCompactParser #


def parsed=(v : Nil) #

nil assignments are always ignored


def parsed? : JSONCompactParser | Nil #

def records : Array(Record) #
res = execute <<-SQL
  SELECT   engine, count(*)
  FROM     system.tables
  GROUP BY engine
  SQL
records = res.success!.records
records.each do |hash|
  p hash["engine"]

[View source]
def req : Request | InsertRequest #

def rows(*args, **options) #

[View source]
def rows(*args, **options, &) #

[View source]
def scalar(*args, **options) #

[View source]
def scalar(*args, **options, &) #

[View source]
def statistics(*args, **options) #

[View source]
def statistics(*args, **options, &) #

[View source]
def status_code(*args, **options) #

[View source]
def status_code(*args, **options, &) #

[View source]
def success! : Response #

[View source]
def success? : Response | Nil #

[View source]
def time : Time::Span #

def to_json : String #

[View source]
def uri : URI #