mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-19 22:28:45 +05:00
Implement GetTpIds method for InternalDB as StorDB
This commit is contained in:
committed by
Dan Christian Bogos
parent
39d41bb6db
commit
d7e421911d
@@ -453,7 +453,7 @@ func TestActionPlanFunctionNotAvailable(t *testing.T) {
|
||||
func TestActionTimingPriorityListSortByWeight(t *testing.T) {
|
||||
at1 := &ActionTiming{Timing: &RateInterval{
|
||||
Timing: &RITiming{
|
||||
Years: utils.Years{2020},
|
||||
Years: utils.Years{2040},
|
||||
Months: utils.Months{time.January, time.February, time.March,
|
||||
time.April, time.May, time.June, time.July, time.August, time.September,
|
||||
time.October, time.November, time.December},
|
||||
@@ -464,7 +464,7 @@ func TestActionTimingPriorityListSortByWeight(t *testing.T) {
|
||||
}}
|
||||
at2 := &ActionTiming{Timing: &RateInterval{
|
||||
Timing: &RITiming{
|
||||
Years: utils.Years{2020},
|
||||
Years: utils.Years{2040},
|
||||
Months: utils.Months{time.January, time.February, time.March,
|
||||
time.April, time.May, time.June, time.July, time.August, time.September,
|
||||
time.October, time.November, time.December},
|
||||
@@ -477,7 +477,8 @@ func TestActionTimingPriorityListSortByWeight(t *testing.T) {
|
||||
atpl = append(atpl, at2, at1)
|
||||
atpl.Sort()
|
||||
if atpl[0] != at1 || atpl[1] != at2 {
|
||||
t.Error("Timing list not sorted correctly: ", at1, at2, atpl)
|
||||
t.Errorf("Timing list not sorted correctly: \n %+v, \n %+v \n %+v",
|
||||
utils.ToJSON(at1), utils.ToJSON(at2), utils.ToJSON(atpl))
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -29,7 +29,22 @@ import (
|
||||
|
||||
//implement LoadReader interface
|
||||
func (iDB *InternalDB) GetTpIds(colName string) (ids []string, err error) {
|
||||
return nil, utils.ErrNotImplemented
|
||||
tpIDs := utils.NewStringSet(nil)
|
||||
if colName == "" { // if colName is empty we need to parse all partitions
|
||||
for _, conNm := range utils.CacheStorDBPartitions.AsSlice() {
|
||||
keys := iDB.db.GetItemIDs(conNm, utils.EmptyString)
|
||||
for _, key := range keys {
|
||||
tpIDs.Add(strings.Split(key, utils.InInFieldSep)[0])
|
||||
}
|
||||
}
|
||||
// iterate through all columns
|
||||
} else {
|
||||
keys := iDB.db.GetItemIDs(colName, utils.EmptyString)
|
||||
for _, key := range keys {
|
||||
tpIDs.Add(strings.Split(key, utils.InInFieldSep)[0])
|
||||
}
|
||||
}
|
||||
return tpIDs.AsSlice(), nil
|
||||
}
|
||||
|
||||
func (iDB *InternalDB) GetTpTableIds(tpid, table string, distinct utils.TPDistinctIds,
|
||||
|
||||
@@ -130,6 +130,11 @@ var (
|
||||
CacheThresholdFilterIndexes, CacheSupplierFilterIndexes, CacheAttributeFilterIndexes,
|
||||
CacheChargerFilterIndexes, CacheDispatcherFilterIndexes, CacheLoadIDs, CacheAccounts})
|
||||
|
||||
CacheStorDBPartitions = NewStringSet([]string{TBLTPTimings, TBLTPDestinations, TBLTPRates,
|
||||
TBLTPDestinationRates, TBLTPRatingPlans, TBLTPRateProfiles, TBLTPSharedGroups,
|
||||
TBLTPActions, TBLTPActionPlans, TBLTPActionTriggers, TBLTPAccountActions, TBLTPResources, TBLTPStats,
|
||||
TBLTPThresholds, TBLTPFilters, SessionCostsTBL, CDRsTBL,
|
||||
TBLTPSuppliers, TBLTPAttributes, TBLTPChargers, TBLTPDispatchers, TBLTPDispatcherHosts})
|
||||
// ProtectedSFlds are the fields that sessions should not alter
|
||||
ProtectedSFlds = NewStringSet([]string{CGRID, OriginHost, OriginID, Usage})
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user