(op traceql.Operator, operands traceql.Operands)
| 2344 | } |
| 2345 | |
| 2346 | func createFloatPredicate(op traceql.Operator, operands traceql.Operands) (parquetquery.Predicate, error) { |
| 2347 | if pred, handled := createExistencePredicate(op); handled { |
| 2348 | return pred, nil |
| 2349 | } |
| 2350 | |
| 2351 | switch operands[0].Type { |
| 2352 | case traceql.TypeFloat: |
| 2353 | f := operands[0].Float() |
| 2354 | |
| 2355 | switch op { |
| 2356 | case traceql.OpEqual: |
| 2357 | return parquetquery.NewFloatEqualPredicate(f), nil |
| 2358 | case traceql.OpNotEqual: |
| 2359 | return parquetquery.NewFloatNotEqualPredicate(f), nil |
| 2360 | case traceql.OpGreater: |
| 2361 | return parquetquery.NewFloatGreaterPredicate(f), nil |
| 2362 | case traceql.OpGreaterEqual: |
| 2363 | return parquetquery.NewFloatGreaterEqualPredicate(f), nil |
| 2364 | case traceql.OpLess: |
| 2365 | return parquetquery.NewFloatLessPredicate(f), nil |
| 2366 | case traceql.OpLessEqual: |
| 2367 | return parquetquery.NewFloatLessEqualPredicate(f), nil |
| 2368 | default: |
| 2369 | return nil, fmt.Errorf("operator not supported for floats: %+v", op) |
| 2370 | } |
| 2371 | case traceql.TypeFloatArray: |
| 2372 | floats, _ := operands[0].FloatArray() |
| 2373 | |
| 2374 | switch op { |
| 2375 | case traceql.OpEqual, traceql.OpIn: |
| 2376 | return parquetquery.NewFloatInPredicate(floats), nil |
| 2377 | case traceql.OpNotEqual, traceql.OpNotIn: |
| 2378 | return parquetquery.NewFloatNotInPredicate(floats), nil |
| 2379 | default: |
| 2380 | return nil, fmt.Errorf("operator not supported for float arrays: %+v", op) |
| 2381 | } |
| 2382 | default: |
| 2383 | return nil, fmt.Errorf("operand is not float or float array: %s", operands[0].EncodeToString(false)) |
| 2384 | } |
| 2385 | } |
| 2386 | |
| 2387 | func createBoolPredicate(op traceql.Operator, operands traceql.Operands) (parquetquery.Predicate, error) { |
| 2388 | if pred, handled := createExistencePredicate(op); handled { |
no test coverage detected