(&mut self)
| 396 | } |
| 397 | |
| 398 | fn try_parse_set_matching(&mut self) -> Result<Option<VectorMatching>, PromqlError> { |
| 399 | let has_on = self.try_keyword("on"); |
| 400 | let has_ignoring = !has_on && self.try_keyword("ignoring"); |
| 401 | if !has_on && !has_ignoring { |
| 402 | return Ok(None); |
| 403 | } |
| 404 | let labels = self.parse_label_list()?; |
| 405 | Ok(Some(VectorMatching { |
| 406 | card: MatchCard::OneToOne, |
| 407 | on: if has_on { labels.clone() } else { vec![] }, |
| 408 | ignoring: if has_ignoring { labels } else { vec![] }, |
| 409 | group_left: vec![], |
| 410 | group_right: vec![], |
| 411 | })) |
| 412 | } |
| 413 | } |
| 414 | |
| 415 | fn apply_offset(expr: Expr, offset: Duration) -> Expr { |
no test coverage detected