From faab58e2129037969cf1c372590c522c469c6425 Mon Sep 17 00:00:00 2001 From: drethereum Date: Tue, 11 Feb 2025 12:08:48 -0700 Subject: [PATCH] standard pred --- macros/dbt/incremental_predicates.sql | 22 +++++++++++++++++++ .../gold/core/core__ez_decoded_event_logs.sql | 2 +- 2 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 macros/dbt/incremental_predicates.sql diff --git a/macros/dbt/incremental_predicates.sql b/macros/dbt/incremental_predicates.sql new file mode 100644 index 0000000..ba1bb2e --- /dev/null +++ b/macros/dbt/incremental_predicates.sql @@ -0,0 +1,22 @@ +{% macro standard_predicate( + input_column = 'block_number' + ) -%} + {%- set database_name = target.database -%} + {%- set schema_name = generate_schema_name( + node = model + ) -%} + {%- set table_name = generate_alias_name( + node = model + ) -%} + {%- set tmp_table_name = table_name ~ '__dbt_tmp' -%} + {%- set full_table_name = database_name ~ '.' ~ schema_name ~ '.' ~ table_name -%} + {%- set full_tmp_table_name = database_name ~ '.' ~ schema_name ~ '.' ~ tmp_table_name -%} + {{ full_table_name }}.{{ input_column }} >= ( + SELECT + MIN( + {{ input_column }} + ) + FROM + {{ full_tmp_table_name }} + ) +{%- endmacro %} diff --git a/models/gold/core/core__ez_decoded_event_logs.sql b/models/gold/core/core__ez_decoded_event_logs.sql index 7360a91..d5b365a 100644 --- a/models/gold/core/core__ez_decoded_event_logs.sql +++ b/models/gold/core/core__ez_decoded_event_logs.sql @@ -3,7 +3,7 @@ unique_key = "ez_decoded_event_logs_id", incremental_strategy = 'delete+insert', cluster_by = "block_timestamp::date", - incremental_predicates = ["dynamic_range", "block_number"], + incremental_predicates = [standard_predicate()], post_hook = "ALTER TABLE {{ this }} ADD SEARCH OPTIMIZATION ON EQUALITY(ez_decoded_event_logs_id, contract_name, contract_address)", tags = ['decoded_logs'] ) }}