diff --git a/models/silver/stats/silver_stats__core_metrics_block_hourly.sql b/models/silver/stats/silver_stats__core_metrics_block_hourly.sql index e868bb0c..3e1656a0 100644 --- a/models/silver/stats/silver_stats__core_metrics_block_hourly.sql +++ b/models/silver/stats/silver_stats__core_metrics_block_hourly.sql @@ -5,7 +5,26 @@ cluster_by = ['block_timestamp_hour::DATE'], tags = ['core'] ) }} +/* run incremental timestamp value first then use it as a static value */ +{% if execute %} +{% if is_incremental() %} +{% set query %} + +SELECT + MIN(DATE_TRUNC('hour', block_timestamp)) block_timestamp_hour +FROM + {{ ref('silver__blocks') }} +WHERE + _inserted_timestamp >= ( + SELECT + MAX(_inserted_timestamp) + FROM + {{ this }} + ) {% endset %} + {% set min_block_timestamp_hour = run_query(query).columns [0].values() [0] %} +{% endif %} +{% endif %} SELECT DATE_TRUNC( 'hour', @@ -35,13 +54,8 @@ WHERE {% if is_incremental() %} AND DATE_TRUNC( 'hour', - _inserted_timestamp -) >= ( - SELECT - MAX(DATE_TRUNC('hour', _inserted_timestamp)) - INTERVAL '12 hours' - FROM - {{ this }} -) + block_timestamp +) >= '{{ min_block_timestamp_hour }}' {% endif %} GROUP BY 1 diff --git a/models/silver/stats/silver_stats__core_metrics_hourly.sql b/models/silver/stats/silver_stats__core_metrics_hourly.sql index d63f2090..0df7b027 100644 --- a/models/silver/stats/silver_stats__core_metrics_hourly.sql +++ b/models/silver/stats/silver_stats__core_metrics_hourly.sql @@ -5,7 +5,26 @@ cluster_by = ['block_timestamp_hour::DATE'], tags = ['core'] ) }} +/* run incremental timestamp value first then use it as a static value */ +{% if execute %} +{% if is_incremental() %} +{% set query %} + +SELECT + MIN(DATE_TRUNC('hour', block_timestamp)) block_timestamp_hour +FROM + {{ ref('silver__transactions') }} +WHERE + _inserted_timestamp >= ( + SELECT + MAX(_inserted_timestamp) + FROM + {{ this }} + ) {% endset %} + {% set min_block_timestamp_hour = run_query(query).columns [0].values() [0] %} +{% endif %} +{% endif %} SELECT DATE_TRUNC( 'hour', @@ -46,13 +65,8 @@ WHERE {% if is_incremental() %} AND DATE_TRUNC( 'hour', - _inserted_timestamp -) >= ( - SELECT - MAX(DATE_TRUNC('hour', _inserted_timestamp)) - INTERVAL '12 hours' - FROM - {{ this }} -) + block_timestamp +) >= '{{ min_block_timestamp_hour }}' {% endif %} GROUP BY - 1 \ No newline at end of file + 1