mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-17 22:29:55 +05:00
DataManager SetFilterReverseIndexes using cacheID and itemIDPrefix
This commit is contained in:
@@ -1126,8 +1126,11 @@ func (dm *DataManager) GetFilterReverseIndexes(cacheID, itemIDPrefix string,
|
||||
return dm.DataDB().GetFilterReverseIndexesDrv(cacheID, itemIDPrefix, fldNameVal)
|
||||
}
|
||||
|
||||
func (dm *DataManager) SetFilterReverseIndexes(dbKey string, indexes map[string]utils.StringMap, commit bool, transactionID string) (err error) {
|
||||
return dm.DataDB().SetFilterReverseIndexesDrv(dbKey, indexes, commit, transactionID)
|
||||
func (dm *DataManager) SetFilterReverseIndexes(cacheID, itemIDPrefix string,
|
||||
indexes map[string]utils.StringMap,
|
||||
commit bool, transactionID string) (err error) {
|
||||
return dm.DataDB().SetFilterReverseIndexesDrv(cacheID,
|
||||
itemIDPrefix, indexes, commit, transactionID)
|
||||
}
|
||||
|
||||
func (dm *DataManager) RemoveFilterReverseIndexes(dbKey string) (err error) {
|
||||
|
||||
@@ -127,11 +127,11 @@ func (rfi *FilterIndexer) cacheRemItemType() { // ToDo: tune here by removing pe
|
||||
func (rfi *FilterIndexer) StoreIndexes(commit bool, transactionID string) (err error) {
|
||||
if err = rfi.dm.SetFilterIndexes(
|
||||
utils.PrefixToIndexCache[rfi.itemType], rfi.dbKeySuffix,
|
||||
rfi.indexes, commit, utils.NonTransactional); err != nil {
|
||||
rfi.indexes, commit, transactionID); err != nil {
|
||||
return
|
||||
}
|
||||
if err = rfi.dm.SetFilterReverseIndexes(
|
||||
GetDBIndexKey(rfi.itemType, rfi.dbKeySuffix, true),
|
||||
utils.PrefixToRevIndexCache[rfi.itemType], rfi.dbKeySuffix,
|
||||
rfi.reveseIndex, commit, transactionID); err != nil {
|
||||
return
|
||||
}
|
||||
@@ -201,7 +201,7 @@ func (rfi *FilterIndexer) RemoveItemFromIndex(itemID string) (err error) {
|
||||
return
|
||||
}
|
||||
if err = rfi.dm.SetFilterReverseIndexes(
|
||||
GetDBIndexKey(rfi.itemType, rfi.dbKeySuffix, true),
|
||||
utils.PrefixToRevIndexCache[rfi.itemType], rfi.dbKeySuffix,
|
||||
rfi.reveseIndex, false, utils.NonTransactional); err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
@@ -125,7 +125,7 @@ type DataDB interface {
|
||||
RemoveFilterIndexesDrv(cacheID, itemIDPrefix string) (err error)
|
||||
GetFilterReverseIndexesDrv(cacheID, itemIDPrefix string,
|
||||
fldNameVal map[string]string) (indexes map[string]utils.StringMap, err error)
|
||||
SetFilterReverseIndexesDrv(dbKey string, indexes map[string]utils.StringMap,
|
||||
SetFilterReverseIndexesDrv(cacheID, itemIDPrefix string, indexes map[string]utils.StringMap,
|
||||
commit bool, transactionID string) (err error)
|
||||
RemoveFilterReverseIndexesDrv(dbKey string) (err error)
|
||||
MatchFilterIndexDrv(cacheID, itemIDPrefix,
|
||||
|
||||
@@ -1343,12 +1343,13 @@ func (ms *MapStorage) GetFilterReverseIndexesDrv(cacheID, itemIDPrefix string,
|
||||
}
|
||||
|
||||
//SetFilterReverseIndexesDrv stores ReverseIndexes into DataDB
|
||||
func (ms *MapStorage) SetFilterReverseIndexesDrv(originKey string, revIdx map[string]utils.StringMap, commit bool, transactionID string) (err error) {
|
||||
func (ms *MapStorage) SetFilterReverseIndexesDrv(cacheID, itemIDPrefix string,
|
||||
revIdx map[string]utils.StringMap, commit bool, transactionID string) (err error) {
|
||||
ms.mu.Lock()
|
||||
defer ms.mu.Unlock()
|
||||
dbKey := originKey
|
||||
dbKey := utils.CacheInstanceToPrefix[cacheID] + itemIDPrefix
|
||||
if transactionID != "" {
|
||||
dbKey = "tmp_" + utils.ConcatenatedKey(originKey, transactionID)
|
||||
dbKey = "tmp_" + utils.ConcatenatedKey(dbKey, transactionID)
|
||||
}
|
||||
if commit && transactionID != "" {
|
||||
delete(ms.dict, dbKey)
|
||||
@@ -1356,7 +1357,7 @@ func (ms *MapStorage) SetFilterReverseIndexesDrv(originKey string, revIdx map[st
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
ms.dict[originKey] = result
|
||||
ms.dict[dbKey] = result
|
||||
return nil
|
||||
} else {
|
||||
for key, strMp := range revIdx {
|
||||
|
||||
@@ -2078,13 +2078,14 @@ func (ms *MongoStorage) GetFilterReverseIndexesDrv(cacheID, itemIDPrefix string,
|
||||
}
|
||||
|
||||
//SetFilterReverseIndexesDrv stores ReverseIndexes into DataDB
|
||||
func (ms *MongoStorage) SetFilterReverseIndexesDrv(originKey string,
|
||||
func (ms *MongoStorage) SetFilterReverseIndexesDrv(cacheID, itemIDPrefix string,
|
||||
revIdx map[string]utils.StringMap, commit bool, transactionID string) (err error) {
|
||||
session, col := ms.conn(colRFI)
|
||||
defer session.Close()
|
||||
originKey := utils.CacheInstanceToPrefix[cacheID] + itemIDPrefix
|
||||
dbKey := originKey
|
||||
if transactionID != "" {
|
||||
dbKey = "tmp_" + utils.ConcatenatedKey(originKey, transactionID)
|
||||
dbKey = "tmp_" + utils.ConcatenatedKey(dbKey, transactionID)
|
||||
}
|
||||
if commit && transactionID != "" {
|
||||
oldKey := "tmp_" + utils.ConcatenatedKey(originKey, transactionID)
|
||||
@@ -2095,8 +2096,9 @@ func (ms *MongoStorage) SetFilterReverseIndexesDrv(originKey string,
|
||||
pairs := []interface{}{}
|
||||
for key, itmMp := range revIdx {
|
||||
param := fmt.Sprintf("value.%s", key)
|
||||
pairs = append(pairs, bson.M{"key": originKey})
|
||||
pairs = append(pairs, bson.M{"$set": bson.M{"key": originKey, param: itmMp.Slice()}})
|
||||
pairs = append(pairs, bson.M{"key": dbKey})
|
||||
pairs = append(pairs, bson.M{"$set": bson.M{"key": dbKey,
|
||||
param: itmMp.Slice()}})
|
||||
}
|
||||
if len(pairs) != 0 {
|
||||
bulk := col.Bulk()
|
||||
@@ -2113,7 +2115,8 @@ func (ms *MongoStorage) SetFilterReverseIndexesDrv(originKey string,
|
||||
if len(itmMp) == 0 {
|
||||
pairs = append(pairs, bson.M{"$unset": bson.M{param: 1}})
|
||||
} else {
|
||||
pairs = append(pairs, bson.M{"$set": bson.M{"key": dbKey, param: itmMp.Slice()}})
|
||||
pairs = append(pairs, bson.M{"$set": bson.M{"key": dbKey,
|
||||
param: itmMp.Slice()}})
|
||||
}
|
||||
}
|
||||
if len(pairs) != 0 {
|
||||
|
||||
@@ -1485,7 +1485,9 @@ func (rs *RedisStorage) GetFilterReverseIndexesDrv(cacheID, itemIDPrefix string,
|
||||
}
|
||||
|
||||
//SetFilterReverseIndexesDrv stores ReverseIndexes into DataDB
|
||||
func (rs *RedisStorage) SetFilterReverseIndexesDrv(originKey string, revIdx map[string]utils.StringMap, commit bool, transactionID string) (err error) {
|
||||
func (rs *RedisStorage) SetFilterReverseIndexesDrv(cacheID, itemIDPrefix string,
|
||||
revIdx map[string]utils.StringMap, commit bool, transactionID string) (err error) {
|
||||
originKey := utils.CacheInstanceToPrefix[cacheID] + itemIDPrefix
|
||||
dbKey := originKey
|
||||
if transactionID != "" {
|
||||
dbKey = "tmp_" + utils.ConcatenatedKey(dbKey, transactionID)
|
||||
|
||||
Reference in New Issue
Block a user