8000 GitHub - ismailunal/pillar: Elixir library client for work with ClickHouse
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

ismailunal/pillar

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pillar

Clickhouse elixir driver via HTTP connection

Coverage Status build

Usage

Direct Usage with connection structure

conn = Pillar.Connection.new("http://user:password@localhost:8123/database")

# params are passed in brackets {} in sql query, and map strtucture does fill query by values
sql = "SELECT count(*) FROM users WHERE lastname = {lastname}"

params = %{lastname: "Smith"}

{:ok, result} = Pillar.query(conn, sql, params)

result 
#=> [%{"count(*)" => 347}]

Delayed inserts feature

  defmodule ClickhouseMaster do
      use Pillar, 
        connection_strings: [
          "http://user:password@host-master-1:8123/database",
          "http://user:password@host-master-2:8123/database"
        ],
        name: __MODULE__,
        pool_size: 15
  end

  ClickhouseMaster.start_link()

  # delayed inserts
  ClickhouseMaster.async_query("INSERT INTO events (user_id, event) SELECT {user_id}, {event}", %{
    user_id: user.id,
    event: "password_changed"
  }) # => :ok

Installation

def deps do
  [
    {:pillar, "~> 0.5.1"}
  ]
end

About

Elixir library client for work with ClickHouse

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Elixir 100.0%
0