Make TPReader to remove indexes also

This commit is contained in:
TeoV
2019-04-14 15:59:51 +03:00
committed by Dan Christian Bogos
parent 43d5600cb8
commit 084b514b01
2 changed files with 33 additions and 18 deletions

View File

@@ -367,6 +367,20 @@ func TestLoaderITWriteToDatabase(t *testing.T) {
}
}
for tenantid, fltr := range loader.filters {
rcv, err := loader.dm.GetFilter(tenantid.Tenant, tenantid.ID, false, false, utils.NonTransactional)
if err != nil {
t.Error("Failed GetFilter: ", err.Error())
}
filter, err := APItoFilter(fltr, "UTC")
if err != nil {
t.Error(err)
}
if !reflect.DeepEqual(filter, rcv) {
t.Errorf("Expecting: %v, received: %v", filter, rcv)
}
}
for tenantid, rl := range loader.resProfiles {
rcv, err := loader.dm.GetResourceProfile(tenantid.Tenant, tenantid.ID, false, false, utils.NonTransactional)
if err != nil {

View File

@@ -2156,22 +2156,11 @@ func (tpr *TpReader) RemoveFromDatabase(verbose, disable_reverse bool) (err erro
log.Println("\t", ub.ID)
}
}
if verbose {
log.Print("Filters:")
}
for _, tpTH := range tpr.filters {
if err = tpr.dm.RemoveFilter(tpTH.Tenant, tpTH.ID, utils.NonTransactional); err != nil {
return err
}
if verbose {
log.Print("\t", tpTH.Tenant)
}
}
if verbose {
log.Print("ResourceProfiles:")
}
for _, tpRsp := range tpr.resProfiles {
if err = tpr.dm.RemoveResourceProfile(tpRsp.Tenant, tpRsp.ID, utils.NonTransactional, false); err != nil {
if err = tpr.dm.RemoveResourceProfile(tpRsp.Tenant, tpRsp.ID, utils.NonTransactional, true); err != nil {
return err
}
if verbose {
@@ -2193,7 +2182,7 @@ func (tpr *TpReader) RemoveFromDatabase(verbose, disable_reverse bool) (err erro
log.Print("StatQueueProfiles:")
}
for _, tpST := range tpr.sqProfiles {
if err = tpr.dm.RemoveStatQueueProfile(tpST.Tenant, tpST.ID, utils.NonTransactional, false); err != nil {
if err = tpr.dm.RemoveStatQueueProfile(tpST.Tenant, tpST.ID, utils.NonTransactional, true); err != nil {
return err
}
if verbose {
@@ -2215,7 +2204,7 @@ func (tpr *TpReader) RemoveFromDatabase(verbose, disable_reverse bool) (err erro
log.Print("ThresholdProfiles:")
}
for _, tpTH := range tpr.thProfiles {
if err = tpr.dm.RemoveThresholdProfile(tpTH.Tenant, tpTH.ID, utils.NonTransactional, false); err != nil {
if err = tpr.dm.RemoveThresholdProfile(tpTH.Tenant, tpTH.ID, utils.NonTransactional, true); err != nil {
return err
}
if verbose {
@@ -2238,7 +2227,7 @@ func (tpr *TpReader) RemoveFromDatabase(verbose, disable_reverse bool) (err erro
log.Print("SupplierProfiles:")
}
for _, tpTH := range tpr.sppProfiles {
if err = tpr.dm.RemoveSupplierProfile(tpTH.Tenant, tpTH.ID, utils.NonTransactional, false); err != nil {
if err = tpr.dm.RemoveSupplierProfile(tpTH.Tenant, tpTH.ID, utils.NonTransactional, true); err != nil {
return err
}
if verbose {
@@ -2251,7 +2240,7 @@ func (tpr *TpReader) RemoveFromDatabase(verbose, disable_reverse bool) (err erro
}
for _, tpTH := range tpr.attributeProfiles {
if err = tpr.dm.RemoveAttributeProfile(tpTH.Tenant, tpTH.ID,
utils.NonTransactional, false); err != nil && err.Error() != utils.ErrNotFound.Error() {
utils.NonTransactional, true); err != nil {
return err
}
if verbose {
@@ -2263,7 +2252,7 @@ func (tpr *TpReader) RemoveFromDatabase(verbose, disable_reverse bool) (err erro
log.Print("ChargerProfiles:")
}
for _, tpTH := range tpr.chargerProfiles {
if err = tpr.dm.RemoveChargerProfile(tpTH.Tenant, tpTH.ID, utils.NonTransactional, false); err != nil {
if err = tpr.dm.RemoveChargerProfile(tpTH.Tenant, tpTH.ID, utils.NonTransactional, true); err != nil {
return err
}
if verbose {
@@ -2275,7 +2264,7 @@ func (tpr *TpReader) RemoveFromDatabase(verbose, disable_reverse bool) (err erro
log.Print("DispatcherProfiles:")
}
for _, tpTH := range tpr.dispatcherProfiles {
if err = tpr.dm.RemoveDispatcherProfile(tpTH.Tenant, tpTH.ID, utils.NonTransactional, false); err != nil {
if err = tpr.dm.RemoveDispatcherProfile(tpTH.Tenant, tpTH.ID, utils.NonTransactional, true); err != nil {
return err
}
if verbose {
@@ -2323,6 +2312,18 @@ func (tpr *TpReader) RemoveFromDatabase(verbose, disable_reverse bool) (err erro
}
}
}
//We remove the filters at the end because of indexes
if verbose {
log.Print("Filters:")
}
for _, tpTH := range tpr.filters {
if err = tpr.dm.RemoveFilter(tpTH.Tenant, tpTH.ID, utils.NonTransactional); err != nil {
return err
}
if verbose {
log.Print("\t", tpTH.Tenant)
}
}
return
}