Skip to content
This repository was archived by the owner on Jan 7, 2026. It is now read-only.

Commit d032661

Browse files
Copilotbajtos
andcommitted
Use unnest approach instead of jsonb_to_recordset in updateDailyMinerDealsChecked
Co-authored-by: bajtos <[email protected]>
1 parent 5fb661d commit d032661

1 file changed

Lines changed: 16 additions & 16 deletions

File tree

lib/public-stats.js

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -417,23 +417,23 @@ const updateDailyMinerDealsChecked = async (pgClient, committees) => {
417417
}
418418

419419
// Convert the map to arrays for the query
420-
const flatStats = Array.from(minerPayloadCids.entries()).map(
421-
// eslint-disable-next-line camelcase
422-
([minerId, payloadCids]) => ({
423-
miner_id: minerId,
424-
payload_cids: Array.from(payloadCids)
425-
})
426-
)
420+
const minerIds = []
421+
const payloadCidsArrays = []
422+
423+
for (const [minerId, payloadCids] of minerPayloadCids.entries()) {
424+
minerIds.push(minerId)
425+
payloadCidsArrays.push(Array.from(payloadCids))
426+
}
427427

428428
if (debug.enabled) {
429429
debug(
430430
'Updating public stats - daily miner deals checked: miners count = %s, total payload CIDs = %s',
431-
flatStats.length,
432-
flatStats.reduce((sum, stat) => sum + stat.payload_cids.length, 0)
431+
minerIds.length,
432+
payloadCidsArrays.reduce((sum, cids) => sum + cids.length, 0)
433433
)
434434
}
435435

436-
if (flatStats.length === 0) {
436+
if (minerIds.length === 0) {
437437
debug('No miner deals to record')
438438
return
439439
}
@@ -443,19 +443,19 @@ const updateDailyMinerDealsChecked = async (pgClient, committees) => {
443443
day,
444444
miner_id,
445445
payload_cids
446-
)
447-
SELECT
446+
) VALUES (
448447
now(),
449-
miner_id,
450-
payload_cids
451-
FROM jsonb_to_recordset($1::jsonb) AS t (miner_id text, payload_cids text[])
448+
unnest($1::text[]),
449+
unnest($2::text[][])
450+
)
452451
ON CONFLICT(day, miner_id) DO UPDATE SET
453452
payload_cids = array(
454453
SELECT DISTINCT unnest(
455454
array_cat(daily_miner_deals_checked.payload_cids, EXCLUDED.payload_cids)
456455
)
457456
)
458457
`, [
459-
JSON.stringify(flatStats)
458+
minerIds,
459+
payloadCidsArrays
460460
])
461461
}

0 commit comments

Comments
 (0)