Skip to content
EventQL crystal driver
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
spec
src
.gitignore
.travis.yml
LICENSE
README.md
shard.yml

README.md

Build Status

eventql-crystal

EventQL driver for Crystal (eventql.io)

Based on the official ruby driver
https://github.com/eventql/eventql/tree/master/drivers/ruby

Installation

Add this to your application's shard.yml:

dependencies:
  eventql-crystal:
    github: measurechina/eventql-crystal

Usage

require "eventql-crystal"

# init
client = EventQL.connect({
  "host" => "localhost",
  "port" => "9175",
  "database" => "sensors",
})

# insert rows
body = [
  {
    database: "test",
    table: "sensors",
    data: {
      time: Time.now.to_utc.to_s("%FT%XZ"),
      session_id: "s1",
      url: "/page1",
    }
  }
].to_json

result = client.insert!(body)

# query
query = client.query("SELECT COUNT(1) FROM sensors;")
response = query.execute!

# [{"type" => "table", "columns" => ["COUNT(1)"], "rows" => [["1"]]}]

query = client.query("SELECT * FROM sensors;")
response = query.execute!

TODO:

  • table create/drop/list
  • table add_field/remove_field
  • Time conversion util
  • time zone util
  • MapReduce query
  • json mapping helper

Contributing

  1. Fork it ( https://github.com/measurechina/eventql-crystal/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request
You can’t perform that action at this time.