Module: InfluxDB::Query::Database

Included in:
Client
Defined in:
lib/influxdb/query/database.rb

Overview

:nodoc:

Instance Method Summary collapse

Instance Method Details

#create_database(name = nil) ⇒ Object



4
5
6
# File 'lib/influxdb/query/database.rb', line 4

def create_database(name = nil)
  execute("CREATE DATABASE \"#{name || config.database}\"")
end

#delete_database(name = nil) ⇒ Object



8
9
10
# File 'lib/influxdb/query/database.rb', line 8

def delete_database(name = nil)
  execute("DROP DATABASE \"#{name || config.database}\"")
end

#list_databasesObject



12
13
14
15
16
17
18
19
# File 'lib/influxdb/query/database.rb', line 12

def list_databases
  resp = execute("SHOW DATABASES".freeze, parse: true)
  fetch_series(resp)
    .fetch(0, {})
    .fetch("values".freeze, [])
    .flatten
    .map { |v| { "name".freeze => v } }
end

#show_field_keysObject



21
22
23
24
25
26
27
28
29
30
# File 'lib/influxdb/query/database.rb', line 21

def show_field_keys
  query("SHOW FIELD KEYS".freeze, precision: nil).each_with_object({}) do |collection, keys|
    name    = collection.fetch("name")
    values  = collection.fetch("values", [])

    keys[name] = values.each_with_object({}) do |row, types|
      types[row.fetch("fieldKey")] = [row.fetch("fieldType")]
    end
  end
end