Plugin for assigning users to a topic
Go to file
Alan Guo Xiang Tan 6d6184d31d
PERF: Speed up `User.assign_allowed` SQL query (#342)
The previous query which uses a subquery in combination with the OR
condition results in the PG planner unable to leverage the indexes we
have available. Instead, the PG planner would loop through each user
record and execute the subquery once per row. As the number of users on
a site increases, this query becomes more and more expensive to run
leading to the query timing out once a certain threshold is reached.

In the new query, we remove the OR condition which allows the PG
planner to the existing indexes more effectively. We also improved the
subquery by removing an unnecessary join against the groups table.
Since `group_users` rows are cleaned up when a group is destroyed so there is
no need for the inner join on the `groups` table.
2022-05-30 14:26:20 +08:00
.github/workflows DEV: Update CI workflows (#340) 2022-05-23 16:59:03 +02:00
app FEATURE: Add assign note (#326) 2022-05-05 13:21:14 +08:00
assets FEATURE: Register assigned link under sidebar topics section. (#341) 2022-05-26 09:13:40 +08:00
config FEATURE: Register assigned link under sidebar topics section. (#341) 2022-05-26 09:13:40 +08:00
db FEATURE: Add assign note (#326) 2022-05-05 13:21:14 +08:00
jobs DEV: Small refactors for future work (#332) 2022-05-11 14:03:54 +08:00
lib FEATURE: Shows note in moderator post (#335) 2022-05-12 23:55:57 +08:00
spec FEATURE: Promote polymorphic bookmarks (#339) 2022-05-24 11:22:40 +10:00
svg-icons FIX: correct group icons and notification message (#193) 2021-08-31 08:17:43 +10:00
test/javascripts FEATURE: Register assigned link under sidebar topics section. (#341) 2022-05-26 09:13:40 +08:00
.discourse-compatibility DEV: Update discourse compatibility for polymorphic bookmarks (#336) 2022-05-12 14:36:21 -07:00
.eslintrc DEV: apply coding standards (#109) 2020-09-04 13:24:23 +02:00
.gitignore DEV: Move to rubocop-discourse. 2020-05-06 17:48:30 +02:00
.prettierrc DEV: Post-release cleanup (#163) 2021-06-28 17:37:27 +02:00
.rubocop.yml DEV: Move to rubocop-discourse. 2020-05-06 17:48:30 +02:00
.template-lintrc.js DEV: Apply prettier 2020-09-09 18:41:42 +01:00
Gemfile DEV: Add RubyGems as source 2020-09-25 11:32:55 -05:00
Gemfile.lock Build(deps): Bump rexml from 3.2.4 to 3.2.5 (#155) 2021-05-02 17:09:19 +02:00
README.md DEV: Update README.md (#294) 2022-02-21 21:05:57 +01:00
package.json DEV: prettier 2.2.1 (#136) 2021-01-27 10:45:35 +01:00
plugin.rb PERF: Speed up `User.assign_allowed` SQL query (#342) 2022-05-30 14:26:20 +08:00
translator.yml DEV: Switch from Transifex to Crowdin 2020-07-16 14:00:20 +02:00
yarn.lock Build(deps): Bump async from 2.6.3 to 2.6.4 (#323) 2022-04-29 18:02:12 +02:00

README.md

Assign Plugin

Allows you to assign topics and individual posts (both private and public) to a user or group.

For more information, please see: https://meta.discourse.org/t/discourse-assign/58044