Skip to content

Commit

Permalink
Merge pull request #1397 from edenia/revert-1396-fix/evm-stats-view-m…
Browse files Browse the repository at this point in the history
…igrations

Revert "fix(hasura): fix evm stats view migration"
  • Loading branch information
xavier506 committed Dec 4, 2023
2 parents a73f65d + 5734fe3 commit 1b8c78d
Showing 1 changed file with 27 additions and 26 deletions.
Original file line number Diff line number Diff line change
@@ -1,29 +1,30 @@
DROP VIEW IF EXISTS "evm"."stats";
CREATE OR REPLACE VIEW "evm"."stats" AS
SELECT COALESCE(evm_block.avg_gas_used, (0)::numeric) AS block_gas_avg,
COALESCE(daily_transactions.total_transaction_count, (0)::bigint) AS daily_transaction_count,
COALESCE(max_transaction_sum, (0)::numeric) AS ath_transactions_count,
COALESCE(gas_used_sum, (0)::numeric) AS ath_gas_used,
blocks AS ath_blocks
FROM (((( SELECT avg(subquery_alias.gas_used) AS avg_gas_used
FROM ( SELECT block.gas_used, block."timestamp"
FROM evm.block
ORDER BY block."timestamp" DESC
LIMIT 100) subquery_alias) evm_block
CROSS JOIN LATERAL (
SELECT sum(jsonb_array_length(block.transactions)) AS total_transaction_count
FROM evm.block
WHERE (block."timestamp" >= (now() - '24:00:00'::interval))) daily_transactions)
CROSS JOIN LATERAL (
WITH subquery AS(
SELECT array_to_string(array_agg(evm.block.number), ',') AS blocks ,
sum(jsonb_array_length(evm.block.transactions)) AS total_transaction_count,
sum(evm.block.gas_used) AS gas_used_sum
FROM evm.block
WHERE (block."timestamp" >= (now() - '00:30:00'::interval))
GROUP BY timestamp)
SELECT blocks, max_transaction_sum, gas_used_sum
FROM ( SELECT max(subquery.total_transaction_count) AS max_transaction_sum
FROM subquery) q1
INNER JOIN subquery q2 ON q1.max_transaction_sum = q2.total_transaction_count
LIMIT 1) partial_ath));
partial_ath.blocks AS ath_blocks,
COALESCE((partial_ath.max_transaction_sum)::numeric, (0)::numeric) AS ath_transactions_count,
COALESCE(partial_ath.gas_used_sum, (0)::numeric) AS ath_gas_used
FROM ((( SELECT avg(subquery_alias.gas_used) AS avg_gas_used
FROM ( SELECT block.gas_used,
block."timestamp"
FROM evm.block
ORDER BY block."timestamp" DESC
LIMIT 100) subquery_alias) evm_block
CROSS JOIN LATERAL ( SELECT sum(jsonb_array_length(block.transactions)) AS total_transaction_count
FROM evm.block
WHERE (block."timestamp" >= (now() - '24:00:00'::interval))) daily_transactions)
CROSS JOIN LATERAL ( WITH subquery AS (
SELECT array_to_string(array_agg(block.number), ','::text) AS blocks,
sum(jsonb_array_length(block.transactions)) AS total_transaction_count,
sum(block.gas_used) AS gas_used_sum
FROM evm.block
WHERE (block."timestamp" >= (now() - '00:30:00'::interval))
GROUP BY block."timestamp"
)
SELECT q2.blocks,
q1.max_transaction_sum,
q2.gas_used_sum
FROM (( SELECT max(subquery.total_transaction_count) AS max_transaction_sum
FROM subquery) q1
JOIN subquery q2 ON ((q1.max_transaction_sum = q2.total_transaction_count)))
LIMIT 1) partial_ath);

0 comments on commit 1b8c78d

Please sign in to comment.