From b52f79a7eb2b2ec1de5fd45b40c7e34619bc0bb4 Mon Sep 17 00:00:00 2001 From: drethereum <71602799+drethereum@users.noreply.github.com> Date: Tue, 3 Jan 2023 14:06:56 -0700 Subject: [PATCH] AN-2582/unique-key-tx-test (#29) * changed unique key in logs and traces and added new test in logs * added dbt-env to gitignore for SSO functionality * added .env to .gitignore to match current file * fixed typo --- .gitignore | 1 + macros/tests/tx_block_count.sql | 14 ++++++++++++++ models/silver/silver__logs.sql | 5 +++-- models/silver/silver__logs.yml | 4 ++++ models/silver/silver__traces.sql | 5 +++-- 5 files changed, 25 insertions(+), 4 deletions(-) create mode 100644 macros/tests/tx_block_count.sql diff --git a/.gitignore b/.gitignore index d2045f4..2b1b09f 100644 --- a/.gitignore +++ b/.gitignore @@ -14,4 +14,5 @@ logs/ .history/ **/.DS_Store .vscode/ +dbt-env/ .env \ No newline at end of file diff --git a/macros/tests/tx_block_count.sql b/macros/tests/tx_block_count.sql new file mode 100644 index 0000000..fac6ce1 --- /dev/null +++ b/macros/tests/tx_block_count.sql @@ -0,0 +1,14 @@ +{% test tx_block_count( + model, + column_name +) %} + +SELECT + {{ column_name }}, + COUNT(DISTINCT block_number) AS num_blocks +FROM + {{ model }} +GROUP BY {{ column_name }} +HAVING num_blocks > 1 + +{% endtest %} \ No newline at end of file diff --git a/models/silver/silver__logs.sql b/models/silver/silver__logs.sql index 08cd471..ca6546c 100644 --- a/models/silver/silver__logs.sql +++ b/models/silver/silver__logs.sql @@ -1,7 +1,8 @@ {{ config( materialized = 'incremental', - unique_key = "_log_id", - cluster_by = ['block_timestamp::DATE'] + unique_key = 'tx_hash', + cluster_by = ['block_timestamp::DATE'], + incremental_strategy = 'delete+insert' ) }} WITH base_txs AS ( diff --git a/models/silver/silver__logs.yml b/models/silver/silver__logs.yml index 7507428..3809356 100644 --- a/models/silver/silver__logs.yml +++ b/models/silver/silver__logs.yml @@ -32,6 +32,10 @@ models: - not_null - dbt_expectations.expect_column_values_to_match_regex: regex: 0[xX][0-9a-fA-F]+ + - tx_block_count: + config: + severity: error + error_if: "!=0" - name: EVENT_INDEX tests: - not_null diff --git a/models/silver/silver__traces.sql b/models/silver/silver__traces.sql index 955290f..1b45b90 100644 --- a/models/silver/silver__traces.sql +++ b/models/silver/silver__traces.sql @@ -1,7 +1,8 @@ {{ config( materialized = 'incremental', - unique_key = '_call_id', - cluster_by = ['block_timestamp::DATE'] + unique_key = 'tx_hash', + cluster_by = ['block_timestamp::DATE'], + incremental_strategy = 'delete+insert' ) }} WITH new_blocks AS (