mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-20 06:38:45 +05:00
DataManager RemoveReverseIndexes using cacheID and itemIDPrefix
This commit is contained in:
@@ -439,9 +439,20 @@ func (self *ApierV1) computeThresholdIndexes(tenant string, thIDs *[]string, tra
|
||||
}
|
||||
}
|
||||
}
|
||||
<<<<<<< HEAD
|
||||
if transactionID == utils.NonTransactional {
|
||||
if err := thdsIndexers.StoreIndexes(true, transactionID); err != nil {
|
||||
return nil, err
|
||||
=======
|
||||
if thIDs == nil {
|
||||
if err := self.DataManager.RemoveFilterIndexes(utils.PrefixToIndexCache[utils.ThresholdProfilePrefix],
|
||||
tenant); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := self.DataManager.RemoveFilterReverseIndexes(utils.PrefixToIndexCache[utils.ThresholdProfilePrefix],
|
||||
tenant); err != nil {
|
||||
return err
|
||||
>>>>>>> DataManager RemoveReverseIndexes using cacheID and itemIDPrefix
|
||||
}
|
||||
return nil, nil
|
||||
} else {
|
||||
@@ -514,9 +525,20 @@ func (self *ApierV1) computeAttributeIndexes(tenant string, attrIDs *[]string, t
|
||||
}
|
||||
}
|
||||
}
|
||||
<<<<<<< HEAD
|
||||
if transactionID == utils.NonTransactional {
|
||||
if err := attrIndexers.StoreIndexes(true, transactionID); err != nil {
|
||||
return nil, err
|
||||
=======
|
||||
if attrIDs == nil {
|
||||
if err := self.DataManager.RemoveFilterIndexes(utils.PrefixToIndexCache[utils.AttributeProfilePrefix],
|
||||
tenant); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := self.DataManager.RemoveFilterReverseIndexes(utils.PrefixToIndexCache[utils.AttributeProfilePrefix],
|
||||
tenant); err != nil {
|
||||
return err
|
||||
>>>>>>> DataManager RemoveReverseIndexes using cacheID and itemIDPrefix
|
||||
}
|
||||
return nil, nil
|
||||
} else {
|
||||
@@ -589,9 +611,20 @@ func (self *ApierV1) computeResourceIndexes(tenant string, rsIDs *[]string, tran
|
||||
}
|
||||
}
|
||||
}
|
||||
<<<<<<< HEAD
|
||||
if transactionID == utils.NonTransactional {
|
||||
if err := rpIndexers.StoreIndexes(true, transactionID); err != nil {
|
||||
return nil, err
|
||||
=======
|
||||
if rsIDs == nil {
|
||||
if err := self.DataManager.RemoveFilterIndexes(utils.PrefixToIndexCache[utils.ResourceProfilesPrefix],
|
||||
tenant); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := self.DataManager.RemoveFilterReverseIndexes(utils.PrefixToIndexCache[utils.ResourceProfilesPrefix],
|
||||
tenant); err != nil {
|
||||
return err
|
||||
>>>>>>> DataManager RemoveReverseIndexes using cacheID and itemIDPrefix
|
||||
}
|
||||
return nil, nil
|
||||
} else {
|
||||
@@ -664,9 +697,20 @@ func (self *ApierV1) computeStatIndexes(tenant string, stIDs *[]string, transact
|
||||
}
|
||||
}
|
||||
}
|
||||
<<<<<<< HEAD
|
||||
if transactionID == utils.NonTransactional {
|
||||
if err := sqpIndexers.StoreIndexes(true, transactionID); err != nil {
|
||||
return nil, err
|
||||
=======
|
||||
if stIDs == nil {
|
||||
if err := self.DataManager.RemoveFilterIndexes(utils.PrefixToIndexCache[utils.StatQueueProfilePrefix],
|
||||
tenant); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := self.DataManager.RemoveFilterReverseIndexes(utils.PrefixToIndexCache[utils.StatQueueProfilePrefix],
|
||||
tenant); err != nil {
|
||||
return err
|
||||
>>>>>>> DataManager RemoveReverseIndexes using cacheID and itemIDPrefix
|
||||
}
|
||||
return nil, nil
|
||||
} else {
|
||||
@@ -739,6 +783,7 @@ func (self *ApierV1) computeSupplierIndexes(tenant string, sppIDs *[]string, tra
|
||||
}
|
||||
}
|
||||
}
|
||||
<<<<<<< HEAD
|
||||
if transactionID == utils.NonTransactional {
|
||||
if err := sppIndexers.StoreIndexes(true, transactionID); err != nil {
|
||||
return nil, err
|
||||
|
||||
@@ -1133,8 +1133,8 @@ func (dm *DataManager) SetFilterReverseIndexes(cacheID, itemIDPrefix string,
|
||||
itemIDPrefix, indexes, commit, transactionID)
|
||||
}
|
||||
|
||||
func (dm *DataManager) RemoveFilterReverseIndexes(dbKey string) (err error) {
|
||||
return dm.DataDB().RemoveFilterReverseIndexesDrv(dbKey)
|
||||
func (dm *DataManager) RemoveFilterReverseIndexes(cacheID, itemIDPrefix string) (err error) {
|
||||
return dm.DataDB().RemoveFilterReverseIndexesDrv(cacheID, itemIDPrefix)
|
||||
}
|
||||
|
||||
func (dm *DataManager) MatchFilterIndex(cacheID, itemIDPrefix,
|
||||
|
||||
@@ -207,29 +207,3 @@ func (rfi *FilterIndexer) RemoveItemFromIndex(itemID string) (err error) {
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
//GetDBIndexKey return the dbKey for an specific item
|
||||
func GetDBIndexKey(itemType, dbKeySuffix string, reverse bool) (dbKey string) {
|
||||
var idxPrefix, rIdxPrefix string
|
||||
switch itemType {
|
||||
case utils.ThresholdProfilePrefix:
|
||||
idxPrefix = utils.ThresholdFilterIndexes
|
||||
rIdxPrefix = utils.ThresholdFilterRevIndexes
|
||||
case utils.ResourceProfilesPrefix:
|
||||
idxPrefix = utils.ResourceFilterIndexes
|
||||
rIdxPrefix = utils.ResourceFilterRevIndexes
|
||||
case utils.StatQueueProfilePrefix:
|
||||
idxPrefix = utils.StatFilterIndexes
|
||||
rIdxPrefix = utils.StatFilterRevIndexes
|
||||
case utils.SupplierProfilePrefix:
|
||||
idxPrefix = utils.SupplierFilterIndexes
|
||||
rIdxPrefix = utils.SupplierFilterRevIndexes
|
||||
case utils.AttributeProfilePrefix:
|
||||
idxPrefix = utils.AttributeFilterIndexes
|
||||
rIdxPrefix = utils.AttributeFilterRevIndexes
|
||||
}
|
||||
if reverse {
|
||||
return rIdxPrefix + dbKeySuffix
|
||||
}
|
||||
return idxPrefix + dbKeySuffix
|
||||
}
|
||||
|
||||
@@ -127,7 +127,7 @@ type DataDB interface {
|
||||
fldNameVal map[string]string) (indexes map[string]utils.StringMap, err error)
|
||||
SetFilterReverseIndexesDrv(cacheID, itemIDPrefix string, indexes map[string]utils.StringMap,
|
||||
commit bool, transactionID string) (err error)
|
||||
RemoveFilterReverseIndexesDrv(dbKey string) (err error)
|
||||
RemoveFilterReverseIndexesDrv(cacheID, itemIDPrefix string) (err error)
|
||||
MatchFilterIndexDrv(cacheID, itemIDPrefix,
|
||||
filterType, fieldName, fieldVal string) (itemIDs utils.StringMap, err error)
|
||||
GetStatQueueProfileDrv(tenant string, ID string) (sq *StatQueueProfile, err error)
|
||||
|
||||
@@ -1376,10 +1376,10 @@ func (ms *MapStorage) SetFilterReverseIndexesDrv(cacheID, itemIDPrefix string,
|
||||
}
|
||||
|
||||
//RemoveFilterReverseIndexesDrv removes ReverseIndexes for a specific itemID
|
||||
func (ms *MapStorage) RemoveFilterReverseIndexesDrv(dbKey string) (err error) {
|
||||
func (ms *MapStorage) RemoveFilterReverseIndexesDrv(cacheID, itemIDPrefix string) (err error) {
|
||||
ms.mu.Lock()
|
||||
defer ms.mu.Unlock()
|
||||
delete(ms.dict, dbKey)
|
||||
delete(ms.dict, utils.CacheInstanceToPrefix[cacheID]+itemIDPrefix)
|
||||
return
|
||||
}
|
||||
|
||||
|
||||
@@ -2130,10 +2130,10 @@ func (ms *MongoStorage) SetFilterReverseIndexesDrv(cacheID, itemIDPrefix string,
|
||||
}
|
||||
|
||||
//RemoveFilterReverseIndexesDrv removes ReverseIndexes for a specific itemID
|
||||
func (ms *MongoStorage) RemoveFilterReverseIndexesDrv(dbKey string) (err error) {
|
||||
func (ms *MongoStorage) RemoveFilterReverseIndexesDrv(cacheID, itemIDPrefix string) (err error) {
|
||||
session, col := ms.conn(colRFI)
|
||||
defer session.Close()
|
||||
err = col.Remove(bson.M{"key": dbKey})
|
||||
err = col.Remove(bson.M{"key": utils.CacheInstanceToPrefix[cacheID] + itemIDPrefix})
|
||||
//redis compatibility
|
||||
if err == mgo.ErrNotFound {
|
||||
err = nil
|
||||
|
||||
@@ -1521,8 +1521,9 @@ func (rs *RedisStorage) SetFilterReverseIndexesDrv(cacheID, itemIDPrefix string,
|
||||
}
|
||||
|
||||
//RemoveFilterReverseIndexesDrv removes ReverseIndexes for a specific itemID
|
||||
func (rs *RedisStorage) RemoveFilterReverseIndexesDrv(dbKey string) (err error) {
|
||||
return rs.Cmd("DEL", dbKey).Err
|
||||
func (rs *RedisStorage) RemoveFilterReverseIndexesDrv(cacheID,
|
||||
itemIDPrefix string) (err error) {
|
||||
return rs.Cmd("DEL", utils.CacheInstanceToPrefix[cacheID]+itemIDPrefix).Err
|
||||
}
|
||||
|
||||
func (rs *RedisStorage) MatchFilterIndexDrv(cacheID, itemIDPrefix,
|
||||
|
||||
Reference in New Issue
Block a user