summaryrefslogtreecommitdiff
path: root/internal/processing
diff options
context:
space:
mode:
authorLibravatar kim <89579420+NyaaaWhatsUpDoc@users.noreply.github.com>2021-09-01 10:08:21 +0100
committerLibravatar GitHub <noreply@github.com>2021-09-01 11:08:21 +0200
commit7d193de25fbccc00923d6d791d6d4e0d2d5d498e (patch)
treeda993d91aeaccc07c2fff461067325fbe89bba73 /internal/processing
parentAdd SQLite support, fix un-thread-safe DB caches, small performance f… (#172) (diff)
downloadgotosocial-7d193de25fbccc00923d6d791d6d4e0d2d5d498e.tar.xz
Improve GetRemoteStatus and db.GetStatus() logic (#174)
* only fetch status parents / children if explicity requested when dereferencing Signed-off-by: kim (grufwub) <grufwub@gmail.com> * Remove recursive DB GetStatus logic, don't fetch parent unless requested Signed-off-by: kim (grufwub) <grufwub@gmail.com> * StatusCache copies status so there are no thread-safety issues with modified status objects Signed-off-by: kim (grufwub) <grufwub@gmail.com> * remove sqlite test files Signed-off-by: kim (grufwub) <grufwub@gmail.com> * fix bugs introduced by previous commit Signed-off-by: kim (grufwub) <grufwub@gmail.com> * fix not continue on error in loop Signed-off-by: kim (grufwub) <grufwub@gmail.com> * use our own RunInTx implementation (possible fix for nested tx error) Signed-off-by: kim (grufwub) <grufwub@gmail.com> * fix cast statement to work with SQLite Signed-off-by: kim (grufwub) <grufwub@gmail.com> * be less strict about valid status in cache Signed-off-by: kim (grufwub) <grufwub@gmail.com> * add cache=shared ALWAYS for SQLite db instances Signed-off-by: kim (grufwub) <grufwub@gmail.com> * Fix EnrichRemoteAccount when updating account fails Signed-off-by: kim (grufwub) <grufwub@gmail.com> * add nolint tag Signed-off-by: kim (grufwub) <grufwub@gmail.com> * ensure file: prefixes the filename in sqlite addr Signed-off-by: kim (grufwub) <grufwub@gmail.com> * add an account cache, add status author account from db Signed-off-by: kim (grufwub) <grufwub@gmail.com> * Fix incompatible SQLite query Signed-off-by: kim (grufwub) <grufwub@gmail.com> * *actually* use the new getAccount() function in accountsDB Signed-off-by: kim (grufwub) <grufwub@gmail.com> * update cache tests to use test suite Signed-off-by: kim (grufwub) <grufwub@gmail.com> * add RelationshipTestSuite, add tests for methods with changed SQL Signed-off-by: kim (grufwub) <grufwub@gmail.com>
Diffstat (limited to 'internal/processing')
-rw-r--r--internal/processing/fromfederator.go2
-rw-r--r--internal/processing/search.go2
-rw-r--r--internal/processing/status/sqlite-test.dbbin311296 -> 0 bytes
3 files changed, 2 insertions, 2 deletions
diff --git a/internal/processing/fromfederator.go b/internal/processing/fromfederator.go
index 2bb74db34..cb0999cf9 100644
--- a/internal/processing/fromfederator.go
+++ b/internal/processing/fromfederator.go
@@ -49,7 +49,7 @@ func (p *processor) processFromFederator(ctx context.Context, federatorMsg gtsmo
return errors.New("note was not parseable as *gtsmodel.Status")
}
- status, err := p.federator.EnrichRemoteStatus(ctx, federatorMsg.ReceivingAccount.Username, incomingStatus)
+ status, err := p.federator.EnrichRemoteStatus(ctx, federatorMsg.ReceivingAccount.Username, incomingStatus, false, false)
if err != nil {
return err
}
diff --git a/internal/processing/search.go b/internal/processing/search.go
index 768fceacd..85da0d83f 100644
--- a/internal/processing/search.go
+++ b/internal/processing/search.go
@@ -130,7 +130,7 @@ func (p *processor) searchStatusByURI(ctx context.Context, authed *oauth.Auth, u
// we don't have it locally so dereference it if we're allowed to
if resolve {
- status, _, _, err := p.federator.GetRemoteStatus(ctx, authed.Account.Username, uri, true)
+ status, _, _, err := p.federator.GetRemoteStatus(ctx, authed.Account.Username, uri, true, false, false)
if err == nil {
if err := p.federator.DereferenceRemoteThread(ctx, authed.Account.Username, uri); err != nil {
// try to deref the thread while we're here
diff --git a/internal/processing/status/sqlite-test.db b/internal/processing/status/sqlite-test.db
deleted file mode 100644
index d266d6b1d..000000000
--- a/internal/processing/status/sqlite-test.db
+++ /dev/null
Binary files differ