Class: ClickhouseNative::Pool

Inherits:
Object
  • Object
show all
Defined in:
lib/clickhouse_native/pool.rb

Instance Method Summary collapse

Constructor Details

#initialize(host:, port:, database: "default", user: "default", password: "", compression: :none, logger: nil, pool_size: 5, pool_timeout: 5) ⇒ Pool

Returns a new instance of Pool.



7
8
9
10
11
12
13
# File 'lib/clickhouse_native/pool.rb', line 7

def initialize(host:, port:, database: "default", user: "default", password: "",
               compression: :none, logger: nil, pool_size: 5, pool_timeout: 5)
  client_kwargs = { host:, port:, database:, user:, password:, compression:, logger: }
  @pool = ConnectionPool.new(size: pool_size, timeout: pool_timeout) do
    Client.new(**client_kwargs)
  end
end

Instance Method Details

#describe_table(table, db_name: nil) ⇒ Object



47
48
49
# File 'lib/clickhouse_native/pool.rb', line 47

def describe_table(table, db_name: nil)
  @pool.with { |c| c.describe_table(table, db_name:) }
end

#execute(sql) ⇒ Object



19
20
21
# File 'lib/clickhouse_native/pool.rb', line 19

def execute(sql)
  @pool.with { |c| c.execute(sql) }
end

#insert(table, rows, **opts) ⇒ Object



35
36
37
# File 'lib/clickhouse_native/pool.rb', line 35

def insert(table, rows, **opts)
  @pool.with { |c| c.insert(table, rows, **opts) }
end

#pingObject



39
40
41
# File 'lib/clickhouse_native/pool.rb', line 39

def ping
  @pool.with(&:ping)
end

#query(sql) ⇒ Object



23
24
25
# File 'lib/clickhouse_native/pool.rb', line 23

def query(sql)
  @pool.with { |c| c.query(sql) }
end

#query_each(sql, &block) ⇒ Object



27
28
29
# File 'lib/clickhouse_native/pool.rb', line 27

def query_each(sql, &block)
  @pool.with { |c| c.query_each(sql, &block) }
end

#query_value(sql) ⇒ Object



31
32
33
# File 'lib/clickhouse_native/pool.rb', line 31

def query_value(sql)
  @pool.with { |c| c.query_value(sql) }
end

#server_versionObject



43
44
45
# File 'lib/clickhouse_native/pool.rb', line 43

def server_version
  @pool.with(&:server_version)
end

#withObject



15
16
17
# File 'lib/clickhouse_native/pool.rb', line 15

def with(&)
  @pool.with(&)
end