216b85b053
- Reduce duplicate queries - Remove n+1 queries - Add accounts count to detailed view - Add separate action log entry for updating existing domain blocks
17 lines
550 B
SQL
17 lines
550 B
SQL
WITH domain_counts(domain, accounts_count)
|
|
AS (
|
|
SELECT domain, COUNT(*) as accounts_count
|
|
FROM accounts
|
|
WHERE domain IS NOT NULL
|
|
GROUP BY domain
|
|
)
|
|
SELECT domain, accounts_count
|
|
FROM domain_counts
|
|
UNION
|
|
SELECT domain_blocks.domain, COALESCE(domain_counts.accounts_count, 0)
|
|
FROM domain_blocks
|
|
LEFT OUTER JOIN domain_counts ON domain_counts.domain = domain_blocks.domain
|
|
UNION
|
|
SELECT domain_allows.domain, COALESCE(domain_counts.accounts_count, 0)
|
|
FROM domain_allows
|
|
LEFT OUTER JOIN domain_counts ON domain_counts.domain = domain_allows.domain
|