diff options
| author | 2024-09-02 14:00:17 +0200 | |
|---|---|---|
| committer | 2024-09-02 14:00:17 +0200 | |
| commit | 25a815a8a438b19a5eafe4243093803129d4c49a (patch) | |
| tree | d0515324b196927c69ff69c2bb4db66ac0e270ac /internal/db/bundb/list.go | |
| parent | [chore]: Bump github.com/minio/minio-go/v7 from 7.0.75 to 7.0.76 (#3262) (diff) | |
| download | gotosocial-25a815a8a438b19a5eafe4243093803129d4c49a.tar.xz | |
[chore/performance] Avoid unnecessary "uncached" queries (#3265)
* [chore/performance] Avoid unnecessary "uncached" queries
* go fmt
Diffstat (limited to 'internal/db/bundb/list.go')
| -rw-r--r-- | internal/db/bundb/list.go | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/internal/db/bundb/list.go b/internal/db/bundb/list.go index 937257ef0..0ed0f1b15 100644 --- a/internal/db/bundb/list.go +++ b/internal/db/bundb/list.go @@ -353,8 +353,15 @@ func (l *listDB) GetListsByIDs(ctx context.Context, ids []string) ([]*gtsmodel.L lists, err := l.state.Caches.DB.List.LoadIDs("ID", ids, func(uncached []string) ([]*gtsmodel.List, error) { + // Avoid querying + // if none uncached. + count := len(uncached) + if count == 0 { + return nil, nil + } + // Preallocate expected length of uncached lists. - lists := make([]*gtsmodel.List, 0, len(uncached)) + lists := make([]*gtsmodel.List, 0, count) // Perform database query scanning // the remaining (uncached) IDs. @@ -400,8 +407,15 @@ func (l *listDB) GetListEntriesByIDs(ctx context.Context, ids []string) ([]*gtsm entries, err := l.state.Caches.DB.ListEntry.LoadIDs("ID", ids, func(uncached []string) ([]*gtsmodel.ListEntry, error) { + // Avoid querying + // if none uncached. + count := len(uncached) + if count == 0 { + return nil, nil + } + // Preallocate expected length of uncached entries. - entries := make([]*gtsmodel.ListEntry, 0, len(uncached)) + entries := make([]*gtsmodel.ListEntry, 0, count) // Perform database query scanning // the remaining (uncached) IDs. |
