gotosocial/internal/db/bundb
kim 7ec1e1332e
[performance] overhaul struct (+ result) caching library for simplicity, performance and multiple-result lookups (#2535)
* rewrite cache library as codeberg.org/gruf/go-structr, implement in gotosocial

* use actual go-structr release version (not just commit hash)

* revert go toolchain changes (damn you go for auto changing this)

* fix go mod woes

* ensure %w is used in calls to errs.Appendf()

* fix error checking

* fix possible panic

* remove unnecessary start/stop functions, move to main Cache{} struct, add note regarding which caches require start/stop

* fix copy-paste artifact... 😇

* fix all comment copy-paste artifacts

* remove dropID() function, now we can just use slices.DeleteFunc()

* use util.Deduplicate() instead of collate(), move collate to util

* move orderByIDs() to util package and "generify"

* add a util.DeleteIf() function, use this to delete entries on failed population

* use slices.DeleteFunc() instead of util.DeleteIf() (i had the logic mixed up in my head somehow lol)

* add note about how collate differs from deduplicate
2024-01-19 12:57:29 +00:00
..
migrations [feature] Account alias / move API + db models (#2518) 2024-01-16 16:22:44 +00:00
account_test.go [bugfix] Ensure pre renders as expected, fix orderedCollectionPage (#2434) 2023-12-10 12:36:00 +01:00
account.go [performance] overhaul struct (+ result) caching library for simplicity, performance and multiple-result lookups (#2535) 2024-01-19 12:57:29 +00:00
admin_test.go [chore] Improve copyright header handling (#1608) 2023-03-12 16:00:57 +01:00
admin.go [feature] Store admin actions in the db, prevent conflicting actions (#2167) 2023-09-04 14:55:17 +01:00
application_test.go [performance] remove last of relational queries to instead rely on caches (#2091) 2023-08-10 15:08:41 +01:00
application.go [performance] overhaul struct (+ result) caching library for simplicity, performance and multiple-result lookups (#2535) 2024-01-19 12:57:29 +00:00
basic_test.go [feature] Account alias / move API + db models (#2518) 2024-01-16 16:22:44 +00:00
basic.go [feature] request blocking by http headers (#2409) 2023-12-18 14:18:25 +00:00
bundb_test.go [feature] add support for polls + receiving federated status edits (#2330) 2023-11-08 14:32:17 +00:00
bundb.go [performance] overhaul struct (+ result) caching library for simplicity, performance and multiple-result lookups (#2535) 2024-01-19 12:57:29 +00:00
bundbnew_test.go [chore] Improve copyright header handling (#1608) 2023-03-12 16:00:57 +01:00
db.go [bugfix] wrap bun.Tx to add our own error processing (#2169) 2023-08-31 11:46:15 +02:00
domain_test.go [bugfix] fix higher-level explicit domain rules causing issues with lower-level domain blocking (#2513) 2024-01-09 13:12:43 +00:00
domain.go [performance] overhaul struct (+ result) caching library for simplicity, performance and multiple-result lookups (#2535) 2024-01-19 12:57:29 +00:00
emoji_test.go [bugfix/chore] oauth entropy fix + media cleanup tasks rewrite (#1853) 2023-06-22 20:46:36 +01:00
emoji.go [performance] overhaul struct (+ result) caching library for simplicity, performance and multiple-result lookups (#2535) 2024-01-19 12:57:29 +00:00
errors_test.go [bugfix] Postgres error wrapping fix (#2276) 2023-10-18 12:17:26 +02:00
errors.go [bugfix] Postgres error wrapping fix (#2276) 2023-10-18 12:17:26 +02:00
headerfilter_test.go [feature] request blocking by http headers (#2409) 2023-12-18 14:18:25 +00:00
headerfilter.go [feature] request blocking by http headers (#2409) 2023-12-18 14:18:25 +00:00
hook.go [chore] Improve copyright header handling (#1608) 2023-03-12 16:00:57 +01:00
instance_test.go [bugfix] Ensure pre renders as expected, fix orderedCollectionPage (#2434) 2023-12-10 12:36:00 +01:00
instance.go [performance] overhaul struct (+ result) caching library for simplicity, performance and multiple-result lookups (#2535) 2024-01-19 12:57:29 +00:00
list_test.go [chore] update viper version (#2539) 2024-01-17 14:54:30 +00:00
list.go [performance] overhaul struct (+ result) caching library for simplicity, performance and multiple-result lookups (#2535) 2024-01-19 12:57:29 +00:00
marker.go [performance] overhaul struct (+ result) caching library for simplicity, performance and multiple-result lookups (#2535) 2024-01-19 12:57:29 +00:00
markers_test.go [feature] Implement markers API (#1989) 2023-07-29 12:49:14 +02:00
media_test.go [feature] Media attachment placeholders (#2331) 2023-11-10 19:29:26 +01:00
media.go [performance] overhaul struct (+ result) caching library for simplicity, performance and multiple-result lookups (#2535) 2024-01-19 12:57:29 +00:00
mention_test.go [chore] Improve copyright header handling (#1608) 2023-03-12 16:00:57 +01:00
mention.go [performance] overhaul struct (+ result) caching library for simplicity, performance and multiple-result lookups (#2535) 2024-01-19 12:57:29 +00:00
notification_test.go [chore] Use generic pointer function (#2080) 2023-08-07 18:38:11 +01:00
notification.go [performance] overhaul struct (+ result) caching library for simplicity, performance and multiple-result lookups (#2535) 2024-01-19 12:57:29 +00:00
poll_test.go [bugfix] use a much shorter refresh limit for statuses with polls (#2453) 2023-12-15 15:24:39 +01:00
poll.go [performance] overhaul struct (+ result) caching library for simplicity, performance and multiple-result lookups (#2535) 2024-01-19 12:57:29 +00:00
relationship_block.go [performance] overhaul struct (+ result) caching library for simplicity, performance and multiple-result lookups (#2535) 2024-01-19 12:57:29 +00:00
relationship_follow_req.go [performance] overhaul struct (+ result) caching library for simplicity, performance and multiple-result lookups (#2535) 2024-01-19 12:57:29 +00:00
relationship_follow.go [performance] overhaul struct (+ result) caching library for simplicity, performance and multiple-result lookups (#2535) 2024-01-19 12:57:29 +00:00
relationship_note.go [performance] overhaul struct (+ result) caching library for simplicity, performance and multiple-result lookups (#2535) 2024-01-19 12:57:29 +00:00
relationship_test.go [feature] add paging to account follows, followers and follow requests endpoints (#2186) 2023-09-12 14:00:35 +01:00
relationship.go [performance] overhaul struct (+ result) caching library for simplicity, performance and multiple-result lookups (#2535) 2024-01-19 12:57:29 +00:00
report_test.go [chore] Use generic pointer function (#2080) 2023-08-07 18:38:11 +01:00
report.go [performance] overhaul struct (+ result) caching library for simplicity, performance and multiple-result lookups (#2535) 2024-01-19 12:57:29 +00:00
rule_test.go [feature] Instance rules (#2125) 2023-08-19 14:33:15 +02:00
rule.go [performance] overhaul struct (+ result) caching library for simplicity, performance and multiple-result lookups (#2535) 2024-01-19 12:57:29 +00:00
search_test.go [bugfix] Better Postgres search case insensitivity (#2526) 2024-01-16 18:50:17 +01:00
search.go [bugfix] Better Postgres search case insensitivity (#2526) 2024-01-16 18:50:17 +01:00
session_test.go [chore] Improve copyright header handling (#1608) 2023-03-12 16:00:57 +01:00
session.go [bugfix] fix double firing bun.DB query hooks (#2124) 2023-08-17 17:26:21 +01:00
status_test.go [bugfix] Don't copy ptr fields in caches (#2386) 2023-11-27 15:39:44 +00:00
status.go [performance] overhaul struct (+ result) caching library for simplicity, performance and multiple-result lookups (#2535) 2024-01-19 12:57:29 +00:00
statusbookmark_test.go [chore/docs] Replace specific year range of copyright notice (#2520) 2024-01-13 16:33:53 +01:00
statusbookmark.go [bugfix] fix double firing bun.DB query hooks (#2124) 2023-08-17 17:26:21 +01:00
statusfave_test.go [chore/docs] Replace specific year range of copyright notice (#2520) 2024-01-13 16:33:53 +01:00
statusfave.go [performance] overhaul struct (+ result) caching library for simplicity, performance and multiple-result lookups (#2535) 2024-01-19 12:57:29 +00:00
tag_test.go [feature] Hashtag federation (in/out), hashtag client API endpoints (#2032) 2023-07-31 15:47:35 +02:00
tag.go [performance] overhaul struct (+ result) caching library for simplicity, performance and multiple-result lookups (#2535) 2024-01-19 12:57:29 +00:00
thread_test.go [feature] Status thread mute/unmute functionality (#2278) 2023-10-25 15:04:53 +01:00
thread.go [performance] overhaul struct (+ result) caching library for simplicity, performance and multiple-result lookups (#2535) 2024-01-19 12:57:29 +00:00
timeline_test.go [bugfix] Ensure pre renders as expected, fix orderedCollectionPage (#2434) 2023-12-10 12:36:00 +01:00
timeline.go [performance] overhaul struct (+ result) caching library for simplicity, performance and multiple-result lookups (#2535) 2024-01-19 12:57:29 +00:00
tombstone.go [performance] overhaul struct (+ result) caching library for simplicity, performance and multiple-result lookups (#2535) 2024-01-19 12:57:29 +00:00
user_test.go [feature] Add list command to admin account (#1648) 2023-03-27 16:02:26 +02:00
user.go [performance] overhaul struct (+ result) caching library for simplicity, performance and multiple-result lookups (#2535) 2024-01-19 12:57:29 +00:00
util.go [bugfix] Better Postgres search case insensitivity (#2526) 2024-01-16 18:50:17 +01:00