cgr-loader flag to disable reverse mappings

This commit is contained in:
Radu Ioan Fericean
2016-08-18 11:58:11 +03:00
parent e142227780
commit 0c08467387
15 changed files with 26 additions and 23 deletions

View File

@@ -274,7 +274,7 @@ func (self *ApierV1) LoadTariffPlanFromStorDb(attrs AttrLoadTpFromStorDb, reply
*reply = OK
return nil // Mission complete, no errors
}
if err := dbReader.WriteToDatabase(attrs.FlushDb, false); err != nil {
if err := dbReader.WriteToDatabase(attrs.FlushDb, false, false); err != nil {
return utils.NewErrServerError(err)
}
// Make sure the items are in the cache
@@ -833,7 +833,7 @@ func (self *ApierV1) LoadTariffPlanFromFolder(attrs utils.AttrLoadTpFromFolder,
}
}
if err := loader.WriteToDatabase(attrs.FlushDb, false); err != nil {
if err := loader.WriteToDatabase(attrs.FlushDb, false, false); err != nil {
return utils.NewErrServerError(err)
}
// Make sure the items are in the cache

View File

@@ -152,7 +152,7 @@ func (self *ApierV2) LoadTariffPlanFromFolder(attrs utils.AttrLoadTpFromFolder,
}
}
if err := loader.WriteToDatabase(attrs.FlushDb, false); err != nil {
if err := loader.WriteToDatabase(attrs.FlushDb, false, false); err != nil {
return utils.NewErrServerError(err)
}
// Make sure the items are in the cache

View File

@@ -78,6 +78,7 @@ var (
runId = flag.String("runid", "", "Uniquely identify an import/load, postpended to some automatic fields")
loadHistorySize = flag.Int("load_history_size", cgrConfig.LoadHistorySize, "Limit the number of records in the load history")
timezone = flag.String("timezone", cgrConfig.DefaultTimezone, `Timezone for timestamps where not specified <""|UTC|Local|$IANA_TZ_DB>`)
disable_reverse = flag.Bool("disable_reverse_mappings", false, "Will disable reverse mappings rebuilding")
)
func main() {
@@ -336,7 +337,7 @@ func main() {
}
// write maps to database
if err := tpReader.WriteToDatabase(*flush, *verbose); err != nil {
if err := tpReader.WriteToDatabase(*flush, *verbose, *disable_reverse); err != nil {
log.Fatal("Could not write to database: ", err)
}
if len(*historyServer) != 0 && *verbose {

View File

@@ -91,7 +91,7 @@ func StopStartEngine(cfgPath string, waitEngine int) (*exec.Cmd, error) {
return StartEngine(cfgPath, waitEngine)
}
func LoadTariffPlanFromFolder(tpPath, timezone string, ratingDb RatingStorage, accountingDb AccountingStorage) error {
func LoadTariffPlanFromFolder(tpPath, timezone string, ratingDb RatingStorage, accountingDb AccountingStorage, disable_reverse bool) error {
loader := NewTpReader(ratingDb, accountingDb, NewFileCSVStorage(utils.CSV_SEP,
path.Join(tpPath, utils.DESTINATIONS_CSV),
path.Join(tpPath, utils.TIMINGS_CSV),
@@ -115,7 +115,7 @@ func LoadTariffPlanFromFolder(tpPath, timezone string, ratingDb RatingStorage, a
if err := loader.LoadAll(); err != nil {
return utils.NewErrServerError(err)
}
if err := loader.WriteToDatabase(false, false); err != nil {
if err := loader.WriteToDatabase(false, false, disable_reverse); err != nil {
return utils.NewErrServerError(err)
}
return nil

View File

@@ -333,7 +333,7 @@ func init() {
if err := csvr.LoadResourceLimits(); err != nil {
log.Print("error in LoadResourceLimits:", err)
}
csvr.WriteToDatabase(false, false)
csvr.WriteToDatabase(false, false, false)
cache2go.Flush()
ratingStorage.PreloadRatingCache()
accountingStorage.PreloadAccountingCache()

View File

@@ -181,7 +181,7 @@ func TestLoadFromCSV(t *testing.T) {
if err = loader.LoadResourceLimits(); err != nil {
t.Error("Failed loading resource limits: ", err.Error())
}
if err := loader.WriteToDatabase(true, false); err != nil {
if err := loader.WriteToDatabase(true, false, false); err != nil {
t.Error("Could not write data into ratingDb: ", err.Error())
}
}

View File

@@ -1634,7 +1634,7 @@ func (tpr *TpReader) IsValid() bool {
return valid
}
func (tpr *TpReader) WriteToDatabase(flush, verbose bool) (err error) {
func (tpr *TpReader) WriteToDatabase(flush, verbose, disable_reverse bool) (err error) {
if tpr.ratingStorage == nil || tpr.accountingStorage == nil {
return errors.New("no database connection")
}
@@ -1653,9 +1653,10 @@ func (tpr *TpReader) WriteToDatabase(flush, verbose bool) (err error) {
log.Print("\t", d.Id, " : ", d.Prefixes)
}
}
err = tpr.ratingStorage.RebuildReverseForPrefix(utils.REVERSE_DESTINATION_PREFIX)
if err != nil {
return err
if !disable_reverse {
if err = tpr.ratingStorage.RebuildReverseForPrefix(utils.REVERSE_DESTINATION_PREFIX); err != nil {
return err
}
}
if verbose {
log.Print("Rating Plans:")
@@ -1830,9 +1831,10 @@ func (tpr *TpReader) WriteToDatabase(flush, verbose bool) (err error) {
log.Print("\t", al.GetId())
}
}
err = tpr.accountingStorage.RebuildReverseForPrefix(utils.REVERSE_ALIASES_PREFIX)
if err != nil {
return err
if !disable_reverse {
if err = tpr.accountingStorage.RebuildReverseForPrefix(utils.REVERSE_ALIASES_PREFIX); err != nil {
return err
}
}
if verbose {
log.Print("ResourceLimits:")

View File

@@ -62,7 +62,7 @@ ENABLE_ACNT,*enable_account,,,,,,,,,,,,,,false,false,10`
if err := csvr.LoadAll(); err != nil {
t.Fatal(err)
}
csvr.WriteToDatabase(false, false)
csvr.WriteToDatabase(false, false, false)
cache2go.Flush()
ratingDbAcntActs.PreloadRatingCache()

View File

@@ -70,7 +70,7 @@ RP_ANY,DR_ANY_1CNT,*any,10`
if err := csvr.LoadAll(); err != nil {
t.Fatal(err)
}
csvr.WriteToDatabase(false, false)
csvr.WriteToDatabase(false, false, false)
if acnt, err := acntDbAuth.GetAccount("cgrates.org:testauthpostpaid1"); err != nil {
t.Error(err)
} else if acnt == nil {

View File

@@ -74,7 +74,7 @@ RP_SMS1,DR_SMS_1,ALWAYS,10`
if err := csvr.LoadRatingProfiles(); err != nil {
t.Fatal(err)
}
csvr.WriteToDatabase(false, false)
csvr.WriteToDatabase(false, false, false)
cache2go.Flush()
ratingDb.PreloadRatingCache()
acntDb.PreloadAccountingCache()

View File

@@ -61,7 +61,7 @@ RP_DATA1,DR_DATA_2,TM2,10`
if err := csvr.LoadRatingProfiles(); err != nil {
t.Fatal(err)
}
csvr.WriteToDatabase(false, false)
csvr.WriteToDatabase(false, false, false)
cache2go.Flush()
ratingDb.PreloadRatingCache()
acntDb.PreloadAccountingCache()

View File

@@ -105,7 +105,7 @@ TOPUP10_AT,TOPUP10_AC1,ASAP,10`
if err := csvr.LoadDerivedChargers(); err != nil {
t.Fatal(err)
}
csvr.WriteToDatabase(false, false)
csvr.WriteToDatabase(false, false, false)
if acnt, err := acntDb.GetAccount("cgrates.org:12344"); err != nil {
t.Error(err)
} else if acnt == nil {

View File

@@ -105,7 +105,7 @@ TOPUP10_AT,TOPUP10_AC1,ASAP,10`
if err := csvr.LoadDerivedChargers(); err != nil {
t.Fatal(err)
}
csvr.WriteToDatabase(false, false)
csvr.WriteToDatabase(false, false, false)
if acnt, err := acntDb2.GetAccount("cgrates.org:12345"); err != nil {
t.Error(err)
} else if acnt == nil {

View File

@@ -103,7 +103,7 @@ RP_UK,DR_UK_Mobile_BIG5,ALWAYS,10`
if err := csvr.LoadDerivedChargers(); err != nil {
t.Fatal(err)
}
csvr.WriteToDatabase(false, false)
csvr.WriteToDatabase(false, false, false)
if acnt, err := acntDb3.GetAccount("cgrates.org:12346"); err != nil {
t.Error(err)
} else if acnt == nil {

View File

@@ -57,7 +57,7 @@ func TestSMSLoadCsvTpSmsChrg1(t *testing.T) {
if err := csvr.LoadRatingProfiles(); err != nil {
t.Fatal(err)
}
csvr.WriteToDatabase(false, false)
csvr.WriteToDatabase(false, false, false)
cache2go.Flush()
ratingDb.PreloadRatingCache()
acntDb.PreloadAccountingCache()