Skip to content

Commit

Permalink
add escaping for backslashes, fixes influxdata#718
Browse files Browse the repository at this point in the history
  • Loading branch information
oliverrahner committed May 24, 2024
1 parent dc1d442 commit 22407a5
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 0 deletions.
3 changes: 3 additions & 0 deletions client/src/main/java/com/influxdb/client/write/Point.java
Original file line number Diff line number Diff line change
Expand Up @@ -442,6 +442,9 @@ private void escapeKey(@Nonnull final StringBuilder sb, @Nonnull final String ke
private void escapeKey(@Nonnull final StringBuilder sb, @Nonnull final String key, final boolean escapeEqual) {
for (int i = 0; i < key.length(); i++) {
switch (key.charAt(i)) {
case '\\':
sb.append("\\\\");
continue;
case '\n':
sb.append("\\n");
continue;
Expand Down
10 changes: 10 additions & 0 deletions client/src/test/java/com/influxdb/client/write/PointTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -182,6 +182,16 @@ void fieldEscape() {
Assertions.assertThat(point.toLineProtocol()).isEqualTo("h2o,location=europe level=\"string esc\\\"ape value\"");
}

@Test
void tagEscape() {
Point point = Point.measurement("h2o")
.addTag("location", "\\")
.addTag("zone", "europe")
.addField("level", "dummy value");

Assertions.assertThat(point.toLineProtocol()).isEqualTo("h2o,location=\\\\,zone=europe level=\"dummy value\"");
}

@Test
void time() {

Expand Down

0 comments on commit 22407a5

Please sign in to comment.