Commit Graph

17 Commits

Author SHA1 Message Date
evazion
59b277ead1 users: drop id_to_name, name_to_id caching.
Changes:

* Drop Users.id_to_name.
* Don't cache Users.name_to_id.
* Replace calls to name_to_id with find_by_name when possible.
* Don't autodefine creator_name in belongs_to_creator.
* Don't autodefine updater_name in belongs_to_updater.
* Instead manually define creator_name / updater_name only on models that need
  to return these fields in the api.

id_to_name was cached to reduce the impact of N+1 query patterns in
certain places, especially in api responses that return creator_name /
updater_name fields. But it still meant we were doing N calls to
memcache. Using `includes` to prefetch users avoids this N+1 pattern.

name_to_id had no need be cached, it was never used in any performance-
sensitive contexts.

Avoiding caching also avoids the need to keep these caches consistent.
2019-08-18 11:24:42 -05:00
evazion
115ed16a96 pools: store post_ids as array instead of string (fix #3979) 2018-11-08 15:09:31 -06:00
evazion
f5012464ab Fix #3965: Extraneous API attributes.
Remove the updater_id/updater_ip_addr virtual attributes from
pools/notes. Juss pass them in as params to create_version instead.
2018-10-30 15:41:17 -05:00
evazion
e8ab5cdc4c Fix pool version ordering.
Pool version IDs aren't in the right order; order by updated_at instead.
2018-02-08 16:53:02 -06:00
BrokenEagle
d829ab3a00 Move all order logic to models
- Have a default order for each model
-- The overall default is ID DESC
- Allow for custom orderings
-- When comma-separated IDs are used
2018-01-29 11:42:53 -08:00
evazion
0ca726802f Fix #3430: Accept the search[id] param in all controllers.
* Allow every controller to take the `search[id]` param.

* Parse the `search[id]` param the same way that the `id:<N>` metatag is
  parsed. So `search[id]=1,2,3`, `search[id]=<42`, `search[id]=1..10`, for
  example, are all accepted.
2017-12-17 17:36:52 -06:00
evazion
c1834ab8dd Inherit models from ApplicationRecord instead of ActiveRecord::Base. 2017-06-16 13:28:31 -05:00
r888888888
4a07848b6d add prefix for sqs message group id 2017-06-13 16:36:39 -07:00
r888888888
efe5e0e95e add message group id for post archives 2017-06-13 16:35:01 -07:00
evazion
02b3622f12 api: allow search[*_id] params to accept lists of ids in more places. 2017-05-23 15:45:40 -05:00
evazion
086b520dcc archives: raise exception if not configured. 2017-04-05 01:17:03 -05:00
r888888888
f374eec4a1 fixes #2869: Add way to differentiate Pool Descriptions from Pool History 2017-02-14 16:03:19 -08:00
evazion
74bbd45cdf dotenv: enable overriding database settings. 2017-01-23 18:07:52 -06:00
Type-kun
75c13cc953 Possible fix for issue #2849 2017-01-19 14:51:53 +05:00
Albert Yi
4859a803c6 show description diffs in pool version listing 2017-01-03 14:40:53 -08:00
evazion
df22bae2be Fix "'archive_development' database is not configured." exception. 2016-12-26 15:09:43 -06:00
Albert Yi
ee4ebce4d7 support pool version archive 2016-12-21 11:43:46 -08:00