mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-24 16:48:45 +05:00
Storage - Adding SelectDatabase method
This commit is contained in:
@@ -36,6 +36,7 @@ type Storage interface {
|
||||
GetVersions(itm string) (vrs Versions, err error)
|
||||
SetVersions(vrs Versions) (err error)
|
||||
RemoveVersions(vrs Versions) (err error)
|
||||
SelectDatabase(dbName string) (err error)
|
||||
}
|
||||
|
||||
// Interface for storage providers.
|
||||
@@ -77,8 +78,7 @@ type RatingStorage interface {
|
||||
RemAccountActionPlans(acntID string, aPlIDs []string) (err error)
|
||||
PushTask(*Task) error
|
||||
PopTask() (*Task, error)
|
||||
// CacheDataFromDB loads data to cache, prefix represents the cache prefix, IDs should be nil if all available data should be loaded
|
||||
CacheDataFromDB(prefix string, IDs []string, mustBeCached bool) error // ToDo: Move this to dataManager
|
||||
CacheDataFromDB(prefix string, IDs []string, mustBeCached bool) error
|
||||
}
|
||||
|
||||
type AccountingStorage interface {
|
||||
@@ -111,7 +111,6 @@ type AccountingStorage interface {
|
||||
GetReqFilterIndexes(dbKey string) (indexes map[string]map[string]utils.StringMap, err error)
|
||||
SetReqFilterIndexes(dbKey string, indexes map[string]map[string]utils.StringMap) (err error)
|
||||
MatchReqFilterIndex(dbKey, fieldValKey string) (itemIDs utils.StringMap, err error)
|
||||
// CacheDataFromDB loads data to cache, prefix represents the cache prefix, IDs should be nil if all available data should be loaded
|
||||
CacheDataFromDB(prefix string, IDs []string, mustBeCached bool) error
|
||||
}
|
||||
|
||||
|
||||
@@ -86,6 +86,10 @@ func (ms *MapStorage) Flush(ignore string) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (ms *MapStorage) SelectDatabase(dbName string) (err error) {
|
||||
return
|
||||
}
|
||||
|
||||
func (ms *MapStorage) RebuildReverseForPrefix(prefix string) error {
|
||||
// FIXME: should do transaction
|
||||
keys, err := ms.GetKeysForPrefix(prefix)
|
||||
|
||||
@@ -322,6 +322,11 @@ func (ms *MongoStorage) Flush(ignore string) (err error) {
|
||||
return dbSession.DB(ms.db).DropDatabase()
|
||||
}
|
||||
|
||||
func (ms *MongoStorage) SelectDatabase(dbName string) (err error) {
|
||||
ms.db = dbName
|
||||
return
|
||||
}
|
||||
|
||||
func (ms *MongoStorage) RebuildReverseForPrefix(prefix string) (err error) {
|
||||
if !utils.IsSliceMember([]string{utils.REVERSE_DESTINATION_PREFIX, utils.REVERSE_ALIASES_PREFIX, utils.AccountActionPlansPrefix}, prefix) {
|
||||
return utils.ErrInvalidKey
|
||||
|
||||
@@ -109,6 +109,10 @@ func (rs *RedisStorage) Flush(ignore string) error {
|
||||
return rs.Cmd("FLUSHDB").Err
|
||||
}
|
||||
|
||||
func (rs *RedisStorage) SelectDatabase(dbName string) (err error) {
|
||||
return rs.Cmd("SELECT", dbName).Err
|
||||
}
|
||||
|
||||
func (rs *RedisStorage) LoadRatingCache(dstIDs, rvDstIDs, rplIDs, rpfIDs, actIDs, aplIDs, aaPlIDs, atrgIDs, sgIDs, lcrIDs, dcIDs []string) (err error) {
|
||||
for key, ids := range map[string][]string{
|
||||
utils.DESTINATION_PREFIX: dstIDs,
|
||||
|
||||
@@ -53,6 +53,10 @@ func (self *SQLStorage) Flush(scriptsPath string) (err error) {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (rs *SQLStorage) SelectDatabase(dbName string) (err error) {
|
||||
return
|
||||
}
|
||||
|
||||
func (self *SQLStorage) GetKeysForPrefix(prefix string) ([]string, error) {
|
||||
return nil, utils.ErrNotImplemented
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user