mastodon/app/services
Akihiko Odaki 41eeb9ebaa
Use Status.group instead of Status.distinct in HashQueryService (#14662)
DISTINCT clause removes duplicated records according to all the selected
attributes. In reality, it can remove duplicated records only looking at
statuses.id, but the clause confuses the query planner and yields
insufficient performance.
The behavior is also problematic if the scope produced by HashQueryService
is used to query columns without id (using pluck method, for example). The
scope is expected to contain unique statuses, but the uniquness will be
evaluated with some arbitrary columns other than id.

GROUP BY clause resolves those problem by explicitly specifying the
column to take into account for the record distinction.

A workaround for the problem of DISTINCT clause in
Api::V1::Timelines::TagController is no longer necessary and removed.
2020-08-25 13:39:35 +02:00
..
activitypub Add customizable thumbnails for audio and video attachments (#14145) 2020-06-29 13:56:55 +02:00
concerns Fix activity not being signed (#13948) 2020-06-03 08:33:30 +02:00
keys Add E2EE API (#13820) 2020-06-02 19:24:53 +02:00
account_search_service.rb Fix following restriction not working when exact match in account search (#14394) 2020-07-26 23:58:36 +02:00
after_block_domain_from_account_service.rb Fix account domain block not properly unfollowing accounts from domain (#14304) 2020-07-13 19:33:10 +02:00
after_block_service.rb Change account domain block to clear out notifications and follows (#11393) 2019-07-25 04:17:35 +02:00
after_unallow_domain_service.rb Fix removing allowed domains being done synchronously (#14302) 2020-07-15 21:08:19 +02:00
app_sign_up_service.rb Add reason param to POST /api/v1/accounts REST API (#12064) 2019-10-03 17:50:59 +02:00
authorize_follow_service.rb Remove Salmon and PubSubHubbub (#11205) 2019-07-06 23:26:16 +02:00
backup_service.rb Add E2EE API (#13820) 2020-06-02 19:24:53 +02:00
base_service.rb Remove unused AtomBuilderHelper (#1364) 2017-04-11 19:31:22 +02:00
batched_remove_status_service.rb Fix not publishing update of remote timeline (#13745) 2020-05-12 15:24:35 +02:00
block_domain_service.rb Make domain block/silence/reject-media code more robust (#13424) 2020-06-09 10:32:00 +02:00
block_service.rb Fix BlockService trying to reject incorrect follow request (#11288) 2019-07-11 14:50:27 +02:00
bootstrap_timeline_service.rb Admin setting to disable default follows (#12566) 2019-12-16 23:55:50 +01:00
clear_domain_media_service.rb Make domain block/silence/reject-media code more robust (#13424) 2020-06-09 10:32:00 +02:00
deliver_to_device_service.rb Add E2EE API (#13820) 2020-06-02 19:24:53 +02:00
fan_out_on_write_service.rb Fix not publishing update of remote timeline (#13745) 2020-05-12 15:24:35 +02:00
favourite_service.rb Remove Salmon and PubSubHubbub (#11205) 2019-07-06 23:26:16 +02:00
fetch_link_card_service.rb Change User-Agent of link preview fetching service to include "Bot" (#14248) 2020-07-07 10:55:18 +02:00
fetch_oembed_service.rb Fix link crawler not specifying accepted content-type (#12646) 2019-12-18 16:56:06 +01:00
fetch_remote_status_service.rb Fix an error when ActivityPub::FetchRemoteStatusService url is called with nil (#12652) 2019-12-18 16:54:03 +01:00
fetch_resource_service.rb Fix not being able to resolve public resources in development environment (#13505) 2020-04-25 22:01:08 +02:00
follow_service.rb Add specific rate limits for posting and following (#13172) 2020-03-08 15:17:39 +01:00
hashtag_query_service.rb Use Status.group instead of Status.distinct in HashQueryService (#14662) 2020-08-25 13:39:35 +02:00
import_service.rb Fix performance of follow import (#13836) 2020-06-09 10:26:58 +02:00
move_service.rb Fix account migration not affecting followers on origin server (#11980) 2019-09-29 16:23:13 +02:00
mute_service.rb Add conversations API (#8832) 2018-10-07 23:44:58 +02:00
notify_service.rb Add follow_request notification type (#12198) 2019-12-01 17:25:29 +01:00
post_status_service.rb Fix media not being marked sensitive when client sets a CW but no text (#13277) 2020-03-25 22:40:58 +01:00
precompute_feed_service.rb Fix code style of regeneration-related code (#9843) 2019-01-18 01:02:51 +01:00
process_hashtags_service.rb Change hashtags to preserve first-used casing (#11416) 2019-07-28 05:59:51 +02:00
process_mentions_service.rb Fix duplicate notification and delivery of mentions (#14378) 2020-07-23 15:41:49 +02:00
reblog_service.rb Add E2EE API (#13820) 2020-06-02 19:24:53 +02:00
reject_follow_service.rb Remove Salmon and PubSubHubbub (#11205) 2019-07-06 23:26:16 +02:00
remove_status_service.rb Fix not publishing update of remote timeline (#13745) 2020-05-12 15:24:35 +02:00
report_service.rb Refactor all ActivityPub deliveries to be serialized and signed through one concern (#10966) 2019-06-04 23:11:18 +02:00
resolve_account_service.rb Fix performance of follow import (#13836) 2020-06-09 10:26:58 +02:00
resolve_url_service.rb Fix some timeouts when searching URLs by limiting some database queries (#13253) 2020-03-12 23:06:43 +01:00
search_service.rb Fix hashtag search performing account search as well (#13758) 2020-05-14 23:37:37 +02:00
suspend_account_service.rb Change deletes to preserve soft-deleted statuses in unresolved reports (#11805) 2019-09-11 16:32:44 +02:00
tag_search_service.rb Add exclude_unreviewed param to GET /api/v2/search REST API (#11977) 2019-09-28 01:02:21 +02:00
unallow_domain_service.rb Fix removing allowed domains being done synchronously (#14302) 2020-07-15 21:08:19 +02:00
unblock_domain_service.rb Add domain block notes (#11515) 2019-08-07 20:20:23 +02:00
unblock_service.rb Remove Salmon and PubSubHubbub (#11205) 2019-07-06 23:26:16 +02:00
unfavourite_service.rb Remove Salmon and PubSubHubbub (#11205) 2019-07-06 23:26:16 +02:00
unfollow_service.rb Fix Move handler queuing jobs that will fail if account is suspended (#11864) 2019-09-17 08:44:45 +02:00
unmute_service.rb Fix #231 - Muting 2017-03-02 18:49:32 +01:00
update_account_service.rb Fix movie width and frame_rate returning nil (#14357) 2020-07-19 22:28:27 +02:00
verify_link_service.rb Rescue SSL error in verify link service (#9914) 2019-01-24 15:38:18 +01:00
vote_service.rb Fix invalid votes from the API being accepted (#12601) 2020-01-12 14:17:03 +01:00