mirror of
https://git.mirrors.martin98.com/https://github.com/SigNoz/signoz
synced 2025-08-14 23:05:53 +08:00
fix: dont enrich if non empty keys are not same (#4930)
* fix: dont enrich if non empty keys are not same * fix: update if any of the type and dataType is empty but other is matching
This commit is contained in:
parent
dfaa344dce
commit
5326f2d23b
@ -145,12 +145,13 @@ func enrichFieldWithMetadata(field v3.AttributeKey, fields map[string]v3.Attribu
|
|||||||
|
|
||||||
// check if the field is present in the fields map
|
// check if the field is present in the fields map
|
||||||
if existingField, ok := fields[field.Key]; ok {
|
if existingField, ok := fields[field.Key]; ok {
|
||||||
if existingField.IsColumn {
|
// don't update if type is not the same
|
||||||
|
if (field.Type == "" && field.DataType == "") ||
|
||||||
|
(field.Type == existingField.Type && field.DataType == existingField.DataType) ||
|
||||||
|
(field.Type == "" && field.DataType == existingField.DataType) ||
|
||||||
|
(field.DataType == "" && field.Type == existingField.Type) {
|
||||||
return existingField
|
return existingField
|
||||||
}
|
}
|
||||||
field.Type = existingField.Type
|
|
||||||
field.DataType = existingField.DataType
|
|
||||||
return field
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// enrich with default values if metadata is not found
|
// enrich with default values if metadata is not found
|
||||||
|
@ -342,6 +342,57 @@ var testEnrichParamsData = []struct {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
Name: "Don't enrich if other keys are non empty and not same",
|
||||||
|
Params: v3.QueryRangeParamsV3{
|
||||||
|
CompositeQuery: &v3.CompositeQuery{
|
||||||
|
BuilderQueries: map[string]*v3.BuilderQuery{
|
||||||
|
"test": {
|
||||||
|
QueryName: "test",
|
||||||
|
Expression: "test",
|
||||||
|
DataSource: v3.DataSourceLogs,
|
||||||
|
AggregateAttribute: v3.AttributeKey{
|
||||||
|
Key: "test",
|
||||||
|
Type: v3.AttributeKeyTypeResource,
|
||||||
|
DataType: v3.AttributeKeyDataTypeInt64,
|
||||||
|
},
|
||||||
|
Filters: &v3.FilterSet{Operator: "AND", Items: []v3.FilterItem{
|
||||||
|
{Key: v3.AttributeKey{Key: "test", Type: v3.AttributeKeyTypeTag}, Value: "test", Operator: "="},
|
||||||
|
{Key: v3.AttributeKey{Key: "test", DataType: v3.AttributeKeyDataTypeString}, Value: "test1", Operator: "="},
|
||||||
|
}},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
Fields: map[string]v3.AttributeKey{
|
||||||
|
"test": {
|
||||||
|
Key: "test",
|
||||||
|
Type: v3.AttributeKeyTypeTag,
|
||||||
|
DataType: v3.AttributeKeyDataTypeString,
|
||||||
|
IsColumn: true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
Result: v3.QueryRangeParamsV3{
|
||||||
|
CompositeQuery: &v3.CompositeQuery{
|
||||||
|
BuilderQueries: map[string]*v3.BuilderQuery{
|
||||||
|
"test": {
|
||||||
|
QueryName: "test",
|
||||||
|
Expression: "test",
|
||||||
|
DataSource: v3.DataSourceLogs,
|
||||||
|
AggregateAttribute: v3.AttributeKey{
|
||||||
|
Key: "test",
|
||||||
|
Type: v3.AttributeKeyTypeResource,
|
||||||
|
DataType: v3.AttributeKeyDataTypeInt64,
|
||||||
|
},
|
||||||
|
Filters: &v3.FilterSet{Operator: "AND", Items: []v3.FilterItem{
|
||||||
|
{Key: v3.AttributeKey{Key: "test", Type: v3.AttributeKeyTypeTag, DataType: v3.AttributeKeyDataTypeString, IsColumn: true}, Value: "test", Operator: "="},
|
||||||
|
{Key: v3.AttributeKey{Key: "test", Type: v3.AttributeKeyTypeTag, DataType: v3.AttributeKeyDataTypeString, IsColumn: true}, Value: "test1", Operator: "="},
|
||||||
|
}},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestEnrichParams(t *testing.T) {
|
func TestEnrichParams(t *testing.T) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user