Skip to content

Commit 61b4853

Browse files
committed
HotFix: De-duplicate PoolStat entries
Signed-off-by: Sudip Bhattarai <[email protected]>
1 parent f91a04e commit 61b4853

File tree

1 file changed

+17
-13
lines changed

1 file changed

+17
-13
lines changed

govtool/backend/sql/list-proposals.sql

Lines changed: 17 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -122,25 +122,29 @@ RankedPoolVotes AS (
122122
vp.tx_id DESC,
123123
vp.id DESC
124124
),
125+
DistinctPoolStats as (
126+
SELECT
127+
DISTINCT ON (pool_hash_id) *
128+
FROM
129+
pool_stat
130+
WHERE
131+
epoch_no = (SELECT MAX(no) FROM epoch)
132+
),
125133
PoolVotes AS (
126134
SELECT
127135
rpv.gov_action_proposal_id,
128-
ps.epoch_no,
129-
COUNT(DISTINCT CASE WHEN vote = 'Yes' THEN rpv.pool_voter ELSE 0 END) AS total_yes_votes,
130-
COUNT(DISTINCT CASE WHEN vote = 'No' THEN rpv.pool_voter ELSE 0 END) AS total_no_votes,
131-
COUNT(DISTINCT CASE WHEN vote = 'Abstain' THEN rpv.pool_voter ELSE 0 END) AS total_abstain_votes,
132-
SUM(CASE WHEN rpv.vote = 'Yes' THEN ps.voting_power ELSE 0 END) AS poolYesVotes,
133-
SUM(CASE WHEN rpv.vote = 'No' THEN ps.voting_power ELSE 0 END) AS poolNoVotes,
134-
SUM(CASE WHEN rpv.vote = 'Abstain' THEN ps.voting_power ELSE 0 END) AS poolAbstainVotes
135-
FROM
136+
COUNT(DISTINCT CASE WHEN vote = 'Yes' THEN rpv.pool_voter ELSE NULL END) AS total_yes_votes,
137+
COUNT(DISTINCT CASE WHEN vote = 'No' THEN rpv.pool_voter ELSE NULL END) AS total_no_votes,
138+
COUNT(DISTINCT CASE WHEN vote = 'Abstain' THEN rpv.pool_voter ELSE NULL END) AS total_abstain_votes,
139+
SUM(CASE WHEN rpv.vote = 'Yes' THEN dps.voting_power ELSE 0 END) AS poolYesVotes,
140+
SUM(CASE WHEN rpv.vote = 'No' THEN dps.voting_power ELSE 0 END) AS poolNoVotes,
141+
SUM(CASE WHEN rpv.vote = 'Abstain' THEN dps.voting_power ELSE 0 END) AS poolAbstainVotes
142+
FROM
136143
RankedPoolVotes rpv
137144
JOIN
138-
pool_stat ps
139-
ON rpv.pool_voter = ps.pool_hash_id
140-
WHERE
141-
ps.epoch_no = (SELECT MAX(no) FROM epoch)
145+
DistinctPoolStats dps ON rpv.pool_voter = dps.pool_hash_id
142146
GROUP BY
143-
rpv.gov_action_proposal_id, ps.epoch_no
147+
rpv.gov_action_proposal_id
144148
),
145149
RankedDRepVotes AS (
146150
SELECT DISTINCT ON (vp.drep_voter, vp.gov_action_proposal_id)

0 commit comments

Comments
 (0)