Skip to content

Commit

Permalink
Implement join on index (#28)
Browse files Browse the repository at this point in the history
  • Loading branch information
lftakakura authored and cscatolini committed Nov 1, 2018
1 parent e3147f2 commit b0dfcc5
Showing 1 changed file with 8 additions and 8 deletions.
16 changes: 8 additions & 8 deletions models/membership.go
Original file line number Diff line number Diff line change
Expand Up @@ -73,8 +73,8 @@ func GetValidMembershipByClanAndPlayerPublicID(db DB, gameID, clanPublicID, play
SELECT
m.*
FROM memberships m
INNER JOIN clans c ON c.public_id=$1 AND c.id=m.clan_id
INNER JOIN players p ON p.public_id=$2 AND p.id=m.player_id
INNER JOIN clans c ON c.game_id=$3 AND c.public_id=$1 AND c.id=m.clan_id
INNER JOIN players p ON p.game_id=$3 AND p.public_id=$2 AND p.id=m.player_id
WHERE
m.game_id=$3 AND
m.deleted_at=0`
Expand All @@ -96,8 +96,8 @@ func GetMembershipByClanAndPlayerPublicID(db DB, gameID, clanPublicID, playerPub
SELECT
m.*
FROM memberships m
INNER JOIN clans c ON c.public_id=$1 AND c.id=m.clan_id
INNER JOIN players p ON p.public_id=$2 AND p.id=m.player_id
INNER JOIN clans c ON c.game_id=$3 AND c.public_id=$1 AND c.id=m.clan_id
INNER JOIN players p ON p.game_id=$3 AND p.public_id=$2 AND p.id=m.player_id
WHERE m.game_id=$3`

_, err := db.Select(&memberships, query, clanPublicID, playerPublicID, gameID)
Expand All @@ -117,8 +117,8 @@ func GetDeletedMembershipByClanAndPlayerID(db DB, gameID string, clanID, playerI
SELECT
m.*
FROM memberships m
INNER JOIN clans c ON c.id=$1 AND c.id=m.clan_id
INNER JOIN players p ON p.id=$2 AND p.id=m.player_id
INNER JOIN clans c ON c.game_id=$3 AND c.id=$1 AND c.id=m.clan_id
INNER JOIN players p ON p.game_id=$3 AND p.id=$2 AND p.id=m.player_id
WHERE
m.deleted_at!=0 AND m.game_id=$3`

Expand All @@ -139,8 +139,8 @@ func GetOldestMemberWithHighestLevel(db DB, gameID, clanPublicID string) (*Membe
SELECT
m.*
FROM memberships m
INNER JOIN games g ON g.public_id=$1 AND g.public_id=m.game_id
INNER JOIN clans c ON c.public_id=$2 AND c.id=m.clan_id
INNER JOIN games g ON g.public_id=m.game_id AND g.public_id=$1
INNER JOIN clans c ON c.id=m.clan_id AND c.public_id=$2
WHERE m.deleted_at=0 AND m.approved=true
ORDER BY
g.membership_levels::json->>m.membership_level DESC,
Expand Down

0 comments on commit b0dfcc5

Please sign in to comment.