influxdb-client 1.6.0.pre.916 → 1.6.0.pre.944
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +3 -0
- data/lib/influxdb2/client/point.rb +8 -3
- data/test/influxdb/point_test.rb +21 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 47ed13d8e18444afae6d7d928c352bb36ab60d555bf024c978ddd3e322cb1fab
|
4
|
+
data.tar.gz: 1c36796eccceaff2cf95056cf1fa7f8f8574398ec6d98500a652e876d19b78b9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7e50171c354fedeff31f01c233ea2c467cfb84534b7704c6656473600925d6b72c757f5097404dfd4c80ff751462172595ae7eb6c84cdcdb72a0c0c926eaee3b
|
7
|
+
data.tar.gz: 6e8d25c8f1de368c02c96fc8702a21beed2aa5a00338af36953af42e3173d93177756adb8f6d4fe6cc0281beaa67db09d3f001a75249b322ad16bb061dea8a2e
|
data/CHANGELOG.md
CHANGED
@@ -21,6 +21,8 @@
|
|
21
21
|
module InfluxDB2
|
22
22
|
DEFAULT_WRITE_PRECISION = WritePrecision::NANOSECOND
|
23
23
|
ESCAPE_KEY_LIST = ['\\'.freeze, ','.freeze, ' '.freeze, '='.freeze].freeze
|
24
|
+
ESCAPE_MEASUREMENT_LIST = ['\\'.freeze, ','.freeze, ' '.freeze].freeze
|
25
|
+
REPLACE_KEY_LIST = { "\n".freeze => '\n'.freeze, "\r".freeze => '\r'.freeze, "\t".freeze => '\t'.freeze }.freeze
|
24
26
|
ESCAPE_VALUE_LIST = ['\\'.freeze, '"'.freeze].freeze
|
25
27
|
|
26
28
|
# Point defines the values that will be written to the database.
|
@@ -113,7 +115,7 @@ module InfluxDB2
|
|
113
115
|
# @return a string representation of the point
|
114
116
|
def to_line_protocol
|
115
117
|
line_protocol = ''
|
116
|
-
measurement = _escape_key(@name || '')
|
118
|
+
measurement = _escape_key(@name || '', ESCAPE_MEASUREMENT_LIST)
|
117
119
|
|
118
120
|
line_protocol << measurement
|
119
121
|
|
@@ -161,11 +163,14 @@ module InfluxDB2
|
|
161
163
|
end.reject(&:nil?).join(','.freeze)
|
162
164
|
end
|
163
165
|
|
164
|
-
def _escape_key(value)
|
166
|
+
def _escape_key(value, escape_list = ESCAPE_KEY_LIST)
|
165
167
|
result = value.dup
|
166
|
-
|
168
|
+
escape_list.each do |ch|
|
167
169
|
result = result.gsub(ch) { "\\#{ch}" }
|
168
170
|
end
|
171
|
+
REPLACE_KEY_LIST.keys.each do |ch|
|
172
|
+
result = result.gsub(ch) { REPLACE_KEY_LIST[ch] }
|
173
|
+
end
|
169
174
|
result
|
170
175
|
end
|
171
176
|
|
data/test/influxdb/point_test.rb
CHANGED
@@ -218,4 +218,25 @@ class PointTest < MiniTest::Test
|
|
218
218
|
|
219
219
|
assert_equal 'h2o level=2i 123', point.to_line_protocol
|
220
220
|
end
|
221
|
+
|
222
|
+
def test_tag_escaping
|
223
|
+
point = InfluxDB2::Point.new(name: "h\n2\ro\t_data")
|
224
|
+
.add_tag("new\nline", "new\nline")
|
225
|
+
.add_tag("carriage\rreturn", "carriage\nreturn")
|
226
|
+
.add_tag("t\tab", "t\tab")
|
227
|
+
.add_field('level', 2)
|
228
|
+
|
229
|
+
puts point.to_line_protocol
|
230
|
+
|
231
|
+
assert_equal 'h\\n2\\ro\\t_data,carriage\\rreturn=carriage\\nreturn,new\\nline=new\\nline,t\\tab=t\\tab level=2i',
|
232
|
+
point.to_line_protocol
|
233
|
+
end
|
234
|
+
|
235
|
+
def test_equal_sign_escaping
|
236
|
+
point = InfluxDB2::Point.new(name: 'h=2o')
|
237
|
+
.add_tag('l=ocation', 'e=urope')
|
238
|
+
.add_field('l=evel', 2)
|
239
|
+
|
240
|
+
assert_equal 'h=2o,l\\=ocation=e\\=urope l\\=evel=2i', point.to_line_protocol
|
241
|
+
end
|
221
242
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: influxdb-client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.6.0.pre.
|
4
|
+
version: 1.6.0.pre.944
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jakub Bednar
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-06-
|
11
|
+
date: 2020-06-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|