(op traceql.Operator, operands traceql.Operands)
| 2385 | } |
| 2386 | |
| 2387 | func createBoolPredicate(op traceql.Operator, operands traceql.Operands) (parquetquery.Predicate, error) { |
| 2388 | if pred, handled := createExistencePredicate(op); handled { |
| 2389 | return pred, nil |
| 2390 | } |
| 2391 | |
| 2392 | switch operands[0].Type { |
| 2393 | case traceql.TypeBoolean: |
| 2394 | b, _ := operands[0].Bool() |
| 2395 | |
| 2396 | switch op { |
| 2397 | case traceql.OpEqual: |
| 2398 | return parquetquery.NewBoolEqualPredicate(b), nil |
| 2399 | case traceql.OpNotEqual: |
| 2400 | return parquetquery.NewBoolNotEqualPredicate(b), nil |
| 2401 | default: |
| 2402 | return nil, fmt.Errorf("operator not supported for booleans: %+v", op) |
| 2403 | } |
| 2404 | case traceql.TypeBooleanArray: |
| 2405 | bools, _ := operands[0].BooleanArray() |
| 2406 | |
| 2407 | switch op { |
| 2408 | case traceql.OpEqual, traceql.OpIn: |
| 2409 | return parquetquery.NewBoolInPredicate(bools), nil |
| 2410 | case traceql.OpNotEqual, traceql.OpNotIn: |
| 2411 | return parquetquery.NewBoolNotInPredicate(bools), nil |
| 2412 | default: |
| 2413 | return nil, fmt.Errorf("operator not supported for boolean arrays: %+v", op) |
| 2414 | } |
| 2415 | default: |
| 2416 | return nil, fmt.Errorf("oparand is not bool or bool array: %+v", operands[0].EncodeToString(false)) |
| 2417 | } |
| 2418 | } |
| 2419 | |
| 2420 | func createAttributeIterator(makeIter makeIterFn, conditions []traceql.Condition, |
| 2421 | definitionLevel int, |
no test coverage detected