11WITH DRepDistr AS (
2- SELECT
3- drep_distr.* ,
4- ROW_NUMBER() OVER (PARTITION BY drep_hash .id ORDER BY drep_distr .epoch_no DESC ) AS rn
5- FROM
6- drep_distr
7- JOIN drep_hash ON drep_hash .id = drep_distr .hash_id
2+ SELECT DISTINCT ON (drep_distr .hash_id ) drep_distr.*
3+ FROM drep_distr
4+ ORDER BY drep_distr .hash_id , drep_distr .epoch_no DESC
85),
96DRepActivity AS (
107 SELECT
@@ -19,11 +16,12 @@ DRepActivity AS (
1916 LIMIT 1
2017),
2118LatestVotingProcedure AS (
22- SELECT
23- vp.* ,
24- ROW_NUMBER() OVER (PARTITION BY drep_voter ORDER BY tx_id DESC ) AS rn
19+ SELECT DISTINCT ON (vp .drep_voter )
20+ vp.*
2521 FROM
2622 voting_procedure vp
23+ ORDER BY
24+ vp .drep_voter , vp .tx_id DESC
2725),
2826LatestVoteEpoch AS (
2927 SELECT
@@ -33,20 +31,19 @@ LatestVoteEpoch AS (
3331 LatestVotingProcedure lvp
3432 JOIN tx ON tx .id = lvp .tx_id
3533 JOIN block ON block .id = tx .block_id
36- WHERE
37- lvp .rn = 1
3834),
3935RankedDRepRegistration AS (
40- SELECT
36+ SELECT DISTINCT ON ( dr . drep_hash_id )
4137 dr .id ,
4238 dr .drep_hash_id ,
4339 dr .deposit ,
4440 dr .voting_anchor_id ,
45- ROW_NUMBER() OVER (PARTITION BY dr .drep_hash_id ORDER BY dr .tx_id DESC ) AS rn,
4641 encode(tx .hash , ' hex' ) AS tx_hash
47- FROM
42+ FROM
4843 drep_registration dr
4944 JOIN tx ON tx .id = dr .tx_id
45+ ORDER BY
46+ dr .drep_hash_id , dr .tx_id DESC
5047),
5148FetchError AS (
5249 SELECT
@@ -132,29 +129,31 @@ DRepData AS (
132129 off_chain_vote_drep_data .image_hash
133130 FROM
134131 drep_hash dh
135- JOIN RankedDRepRegistration ON RankedDRepRegistration .drep_hash_id = dh .id AND RankedDRepRegistration . rn = 1
132+ JOIN RankedDRepRegistration ON RankedDRepRegistration .drep_hash_id = dh .id
136133 JOIN (
137- SELECT
134+ SELECT DISTINCT ON ( dr . drep_hash_id )
138135 dr .id ,
139136 dr .drep_hash_id ,
140- dr .deposit ,
141- ROW_NUMBER() OVER (PARTITION BY dr .drep_hash_id ORDER BY dr .tx_id DESC ) AS rn
137+ dr .deposit
142138 FROM
143139 drep_registration dr
144140 WHERE
145141 dr .deposit IS NOT NULL
146- ) AS dr_deposit ON dr_deposit .drep_hash_id = dh .id AND dr_deposit .rn = 1
142+ ORDER BY
143+ dr .drep_hash_id , dr .tx_id DESC
144+ ) AS dr_deposit ON dr_deposit .drep_hash_id = dh .id
147145 LEFT JOIN (
148- SELECT
146+ SELECT DISTINCT ON ( dr . drep_hash_id )
149147 dr .id ,
150148 dr .drep_hash_id ,
151- dr .deposit ,
152- ROW_NUMBER() OVER (PARTITION BY dr .drep_hash_id ORDER BY dr .tx_id DESC ) AS rn
149+ dr .deposit
153150 FROM
154151 drep_registration dr
155- ) AS latestDeposit ON latestDeposit .drep_hash_id = dh .id AND latestDeposit .rn = 1
152+ ORDER BY
153+ dr .drep_hash_id , dr .tx_id DESC
154+ ) AS latestDeposit ON latestDeposit .drep_hash_id = dh .id
156155 LEFT JOIN LatestExistingVotingAnchor leva ON leva .drep_hash_id = dh .id
157- LEFT JOIN DRepDistr ON DRepDistr .hash_id = dh .id AND DRepDistr . rn = 1
156+ LEFT JOIN DRepDistr ON DRepDistr .hash_id = dh .id
158157 LEFT JOIN FetchError fetch_error ON fetch_error .voting_anchor_id = leva .voting_anchor_id
159158 LEFT JOIN HasNonDeregisterVotingAnchor hndva ON hndva .drep_hash_id = dh .id
160159 LEFT JOIN off_chain_vote_data ocvd ON ocvd .voting_anchor_id = leva .voting_anchor_id
@@ -163,26 +162,28 @@ DRepData AS (
163162 LEFT JOIN tx voting_procedure_transaction ON voting_procedure_transaction .id = voting_procedure .tx_id
164163 LEFT JOIN block voting_procedure_block ON voting_procedure_block .id = voting_procedure_transaction .block_id
165164 LEFT JOIN (
166- SELECT
165+ SELECT DISTINCT ON ( dr . drep_hash_id )
167166 block .epoch_no ,
168167 block .time ,
169- dr .drep_hash_id ,
170- ROW_NUMBER() OVER (PARTITION BY dr .drep_hash_id ORDER BY dr .tx_id DESC ) AS rn
168+ dr .drep_hash_id
171169 FROM
172- drep_registration dr
170+ drep_registration dr
173171 JOIN tx ON tx .id = dr .tx_id
174172 JOIN block ON block .id = tx .block_id
175173 WHERE
176174 COALESCE(dr .deposit , 0 ) >= 0
177- ) AS newestRegister ON newestRegister .drep_hash_id = dh .id AND newestRegister .rn = 1
178- LEFT JOIN (
179- SELECT
175+ ORDER BY
176+ dr .drep_hash_id , dr .tx_id DESC
177+ ) AS newestRegister ON newestRegister .drep_hash_id = dh .id
178+ LEFT JOIN (
179+ SELECT DISTINCT ON (dr .drep_hash_id )
180180 dr .tx_id ,
181- dr .drep_hash_id ,
182- ROW_NUMBER() OVER (PARTITION BY dr .drep_hash_id ORDER BY dr .tx_id ASC ) AS rn
181+ dr .drep_hash_id
183182 FROM
184183 drep_registration dr
185- ) AS dr_first_register ON dr_first_register .drep_hash_id = dh .id AND dr_first_register .rn = 1
184+ ORDER BY
185+ dr .drep_hash_id , dr .tx_id ASC
186+ ) AS dr_first_register ON dr_first_register .drep_hash_id = dh .id
186187 LEFT JOIN tx AS tx_first_register ON tx_first_register .id = dr_first_register .tx_id
187188 LEFT JOIN block AS block_first_register ON block_first_register .id = tx_first_register .block_id
188189 LEFT JOIN LatestVoteEpoch lve ON lve .drep_id = dh .id
0 commit comments