(op traceql.Operator, operands traceql.Operands)
| 2905 | } |
| 2906 | |
| 2907 | func createFloatPredicate(op traceql.Operator, operands traceql.Operands) (parquetquery.Predicate, error) { |
| 2908 | if pred, handled := createExistencePredicate(op); handled { |
| 2909 | return pred, nil |
| 2910 | } |
| 2911 | |
| 2912 | switch operands[0].Type { |
| 2913 | case traceql.TypeFloat: |
| 2914 | f := operands[0].Float() |
| 2915 | |
| 2916 | switch op { |
| 2917 | case traceql.OpEqual: |
| 2918 | return parquetquery.NewFloatEqualPredicate(f), nil |
| 2919 | case traceql.OpNotEqual: |
| 2920 | return parquetquery.NewFloatNotEqualPredicate(f), nil |
| 2921 | case traceql.OpGreater: |
| 2922 | return parquetquery.NewFloatGreaterPredicate(f), nil |
| 2923 | case traceql.OpGreaterEqual: |
| 2924 | return parquetquery.NewFloatGreaterEqualPredicate(f), nil |
| 2925 | case traceql.OpLess: |
| 2926 | return parquetquery.NewFloatLessPredicate(f), nil |
| 2927 | case traceql.OpLessEqual: |
| 2928 | return parquetquery.NewFloatLessEqualPredicate(f), nil |
| 2929 | default: |
| 2930 | return nil, fmt.Errorf("operator not supported for floats: %+v", op) |
| 2931 | } |
| 2932 | case traceql.TypeFloatArray: |
| 2933 | floats, _ := operands[0].FloatArray() |
| 2934 | |
| 2935 | switch op { |
| 2936 | case traceql.OpEqual, traceql.OpIn: |
| 2937 | return parquetquery.NewFloatInPredicate(floats), nil |
| 2938 | case traceql.OpNotEqual, traceql.OpNotIn: |
| 2939 | return parquetquery.NewFloatNotInPredicate(floats), nil |
| 2940 | default: |
| 2941 | return nil, fmt.Errorf("operator not supported for float arrays: %+v", op) |
| 2942 | } |
| 2943 | default: |
| 2944 | return nil, fmt.Errorf("operand is not float or float array: %s", operands[0].EncodeToString(false)) |
| 2945 | } |
| 2946 | } |
| 2947 | |
| 2948 | func createBoolPredicate(op traceql.Operator, operands traceql.Operands) (parquetquery.Predicate, error) { |
| 2949 | if pred, handled := createExistencePredicate(op); handled { |
no test coverage detected