From 45d9b4cd73207750a91633d8e434f14b3149ec80 Mon Sep 17 00:00:00 2001 From: Eric Laurello Date: Tue, 30 Dec 2025 15:42:12 -0500 Subject: [PATCH] inc logic for blocks --- models/silver/core/silver__transactions.sql | 23 +++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/models/silver/core/silver__transactions.sql b/models/silver/core/silver__transactions.sql index eb40682..b1a8b9b 100644 --- a/models/silver/core/silver__transactions.sql +++ b/models/silver/core/silver__transactions.sql @@ -73,6 +73,16 @@ WHERE {% do run_query( query_tx_batch ) %} + +{% set tx_batch_dates_query %} + SELECT DISTINCT TO_TIMESTAMP(b.value:timestamp::STRING)::DATE AS block_date + FROM silver.transactions_tx_batch_intermediate_tmp A, + LATERAL FLATTEN(A.data) b +{% endset %} +{% set tx_batch_dates_result = run_query(tx_batch_dates_query) %} +{% set tx_batch_dates = tx_batch_dates_result.columns[0].values() %} +{% else %} +{% set tx_batch_dates = [] %} {% endif %} WITH from_blocks AS ( @@ -179,8 +189,17 @@ combo AS ( A.* FROM from_transaction_batch A - JOIN {{ ref('silver__blocks') }} - b + JOIN ( + SELECT * + FROM {{ ref('silver__blocks') }} + {% if tx_batch_dates %} + WHERE block_timestamp::DATE IN ( + {%- for date in tx_batch_dates -%} + '{{ date }}'{% if not loop.last %},{% endif %} + {%- endfor -%} + ) + {% endif %} + ) b ON A.version BETWEEN b.first_version AND b.last_version )