Browse Source

Explain, vector-to-vector: Do not compute results for set operators

Set operators are not displayed:
31ce9dacf4/web/ui/mantine-ui/src/pages/query/ExplainViews/BinaryExpr/VectorVector.tsx (L364)

Therefore, do not compute results for them.

Fixes #14889

Signed-off-by: Julien <roidelapluie@o11y.eu>
pull/14908/head
Julien 2 months ago
parent
commit
ac01dc9035
  1. 7
      web/ui/mantine-ui/src/promql/binOp.ts

7
web/ui/mantine-ui/src/promql/binOp.ts

@ -8,7 +8,7 @@ import {
vectorMatchCardinality,
VectorMatching,
} from "./ast";
import { isComparisonOperator } from "./utils";
import { isComparisonOperator, isSetOperator } from "./utils";
// We use a special (otherwise invalid) sample value to indicate that
// a sample has been filtered away by a comparison operator.
@ -340,6 +340,11 @@ export const computeVectorVectorBinOp = (
// Annotate the match groups with errors (if any) and populate the results.
Object.values(groups).forEach((mg) => {
// Do not populate results for set operators.
if (isSetOperator(op)) {
return;
}
if (matching.card === vectorMatchCardinality.oneToOne) {
if (mg.lhs.length > 1 && mg.rhs.length > 1) {
mg.error = { type: MatchErrorType.multipleMatchesOnBothSides };

Loading…
Cancel
Save