diff options
author | 2023-03-03 23:02:23 +0000 | |
---|---|---|
committer | 2023-03-03 23:02:23 +0000 | |
commit | a8e6bdfa33f3232ebc8f241b9c90e4da9191a627 (patch) | |
tree | 087eca372fb13093f39837683682ca9e11b96188 /internal/db/media.go | |
parent | [bugfix] Federate status delete using just the URI (#1584) (diff) | |
download | gotosocial-a8e6bdfa33f3232ebc8f241b9c90e4da9191a627.tar.xz |
[performance] cache media attachments (#1525)
* replace concurrency worker pools with base models in State.Workers, update code and tests accordingly
* add media attachment caching, slightly tweak default cache config
* further tweak default cache config values
* replace other media attachment db calls to go through cache
* update envparsing test
* fix delete media attachment sql
* fix media sql query
* invalidate cached media entries during status create / update
* fix envparsing test
* fix typo in panic log message...
* add 'updated_at' column during UpdateAttachment
* remove unused func
---------
Signed-off-by: kim <grufwub@gmail.com>
Diffstat (limited to 'internal/db/media.go')
-rw-r--r-- | internal/db/media.go | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/internal/db/media.go b/internal/db/media.go index 3756bd58f..131d0ab08 100644 --- a/internal/db/media.go +++ b/internal/db/media.go @@ -27,9 +27,18 @@ import ( // Media contains functions related to creating/getting/removing media attachments. type Media interface { - // GetAttachmentByID gets a single attachment by its ID + // GetAttachmentByID gets a single attachment by its ID. GetAttachmentByID(ctx context.Context, id string) (*gtsmodel.MediaAttachment, Error) + // PutAttachment inserts the given attachment into the database. + PutAttachment(ctx context.Context, media *gtsmodel.MediaAttachment) error + + // UpdateAttachment will update the given attachment in the database. + UpdateAttachment(ctx context.Context, media *gtsmodel.MediaAttachment, columns ...string) error + + // DeleteAttachment deletes the attachment with given ID from the database. + DeleteAttachment(ctx context.Context, id string) error + // GetRemoteOlderThan gets limit n remote media attachments (including avatars and headers) older than the given // olderThan time. These will be returned in order of attachment.created_at descending (newest to oldest in other words). // |