mirror of
https://github.com/VictoriaMetrics/VictoriaMetrics.git
synced 2024-11-21 14:44:00 +00:00
lib/protoparser: clarify that the string passed to Unmarshal()
function must remain available when the parsed rows are in use
This commit is contained in:
parent
5492edcc6c
commit
15aa6142ef
6 changed files with 8 additions and 6 deletions
|
@ -35,7 +35,7 @@ func (rs *Rows) Reset() {
|
|||
//
|
||||
// See https://graphite.readthedocs.io/en/latest/feeding-carbon.html#the-plaintext-protocol
|
||||
//
|
||||
// s must be unchanged until rs is in use.
|
||||
// s shouldn't be modified when rs is in use.
|
||||
func (rs *Rows) Unmarshal(s string) {
|
||||
rs.Rows, rs.tagsPool = unmarshalRows(rs.Rows[:0], s, rs.tagsPool[:0])
|
||||
}
|
||||
|
|
|
@ -42,7 +42,7 @@ func (rs *Rows) Reset() {
|
|||
//
|
||||
// See https://docs.influxdata.com/influxdb/v1.7/write_protocols/line_protocol_tutorial/
|
||||
//
|
||||
// s must be unchanged until rs is in use.
|
||||
// s shouldn't be modified when rs is in use.
|
||||
func (rs *Rows) Unmarshal(s string) {
|
||||
rs.Rows, rs.tagsPool, rs.fieldsPool = unmarshalRows(rs.Rows[:0], s, rs.tagsPool[:0], rs.fieldsPool[:0])
|
||||
}
|
||||
|
|
|
@ -35,7 +35,7 @@ func (rs *Rows) Reset() {
|
|||
//
|
||||
// See http://opentsdb.net/docs/build/html/api_telnet/put.html
|
||||
//
|
||||
// s must be unchanged until rs is in use.
|
||||
// s shouldn't be modified when rs is in use.
|
||||
func (rs *Rows) Unmarshal(s string) {
|
||||
rs.Rows, rs.tagsPool = unmarshalRows(rs.Rows[:0], s, rs.tagsPool[:0])
|
||||
}
|
||||
|
|
|
@ -35,7 +35,7 @@ func (rs *Rows) Reset() {
|
|||
//
|
||||
// See http://opentsdb.net/docs/build/html/api_http/put.html
|
||||
//
|
||||
// s must be unchanged until rs is in use.
|
||||
// s shouldn't be modified when rs is in use.
|
||||
func (rs *Rows) Unmarshal(av *fastjson.Value) {
|
||||
rs.Rows, rs.tagsPool = unmarshalRows(rs.Rows[:0], av, rs.tagsPool[:0])
|
||||
}
|
||||
|
|
|
@ -36,7 +36,7 @@ func (rs *Rows) Reset() {
|
|||
//
|
||||
// See https://github.com/prometheus/docs/blob/master/content/docs/instrumenting/exposition_formats.md#text-format-details
|
||||
//
|
||||
// s must be unchanged until rs is in use.
|
||||
// s shouldn't be modified while rs is in use.
|
||||
func (rs *Rows) Unmarshal(s string) {
|
||||
rs.UnmarshalWithErrLogger(s, stdErrLogger)
|
||||
}
|
||||
|
@ -48,6 +48,8 @@ func stdErrLogger(s string) {
|
|||
// UnmarshalWithErrLogger unmarshal Prometheus exposition text rows from s.
|
||||
//
|
||||
// It calls errLogger for logging parsing errors.
|
||||
//
|
||||
// s shouldn't be modified while rs is in use.
|
||||
func (rs *Rows) UnmarshalWithErrLogger(s string, errLogger func(s string)) {
|
||||
noEscapes := strings.IndexByte(s, '\\') < 0
|
||||
rs.Rows, rs.tagsPool = unmarshalRows(rs.Rows[:0], s, rs.tagsPool[:0], noEscapes, errLogger)
|
||||
|
|
|
@ -30,7 +30,7 @@ func (rs *Rows) Reset() {
|
|||
//
|
||||
// See https://docs.influxdata.com/influxdb/v1.7/write_protocols/line_protocol_tutorial/
|
||||
//
|
||||
// s must be unchanged until rs is in use.
|
||||
// s shouldn't be modified when rs is in use.
|
||||
func (rs *Rows) Unmarshal(s string) {
|
||||
rs.tu.reset()
|
||||
rs.Rows = unmarshalRows(rs.Rows[:0], s, &rs.tu)
|
||||
|
|
Loading…
Reference in a new issue