0
0

Increase max bitrate of converted webms, slightly optimized counter queries

(Because postgres can tell that count(*) needs no extra checks, but
counting a specific column requires them)
This commit is contained in:
Eugen Rochko 2017-03-05 23:43:58 +01:00
parent 6382ef2bc6
commit 8d93f0ca56
2 changed files with 6 additions and 6 deletions

View File

@ -102,14 +102,14 @@ class ApiController < ApplicationController
def set_counters_maps(statuses) # rubocop:disable Style/AccessorMethodName
status_ids = statuses.compact.map { |s| s.reblog? ? s.reblog_of_id : s.id }.uniq
@favourites_counts_map = Favourite.select('status_id, COUNT(id) AS favourites_count').group('status_id').where(status_id: status_ids).map { |f| [f.status_id, f.favourites_count] }.to_h
@reblogs_counts_map = Status.select('statuses.id, COUNT(reblogs.id) AS reblogs_count').joins('LEFT OUTER JOIN statuses AS reblogs ON statuses.id = reblogs.reblog_of_id').where(id: status_ids).group('statuses.id').map { |r| [r.id, r.reblogs_count] }.to_h
@favourites_counts_map = Favourite.select('status_id, COUNT(*) AS favourites_count').group('status_id').where(status_id: status_ids).map { |f| [f.status_id, f.favourites_count] }.to_h
@reblogs_counts_map = Status.select('statuses.id, COUNT(*) AS reblogs_count').joins('LEFT OUTER JOIN statuses AS reblogs ON statuses.id = reblogs.reblog_of_id').where(id: status_ids).group('statuses.id').map { |r| [r.id, r.reblogs_count] }.to_h
end
def set_account_counters_maps(accounts) # rubocop:disable Style/AccessorMethodName
account_ids = accounts.compact.map(&:id).uniq
@followers_counts_map = Follow.unscoped.select('target_account_id, COUNT(account_id) AS followers_count').group('target_account_id').where(target_account_id: account_ids).map { |f| [f.target_account_id, f.followers_count] }.to_h
@following_counts_map = Follow.unscoped.select('account_id, COUNT(target_account_id) AS following_count').group('account_id').where(account_id: account_ids).map { |f| [f.account_id, f.following_count] }.to_h
@statuses_counts_map = Status.unscoped.select('account_id, COUNT(id) AS statuses_count').group('account_id').where(account_id: account_ids).map { |s| [s.account_id, s.statuses_count] }.to_h
@followers_counts_map = Follow.unscoped.select('target_account_id, COUNT(*) AS followers_count').group('target_account_id').where(target_account_id: account_ids).map { |f| [f.target_account_id, f.followers_count] }.to_h
@following_counts_map = Follow.unscoped.select('account_id, COUNT(*) AS following_count').group('account_id').where(account_id: account_ids).map { |f| [f.account_id, f.following_count] }.to_h
@statuses_counts_map = Status.unscoped.select('account_id, COUNT(*) AS statuses_count').group('account_id').where(account_id: account_ids).map { |s| [s.account_id, s.statuses_count] }.to_h
end
end

View File

@ -64,7 +64,7 @@ class MediaAttachment < ApplicationRecord
output: {
'c:v' => 'libvpx',
'crf' => 4,
'b:v' => '500K',
'b:v' => '1300K',
'vsync' => 'cfr',
},
},