discourse/app/models
Guo Xiang Tan 1f636c445b PERF: Add fast path to find uploads before resorting to `LIKE` query.
For a normal upload url

Before

```
Warming up --------------------------------------
                       264.000  i/100ms
Calculating -------------------------------------
                          2.754k (± 8.4%) i/s -     13.728k in   5.022066s
```

After

```
Warming up --------------------------------------
                       341.000  i/100ms
Calculating -------------------------------------
                          3.435k (±11.6%) i/s -     17.050k in   5.045676s
```
2018-09-06 14:44:24 +08:00
..
concerns FEATURE: shows remaining backup codes in user preferences 2018-07-04 10:45:42 +02:00
about.rb Add rubocop to our build. (#5004) 2017-07-28 10:20:09 +09:00
admin_dashboard_data.rb FEATURE: display out of date themes on admin dashboard 2018-08-03 09:53:48 +10:00
admin_dashboard_next_data.rb FIX: makes dashboard more resilient to errors (#6217) 2018-07-31 21:23:28 -04:00
admin_dashboard_next_general_data.rb FIX: improves reports resilience (#6239) 2018-08-06 16:57:40 -04:00
admin_dashboard_next_index_data.rb UI: improves dashboard table reports 2018-07-31 17:35:13 -04:00
api_key.rb Fix all the errors to get our tests green on Rails 5.1. 2017-09-25 13:48:58 +08:00
application_request.rb FEATURE: control which web crawlers can access using a whitelist or blacklist 2018-03-22 15:41:02 -04:00
auto_track_duration_site_setting.rb fix the build 2015-09-14 10:48:24 +02:00
backup.rb FIX: refreshes disk_space on backup create/destroy (#6169) 2018-07-25 08:26:30 -04:00
badge.rb DEV: remove exec_sql and replace with mini_sql 2018-06-19 16:13:36 +10:00
badge_grouping.rb Update annotations. 2018-02-20 14:28:58 +08:00
badge_type.rb Update annotations. 2018-02-20 14:28:58 +08:00
category.rb Replacing default brown category color 2018-08-24 14:18:14 -04:00
category_and_topic_lists.rb FEATURE: new 'categories_and_latest' endpoint 2016-08-29 22:47:44 +02:00
category_custom_field.rb FIX: remove nullable dates post upgrade to Rails 4 2014-08-27 15:19:25 +10:00
category_featured_topic.rb refinement and test for batch mode on feature_topics 2017-12-20 13:58:05 +11:00
category_group.rb FEATURE: move staff tags setting to tag group settings 2018-04-20 15:34:23 -04:00
category_list.rb Make rubocop happy again. 2018-06-07 13:28:18 +08:00
category_page_style.rb FEATURE: New "Categories and Top" homepage style 2018-03-03 14:26:57 -05:00
category_search_data.rb Update annotations. 2018-07-16 14:19:07 +08:00
category_tag.rb Update annotations. 2018-02-20 14:28:58 +08:00
category_tag_group.rb Update annotations. 2018-02-20 14:28:58 +08:00
category_tag_stat.rb Update annotations. 2018-07-16 14:19:07 +08:00
category_user.rb DEV: remove all calls to SqlBuilder use DB.build instead 2018-06-20 17:53:49 +10:00
child_theme.rb FEATURE: themes and components split 2018-08-24 11:30:00 +10:00
color_scheme.rb updating color scheme attribution 2018-08-08 16:01:21 -04:00
color_scheme_color.rb Update annotations. 2018-02-20 14:28:58 +08:00
custom_emoji.rb Update annotations. 2017-03-22 14:26:53 +08:00
developer.rb missing annotation 2016-08-15 17:59:36 +10:00
digest_email_site_setting.rb FEATURE: More digest email frequency options. Digests can be sent as often as every 30 minutes. 2016-03-02 15:43:47 -05:00
directory_item.rb DEV: remove exec_sql and replace with mini_sql 2018-06-19 16:13:36 +10:00
discourse_single_sign_on.rb FEATURE: allow specifying locale via SSO 2018-08-30 09:58:03 +10:00
discourse_version_check.rb REFACTOR: Avoid duplicated logic on server and client. 2017-11-21 17:10:04 +08:00
draft.rb Improvements to user drafts (#6226) 2018-08-02 07:41:27 +10:00
draft_sequence.rb DEV: remove exec_sql and replace with mini_sql 2018-06-19 16:13:36 +10:00
email_change_request.rb FIX: Don't allow invalid email to be saved. 2016-12-21 17:47:11 +08:00
email_log.rb Drop `reply_key`, `skipped` and `skipped_reason` from `email_logs`. 2018-07-30 11:39:28 +08:00
email_token.rb Review Changes for f4f8a293e7. 2018-02-21 14:55:49 +08:00
embeddable_host.rb FIX: store the topic links using the cooked upload url 2018-08-14 12:23:32 +02:00
embedding.rb Add rubocop to our build. (#5004) 2017-07-28 10:20:09 +09:00
emoji.rb FEATURE: emoji 11.0 "recently added" update (#6275) 2018-08-16 11:59:45 +02:00
emoji_set_site_setting.rb DEV: remove exec_sql and replace with mini_sql 2018-06-19 16:13:36 +10:00
facebook_user_info.rb Update annotations. 2018-07-16 14:19:07 +08:00
github_user_info.rb Update annotations. 2018-02-20 14:28:58 +08:00
given_daily_like.rb Add rubocop to our build. (#5004) 2017-07-28 10:20:09 +09:00
global_setting.rb rollback changes 2018-07-06 17:16:40 -05:00
google_user_info.rb Update annotations. 2018-02-20 14:28:58 +08:00
group.rb FIX: refreshing auto groups when min_username_length is long 2018-08-15 16:59:56 +10:00
group_archived_message.rb Make rubocop happy again. 2018-06-07 13:28:18 +08:00
group_custom_field.rb FIX: remove nullable dates post upgrade to Rails 4 2014-08-27 15:19:25 +10:00
group_history.rb FEATURE: Group logs. 2016-12-12 17:29:54 +08:00
group_manager.rb update annotations 2015-09-18 10:41:10 +10:00
group_mention.rb Update annotations. 2018-02-20 14:28:58 +08:00
group_user.rb DEV: remove exec_sql and replace with mini_sql 2018-06-19 16:13:36 +10:00
incoming_domain.rb FIX: If the host can't be extracted don't raise an error 2017-05-04 13:26:37 -04:00
incoming_email.rb FEATURE: Use Message-ID for detecting email replies to group 2018-04-05 11:00:38 +02:00
incoming_link.rb FIX: ignore invalid usernames in incoming link tracker 2018-09-04 12:28:32 +10:00
incoming_links_report.rb UX: Improve category filtering and include subcategories 2018-08-10 10:50:05 +10:00
incoming_referer.rb
instagram_user_info.rb annotate models 2016-03-28 15:21:45 +11:00
invite.rb DEV: Rails 5.2 upgrade and global gem upgrade 2018-06-07 14:21:33 +10:00
invite_redeemer.rb FIX: better handling of invite links after they are redeemed 2018-05-08 20:17:57 +05:30
invited_group.rb FIX: remove nullable dates post upgrade to Rails 4 2014-08-27 15:19:25 +10:00
like_notification_frequency_site_setting.rb FEATURE: like notification frequency of never 2016-03-06 09:12:59 +11:00
locale_site_setting.rb FEATURE: Allow plugins to register a new locale 2018-01-25 14:57:41 +01:00
mailing_list_mode_site_setting.rb Remove daily mailing mode option as it doesn't scale. 2017-05-05 12:21:50 +08:00
muted_user.rb Update annotations. 2018-02-20 14:28:58 +08:00
new_topic_duration_site_setting.rb fix the build 2015-09-14 10:48:24 +02:00
notification.rb Update annotations. 2018-07-16 14:19:07 +08:00
notification_level_when_replying_site_setting.rb FEATURE: Add normal as a preference for topic subscription state when replying to a topic 2017-04-20 22:33:10 -04:00
oauth2_user_info.rb Update annotations. 2018-02-20 14:28:58 +08:00
onceoff_log.rb annotate models 2016-05-30 10:45:32 +10:00
optimized_image.rb FEATURE: correctly store width and height on uploads 2018-08-28 12:59:22 +10:00
permalink.rb Remove use of `rescue nil`. 2018-04-02 13:52:51 +08:00
plugin_store.rb FEATURE: Added method to get multiple values at once from PluginStore. (#6225) 2018-08-01 18:42:40 +02:00
plugin_store_row.rb Update annotations. 2018-02-20 14:28:58 +08:00
post.rb Always link post to uploads in post process. 2018-09-06 14:08:03 +08:00
post_action.rb FIX: Allow user actions to be saved even if the post has nil user 2018-08-30 01:03:32 +01:00
post_action_type.rb Remove legacy vote post action code. (#6009) 2018-07-09 16:54:18 +08:00
post_analyzer.rb FIX: store the topic links using the cooked upload url 2018-08-14 12:23:32 +02:00
post_custom_field.rb Update annotations. 2018-07-16 14:19:07 +08:00
post_detail.rb Update annotations. 2018-02-20 14:28:58 +08:00
post_mover.rb FIX: Moving posts to existing topic didn't update topic metadata 2018-08-01 18:05:43 +02:00
post_reply.rb FIX: Update post replies when we move posts. (#4324) 2016-07-13 17:34:21 +02:00
post_reply_key.rb Update annotations. 2018-07-24 15:49:55 +08:00
post_revision.rb DEV: remove exec_sql and replace with mini_sql 2018-06-19 16:13:36 +10:00
post_search_data.rb Update annotations. 2018-07-16 14:19:07 +08:00
post_stat.rb Update annotations. 2018-02-20 14:28:58 +08:00
post_timing.rb DEV: remove exec_sql and replace with mini_sql 2018-06-19 16:13:36 +10:00
post_upload.rb Update annotations. 2016-11-24 10:13:03 +08:00
previous_replies_site_setting.rb FEATURE: allow users to control how many previous replies they get 2016-02-19 13:57:07 +11:00
push_subscription.rb Update annotations. 2018-07-16 14:19:07 +08:00
queued_post.rb Rename approval web hook event type to queued post 2018-07-26 10:29:38 +05:30
quoted_post.rb FIX: ignore self-quotes from the same post when saving (#6082) 2018-07-10 16:17:28 +08:00
remote_theme.rb FEATURE: themes and components split 2018-08-24 11:30:00 +10:00
report.rb FIX: deactivate chart trends for now (#6364) 2018-09-05 23:33:29 +02:00
s3_region_site_setting.rb FEATURE: Use S3 dualstack endpoints 2018-08-27 11:22:46 +10:00
scheduler_stat.rb purge `scheduler_stats` every 1 month instead of 3 2017-04-28 15:05:15 -07:00
screened_email.rb Update annotations. 2018-02-20 14:28:58 +08:00
screened_ip_address.rb DEV: remove exec_sql and replace with mini_sql 2018-06-19 16:13:36 +10:00
screened_url.rb Update annotations. 2018-02-20 14:28:58 +08:00
search_log.rb SearchLog: fix specs 2018-06-20 10:44:11 +10:00
shared_draft.rb Update annotations. 2018-07-16 14:19:07 +08:00
single_sign_on_record.rb Update annotations. 2018-05-09 07:52:45 +08:00
site.rb FIX: Include auth_providers for anonymous users when login_required 2018-08-07 09:24:16 +01:00
site_setting.rb FEATURE: Use S3 dualstack endpoints 2018-08-27 11:22:46 +10:00
skipped_email_log.rb Add missing copy 2018-08-23 09:44:15 +02:00
slug_setting.rb Add rubocop to our build. (#5004) 2017-07-28 10:20:09 +09:00
stylesheet_cache.rb DEV: remove exec_sql and replace with mini_sql 2018-06-19 16:13:36 +10:00
tag.rb DEV: remove exec_sql and replace with mini_sql 2018-06-19 16:13:36 +10:00
tag_group.rb FIX: tags in a 'visible by everyone but usable only by staff' group weren't visible by everyone 2018-05-16 09:48:19 +02:00
tag_group_membership.rb Update annotations. 2018-02-20 14:28:58 +08:00
tag_group_permission.rb Update annotations. 2018-07-16 14:19:07 +08:00
tag_search_data.rb Update annotations. 2018-07-16 14:19:07 +08:00
tag_user.rb DEV: remove all calls to SqlBuilder use DB.build instead 2018-06-20 17:53:49 +10:00
theme.rb FEATURE: themes and components split 2018-08-24 11:30:00 +10:00
theme_field.rb FEATURE: backend support for user-selectable components 2018-08-08 14:46:34 +10:00
theme_setting.rb Update annotations. 2018-07-16 14:19:07 +08:00
top_lists.rb
top_menu_item.rb
top_topic.rb DEV: remove exec_sql and replace with mini_sql 2018-06-19 16:13:36 +10:00
topic.rb FIX: don't allow inviting more than `max_allowed_message_recipients` 2018-08-23 14:36:49 +10:00
topic_allowed_group.rb
topic_allowed_user.rb FIX: remove nullable dates post upgrade to Rails 4 2014-08-27 15:19:25 +10:00
topic_converter.rb FIX: update categories topic_count when converting topic to a PM and vice versa 2018-04-04 12:01:56 +05:30
topic_custom_field.rb Update annotations. 2018-07-16 14:19:07 +08:00
topic_embed.rb FIX: drop title updates through RSS feeds 2018-08-28 16:25:04 +10:00
topic_featured_users.rb DEV: remove exec_sql and replace with mini_sql 2018-06-19 16:13:36 +10:00
topic_invite.rb FIX: remove nullable dates post upgrade to Rails 4 2014-08-27 15:19:25 +10:00
topic_link.rb FIX: store the topic links using the cooked upload url 2018-08-14 12:23:32 +02:00
topic_link_click.rb FIX: store the topic links using the cooked upload url 2018-08-14 12:23:32 +02:00
topic_list.rb FIX: Shared draft performance fix + missing avatars 2018-03-28 16:11:43 -04:00
topic_notifier.rb Add rubocop to our build. (#5004) 2017-07-28 10:20:09 +09:00
topic_participants_summary.rb FEATURE: primary group class on avatars in topic list 2017-02-20 15:55:10 -05:00
topic_poster.rb FEATURE: primary group class on avatars in topic list 2017-02-20 15:55:10 -05:00
topic_posters_summary.rb Require dependency otherwise it causes Sidekiq to lock up in development. 2017-09-25 13:48:59 +08:00
topic_search_data.rb Update annotations. 2018-07-16 14:19:07 +08:00
topic_tag.rb FIX: automatically in/decrement topic_tags.pm_topic_count 2018-05-15 16:05:48 +02:00
topic_timer.rb Update annotations. 2018-07-16 14:19:07 +08:00
topic_tracking_state.rb Enable `Lint/ShadowingOuterLocalVariable` for Rubocop. 2018-09-04 10:16:42 +08:00
topic_user.rb FIX: don't allow inviting more than `max_allowed_message_recipients` 2018-08-23 14:36:49 +10:00
topic_view_item.rb DEV: remove all calls to SqlBuilder use DB.build instead 2018-06-20 17:53:49 +10:00
translation_override.rb Fix the build 2018-03-16 22:55:42 +01:00
trust_level3_requirements.rb DEV: remove exec_sql and replace with mini_sql 2018-06-19 16:13:36 +10:00
trust_level_and_staff_setting.rb FEATURE: Support disabling tag creation for non-staff users. 2018-06-27 07:15:02 +08:00
trust_level_setting.rb fix the build 2015-09-14 10:48:24 +02:00
twitter_user_info.rb Update annotations. 2018-07-16 14:19:07 +08:00
unsubscribe_key.rb Make rubocop happy again. 2018-06-07 13:28:18 +08:00
upload.rb PERF: Add fast path to find uploads before resorting to `LIKE` query. 2018-09-06 14:44:24 +08:00
user.rb DEV: Allow plugins to whitelist specific user custom_fields for editing (#6358) 2018-09-04 20:45:36 +10:00
user_action.rb make linter happy 2018-06-20 18:03:27 +10:00
user_api_key.rb FEATURE: Automatically expire keys if not used for a configurable amount of time. (#6264) 2018-08-20 17:36:14 +02:00
user_archived_message.rb Make rubocop happy again. 2018-06-07 13:28:18 +08:00
user_auth_token.rb FEATURE: Let users see their user auth tokens. (#6313) 2018-08-31 10:18:06 +02:00
user_auth_token_log.rb FEATURE: Let users see their user auth tokens. (#6313) 2018-08-31 10:18:06 +02:00
user_avatar.rb FIX: when uploads are destroyed clear up avatar refs in user table 2018-08-31 14:46:42 +10:00
user_badge.rb Update annotations. 2018-07-16 14:19:07 +08:00
user_badges.rb Add rubocop to our build. (#5004) 2017-07-28 10:20:09 +09:00
user_custom_field.rb FIX: remove nullable dates post upgrade to Rails 4 2014-08-27 15:19:25 +10:00
user_email.rb Update annotations. 2018-07-16 14:19:07 +08:00
user_export.rb FIX: Clean up stale `UserExport` records daily. 2018-06-05 09:43:40 +08:00
user_field.rb Update annotations. 2018-02-20 14:28:58 +08:00
user_field_option.rb Update annotations. 2018-02-20 14:28:58 +08:00
user_history.rb FEATURE: Log user merge in staff logs 2018-06-11 18:43:56 +02:00
user_open_id.rb Update annotations. 2018-02-20 14:28:58 +08:00
user_option.rb FEATURE: Groundwork for user-selectable theme components 2018-07-12 14:18:21 +10:00
user_profile.rb FIX: store the topic links using the cooked upload url 2018-08-14 12:23:32 +02:00
user_profile_view.rb DEV: remove all calls to SqlBuilder use DB.build instead 2018-06-20 17:53:49 +10:00
user_search.rb DEV: remove all calls to SqlBuilder use DB.build instead 2018-06-20 17:53:49 +10:00
user_search_data.rb Update annotations. 2018-07-16 14:19:07 +08:00
user_second_factor.rb PERF: Add missing index on `user_id` for `user_second_factors` table. 2018-07-16 14:21:07 +08:00
user_stat.rb DEV: remove exec_sql and replace with mini_sql 2018-06-19 16:13:36 +10:00
user_summary.rb FEATURE: add a Top Categories section to the user summary page, showing the categories in which a user has the most activity 2018-07-18 16:39:16 -04:00
user_visit.rb DEV: remove exec_sql and replace with mini_sql 2018-06-19 16:13:36 +10:00
user_warning.rb Update annotations. 2018-02-20 14:28:58 +08:00
username_validator.rb Revert "FIX: Username uniqueness check should not happen to current user_id" 2018-04-03 00:44:04 +08:00
watched_word.rb Update annotations. 2018-02-20 14:28:58 +08:00
web_crawler_request.rb Update annotations. 2018-07-16 14:19:07 +08:00
web_hook.rb Make rubocop happy again. 2018-06-07 13:28:18 +08:00
web_hook_event.rb Update annotations. 2018-02-20 14:28:58 +08:00
web_hook_event_type.rb Rename approval web hook event type to queued post 2018-07-26 10:29:38 +05:30