From 64b7bca99513133486e02be5beb19f409246fdcf Mon Sep 17 00:00:00 2001 From: DanB Date: Tue, 7 Feb 2017 13:49:49 +0100 Subject: [PATCH] Make sure ExtraInfo is cleared on re-rating, only query CDRs different from *raw in case of re-rating --- engine/cdrs.go | 1 + engine/storage_sql.go | 1 - utils/apitpdata.go | 3 +++ 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/engine/cdrs.go b/engine/cdrs.go index 0dc50cbac..d31bdc960 100644 --- a/engine/cdrs.go +++ b/engine/cdrs.go @@ -374,6 +374,7 @@ func (self *CdrServer) rateCDR(cdr *CDR) ([]*CDR, error) { if cdr.RequestType == utils.META_NONE { return nil, nil } + cdr.ExtraInfo = "" // Clean previous ExtraInfo, useful when re-rating var cdrsRated []*CDR _, hasLastUsed := cdr.ExtraFields[utils.LastUsed] if utils.IsSliceMember([]string{utils.META_PREPAID, utils.PREPAID}, cdr.RequestType) && (cdr.Usage != 0 || hasLastUsed) { // ToDo: Get rid of PREPAID as soon as we don't want to support it backwards diff --git a/engine/storage_sql.go b/engine/storage_sql.go index 73972156f..2c4f86d1e 100644 --- a/engine/storage_sql.go +++ b/engine/storage_sql.go @@ -971,7 +971,6 @@ func (self *SQLStorage) GetCDRs(qryFltr *utils.CDRsFilter, remove bool) ([]*CDR, // Execute query results := make([]*TBLCDRs, 0) q.Find(&results) - for _, result := range results { extraFieldsMp := make(map[string]string) if result.ExtraFields != "" { diff --git a/utils/apitpdata.go b/utils/apitpdata.go index aa9b2244b..c49388da0 100644 --- a/utils/apitpdata.go +++ b/utils/apitpdata.go @@ -855,6 +855,9 @@ func (attrRateCDRs *AttrRateCdrs) AsCDRsFilter(timezone string) (*CDRsFilter, er } else if attrRateCDRs.RerateRated { cdrFltr.MinCost = Float64Pointer(0.0) } + if attrRateCDRs.RerateErrors || attrRateCDRs.RerateRated { + cdrFltr.NotRunIDs = append(cdrFltr.NotRunIDs, MetaRaw) + } return cdrFltr, nil }