From a3831aaf879a16b611fa2a8e1a2cbe81de182acc Mon Sep 17 00:00:00 2001 From: Vivek Patel Date: Fri, 23 Sep 2022 14:27:13 +0530 Subject: [PATCH] Fix meta id for record duplication warnings --- compose/service/record.go | 4 +++- compose/types/record_detect_duplicates.go | 7 +++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/compose/service/record.go b/compose/service/record.go index c91de71b6..1ef7f8ff1 100644 --- a/compose/service/record.go +++ b/compose/service/record.go @@ -585,7 +585,9 @@ func (svc record) Bulk(ctx context.Context, oo ...*types.RecordBulkOperation) (r aProp.setChanged(r) // Attach meta ID to each value error for FE identification - dd.SetMetaID(p.ID) + if !dd.HasStrictErrors() && r != nil { + dd.SetMetaID(r.ID) + } if rve := types.IsRecordValueErrorSet(err); rve != nil { // Attach additional meta to each value error for FE identification diff --git a/compose/types/record_detect_duplicates.go b/compose/types/record_detect_duplicates.go index 312b0899f..d501deb04 100644 --- a/compose/types/record_detect_duplicates.go +++ b/compose/types/record_detect_duplicates.go @@ -61,6 +61,9 @@ func (d deDup) CheckDuplication(ctx context.Context, rules DeDupRuleSet, rec Rec return } + if out.IsValid() { + out = nil + } return } @@ -131,7 +134,7 @@ func (rule DeDupRule) checkCaseSensitiveDuplication(ctx context.Context, ls loca return } -func (v *RecordValueErrorSet) SetMetaID(id string) { +func (v *RecordValueErrorSet) SetMetaID(id uint64) { if v.IsValid() { return } @@ -139,7 +142,7 @@ func (v *RecordValueErrorSet) SetMetaID(id string) { for _, val := range v.Set { if val.Meta != nil { if _, ok := val.Meta["id"]; !ok { - val.Meta["id"] = id + val.Meta["id"] = cast.ToString(id) } } }