diff options
author | 2022-09-02 10:56:33 +0100 | |
---|---|---|
committer | 2022-09-02 11:56:33 +0200 | |
commit | 614ab12733b991dbea9d1f7fa311a98072558727 (patch) | |
tree | 41780382cb71413566c8c87ce1ce0184c504253b /internal/db | |
parent | [feature] Emojify spoiler and content in web templates (#785) (diff) | |
download | gotosocial-614ab12733b991dbea9d1f7fa311a98072558727.tar.xz |
[performance] use GetAccountByUsernameDomain() for local account lookups to rely on cache (#793)
Signed-off-by: kim <grufwub@gmail.com>
Signed-off-by: kim <grufwub@gmail.com>
Diffstat (limited to 'internal/db')
-rw-r--r-- | internal/db/account.go | 3 | ||||
-rw-r--r-- | internal/db/bundb/account.go | 17 |
2 files changed, 3 insertions, 17 deletions
diff --git a/internal/db/account.go b/internal/db/account.go index 155bd666c..54e24784f 100644 --- a/internal/db/account.go +++ b/internal/db/account.go @@ -42,9 +42,6 @@ type Account interface { // UpdateAccount updates one account by ID. UpdateAccount(ctx context.Context, account *gtsmodel.Account) (*gtsmodel.Account, Error) - // GetLocalAccountByUsername returns an account on this instance by its username. - GetLocalAccountByUsername(ctx context.Context, username string) (*gtsmodel.Account, Error) - // GetAccountFaves fetches faves/likes created by the target accountID. GetAccountFaves(ctx context.Context, accountID string) ([]*gtsmodel.StatusFave, Error) diff --git a/internal/db/bundb/account.go b/internal/db/bundb/account.go index f46143401..7bee375e3 100644 --- a/internal/db/bundb/account.go +++ b/internal/db/bundb/account.go @@ -91,11 +91,13 @@ func (a *accountDB) GetAccountByUsernameDomain(ctx context.Context, username str return a.cache.GetByUsernameDomain(username, domain) }, func(account *gtsmodel.Account) error { - q := a.newAccountQ(account).Where("account.username = ?", username) + q := a.newAccountQ(account) if domain != "" { + q = q.Where("account.username = ?", username) q = q.Where("account.domain = ?", domain) } else { + q = q.Where("account.username = ?", strings.ToLower(username)) q = q.Where("account.domain IS NULL") } @@ -217,19 +219,6 @@ func (a *accountDB) SetAccountHeaderOrAvatar(ctx context.Context, mediaAttachmen return nil } -func (a *accountDB) GetLocalAccountByUsername(ctx context.Context, username string) (*gtsmodel.Account, db.Error) { - account := new(gtsmodel.Account) - - q := a.newAccountQ(account). - Where("username = ?", strings.ToLower(username)). // usernames on our instance will always be lowercase - WhereGroup(" AND ", whereEmptyOrNull("domain")) - - if err := q.Scan(ctx); err != nil { - return nil, a.conn.ProcessError(err) - } - return account, nil -} - func (a *accountDB) GetAccountFaves(ctx context.Context, accountID string) ([]*gtsmodel.StatusFave, db.Error) { faves := new([]*gtsmodel.StatusFave) |