diff options
author | Andreas Brandl <abrandl@gitlab.com> | 2019-07-24 15:59:55 +0200 |
---|---|---|
committer | Andreas Brandl <abrandl@gitlab.com> | 2019-07-29 12:47:06 +0200 |
commit | 988dc80585c6e52970e94f22dff6bc1e4c786e9e (patch) | |
tree | fa46a90181e23ec86c5e25288e5b83451ce5b27f /app/finders | |
parent | ca05130319ae9d74ee7771b5a8adb6cf25857fb7 (diff) | |
download | gitlab-ce-988dc80585c6e52970e94f22dff6bc1e4c786e9e.tar.gz |
Further remove code branches by database type
We dropped MySQL support and a lot of mysql specific code has been
removed in https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/29608.
This comes in from the other direction and removes any `if postgresql?`
branches.
Diffstat (limited to 'app/finders')
-rw-r--r-- | app/finders/issuable_finder.rb | 1 | ||||
-rw-r--r-- | app/finders/members_finder.rb | 41 |
2 files changed, 11 insertions, 31 deletions
diff --git a/app/finders/issuable_finder.rb b/app/finders/issuable_finder.rb index f4fbeacfaba..1773ac2d508 100644 --- a/app/finders/issuable_finder.rb +++ b/app/finders/issuable_finder.rb @@ -320,7 +320,6 @@ class IssuableFinder def use_cte_for_search? strong_memoize(:use_cte_for_search) do next false unless search - next false unless Gitlab::Database.postgresql? # Only simple unsorted & simple sorts can use CTE next false if params[:sort].present? && !params[:sort].in?(klass.simple_sorts.keys) diff --git a/app/finders/members_finder.rb b/app/finders/members_finder.rb index 917de249104..f730b015c0a 100644 --- a/app/finders/members_finder.rb +++ b/app/finders/members_finder.rb @@ -59,35 +59,16 @@ class MembersFinder def distinct_on(union) # We're interested in a list of members without duplicates by user_id. # We prefer project members over group members, project members should go first. - if Gitlab::Database.postgresql? - <<~SQL - SELECT DISTINCT ON (user_id, invite_email) member_union.* - FROM (#{union.to_sql}) AS member_union - ORDER BY user_id, - invite_email, - CASE - WHEN type = 'ProjectMember' THEN 1 - WHEN type = 'GroupMember' THEN 2 - ELSE 3 - END - SQL - else - # Older versions of MySQL do not support window functions (and DISTINCT ON is postgres-specific). - <<~SQL - SELECT t1.* - FROM (#{union.to_sql}) AS t1 - JOIN ( - SELECT - COALESCE(user_id, -1) AS user_id, - COALESCE(invite_email, 'NULL') AS invite_email, - MIN(CASE WHEN type = 'ProjectMember' THEN 1 WHEN type = 'GroupMember' THEN 2 ELSE 3 END) AS type_number - FROM - (#{union.to_sql}) AS t3 - GROUP BY COALESCE(user_id, -1), COALESCE(invite_email, 'NULL') - ) AS t2 ON COALESCE(t1.user_id, -1) = t2.user_id - AND COALESCE(t1.invite_email, 'NULL') = t2.invite_email - AND CASE WHEN t1.type = 'ProjectMember' THEN 1 WHEN t1.type = 'GroupMember' THEN 2 ELSE 3 END = t2.type_number - SQL - end + <<~SQL + SELECT DISTINCT ON (user_id, invite_email) member_union.* + FROM (#{union.to_sql}) AS member_union + ORDER BY user_id, + invite_email, + CASE + WHEN type = 'ProjectMember' THEN 1 + WHEN type = 'GroupMember' THEN 2 + ELSE 3 + END + SQL end end |