(op traceql.Operator, operands traceql.Operands)
| 3027 | } |
| 3028 | |
| 3029 | func createBoolPredicate(op traceql.Operator, operands traceql.Operands) (parquetquery.Predicate, error) { |
| 3030 | if pred, handled := createExistencePredicate(op); handled { |
| 3031 | return pred, nil |
| 3032 | } |
| 3033 | |
| 3034 | switch operands[0].Type { |
| 3035 | case traceql.TypeBoolean: |
| 3036 | b, _ := operands[0].Bool() |
| 3037 | |
| 3038 | switch op { |
| 3039 | case traceql.OpEqual: |
| 3040 | return parquetquery.NewBoolEqualPredicate(b), nil |
| 3041 | case traceql.OpNotEqual: |
| 3042 | return parquetquery.NewBoolNotEqualPredicate(b), nil |
| 3043 | default: |
| 3044 | return nil, fmt.Errorf("operator not supported for booleans: %+v", op) |
| 3045 | } |
| 3046 | case traceql.TypeBooleanArray: |
| 3047 | bools, _ := operands[0].BooleanArray() |
| 3048 | |
| 3049 | switch op { |
| 3050 | case traceql.OpEqual, traceql.OpIn: |
| 3051 | return parquetquery.NewBoolInPredicate(bools), nil |
| 3052 | case traceql.OpNotEqual, traceql.OpNotIn: |
| 3053 | return parquetquery.NewBoolNotInPredicate(bools), nil |
| 3054 | default: |
| 3055 | return nil, fmt.Errorf("operator not supported for boolean arrays: %+v", op) |
| 3056 | } |
| 3057 | default: |
| 3058 | return nil, fmt.Errorf("oparand is not bool or bool array: %+v", operands[0].EncodeToString(false)) |
| 3059 | } |
| 3060 | } |
| 3061 | |
| 3062 | func createAttributeIterator(makeIter makeIterFn, conditions []traceql.Condition, |
| 3063 | definitionLevel int, |
no test coverage detected