influxdb 0.6.0 → 0.6.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis.yml +8 -6
- data/CHANGELOG.md +7 -0
- data/bin/provision.sh +4 -11
- data/lib/influxdb.rb +1 -0
- data/lib/influxdb/client.rb +1 -0
- data/lib/influxdb/query/measurement.rb +16 -0
- data/lib/influxdb/query/retention_policy.rb +3 -3
- data/lib/influxdb/version.rb +1 -1
- data/spec/influxdb/cases/query_measurements.rb +53 -0
- data/spec/influxdb/cases/query_retention_policy_spec.rb +9 -9
- data/spec/spec_helper.rb +3 -1
- metadata +5 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9b1a5b7dc10839360a584d7b4eee0c6163c2b0cdcb653a0963cdfe2b5612fcb4
|
4
|
+
data.tar.gz: ab5b75766b41b32edf7669e7efc521540d407f17b7148c285b673b93db96d86d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 55a4402f0355c7bb6269e05d487d5d941e8d72675653ada7a8f41903b67040c2602738aa3eb2f4619530f49f9202595ed258a4ace8e0ec130d2ba64bfec66a4f
|
7
|
+
data.tar.gz: a134972af2b74c6704a08485ac784cf54f9696cd0b3db7788b7d14156ecd51a36110763565f2b115c116e949a7d503e630b33b4e08018632900bf3516719ca62
|
data/.travis.yml
CHANGED
@@ -29,17 +29,19 @@ matrix:
|
|
29
29
|
- rvm: jruby-head
|
30
30
|
env: JRUBY_OPTS='--client -J-XX:+TieredCompilation -J-XX:TieredStopAtLevel=1 -J-Xss2m -J-Xmx256M'
|
31
31
|
- rvm: 2.5.1
|
32
|
-
env: influx_version=1.0.2 pkghash=
|
32
|
+
env: influx_version=1.0.2 pkghash=88f6c30fec2c6e612e802e23b9161fdfc7c5c29f6be036f0376326445aff0037
|
33
33
|
- rvm: 2.5.1
|
34
|
-
env: influx_version=1.1.0 pkghash=
|
34
|
+
env: influx_version=1.1.0 pkghash=f1520a2e18e0ab47e8a8810671e07d5a47960e54f7553b78bebe7d3c7594742f
|
35
35
|
- rvm: 2.5.1
|
36
|
-
env: influx_version=1.2.4 pkghash=
|
36
|
+
env: influx_version=1.2.4 pkghash=2fac8391e04aa1bec9151e8f0d8f18df030c866af2b4963ab7d86c6ddc172182
|
37
37
|
- rvm: 2.5.1
|
38
|
-
env: influx_version=1.3.6
|
38
|
+
env: influx_version=1.3.6 pkghash=6406cdd21466bcb832b967078adaa9f07cb6ae524a6579c15141692031f5f840
|
39
39
|
- rvm: 2.5.1
|
40
|
-
env: influx_version=1.4.3
|
40
|
+
env: influx_version=1.4.3 pkghash=0477080f1d1cf8e1242dc7318280b9010c4c45cf6a415a2a5de607ae17fa0359
|
41
41
|
- rvm: 2.5.1
|
42
|
-
env: influx_version=1.5.2
|
42
|
+
env: influx_version=1.5.2 pkghash=42fede7b497bdf30d4eb5138db218d1add986fca4fce4a8bcd9c7d6dabaf572a
|
43
|
+
- rvm: 2.5.1
|
44
|
+
env: influx_version=1.6.1 pkghash=a833ac16890182a75983c61e5fe6471ae27cbab7984d7b7361034887b7428de2
|
43
45
|
- rvm: 2.5.1
|
44
46
|
env: influx_version=nightly channel=nightlies
|
45
47
|
fail_fast: true
|
data/CHANGELOG.md
CHANGED
@@ -2,6 +2,13 @@
|
|
2
2
|
|
3
3
|
For the full commit log, [see here](https://github.com/influxdata/influxdb-ruby/commits/master).
|
4
4
|
|
5
|
+
## v0.6.1, released 2018-08-23
|
6
|
+
|
7
|
+
- Fix `InfluxDB::Client#delete_retention_policy`: the database name
|
8
|
+
argument is now quoted (#221, #222 @AishwaryaRK).
|
9
|
+
- Add `InfluxDB::Client#list_measurements` and `#delete_measuerment`
|
10
|
+
(#220)
|
11
|
+
|
5
12
|
## v0.6.0, released 2018-07-10
|
6
13
|
|
7
14
|
- Add batch query support via `InfluxDB::Client#batch` (and using
|
data/bin/provision.sh
CHANGED
@@ -22,21 +22,14 @@ else
|
|
22
22
|
fi
|
23
23
|
|
24
24
|
echo "== Download verification"
|
25
|
-
hash_sum=$(md5sum "${HOME}/${package_name}" | awk '{ print $1 }')
|
26
25
|
sha2_sum=$(sha256sum "${HOME}/${package_name}" | awk '{ print $1 }')
|
27
26
|
|
28
|
-
if [ -z "${pkghash}" ]
|
27
|
+
if [ -z "${pkghash}" ]; then
|
29
28
|
echo "-- Skipping, pkghash is empty"
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
exit 1
|
34
|
-
elif [ "${hash_sum}" != "${pkghash}" ]; then
|
35
|
-
echo >&2 "E: Hash sum mismatch (got ${hash_sum}, expected ${pkghash})"
|
36
|
-
exit 1
|
37
|
-
fi
|
29
|
+
elif [ -n "${pkghash}" ] && [ "${sha2_sum}" != "${pkghash}" ]; then
|
30
|
+
echo >&2 "E: Hash sum mismatch (got ${sha2_sum}, expected ${pkghash})"
|
31
|
+
exit 1
|
38
32
|
fi
|
39
|
-
echo "-- Download has MD5 hash: ${hash_sum}"
|
40
33
|
echo "-- Download has SHA256 hash: ${sha2_sum}"
|
41
34
|
|
42
35
|
|
data/lib/influxdb.rb
CHANGED
@@ -15,6 +15,7 @@ require "influxdb/query/continuous_query"
|
|
15
15
|
require "influxdb/query/core"
|
16
16
|
require "influxdb/query/core"
|
17
17
|
require "influxdb/query/database"
|
18
|
+
require "influxdb/query/measurement"
|
18
19
|
require "influxdb/query/retention_policy"
|
19
20
|
require "influxdb/query/series"
|
20
21
|
require "influxdb/query/user"
|
data/lib/influxdb/client.rb
CHANGED
@@ -0,0 +1,16 @@
|
|
1
|
+
module InfluxDB
|
2
|
+
module Query
|
3
|
+
module Measurement # :nodoc:
|
4
|
+
def list_measurements(database = config.database)
|
5
|
+
data = execute("SHOW MEASUREMENTS", db: database, parse: true)
|
6
|
+
return nil if data.nil? || data["results"][0]["series"].nil?
|
7
|
+
data["results"][0]["series"][0]["values"].flatten
|
8
|
+
end
|
9
|
+
|
10
|
+
def delete_measurement(measurement_name, database = config.database)
|
11
|
+
execute "DROP MEASUREMENT \"#{measurement_name}\"", db: database
|
12
|
+
true
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -8,7 +8,7 @@ module InfluxDB
|
|
8
8
|
default = false,
|
9
9
|
shard_duration: nil)
|
10
10
|
execute(
|
11
|
-
"CREATE RETENTION POLICY \"#{name}\" ON #{database} " \
|
11
|
+
"CREATE RETENTION POLICY \"#{name}\" ON \"#{database}\" " \
|
12
12
|
"DURATION #{duration} REPLICATION #{replication}" \
|
13
13
|
"#{shard_duration ? " SHARD DURATION #{shard_duration}" : ''}" \
|
14
14
|
"#{default ? ' DEFAULT' : ''}"
|
@@ -27,7 +27,7 @@ module InfluxDB
|
|
27
27
|
end
|
28
28
|
|
29
29
|
def delete_retention_policy(name, database)
|
30
|
-
execute("DROP RETENTION POLICY \"#{name}\" ON #{database}")
|
30
|
+
execute("DROP RETENTION POLICY \"#{name}\" ON \"#{database}\"")
|
31
31
|
end
|
32
32
|
|
33
33
|
def alter_retention_policy(name,
|
@@ -37,7 +37,7 @@ module InfluxDB
|
|
37
37
|
default = false,
|
38
38
|
shard_duration: nil)
|
39
39
|
execute(
|
40
|
-
"ALTER RETENTION POLICY \"#{name}\" ON #{database} " \
|
40
|
+
"ALTER RETENTION POLICY \"#{name}\" ON \"#{database}\" " \
|
41
41
|
"DURATION #{duration} REPLICATION #{replication}" \
|
42
42
|
"#{shard_duration ? " SHARD DURATION #{shard_duration}" : ''}" \
|
43
43
|
"#{default ? ' DEFAULT' : ''}"
|
data/lib/influxdb/version.rb
CHANGED
@@ -0,0 +1,53 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
require "json"
|
3
|
+
|
4
|
+
describe InfluxDB::Client do
|
5
|
+
let(:subject) do
|
6
|
+
described_class.new \
|
7
|
+
database: "database",
|
8
|
+
host: "influxdb.test",
|
9
|
+
port: 9999,
|
10
|
+
username: "username",
|
11
|
+
password: "password",
|
12
|
+
time_precision: "s"
|
13
|
+
end
|
14
|
+
|
15
|
+
let(:query) { nil }
|
16
|
+
let(:response) { { "results" => [{ "statement_id" => 0 }] } }
|
17
|
+
|
18
|
+
before do
|
19
|
+
stub_request(:get, "http://influxdb.test:9999/query")
|
20
|
+
.with(query: { u: "username", p: "password", q: query })
|
21
|
+
.to_return(body: JSON.generate(response))
|
22
|
+
end
|
23
|
+
|
24
|
+
describe "#list_measuremtns" do
|
25
|
+
let(:query) { "SHOW MEASUREMENTS" }
|
26
|
+
|
27
|
+
context "with measurements" do
|
28
|
+
let(:response) { { "results" => [{ "statement_id" => 0, "series" => [{ "columns" => "name", "values" => [["average_temperature"], ["h2o_feet"], ["h2o_pH"], ["h2o_quality"], ["h2o_temperature"]] }] }] } }
|
29
|
+
let(:expected_result) { %w[average_temperature h2o_feet h2o_pH h2o_quality h2o_temperature] }
|
30
|
+
|
31
|
+
it "should GET a list of measurements" do
|
32
|
+
expect(subject.list_measurements).to eq(expected_result)
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
context "without measurements" do
|
37
|
+
let(:response) { { "results" => [{ "statement_id" => 0 }] } }
|
38
|
+
let(:expected_result) { nil }
|
39
|
+
|
40
|
+
it "should GET a list of measurements" do
|
41
|
+
expect(subject.list_measurements).to eq(expected_result)
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
describe "#delete_retention_policy" do
|
47
|
+
let(:query) { "DROP MEASUREMENT \"foo\"" }
|
48
|
+
|
49
|
+
it "should GET to remove a database" do
|
50
|
+
expect(subject.delete_measurement('foo')).to be true
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
@@ -45,7 +45,7 @@ describe InfluxDB::Client do
|
|
45
45
|
|
46
46
|
describe "#create_retention_policy" do
|
47
47
|
context "default" do
|
48
|
-
let(:query) { "CREATE RETENTION POLICY \"1h.cpu\" ON foo DURATION 1h REPLICATION 2 DEFAULT" }
|
48
|
+
let(:query) { "CREATE RETENTION POLICY \"1h.cpu\" ON \"foo\" DURATION 1h REPLICATION 2 DEFAULT" }
|
49
49
|
|
50
50
|
it "should GET to create a new database" do
|
51
51
|
expect(subject.create_retention_policy('1h.cpu', 'foo', '1h', 2, true)).to be_a(Net::HTTPOK)
|
@@ -53,7 +53,7 @@ describe InfluxDB::Client do
|
|
53
53
|
end
|
54
54
|
|
55
55
|
context "non-default" do
|
56
|
-
let(:query) { "CREATE RETENTION POLICY \"1h.cpu\" ON foo DURATION 1h REPLICATION 2" }
|
56
|
+
let(:query) { "CREATE RETENTION POLICY \"1h.cpu\" ON \"foo\" DURATION 1h REPLICATION 2" }
|
57
57
|
|
58
58
|
it "should GET to create a new database" do
|
59
59
|
expect(subject.create_retention_policy('1h.cpu', 'foo', '1h', 2)).to be_a(Net::HTTPOK)
|
@@ -61,7 +61,7 @@ describe InfluxDB::Client do
|
|
61
61
|
end
|
62
62
|
|
63
63
|
context "default_with_shard_duration" do
|
64
|
-
let(:query) { "CREATE RETENTION POLICY \"1h.cpu\" ON foo DURATION 48h REPLICATION 2 SHARD DURATION 1h DEFAULT" }
|
64
|
+
let(:query) { "CREATE RETENTION POLICY \"1h.cpu\" ON \"foo\" DURATION 48h REPLICATION 2 SHARD DURATION 1h DEFAULT" }
|
65
65
|
|
66
66
|
it "should GET to create a new database" do
|
67
67
|
expect(subject.create_retention_policy('1h.cpu', 'foo', '48h', 2, true, shard_duration: '1h')).to be_a(Net::HTTPOK)
|
@@ -69,7 +69,7 @@ describe InfluxDB::Client do
|
|
69
69
|
end
|
70
70
|
|
71
71
|
context "non-default_with_shard_duration" do
|
72
|
-
let(:query) { "CREATE RETENTION POLICY \"1h.cpu\" ON foo DURATION 48h REPLICATION 2 SHARD DURATION 1h" }
|
72
|
+
let(:query) { "CREATE RETENTION POLICY \"1h.cpu\" ON \"foo\" DURATION 48h REPLICATION 2 SHARD DURATION 1h" }
|
73
73
|
|
74
74
|
it "should GET to create a new database" do
|
75
75
|
expect(subject.create_retention_policy('1h.cpu', 'foo', '48h', 2, shard_duration: '1h')).to be_a(Net::HTTPOK)
|
@@ -78,7 +78,7 @@ describe InfluxDB::Client do
|
|
78
78
|
end
|
79
79
|
|
80
80
|
describe "#delete_retention_policy" do
|
81
|
-
let(:query) { "DROP RETENTION POLICY \"1h.cpu\" ON foo" }
|
81
|
+
let(:query) { "DROP RETENTION POLICY \"1h.cpu\" ON \"foo\"" }
|
82
82
|
|
83
83
|
it "should GET to remove a database" do
|
84
84
|
expect(subject.delete_retention_policy('1h.cpu', 'foo')).to be_a(Net::HTTPOK)
|
@@ -87,7 +87,7 @@ describe InfluxDB::Client do
|
|
87
87
|
|
88
88
|
describe "#alter_retention_policy" do
|
89
89
|
context "default" do
|
90
|
-
let(:query) { "ALTER RETENTION POLICY \"1h.cpu\" ON foo DURATION 1h REPLICATION 2 DEFAULT" }
|
90
|
+
let(:query) { "ALTER RETENTION POLICY \"1h.cpu\" ON \"foo\" DURATION 1h REPLICATION 2 DEFAULT" }
|
91
91
|
|
92
92
|
it "should GET to alter a new database" do
|
93
93
|
expect(subject.alter_retention_policy('1h.cpu', 'foo', '1h', 2, true)).to be_a(Net::HTTPOK)
|
@@ -95,7 +95,7 @@ describe InfluxDB::Client do
|
|
95
95
|
end
|
96
96
|
|
97
97
|
context "non-default" do
|
98
|
-
let(:query) { "ALTER RETENTION POLICY \"1h.cpu\" ON foo DURATION 1h REPLICATION 2" }
|
98
|
+
let(:query) { "ALTER RETENTION POLICY \"1h.cpu\" ON \"foo\" DURATION 1h REPLICATION 2" }
|
99
99
|
|
100
100
|
it "should GET to alter a new database" do
|
101
101
|
expect(subject.alter_retention_policy('1h.cpu', 'foo', '1h', 2)).to be_a(Net::HTTPOK)
|
@@ -103,7 +103,7 @@ describe InfluxDB::Client do
|
|
103
103
|
end
|
104
104
|
|
105
105
|
context "default_with_shard_duration" do
|
106
|
-
let(:query) { "ALTER RETENTION POLICY \"1h.cpu\" ON foo DURATION 48h REPLICATION 2 SHARD DURATION 1h DEFAULT" }
|
106
|
+
let(:query) { "ALTER RETENTION POLICY \"1h.cpu\" ON \"foo\" DURATION 48h REPLICATION 2 SHARD DURATION 1h DEFAULT" }
|
107
107
|
|
108
108
|
it "should GET to alter a new database" do
|
109
109
|
expect(subject.alter_retention_policy('1h.cpu', 'foo', '48h', 2, true, shard_duration: '1h')).to be_a(Net::HTTPOK)
|
@@ -111,7 +111,7 @@ describe InfluxDB::Client do
|
|
111
111
|
end
|
112
112
|
|
113
113
|
context "non-default_with_shard_duration" do
|
114
|
-
let(:query) { "ALTER RETENTION POLICY \"1h.cpu\" ON foo DURATION 48h REPLICATION 2 SHARD DURATION 1h" }
|
114
|
+
let(:query) { "ALTER RETENTION POLICY \"1h.cpu\" ON \"foo\" DURATION 48h REPLICATION 2 SHARD DURATION 1h" }
|
115
115
|
|
116
116
|
it "should GET to alter a new database" do
|
117
117
|
expect(subject.alter_retention_policy('1h.cpu', 'foo', '48h', 2, shard_duration: '1h')).to be_a(Net::HTTPOK)
|
data/spec/spec_helper.rb
CHANGED
@@ -9,7 +9,9 @@ end
|
|
9
9
|
# rubocop:enable Lint/HandleExceptions
|
10
10
|
|
11
11
|
def min_influx_version(version)
|
12
|
-
|
12
|
+
v = ENV.fetch("influx_version", "0")
|
13
|
+
return true if v == "nightly"
|
14
|
+
current = Gem::Version.new(v)
|
13
15
|
current >= Gem::Version.new(version)
|
14
16
|
end
|
15
17
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: influxdb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.
|
4
|
+
version: 0.6.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Todd Persen
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-08-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -111,6 +111,7 @@ files:
|
|
111
111
|
- lib/influxdb/query/continuous_query.rb
|
112
112
|
- lib/influxdb/query/core.rb
|
113
113
|
- lib/influxdb/query/database.rb
|
114
|
+
- lib/influxdb/query/measurement.rb
|
114
115
|
- lib/influxdb/query/retention_policy.rb
|
115
116
|
- lib/influxdb/query/series.rb
|
116
117
|
- lib/influxdb/query/user.rb
|
@@ -123,6 +124,7 @@ files:
|
|
123
124
|
- spec/influxdb/cases/query_continuous_query_spec.rb
|
124
125
|
- spec/influxdb/cases/query_core_spec.rb
|
125
126
|
- spec/influxdb/cases/query_database_spec.rb
|
127
|
+
- spec/influxdb/cases/query_measurements.rb
|
126
128
|
- spec/influxdb/cases/query_retention_policy_spec.rb
|
127
129
|
- spec/influxdb/cases/query_series_spec.rb
|
128
130
|
- spec/influxdb/cases/query_shard_spec.rb
|
@@ -175,6 +177,7 @@ test_files:
|
|
175
177
|
- spec/influxdb/cases/query_continuous_query_spec.rb
|
176
178
|
- spec/influxdb/cases/query_core_spec.rb
|
177
179
|
- spec/influxdb/cases/query_database_spec.rb
|
180
|
+
- spec/influxdb/cases/query_measurements.rb
|
178
181
|
- spec/influxdb/cases/query_retention_policy_spec.rb
|
179
182
|
- spec/influxdb/cases/query_series_spec.rb
|
180
183
|
- spec/influxdb/cases/query_shard_spec.rb
|