Skip to content

Commit 79794ae

Browse files
authored
Add not match query type. (#193)
Add not match query type.
1 parent b477e7f commit 79794ae

6 files changed

Lines changed: 757 additions & 1 deletion

File tree

backend/kitex_gen/coze/loop/observability/domain/filter/filter.go

Lines changed: 4 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

backend/modules/observability/domain/trace/entity/loop_span/filter.go

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ type (
2424

2525
const (
2626
QueryTypeEnumMatch QueryTypeEnum = "match"
27+
QueryTypeEnumNotMatch QueryTypeEnum = "not_match"
2728
QueryTypeEnumEq QueryTypeEnum = "eq"
2829
QueryTypeEnumNotEq QueryTypeEnum = "not_eq"
2930
QueryTypeEnumLte QueryTypeEnum = "lte"
@@ -59,6 +60,7 @@ const (
5960
var validFieldComb = map[FieldType]map[QueryTypeEnum]bool{
6061
FieldTypeString: {
6162
QueryTypeEnumMatch: true,
63+
QueryTypeEnumNotMatch: true,
6264
QueryTypeEnumIn: true,
6365
QueryTypeEnumNotIn: true,
6466
QueryTypeEnumExist: true,
@@ -366,6 +368,16 @@ func Compare[T cmp.Ordered](val T, values []T, qType QueryTypeEnum) bool {
366368
default:
367369
return false
368370
}
371+
case QueryTypeEnumNotMatch:
372+
if len(values) == 0 {
373+
return true
374+
}
375+
switch any(val).(type) {
376+
case string:
377+
return !strings.Contains(any(val).(string), any(values[0]).(string))
378+
default:
379+
return false
380+
}
369381
case QueryTypeEnumEq:
370382
if len(values) == 0 {
371383
return false

0 commit comments

Comments
 (0)