mirror of
https://github.com/mempool/mempool.git
synced 2025-09-26 21:47:10 +02:00
Fix broken blocks_prices data during indexing
This commit is contained in:
@@ -887,7 +887,9 @@ class BlocksRepository {
|
|||||||
SELECT UNIX_TIMESTAMP(blocks.blockTimestamp) as timestamp, blocks.height
|
SELECT UNIX_TIMESTAMP(blocks.blockTimestamp) as timestamp, blocks.height
|
||||||
FROM blocks
|
FROM blocks
|
||||||
LEFT JOIN blocks_prices ON blocks.height = blocks_prices.height
|
LEFT JOIN blocks_prices ON blocks.height = blocks_prices.height
|
||||||
|
LEFT JOIN prices ON blocks_prices.price_id = prices.id
|
||||||
WHERE blocks_prices.height IS NULL
|
WHERE blocks_prices.height IS NULL
|
||||||
|
OR prices.id IS NULL
|
||||||
ORDER BY blocks.height
|
ORDER BY blocks.height
|
||||||
`);
|
`);
|
||||||
return rows;
|
return rows;
|
||||||
@@ -907,6 +909,7 @@ class BlocksRepository {
|
|||||||
query += ` (${price.height}, ${price.priceId}),`;
|
query += ` (${price.height}, ${price.priceId}),`;
|
||||||
}
|
}
|
||||||
query = query.slice(0, -1);
|
query = query.slice(0, -1);
|
||||||
|
query += ` ON DUPLICATE KEY UPDATE price_id = VALUES(price_id)`;
|
||||||
await DB.query(query);
|
await DB.query(query);
|
||||||
} catch (e: any) {
|
} catch (e: any) {
|
||||||
if (e.errno === 1062) { // ER_DUP_ENTRY - This scenario is possible upon node backend restart
|
if (e.errno === 1062) { // ER_DUP_ENTRY - This scenario is possible upon node backend restart
|
||||||
|
Reference in New Issue
Block a user