Do not what to spam you ๐. But i found a another method to limit the call that i will commit for now
This does the first last record and every first of the month, exactly what is want
WITH bh AS (
SELECT
bh.*,
hb.timestamp AS block_timestamp,
date_trunc('month', hb.timestamp) AS month_start,
ROW_NUMBER() OVER (
PARTITION BY bh.account_name
ORDER BY bh.block_num ASC
) AS rn_first,
ROW_NUMBER() OVER (
PARTITION BY bh.account_name
ORDER BY bh.block_num DESC
) AS rn_last,
ROW_NUMBER() OVER (
PARTITION BY bh.account_name, date_trunc('month', hb.timestamp)
ORDER BY hb.timestamp ASC, bh.block_num ASC
) AS rn_month
FROM hafsql.balances_history bh
JOIN hafsql.haf_blocks hb
ON hb.block_num = bh.block_num
WHERE bh.account_name IN ({placeholders})
)
SELECT
*
FROM bh
WHERE rn_first = 1
OR rn_last = 1
OR rn_month = 1
ORDER BY account_name, block_num DESC;
limited the number of account at once to 5
Thanks again for the help ๐
You are not spamming. This one takes too long for top witnesses.