influxdb/influxdb_line_protocol/src
Phil Bracikowski 8afa2f473d
fix(lp parser): adjust parsing tagsets: better error message and error on corner case (#7997)
* fix(lp parser): improves the error message when parsing tagsets

A tagset is an optional list of (tag_key=tag_value) that start
immediatelly after the measurement. The tagset and measurement are
separated by a comma. If that comma is present, at least one tag=value
pair must be present.

This pr expresses that must relationship and provides a Tag Set
Malformed erorr now if there's something wrong with the tag set.

The input test case is added which is missing the tag value - I'd like
to improve the errors to be more specific still, but one case at a time.

* fixes #7772

* chore: add test case

This commit adds a test case for a comma after the measurement but no
tagset thereafter. This is also an error condition. Before this PR this
was accepted as an empty tagset, but the spec and the canonical golang
parser do not permit this.
2023-06-16 15:16:11 +00:00
..
builder.rs chore(influxdb_line_protocol): Prepare `influxdb_line_protocol` for crates.io release (#7195) 2023-03-16 17:55:10 +00:00
lib.rs fix(lp parser): adjust parsing tagsets: better error message and error on corner case (#7997) 2023-06-16 15:16:11 +00:00