summaryrefslogtreecommitdiff
path: root/internal/cache/timeline/status.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/cache/timeline/status.go')
-rw-r--r--internal/cache/timeline/status.go37
1 files changed, 13 insertions, 24 deletions
diff --git a/internal/cache/timeline/status.go b/internal/cache/timeline/status.go
index 59c339c91..6fe16c4a9 100644
--- a/internal/cache/timeline/status.go
+++ b/internal/cache/timeline/status.go
@@ -586,6 +586,9 @@ func (t *StatusTimeline) InsertOne(status *gtsmodel.Status, prepared *apimodel.S
// status ID, including those that may be a boost of the given status.
func (t *StatusTimeline) RemoveByStatusIDs(statusIDs ...string) {
keys := make([]structr.Key, len(statusIDs))
+ if len(keys) != len(statusIDs) {
+ panic(gtserror.New("BCE"))
+ }
// Nil check indices outside loops.
if t.idx_ID == nil ||
@@ -595,17 +598,12 @@ func (t *StatusTimeline) RemoveByStatusIDs(statusIDs ...string) {
// Convert statusIDs to index keys.
for i, id := range statusIDs {
- keys[i] = t.idx_ID.Key(id)
+ keys[i] = structr.MakeKey(id)
}
// Invalidate all cached entries with IDs.
t.cache.Invalidate(t.idx_ID, keys...)
- // Convert statusIDs to index keys.
- for i, id := range statusIDs {
- keys[i] = t.idx_BoostOfID.Key(id)
- }
-
// Invalidate all cached entries as boost of IDs.
t.cache.Invalidate(t.idx_BoostOfID, keys...)
}
@@ -614,6 +612,9 @@ func (t *StatusTimeline) RemoveByStatusIDs(statusIDs ...string) {
// account ID, including those that may be boosted by account ID.
func (t *StatusTimeline) RemoveByAccountIDs(accountIDs ...string) {
keys := make([]structr.Key, len(accountIDs))
+ if len(keys) != len(accountIDs) {
+ panic(gtserror.New("BCE"))
+ }
// Nil check indices outside loops.
if t.idx_AccountID == nil ||
@@ -623,17 +624,12 @@ func (t *StatusTimeline) RemoveByAccountIDs(accountIDs ...string) {
// Convert accountIDs to index keys.
for i, id := range accountIDs {
- keys[i] = t.idx_AccountID.Key(id)
+ keys[i] = structr.MakeKey(id)
}
// Invalidate all cached entries as by IDs.
t.cache.Invalidate(t.idx_AccountID, keys...)
- // Convert accountIDs to index keys.
- for i, id := range accountIDs {
- keys[i] = t.idx_BoostOfAccountID.Key(id)
- }
-
// Invalidate all cached entries as boosted by IDs.
t.cache.Invalidate(t.idx_BoostOfAccountID, keys...)
}
@@ -642,6 +638,9 @@ func (t *StatusTimeline) RemoveByAccountIDs(accountIDs ...string) {
// timeline entries pertaining to status ID, including boosts of given status.
func (t *StatusTimeline) UnprepareByStatusIDs(statusIDs ...string) {
keys := make([]structr.Key, len(statusIDs))
+ if len(keys) != len(statusIDs) {
+ panic(gtserror.New("BCE"))
+ }
// Nil check indices outside loops.
if t.idx_ID == nil ||
@@ -651,7 +650,7 @@ func (t *StatusTimeline) UnprepareByStatusIDs(statusIDs ...string) {
// Convert statusIDs to index keys.
for i, id := range statusIDs {
- keys[i] = t.idx_ID.Key(id)
+ keys[i] = structr.MakeKey(id)
}
// Unprepare all statuses stored under StatusMeta.ID.
@@ -659,11 +658,6 @@ func (t *StatusTimeline) UnprepareByStatusIDs(statusIDs ...string) {
meta.prepared = nil
}
- // Convert statusIDs to index keys.
- for i, id := range statusIDs {
- keys[i] = t.idx_BoostOfID.Key(id)
- }
-
// Unprepare all statuses stored under StatusMeta.BoostOfID.
for meta := range t.cache.RangeKeysUnsafe(t.idx_BoostOfID, keys...) {
meta.prepared = nil
@@ -683,7 +677,7 @@ func (t *StatusTimeline) UnprepareByAccountIDs(accountIDs ...string) {
// Convert accountIDs to index keys.
for i, id := range accountIDs {
- keys[i] = t.idx_AccountID.Key(id)
+ keys[i] = structr.MakeKey(id)
}
// Unprepare all statuses stored under StatusMeta.AccountID.
@@ -691,11 +685,6 @@ func (t *StatusTimeline) UnprepareByAccountIDs(accountIDs ...string) {
meta.prepared = nil
}
- // Convert accountIDs to index keys.
- for i, id := range accountIDs {
- keys[i] = t.idx_BoostOfAccountID.Key(id)
- }
-
// Unprepare all statuses stored under StatusMeta.BoostOfAccountID.
for meta := range t.cache.RangeKeysUnsafe(t.idx_BoostOfAccountID, keys...) {
meta.prepared = nil