From 0ad6e2cd61605c988e80be5b4f86b71906627de7 Mon Sep 17 00:00:00 2001 From: Yuna Tang <129704116+yuna-tang@users.noreply.github.com> Date: Fri, 30 Jun 2023 11:00:16 +1000 Subject: [PATCH 1/7] bugfix: add additional columns for dbt_utils.unique_combination_of_columns, we can run multiple keyword_id,ad_group_id and campaign_id for the same search_term_text & date_day --- models/apple_search_ads.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/models/apple_search_ads.yml b/models/apple_search_ads.yml index 6e08d29..5818e6c 100644 --- a/models/apple_search_ads.yml +++ b/models/apple_search_ads.yml @@ -236,6 +236,9 @@ models: combination_of_columns: - search_term_text - date_day + - keyword_id + - ad_group_id + - campaign_id columns: - name: organization_id description: Organization ID associated with this record. From 215e8302b3250417443465df1b31af376684189f Mon Sep 17 00:00:00 2001 From: Yuna Tang <129704116+yuna-tang@users.noreply.github.com> Date: Fri, 30 Jun 2023 11:14:41 +1000 Subject: [PATCH 2/7] update changeglog for bugfix #16 for apple_search_ads__search_term_report --- CHANGELOG.md | 5 ++++- dbt_project.yml | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1be35b6..8f6d0c4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -46,4 +46,7 @@ # dbt_apple_search_ads v0.1.0 ## Initial Release -- This is the initial release of this package. For more information refer to the [README](/README.md). \ No newline at end of file +- This is the initial release of this package. For more information refer to the [README](/README.md). + +## bugfix #[#16](https://github.com/fivetran/dbt_apple_search_ads/issues/16) +- Added additional columns in dbt_utils.unique_combination_of_columns test for apple_search_ads__search_term_report as we can run multiple keyword_id,ad_group_id and campaign_id for the same search_term_text & date_day \ No newline at end of file diff --git a/dbt_project.yml b/dbt_project.yml index 5f9edc0..0d80984 100644 --- a/dbt_project.yml +++ b/dbt_project.yml @@ -1,5 +1,5 @@ name: 'apple_search_ads' -version: '0.2.0' +version: '0.2.1' config-version: 2 require-dbt-version: [">=1.3.0", "<2.0.0"] vars: From 5a5c4fa35e2aecf0089318ddb7e04bfc6fd2dc7b Mon Sep 17 00:00:00 2001 From: fivetran-reneeli Date: Mon, 3 Jul 2023 11:31:13 -0400 Subject: [PATCH 3/7] start new branch --- dbt_apple_search_ads | 1 + 1 file changed, 1 insertion(+) create mode 160000 dbt_apple_search_ads diff --git a/dbt_apple_search_ads b/dbt_apple_search_ads new file mode 160000 index 0000000..215e830 --- /dev/null +++ b/dbt_apple_search_ads @@ -0,0 +1 @@ +Subproject commit 215e8302b3250417443465df1b31af376684189f From f7a9991c7fee2b035110844af3756b3bde5e970a Mon Sep 17 00:00:00 2001 From: fivetran-reneeli Date: Mon, 3 Jul 2023 11:54:39 -0400 Subject: [PATCH 4/7] documentation --- CHANGELOG.md | 26 ++++++++++++++++++-------- integration_tests/dbt_project.yml | 2 +- models/apple_search_ads.yml | 2 ++ 3 files changed, 21 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8f6d0c4..bd04ed2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,9 +1,22 @@ -# dbt_apple_search_ads v0.UPDATE.UPDATE +# dbt_apple_search_ads v0.2.1 +## Bugfix: +- Added the following additional columns in dbt_utils.unique_combination_of_columns test for `apple_search_ads__search_term_report` ([PR #18](https://github.com/fivetran/dbt_apple_search_ads/pull/18)): - ## Under the Hood: + - keyword_id + - ad_group_id + - campaign_id + - organization_id + - match_type + +## Under the Hood: + +- Incorporated the new `fivetran_utils.drop_schemas_automation` macro into the end of each Buildkite integration test job. ([PR #15](https://github.com/fivetran/dbt_apple_search_ads/pull/15)) +- Updated the pull request [templates](/.github). ([PR #15](https://github.com/fivetran/dbt_apple_search_ads/pull/15)) + +## Contributors: + +- [@yuna-tang](https://github.com/yuna-tang) ([PR #17](https://github.com/fivetran/dbt_apple_search_ads/pull/17)) -- Incorporated the new `fivetran_utils.drop_schemas_automation` macro into the end of each Buildkite integration test job. -- Updated the pull request [templates](/.github). # dbt_apple_search_ads v0.2.0 ## 🚨 Breaking Changes 🚨: @@ -46,7 +59,4 @@ # dbt_apple_search_ads v0.1.0 ## Initial Release -- This is the initial release of this package. For more information refer to the [README](/README.md). - -## bugfix #[#16](https://github.com/fivetran/dbt_apple_search_ads/issues/16) -- Added additional columns in dbt_utils.unique_combination_of_columns test for apple_search_ads__search_term_report as we can run multiple keyword_id,ad_group_id and campaign_id for the same search_term_text & date_day \ No newline at end of file +- This is the initial release of this package. For more information refer to the [README](/README.md). \ No newline at end of file diff --git a/integration_tests/dbt_project.yml b/integration_tests/dbt_project.yml index 8a53efe..3e5f04d 100644 --- a/integration_tests/dbt_project.yml +++ b/integration_tests/dbt_project.yml @@ -1,7 +1,7 @@ config-version: 2 name: 'apple_search_ads_integration_tests' -version: '0.2.0' +version: '0.2.1' profile: 'integration_tests' diff --git a/models/apple_search_ads.yml b/models/apple_search_ads.yml index 5818e6c..75027c8 100644 --- a/models/apple_search_ads.yml +++ b/models/apple_search_ads.yml @@ -235,10 +235,12 @@ models: - dbt_utils.unique_combination_of_columns: combination_of_columns: - search_term_text + - match_type - date_day - keyword_id - ad_group_id - campaign_id + - organization_id columns: - name: organization_id description: Organization ID associated with this record. From d4a3e846d027522e2986c28df282f827c519eade Mon Sep 17 00:00:00 2001 From: fivetran-reneeli Date: Thu, 6 Jul 2023 13:54:48 -0500 Subject: [PATCH 5/7] updates --- CHANGELOG.md | 5 +++-- dbt_apple_search_ads | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) delete mode 160000 dbt_apple_search_ads diff --git a/CHANGELOG.md b/CHANGELOG.md index bd04ed2..12e9fca 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,8 @@ # dbt_apple_search_ads v0.2.1 ## Bugfix: -- Added the following additional columns in dbt_utils.unique_combination_of_columns test for `apple_search_ads__search_term_report` ([PR #18](https://github.com/fivetran/dbt_apple_search_ads/pull/18)): - +- Updated the dbt_utils.unique_combination_of_columns test for the `apple_search_ads__search_term_report` to include the following fields. ([PR #18](https://github.com/fivetran/dbt_apple_search_ads/pull/18)): + - date_day + - search_term_text - keyword_id - ad_group_id - campaign_id diff --git a/dbt_apple_search_ads b/dbt_apple_search_ads deleted file mode 160000 index 215e830..0000000 --- a/dbt_apple_search_ads +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 215e8302b3250417443465df1b31af376684189f From 7e322fa05dfef8e3cc8e248d55806d2350da9266 Mon Sep 17 00:00:00 2001 From: fivetran-reneeli Date: Fri, 7 Jul 2023 11:03:24 -0500 Subject: [PATCH 6/7] docs --- docs/catalog.json | 2 +- docs/index.html | 4 ++-- docs/manifest.json | 2 +- docs/run_results.json | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/catalog.json b/docs/catalog.json index 1d68565..befc46b 100644 --- a/docs/catalog.json +++ b/docs/catalog.json @@ -1 +1 @@ -{"metadata": {"dbt_schema_version": "https://schemas.getdbt.com/dbt/catalog/v1.json", "dbt_version": "1.3.0", "generated_at": "2022-12-20T03:04:53.501949Z", "invocation_id": "813fddce-ccfb-4c9e-be0f-4fb5725e66b7", "env": {}}, "nodes": {"seed.apple_search_ads_integration_tests.ad_group_history_data": {"metadata": {"type": "BASE TABLE", "schema": "apple_search_ads_integration_tests", "name": "ad_group_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "modification_time": {"type": "timestamp without time zone", "index": 2, "name": "modification_time", "comment": null}, "automated_keywords_opt_in": {"type": "boolean", "index": 3, "name": "automated_keywords_opt_in", "comment": null}, "campaign_id": {"type": "integer", "index": 4, "name": "campaign_id", "comment": null}, "cpa_goal_amount": {"type": "integer", "index": 5, "name": "cpa_goal_amount", "comment": null}, "cpa_goal_currency": {"type": "integer", "index": 6, "name": "cpa_goal_currency", "comment": null}, "default_cpc_bid_amount": {"type": "integer", "index": 7, "name": "default_cpc_bid_amount", "comment": null}, "default_cpc_bid_currency": {"type": "integer", "index": 8, "name": "default_cpc_bid_currency", "comment": null}, "deleted": {"type": "boolean", "index": 9, "name": "deleted", "comment": null}, "end_time": {"type": "timestamp without time zone", "index": 10, "name": "end_time", "comment": null}, "name": {"type": "text", "index": 11, "name": "name", "comment": null}, "organization_id": {"type": "integer", "index": 12, "name": "organization_id", "comment": null}, "serving_state_reasons": {"type": "integer", "index": 13, "name": "serving_state_reasons", "comment": null}, "serving_status": {"type": "text", "index": 14, "name": "serving_status", "comment": null}, "start_time": {"type": "timestamp without time zone", "index": 15, "name": "start_time", "comment": null}, "status": {"type": "text", "index": 16, "name": "status", "comment": null}, "storefronts": {"type": "integer", "index": 17, "name": "storefronts", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.apple_search_ads_integration_tests.ad_group_history_data"}, "seed.apple_search_ads_integration_tests.ad_group_report_data": {"metadata": {"type": "BASE TABLE", "schema": "apple_search_ads_integration_tests", "name": "ad_group_report_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"ad_group_id": {"type": "integer", "index": 1, "name": "ad_group_id", "comment": null}, "date": {"type": "date", "index": 2, "name": "date", "comment": null}, "avg_cpa_amount": {"type": "double precision", "index": 3, "name": "avg_cpa_amount", "comment": null}, "avg_cpa_currency": {"type": "text", "index": 4, "name": "avg_cpa_currency", "comment": null}, "avg_cpt_amount": {"type": "double precision", "index": 5, "name": "avg_cpt_amount", "comment": null}, "avg_cpt_currency": {"type": "text", "index": 6, "name": "avg_cpt_currency", "comment": null}, "conversion_rate": {"type": "double precision", "index": 7, "name": "conversion_rate", "comment": null}, "conversions": {"type": "integer", "index": 8, "name": "conversions", "comment": null}, "impressions": {"type": "integer", "index": 9, "name": "impressions", "comment": null}, "lat_off_installs": {"type": "integer", "index": 10, "name": "lat_off_installs", "comment": null}, "lat_on_installs": {"type": "integer", "index": 11, "name": "lat_on_installs", "comment": null}, "local_spend_amount": {"type": "double precision", "index": 12, "name": "local_spend_amount", "comment": null}, "local_spend_currency": {"type": "text", "index": 13, "name": "local_spend_currency", "comment": null}, "new_downloads": {"type": "integer", "index": 14, "name": "new_downloads", "comment": null}, "redownloads": {"type": "integer", "index": 15, "name": "redownloads", "comment": null}, "tap_through_rate": {"type": "double precision", "index": 16, "name": "tap_through_rate", "comment": null}, "taps": {"type": "integer", "index": 17, "name": "taps", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.apple_search_ads_integration_tests.ad_group_report_data"}, "seed.apple_search_ads_integration_tests.ad_history_data": {"metadata": {"type": "BASE TABLE", "schema": "apple_search_ads_integration_tests", "name": "ad_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"creation_time": {"type": "timestamp without time zone", "index": 1, "name": "creation_time", "comment": null}, "modification_time": {"type": "timestamp without time zone", "index": 2, "name": "modification_time", "comment": null}, "org_id": {"type": "integer", "index": 3, "name": "org_id", "comment": null}, "campaign_id": {"type": "integer", "index": 4, "name": "campaign_id", "comment": null}, "ad_group_id": {"type": "integer", "index": 5, "name": "ad_group_id", "comment": null}, "name": {"type": "text", "index": 6, "name": "name", "comment": null}, "id": {"type": "integer", "index": 7, "name": "id", "comment": null}, "creative_id": {"type": "integer", "index": 8, "name": "creative_id", "comment": null}, "creative_type": {"type": "text", "index": 9, "name": "creative_type", "comment": null}, "status": {"type": "text", "index": 10, "name": "status", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.apple_search_ads_integration_tests.ad_history_data"}, "seed.apple_search_ads_integration_tests.ad_report_data": {"metadata": {"type": "BASE TABLE", "schema": "apple_search_ads_integration_tests", "name": "ad_report_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date": {"type": "date", "index": 1, "name": "date", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "campaign_id": {"type": "integer", "index": 3, "name": "campaign_id", "comment": null}, "ad_group_id": {"type": "integer", "index": 4, "name": "ad_group_id", "comment": null}, "ad_id": {"type": "integer", "index": 5, "name": "ad_id", "comment": null}, "impressions": {"type": "integer", "index": 6, "name": "impressions", "comment": null}, "local_spend_amount": {"type": "double precision", "index": 7, "name": "local_spend_amount", "comment": null}, "local_spend_currency": {"type": "text", "index": 8, "name": "local_spend_currency", "comment": null}, "new_downloads": {"type": "integer", "index": 9, "name": "new_downloads", "comment": null}, "redownloads": {"type": "integer", "index": 10, "name": "redownloads", "comment": null}, "taps": {"type": "integer", "index": 11, "name": "taps", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.apple_search_ads_integration_tests.ad_report_data"}, "seed.apple_search_ads_integration_tests.campaign_history_data": {"metadata": {"type": "BASE TABLE", "schema": "apple_search_ads_integration_tests", "name": "campaign_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "modification_time": {"type": "timestamp without time zone", "index": 2, "name": "modification_time", "comment": null}, "adam_id": {"type": "integer", "index": 3, "name": "adam_id", "comment": null}, "budget_amount": {"type": "integer", "index": 4, "name": "budget_amount", "comment": null}, "budget_currency": {"type": "text", "index": 5, "name": "budget_currency", "comment": null}, "budget_orders": {"type": "text", "index": 6, "name": "budget_orders", "comment": null}, "daily_budget_amount": {"type": "integer", "index": 7, "name": "daily_budget_amount", "comment": null}, "daily_budget_currency": {"type": "text", "index": 8, "name": "daily_budget_currency", "comment": null}, "deleted": {"type": "boolean", "index": 9, "name": "deleted", "comment": null}, "end_time": {"type": "timestamp without time zone", "index": 10, "name": "end_time", "comment": null}, "loc_invoice_detail_buyer_email": {"type": "integer", "index": 11, "name": "loc_invoice_detail_buyer_email", "comment": null}, "loc_invoice_detail_buyer_name": {"type": "integer", "index": 12, "name": "loc_invoice_detail_buyer_name", "comment": null}, "loc_invoice_detail_client_name": {"type": "integer", "index": 13, "name": "loc_invoice_detail_client_name", "comment": null}, "loc_invoice_detail_order_number": {"type": "integer", "index": 14, "name": "loc_invoice_detail_order_number", "comment": null}, "name": {"type": "text", "index": 15, "name": "name", "comment": null}, "organization_id": {"type": "integer", "index": 16, "name": "organization_id", "comment": null}, "payment_model": {"type": "text", "index": 17, "name": "payment_model", "comment": null}, "serving_state_reasons": {"type": "text", "index": 18, "name": "serving_state_reasons", "comment": null}, "serving_status": {"type": "text", "index": 19, "name": "serving_status", "comment": null}, "start_time": {"type": "timestamp without time zone", "index": 20, "name": "start_time", "comment": null}, "status": {"type": "text", "index": 21, "name": "status", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.apple_search_ads_integration_tests.campaign_history_data"}, "seed.apple_search_ads_integration_tests.campaign_report_data": {"metadata": {"type": "BASE TABLE", "schema": "apple_search_ads_integration_tests", "name": "campaign_report_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date": {"type": "date", "index": 1, "name": "date", "comment": null}, "id": {"type": "integer", "index": 2, "name": "id", "comment": null}, "avg_cpa_amount": {"type": "double precision", "index": 3, "name": "avg_cpa_amount", "comment": null}, "avg_cpa_currency": {"type": "text", "index": 4, "name": "avg_cpa_currency", "comment": null}, "avg_cpt_amount": {"type": "double precision", "index": 5, "name": "avg_cpt_amount", "comment": null}, "avg_cpt_currency": {"type": "text", "index": 6, "name": "avg_cpt_currency", "comment": null}, "conversion_rate": {"type": "double precision", "index": 7, "name": "conversion_rate", "comment": null}, "conversions": {"type": "integer", "index": 8, "name": "conversions", "comment": null}, "impressions": {"type": "integer", "index": 9, "name": "impressions", "comment": null}, "lat_off_installs": {"type": "integer", "index": 10, "name": "lat_off_installs", "comment": null}, "lat_on_installs": {"type": "integer", "index": 11, "name": "lat_on_installs", "comment": null}, "local_spend_amount": {"type": "double precision", "index": 12, "name": "local_spend_amount", "comment": null}, "local_spend_currency": {"type": "text", "index": 13, "name": "local_spend_currency", "comment": null}, "new_downloads": {"type": "integer", "index": 14, "name": "new_downloads", "comment": null}, "redownloads": {"type": "integer", "index": 15, "name": "redownloads", "comment": null}, "tap_through_rate": {"type": "double precision", "index": 16, "name": "tap_through_rate", "comment": null}, "taps": {"type": "integer", "index": 17, "name": "taps", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.apple_search_ads_integration_tests.campaign_report_data"}, "seed.apple_search_ads_integration_tests.keyword_history_data": {"metadata": {"type": "BASE TABLE", "schema": "apple_search_ads_integration_tests", "name": "keyword_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "modification_time": {"type": "timestamp without time zone", "index": 2, "name": "modification_time", "comment": null}, "ad_group_id": {"type": "integer", "index": 3, "name": "ad_group_id", "comment": null}, "bid_amount": {"type": "double precision", "index": 4, "name": "bid_amount", "comment": null}, "bid_currency": {"type": "text", "index": 5, "name": "bid_currency", "comment": null}, "campaign_id": {"type": "integer", "index": 6, "name": "campaign_id", "comment": null}, "deleted": {"type": "boolean", "index": 7, "name": "deleted", "comment": null}, "match_type": {"type": "text", "index": 8, "name": "match_type", "comment": null}, "status": {"type": "text", "index": 9, "name": "status", "comment": null}, "text": {"type": "text", "index": 10, "name": "text", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.apple_search_ads_integration_tests.keyword_history_data"}, "seed.apple_search_ads_integration_tests.keyword_report_data": {"metadata": {"type": "BASE TABLE", "schema": "apple_search_ads_integration_tests", "name": "keyword_report_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date": {"type": "date", "index": 1, "name": "date", "comment": null}, "id": {"type": "integer", "index": 2, "name": "id", "comment": null}, "avg_cpa_amount": {"type": "double precision", "index": 3, "name": "avg_cpa_amount", "comment": null}, "avg_cpa_currency": {"type": "text", "index": 4, "name": "avg_cpa_currency", "comment": null}, "avg_cpt_amount": {"type": "double precision", "index": 5, "name": "avg_cpt_amount", "comment": null}, "avg_cpt_currency": {"type": "text", "index": 6, "name": "avg_cpt_currency", "comment": null}, "conversion_rate": {"type": "double precision", "index": 7, "name": "conversion_rate", "comment": null}, "conversions": {"type": "integer", "index": 8, "name": "conversions", "comment": null}, "impressions": {"type": "integer", "index": 9, "name": "impressions", "comment": null}, "lat_off_installs": {"type": "integer", "index": 10, "name": "lat_off_installs", "comment": null}, "lat_on_installs": {"type": "integer", "index": 11, "name": "lat_on_installs", "comment": null}, "local_spend_amount": {"type": "double precision", "index": 12, "name": "local_spend_amount", "comment": null}, "local_spend_currency": {"type": "text", "index": 13, "name": "local_spend_currency", "comment": null}, "new_downloads": {"type": "integer", "index": 14, "name": "new_downloads", "comment": null}, "redownloads": {"type": "integer", "index": 15, "name": "redownloads", "comment": null}, "tap_through_rate": {"type": "double precision", "index": 16, "name": "tap_through_rate", "comment": null}, "taps": {"type": "integer", "index": 17, "name": "taps", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.apple_search_ads_integration_tests.keyword_report_data"}, "seed.apple_search_ads_integration_tests.organization_data": {"metadata": {"type": "BASE TABLE", "schema": "apple_search_ads_integration_tests", "name": "organization_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "currency": {"type": "text", "index": 2, "name": "currency", "comment": null}, "name": {"type": "text", "index": 3, "name": "name", "comment": null}, "payment_model": {"type": "text", "index": 4, "name": "payment_model", "comment": null}, "role_names": {"type": "text", "index": 5, "name": "role_names", "comment": null}, "time_zone": {"type": "text", "index": 6, "name": "time_zone", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.apple_search_ads_integration_tests.organization_data"}, "seed.apple_search_ads_integration_tests.search_term_report_data": {"metadata": {"type": "BASE TABLE", "schema": "apple_search_ads_integration_tests", "name": "search_term_report_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"_fivetran_id": {"type": "text", "index": 1, "name": "_fivetran_id", "comment": null}, "ad_group_id": {"type": "integer", "index": 2, "name": "ad_group_id", "comment": null}, "campaign_id": {"type": "integer", "index": 3, "name": "campaign_id", "comment": null}, "date": {"type": "date", "index": 4, "name": "date", "comment": null}, "ad_group_deleted": {"type": "boolean", "index": 5, "name": "ad_group_deleted", "comment": null}, "ad_group_name": {"type": "text", "index": 6, "name": "ad_group_name", "comment": null}, "avg_cpa_amount": {"type": "double precision", "index": 7, "name": "avg_cpa_amount", "comment": null}, "avg_cpa_currency": {"type": "text", "index": 8, "name": "avg_cpa_currency", "comment": null}, "avg_cpt_amount": {"type": "double precision", "index": 9, "name": "avg_cpt_amount", "comment": null}, "avg_cpt_currency": {"type": "text", "index": 10, "name": "avg_cpt_currency", "comment": null}, "bid_amount_amount": {"type": "double precision", "index": 11, "name": "bid_amount_amount", "comment": null}, "bid_amount_currency": {"type": "text", "index": 12, "name": "bid_amount_currency", "comment": null}, "conversion_rate": {"type": "double precision", "index": 13, "name": "conversion_rate", "comment": null}, "conversions": {"type": "integer", "index": 14, "name": "conversions", "comment": null}, "deleted": {"type": "boolean", "index": 15, "name": "deleted", "comment": null}, "impressions": {"type": "integer", "index": 16, "name": "impressions", "comment": null}, "keyword": {"type": "text", "index": 17, "name": "keyword", "comment": null}, "keyword_display_status": {"type": "text", "index": 18, "name": "keyword_display_status", "comment": null}, "keyword_id": {"type": "integer", "index": 19, "name": "keyword_id", "comment": null}, "lat_off_installs": {"type": "integer", "index": 20, "name": "lat_off_installs", "comment": null}, "lat_on_installs": {"type": "integer", "index": 21, "name": "lat_on_installs", "comment": null}, "local_spend_amount": {"type": "double precision", "index": 22, "name": "local_spend_amount", "comment": null}, "local_spend_currency": {"type": "text", "index": 23, "name": "local_spend_currency", "comment": null}, "match_type": {"type": "text", "index": 24, "name": "match_type", "comment": null}, "new_downloads": {"type": "integer", "index": 25, "name": "new_downloads", "comment": null}, "redownloads": {"type": "integer", "index": 26, "name": "redownloads", "comment": null}, "search_term_source": {"type": "text", "index": 27, "name": "search_term_source", "comment": null}, "search_term_text": {"type": "text", "index": 28, "name": "search_term_text", "comment": null}, "tap_through_rate": {"type": "double precision", "index": 29, "name": "tap_through_rate", "comment": null}, "taps": {"type": "integer", "index": 30, "name": "taps", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.apple_search_ads_integration_tests.search_term_report_data"}, "model.apple_search_ads.apple_search_ads__ad_group_report": {"metadata": {"type": "BASE TABLE", "schema": "apple_search_ads_integration_tests_apple_search_ads", "name": "apple_search_ads__ad_group_report", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date_day": {"type": "date", "index": 1, "name": "date_day", "comment": null}, "organization_id": {"type": "integer", "index": 2, "name": "organization_id", "comment": null}, "organization_name": {"type": "text", "index": 3, "name": "organization_name", "comment": null}, "campaign_id": {"type": "integer", "index": 4, "name": "campaign_id", "comment": null}, "campaign_name": {"type": "text", "index": 5, "name": "campaign_name", "comment": null}, "ad_group_id": {"type": "integer", "index": 6, "name": "ad_group_id", "comment": null}, "ad_group_name": {"type": "text", "index": 7, "name": "ad_group_name", "comment": null}, "currency": {"type": "text", "index": 8, "name": "currency", "comment": null}, "ad_group_status": {"type": "text", "index": 9, "name": "ad_group_status", "comment": null}, "start_at": {"type": "timestamp without time zone", "index": 10, "name": "start_at", "comment": null}, "end_at": {"type": "timestamp without time zone", "index": 11, "name": "end_at", "comment": null}, "taps": {"type": "bigint", "index": 12, "name": "taps", "comment": null}, "new_downloads": {"type": "bigint", "index": 13, "name": "new_downloads", "comment": null}, "redownloads": {"type": "bigint", "index": 14, "name": "redownloads", "comment": null}, "total_downloads": {"type": "bigint", "index": 15, "name": "total_downloads", "comment": null}, "impressions": {"type": "bigint", "index": 16, "name": "impressions", "comment": null}, "spend": {"type": "double precision", "index": 17, "name": "spend", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.apple_search_ads.apple_search_ads__ad_group_report"}, "model.apple_search_ads.apple_search_ads__ad_report": {"metadata": {"type": "BASE TABLE", "schema": "apple_search_ads_integration_tests_apple_search_ads", "name": "apple_search_ads__ad_report", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date_day": {"type": "date", "index": 1, "name": "date_day", "comment": null}, "organization_id": {"type": "integer", "index": 2, "name": "organization_id", "comment": null}, "organization_name": {"type": "text", "index": 3, "name": "organization_name", "comment": null}, "campaign_id": {"type": "integer", "index": 4, "name": "campaign_id", "comment": null}, "campaign_name": {"type": "text", "index": 5, "name": "campaign_name", "comment": null}, "ad_group_id": {"type": "integer", "index": 6, "name": "ad_group_id", "comment": null}, "ad_group_name": {"type": "text", "index": 7, "name": "ad_group_name", "comment": null}, "ad_id": {"type": "integer", "index": 8, "name": "ad_id", "comment": null}, "ad_name": {"type": "text", "index": 9, "name": "ad_name", "comment": null}, "currency": {"type": "text", "index": 10, "name": "currency", "comment": null}, "ad_status": {"type": "text", "index": 11, "name": "ad_status", "comment": null}, "taps": {"type": "bigint", "index": 12, "name": "taps", "comment": null}, "new_downloads": {"type": "bigint", "index": 13, "name": "new_downloads", "comment": null}, "redownloads": {"type": "bigint", "index": 14, "name": "redownloads", "comment": null}, "total_downloads": {"type": "bigint", "index": 15, "name": "total_downloads", "comment": null}, "impressions": {"type": "bigint", "index": 16, "name": "impressions", "comment": null}, "spend": {"type": "double precision", "index": 17, "name": "spend", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.apple_search_ads.apple_search_ads__ad_report"}, "model.apple_search_ads.apple_search_ads__campaign_report": {"metadata": {"type": "BASE TABLE", "schema": "apple_search_ads_integration_tests_apple_search_ads", "name": "apple_search_ads__campaign_report", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date_day": {"type": "date", "index": 1, "name": "date_day", "comment": null}, "organization_id": {"type": "integer", "index": 2, "name": "organization_id", "comment": null}, "organization_name": {"type": "text", "index": 3, "name": "organization_name", "comment": null}, "campaign_id": {"type": "integer", "index": 4, "name": "campaign_id", "comment": null}, "campaign_name": {"type": "text", "index": 5, "name": "campaign_name", "comment": null}, "currency": {"type": "text", "index": 6, "name": "currency", "comment": null}, "campaign_status": {"type": "text", "index": 7, "name": "campaign_status", "comment": null}, "start_at": {"type": "timestamp without time zone", "index": 8, "name": "start_at", "comment": null}, "end_at": {"type": "timestamp without time zone", "index": 9, "name": "end_at", "comment": null}, "taps": {"type": "bigint", "index": 10, "name": "taps", "comment": null}, "new_downloads": {"type": "bigint", "index": 11, "name": "new_downloads", "comment": null}, "redownloads": {"type": "bigint", "index": 12, "name": "redownloads", "comment": null}, "total_downloads": {"type": "bigint", "index": 13, "name": "total_downloads", "comment": null}, "impressions": {"type": "bigint", "index": 14, "name": "impressions", "comment": null}, "spend": {"type": "double precision", "index": 15, "name": "spend", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.apple_search_ads.apple_search_ads__campaign_report"}, "model.apple_search_ads.apple_search_ads__keyword_report": {"metadata": {"type": "BASE TABLE", "schema": "apple_search_ads_integration_tests_apple_search_ads", "name": "apple_search_ads__keyword_report", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date_day": {"type": "date", "index": 1, "name": "date_day", "comment": null}, "organization_id": {"type": "integer", "index": 2, "name": "organization_id", "comment": null}, "organization_name": {"type": "text", "index": 3, "name": "organization_name", "comment": null}, "campaign_id": {"type": "integer", "index": 4, "name": "campaign_id", "comment": null}, "campaign_name": {"type": "text", "index": 5, "name": "campaign_name", "comment": null}, "ad_group_id": {"type": "integer", "index": 6, "name": "ad_group_id", "comment": null}, "ad_group_name": {"type": "text", "index": 7, "name": "ad_group_name", "comment": null}, "keyword_id": {"type": "integer", "index": 8, "name": "keyword_id", "comment": null}, "keyword_text": {"type": "text", "index": 9, "name": "keyword_text", "comment": null}, "match_type": {"type": "text", "index": 10, "name": "match_type", "comment": null}, "currency": {"type": "text", "index": 11, "name": "currency", "comment": null}, "keyword_status": {"type": "text", "index": 12, "name": "keyword_status", "comment": null}, "taps": {"type": "bigint", "index": 13, "name": "taps", "comment": null}, "new_downloads": {"type": "bigint", "index": 14, "name": "new_downloads", "comment": null}, "redownloads": {"type": "bigint", "index": 15, "name": "redownloads", "comment": null}, "total_downloads": {"type": "bigint", "index": 16, "name": "total_downloads", "comment": null}, "impressions": {"type": "bigint", "index": 17, "name": "impressions", "comment": null}, "spend": {"type": "double precision", "index": 18, "name": "spend", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.apple_search_ads.apple_search_ads__keyword_report"}, "model.apple_search_ads.apple_search_ads__organization_report": {"metadata": {"type": "BASE TABLE", "schema": "apple_search_ads_integration_tests_apple_search_ads", "name": "apple_search_ads__organization_report", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date_day": {"type": "date", "index": 1, "name": "date_day", "comment": null}, "organization_id": {"type": "integer", "index": 2, "name": "organization_id", "comment": null}, "organization_name": {"type": "text", "index": 3, "name": "organization_name", "comment": null}, "currency": {"type": "text", "index": 4, "name": "currency", "comment": null}, "taps": {"type": "bigint", "index": 5, "name": "taps", "comment": null}, "new_downloads": {"type": "bigint", "index": 6, "name": "new_downloads", "comment": null}, "redownloads": {"type": "bigint", "index": 7, "name": "redownloads", "comment": null}, "total_downloads": {"type": "bigint", "index": 8, "name": "total_downloads", "comment": null}, "impressions": {"type": "bigint", "index": 9, "name": "impressions", "comment": null}, "spend": {"type": "double precision", "index": 10, "name": "spend", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.apple_search_ads.apple_search_ads__organization_report"}, "model.apple_search_ads.apple_search_ads__search_term_report": {"metadata": {"type": "BASE TABLE", "schema": "apple_search_ads_integration_tests_apple_search_ads", "name": "apple_search_ads__search_term_report", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date_day": {"type": "date", "index": 1, "name": "date_day", "comment": null}, "organization_id": {"type": "integer", "index": 2, "name": "organization_id", "comment": null}, "organization_name": {"type": "text", "index": 3, "name": "organization_name", "comment": null}, "campaign_id": {"type": "integer", "index": 4, "name": "campaign_id", "comment": null}, "campaign_name": {"type": "text", "index": 5, "name": "campaign_name", "comment": null}, "ad_group_id": {"type": "integer", "index": 6, "name": "ad_group_id", "comment": null}, "ad_group_name": {"type": "text", "index": 7, "name": "ad_group_name", "comment": null}, "keyword_id": {"type": "integer", "index": 8, "name": "keyword_id", "comment": null}, "keyword_text": {"type": "text", "index": 9, "name": "keyword_text", "comment": null}, "search_term_text": {"type": "text", "index": 10, "name": "search_term_text", "comment": null}, "match_type": {"type": "text", "index": 11, "name": "match_type", "comment": null}, "currency": {"type": "text", "index": 12, "name": "currency", "comment": null}, "taps": {"type": "bigint", "index": 13, "name": "taps", "comment": null}, "new_downloads": {"type": "bigint", "index": 14, "name": "new_downloads", "comment": null}, "redownloads": {"type": "bigint", "index": 15, "name": "redownloads", "comment": null}, "total_downloads": {"type": "bigint", "index": 16, "name": "total_downloads", "comment": null}, "impressions": {"type": "bigint", "index": 17, "name": "impressions", "comment": null}, "spend": {"type": "double precision", "index": 18, "name": "spend", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.apple_search_ads.apple_search_ads__search_term_report"}, "model.apple_search_ads_source.stg_apple_search_ads__ad_group_history": {"metadata": {"type": "BASE TABLE", "schema": "apple_search_ads_integration_tests_apple_search_ads_source", "name": "stg_apple_search_ads__ad_group_history", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"modified_at": {"type": "timestamp without time zone", "index": 1, "name": "modified_at", "comment": null}, "organization_id": {"type": "integer", "index": 2, "name": "organization_id", "comment": null}, "campaign_id": {"type": "integer", "index": 3, "name": "campaign_id", "comment": null}, "ad_group_name": {"type": "text", "index": 4, "name": "ad_group_name", "comment": null}, "ad_group_id": {"type": "integer", "index": 5, "name": "ad_group_id", "comment": null}, "ad_group_status": {"type": "text", "index": 6, "name": "ad_group_status", "comment": null}, "start_at": {"type": "timestamp without time zone", "index": 7, "name": "start_at", "comment": null}, "end_at": {"type": "timestamp without time zone", "index": 8, "name": "end_at", "comment": null}, "is_most_recent_record": {"type": "boolean", "index": 9, "name": "is_most_recent_record", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__ad_group_history"}, "model.apple_search_ads_source.stg_apple_search_ads__ad_group_history_tmp": {"metadata": {"type": "VIEW", "schema": "apple_search_ads_integration_tests_apple_search_ads_source", "name": "stg_apple_search_ads__ad_group_history_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "modification_time": {"type": "timestamp without time zone", "index": 2, "name": "modification_time", "comment": null}, "automated_keywords_opt_in": {"type": "boolean", "index": 3, "name": "automated_keywords_opt_in", "comment": null}, "campaign_id": {"type": "integer", "index": 4, "name": "campaign_id", "comment": null}, "cpa_goal_amount": {"type": "integer", "index": 5, "name": "cpa_goal_amount", "comment": null}, "cpa_goal_currency": {"type": "integer", "index": 6, "name": "cpa_goal_currency", "comment": null}, "default_cpc_bid_amount": {"type": "integer", "index": 7, "name": "default_cpc_bid_amount", "comment": null}, "default_cpc_bid_currency": {"type": "integer", "index": 8, "name": "default_cpc_bid_currency", "comment": null}, "deleted": {"type": "boolean", "index": 9, "name": "deleted", "comment": null}, "end_time": {"type": "timestamp without time zone", "index": 10, "name": "end_time", "comment": null}, "name": {"type": "text", "index": 11, "name": "name", "comment": null}, "organization_id": {"type": "integer", "index": 12, "name": "organization_id", "comment": null}, "serving_state_reasons": {"type": "integer", "index": 13, "name": "serving_state_reasons", "comment": null}, "serving_status": {"type": "text", "index": 14, "name": "serving_status", "comment": null}, "start_time": {"type": "timestamp without time zone", "index": 15, "name": "start_time", "comment": null}, "status": {"type": "text", "index": 16, "name": "status", "comment": null}, "storefronts": {"type": "integer", "index": 17, "name": "storefronts", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__ad_group_history_tmp"}, "model.apple_search_ads_source.stg_apple_search_ads__ad_group_report": {"metadata": {"type": "BASE TABLE", "schema": "apple_search_ads_integration_tests_apple_search_ads_source", "name": "stg_apple_search_ads__ad_group_report", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date_day": {"type": "date", "index": 1, "name": "date_day", "comment": null}, "ad_group_id": {"type": "integer", "index": 2, "name": "ad_group_id", "comment": null}, "impressions": {"type": "integer", "index": 3, "name": "impressions", "comment": null}, "spend": {"type": "double precision", "index": 4, "name": "spend", "comment": null}, "currency": {"type": "text", "index": 5, "name": "currency", "comment": null}, "new_downloads": {"type": "integer", "index": 6, "name": "new_downloads", "comment": null}, "redownloads": {"type": "integer", "index": 7, "name": "redownloads", "comment": null}, "taps": {"type": "integer", "index": 8, "name": "taps", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__ad_group_report"}, "model.apple_search_ads_source.stg_apple_search_ads__ad_group_report_tmp": {"metadata": {"type": "VIEW", "schema": "apple_search_ads_integration_tests_apple_search_ads_source", "name": "stg_apple_search_ads__ad_group_report_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"ad_group_id": {"type": "integer", "index": 1, "name": "ad_group_id", "comment": null}, "date": {"type": "date", "index": 2, "name": "date", "comment": null}, "avg_cpa_amount": {"type": "double precision", "index": 3, "name": "avg_cpa_amount", "comment": null}, "avg_cpa_currency": {"type": "text", "index": 4, "name": "avg_cpa_currency", "comment": null}, "avg_cpt_amount": {"type": "double precision", "index": 5, "name": "avg_cpt_amount", "comment": null}, "avg_cpt_currency": {"type": "text", "index": 6, "name": "avg_cpt_currency", "comment": null}, "conversion_rate": {"type": "double precision", "index": 7, "name": "conversion_rate", "comment": null}, "conversions": {"type": "integer", "index": 8, "name": "conversions", "comment": null}, "impressions": {"type": "integer", "index": 9, "name": "impressions", "comment": null}, "lat_off_installs": {"type": "integer", "index": 10, "name": "lat_off_installs", "comment": null}, "lat_on_installs": {"type": "integer", "index": 11, "name": "lat_on_installs", "comment": null}, "local_spend_amount": {"type": "double precision", "index": 12, "name": "local_spend_amount", "comment": null}, "local_spend_currency": {"type": "text", "index": 13, "name": "local_spend_currency", "comment": null}, "new_downloads": {"type": "integer", "index": 14, "name": "new_downloads", "comment": null}, "redownloads": {"type": "integer", "index": 15, "name": "redownloads", "comment": null}, "tap_through_rate": {"type": "double precision", "index": 16, "name": "tap_through_rate", "comment": null}, "taps": {"type": "integer", "index": 17, "name": "taps", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__ad_group_report_tmp"}, "model.apple_search_ads_source.stg_apple_search_ads__ad_history": {"metadata": {"type": "BASE TABLE", "schema": "apple_search_ads_integration_tests_apple_search_ads_source", "name": "stg_apple_search_ads__ad_history", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"created_at": {"type": "timestamp without time zone", "index": 1, "name": "created_at", "comment": null}, "modified_at": {"type": "timestamp without time zone", "index": 2, "name": "modified_at", "comment": null}, "organization_id": {"type": "integer", "index": 3, "name": "organization_id", "comment": null}, "campaign_id": {"type": "integer", "index": 4, "name": "campaign_id", "comment": null}, "ad_group_id": {"type": "integer", "index": 5, "name": "ad_group_id", "comment": null}, "ad_name": {"type": "text", "index": 6, "name": "ad_name", "comment": null}, "ad_id": {"type": "integer", "index": 7, "name": "ad_id", "comment": null}, "ad_status": {"type": "text", "index": 8, "name": "ad_status", "comment": null}, "is_most_recent_record": {"type": "boolean", "index": 9, "name": "is_most_recent_record", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__ad_history"}, "model.apple_search_ads_source.stg_apple_search_ads__ad_history_tmp": {"metadata": {"type": "VIEW", "schema": "apple_search_ads_integration_tests_apple_search_ads_source", "name": "stg_apple_search_ads__ad_history_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"creation_time": {"type": "timestamp without time zone", "index": 1, "name": "creation_time", "comment": null}, "modification_time": {"type": "timestamp without time zone", "index": 2, "name": "modification_time", "comment": null}, "org_id": {"type": "integer", "index": 3, "name": "org_id", "comment": null}, "campaign_id": {"type": "integer", "index": 4, "name": "campaign_id", "comment": null}, "ad_group_id": {"type": "integer", "index": 5, "name": "ad_group_id", "comment": null}, "name": {"type": "text", "index": 6, "name": "name", "comment": null}, "id": {"type": "integer", "index": 7, "name": "id", "comment": null}, "creative_id": {"type": "integer", "index": 8, "name": "creative_id", "comment": null}, "creative_type": {"type": "text", "index": 9, "name": "creative_type", "comment": null}, "status": {"type": "text", "index": 10, "name": "status", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__ad_history_tmp"}, "model.apple_search_ads_source.stg_apple_search_ads__ad_report": {"metadata": {"type": "BASE TABLE", "schema": "apple_search_ads_integration_tests_apple_search_ads_source", "name": "stg_apple_search_ads__ad_report", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date_day": {"type": "date", "index": 1, "name": "date_day", "comment": null}, "campaign_id": {"type": "integer", "index": 2, "name": "campaign_id", "comment": null}, "ad_group_id": {"type": "integer", "index": 3, "name": "ad_group_id", "comment": null}, "ad_id": {"type": "integer", "index": 4, "name": "ad_id", "comment": null}, "impressions": {"type": "integer", "index": 5, "name": "impressions", "comment": null}, "spend": {"type": "double precision", "index": 6, "name": "spend", "comment": null}, "currency": {"type": "text", "index": 7, "name": "currency", "comment": null}, "new_downloads": {"type": "integer", "index": 8, "name": "new_downloads", "comment": null}, "redownloads": {"type": "integer", "index": 9, "name": "redownloads", "comment": null}, "taps": {"type": "integer", "index": 10, "name": "taps", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__ad_report"}, "model.apple_search_ads_source.stg_apple_search_ads__ad_report_tmp": {"metadata": {"type": "VIEW", "schema": "apple_search_ads_integration_tests_apple_search_ads_source", "name": "stg_apple_search_ads__ad_report_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date": {"type": "date", "index": 1, "name": "date", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "campaign_id": {"type": "integer", "index": 3, "name": "campaign_id", "comment": null}, "ad_group_id": {"type": "integer", "index": 4, "name": "ad_group_id", "comment": null}, "ad_id": {"type": "integer", "index": 5, "name": "ad_id", "comment": null}, "impressions": {"type": "integer", "index": 6, "name": "impressions", "comment": null}, "local_spend_amount": {"type": "double precision", "index": 7, "name": "local_spend_amount", "comment": null}, "local_spend_currency": {"type": "text", "index": 8, "name": "local_spend_currency", "comment": null}, "new_downloads": {"type": "integer", "index": 9, "name": "new_downloads", "comment": null}, "redownloads": {"type": "integer", "index": 10, "name": "redownloads", "comment": null}, "taps": {"type": "integer", "index": 11, "name": "taps", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__ad_report_tmp"}, "model.apple_search_ads_source.stg_apple_search_ads__campaign_history": {"metadata": {"type": "BASE TABLE", "schema": "apple_search_ads_integration_tests_apple_search_ads_source", "name": "stg_apple_search_ads__campaign_history", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"modified_at": {"type": "timestamp without time zone", "index": 1, "name": "modified_at", "comment": null}, "organization_id": {"type": "integer", "index": 2, "name": "organization_id", "comment": null}, "campaign_name": {"type": "text", "index": 3, "name": "campaign_name", "comment": null}, "campaign_id": {"type": "integer", "index": 4, "name": "campaign_id", "comment": null}, "campaign_status": {"type": "text", "index": 5, "name": "campaign_status", "comment": null}, "start_at": {"type": "timestamp without time zone", "index": 6, "name": "start_at", "comment": null}, "end_at": {"type": "timestamp without time zone", "index": 7, "name": "end_at", "comment": null}, "is_most_recent_record": {"type": "boolean", "index": 8, "name": "is_most_recent_record", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__campaign_history"}, "model.apple_search_ads_source.stg_apple_search_ads__campaign_history_tmp": {"metadata": {"type": "VIEW", "schema": "apple_search_ads_integration_tests_apple_search_ads_source", "name": "stg_apple_search_ads__campaign_history_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "modification_time": {"type": "timestamp without time zone", "index": 2, "name": "modification_time", "comment": null}, "adam_id": {"type": "integer", "index": 3, "name": "adam_id", "comment": null}, "budget_amount": {"type": "integer", "index": 4, "name": "budget_amount", "comment": null}, "budget_currency": {"type": "text", "index": 5, "name": "budget_currency", "comment": null}, "budget_orders": {"type": "text", "index": 6, "name": "budget_orders", "comment": null}, "daily_budget_amount": {"type": "integer", "index": 7, "name": "daily_budget_amount", "comment": null}, "daily_budget_currency": {"type": "text", "index": 8, "name": "daily_budget_currency", "comment": null}, "deleted": {"type": "boolean", "index": 9, "name": "deleted", "comment": null}, "end_time": {"type": "timestamp without time zone", "index": 10, "name": "end_time", "comment": null}, "loc_invoice_detail_buyer_email": {"type": "integer", "index": 11, "name": "loc_invoice_detail_buyer_email", "comment": null}, "loc_invoice_detail_buyer_name": {"type": "integer", "index": 12, "name": "loc_invoice_detail_buyer_name", "comment": null}, "loc_invoice_detail_client_name": {"type": "integer", "index": 13, "name": "loc_invoice_detail_client_name", "comment": null}, "loc_invoice_detail_order_number": {"type": "integer", "index": 14, "name": "loc_invoice_detail_order_number", "comment": null}, "name": {"type": "text", "index": 15, "name": "name", "comment": null}, "organization_id": {"type": "integer", "index": 16, "name": "organization_id", "comment": null}, "payment_model": {"type": "text", "index": 17, "name": "payment_model", "comment": null}, "serving_state_reasons": {"type": "text", "index": 18, "name": "serving_state_reasons", "comment": null}, "serving_status": {"type": "text", "index": 19, "name": "serving_status", "comment": null}, "start_time": {"type": "timestamp without time zone", "index": 20, "name": "start_time", "comment": null}, "status": {"type": "text", "index": 21, "name": "status", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__campaign_history_tmp"}, "model.apple_search_ads_source.stg_apple_search_ads__campaign_report": {"metadata": {"type": "BASE TABLE", "schema": "apple_search_ads_integration_tests_apple_search_ads_source", "name": "stg_apple_search_ads__campaign_report", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date_day": {"type": "date", "index": 1, "name": "date_day", "comment": null}, "campaign_id": {"type": "integer", "index": 2, "name": "campaign_id", "comment": null}, "impressions": {"type": "integer", "index": 3, "name": "impressions", "comment": null}, "spend": {"type": "double precision", "index": 4, "name": "spend", "comment": null}, "currency": {"type": "text", "index": 5, "name": "currency", "comment": null}, "new_downloads": {"type": "integer", "index": 6, "name": "new_downloads", "comment": null}, "redownloads": {"type": "integer", "index": 7, "name": "redownloads", "comment": null}, "taps": {"type": "integer", "index": 8, "name": "taps", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__campaign_report"}, "model.apple_search_ads_source.stg_apple_search_ads__campaign_report_tmp": {"metadata": {"type": "VIEW", "schema": "apple_search_ads_integration_tests_apple_search_ads_source", "name": "stg_apple_search_ads__campaign_report_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date": {"type": "date", "index": 1, "name": "date", "comment": null}, "id": {"type": "integer", "index": 2, "name": "id", "comment": null}, "avg_cpa_amount": {"type": "double precision", "index": 3, "name": "avg_cpa_amount", "comment": null}, "avg_cpa_currency": {"type": "text", "index": 4, "name": "avg_cpa_currency", "comment": null}, "avg_cpt_amount": {"type": "double precision", "index": 5, "name": "avg_cpt_amount", "comment": null}, "avg_cpt_currency": {"type": "text", "index": 6, "name": "avg_cpt_currency", "comment": null}, "conversion_rate": {"type": "double precision", "index": 7, "name": "conversion_rate", "comment": null}, "conversions": {"type": "integer", "index": 8, "name": "conversions", "comment": null}, "impressions": {"type": "integer", "index": 9, "name": "impressions", "comment": null}, "lat_off_installs": {"type": "integer", "index": 10, "name": "lat_off_installs", "comment": null}, "lat_on_installs": {"type": "integer", "index": 11, "name": "lat_on_installs", "comment": null}, "local_spend_amount": {"type": "double precision", "index": 12, "name": "local_spend_amount", "comment": null}, "local_spend_currency": {"type": "text", "index": 13, "name": "local_spend_currency", "comment": null}, "new_downloads": {"type": "integer", "index": 14, "name": "new_downloads", "comment": null}, "redownloads": {"type": "integer", "index": 15, "name": "redownloads", "comment": null}, "tap_through_rate": {"type": "double precision", "index": 16, "name": "tap_through_rate", "comment": null}, "taps": {"type": "integer", "index": 17, "name": "taps", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__campaign_report_tmp"}, "model.apple_search_ads_source.stg_apple_search_ads__keyword_history": {"metadata": {"type": "BASE TABLE", "schema": "apple_search_ads_integration_tests_apple_search_ads_source", "name": "stg_apple_search_ads__keyword_history", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"modified_at": {"type": "timestamp without time zone", "index": 1, "name": "modified_at", "comment": null}, "campaign_id": {"type": "integer", "index": 2, "name": "campaign_id", "comment": null}, "ad_group_id": {"type": "integer", "index": 3, "name": "ad_group_id", "comment": null}, "keyword_id": {"type": "integer", "index": 4, "name": "keyword_id", "comment": null}, "bid_amount": {"type": "double precision", "index": 5, "name": "bid_amount", "comment": null}, "bid_currency": {"type": "text", "index": 6, "name": "bid_currency", "comment": null}, "match_type": {"type": "text", "index": 7, "name": "match_type", "comment": null}, "keyword_status": {"type": "text", "index": 8, "name": "keyword_status", "comment": null}, "keyword_text": {"type": "text", "index": 9, "name": "keyword_text", "comment": null}, "is_most_recent_record": {"type": "boolean", "index": 10, "name": "is_most_recent_record", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__keyword_history"}, "model.apple_search_ads_source.stg_apple_search_ads__keyword_history_tmp": {"metadata": {"type": "VIEW", "schema": "apple_search_ads_integration_tests_apple_search_ads_source", "name": "stg_apple_search_ads__keyword_history_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "modification_time": {"type": "timestamp without time zone", "index": 2, "name": "modification_time", "comment": null}, "ad_group_id": {"type": "integer", "index": 3, "name": "ad_group_id", "comment": null}, "bid_amount": {"type": "double precision", "index": 4, "name": "bid_amount", "comment": null}, "bid_currency": {"type": "text", "index": 5, "name": "bid_currency", "comment": null}, "campaign_id": {"type": "integer", "index": 6, "name": "campaign_id", "comment": null}, "deleted": {"type": "boolean", "index": 7, "name": "deleted", "comment": null}, "match_type": {"type": "text", "index": 8, "name": "match_type", "comment": null}, "status": {"type": "text", "index": 9, "name": "status", "comment": null}, "text": {"type": "text", "index": 10, "name": "text", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__keyword_history_tmp"}, "model.apple_search_ads_source.stg_apple_search_ads__keyword_report": {"metadata": {"type": "BASE TABLE", "schema": "apple_search_ads_integration_tests_apple_search_ads_source", "name": "stg_apple_search_ads__keyword_report", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date_day": {"type": "date", "index": 1, "name": "date_day", "comment": null}, "keyword_id": {"type": "integer", "index": 2, "name": "keyword_id", "comment": null}, "impressions": {"type": "integer", "index": 3, "name": "impressions", "comment": null}, "spend": {"type": "double precision", "index": 4, "name": "spend", "comment": null}, "currency": {"type": "text", "index": 5, "name": "currency", "comment": null}, "new_downloads": {"type": "integer", "index": 6, "name": "new_downloads", "comment": null}, "redownloads": {"type": "integer", "index": 7, "name": "redownloads", "comment": null}, "taps": {"type": "integer", "index": 8, "name": "taps", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__keyword_report"}, "model.apple_search_ads_source.stg_apple_search_ads__keyword_report_tmp": {"metadata": {"type": "VIEW", "schema": "apple_search_ads_integration_tests_apple_search_ads_source", "name": "stg_apple_search_ads__keyword_report_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date": {"type": "date", "index": 1, "name": "date", "comment": null}, "id": {"type": "integer", "index": 2, "name": "id", "comment": null}, "avg_cpa_amount": {"type": "double precision", "index": 3, "name": "avg_cpa_amount", "comment": null}, "avg_cpa_currency": {"type": "text", "index": 4, "name": "avg_cpa_currency", "comment": null}, "avg_cpt_amount": {"type": "double precision", "index": 5, "name": "avg_cpt_amount", "comment": null}, "avg_cpt_currency": {"type": "text", "index": 6, "name": "avg_cpt_currency", "comment": null}, "conversion_rate": {"type": "double precision", "index": 7, "name": "conversion_rate", "comment": null}, "conversions": {"type": "integer", "index": 8, "name": "conversions", "comment": null}, "impressions": {"type": "integer", "index": 9, "name": "impressions", "comment": null}, "lat_off_installs": {"type": "integer", "index": 10, "name": "lat_off_installs", "comment": null}, "lat_on_installs": {"type": "integer", "index": 11, "name": "lat_on_installs", "comment": null}, "local_spend_amount": {"type": "double precision", "index": 12, "name": "local_spend_amount", "comment": null}, "local_spend_currency": {"type": "text", "index": 13, "name": "local_spend_currency", "comment": null}, "new_downloads": {"type": "integer", "index": 14, "name": "new_downloads", "comment": null}, "redownloads": {"type": "integer", "index": 15, "name": "redownloads", "comment": null}, "tap_through_rate": {"type": "double precision", "index": 16, "name": "tap_through_rate", "comment": null}, "taps": {"type": "integer", "index": 17, "name": "taps", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__keyword_report_tmp"}, "model.apple_search_ads_source.stg_apple_search_ads__organization": {"metadata": {"type": "BASE TABLE", "schema": "apple_search_ads_integration_tests_apple_search_ads_source", "name": "stg_apple_search_ads__organization", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"organization_id": {"type": "integer", "index": 1, "name": "organization_id", "comment": null}, "currency": {"type": "text", "index": 2, "name": "currency", "comment": null}, "payment_model": {"type": "text", "index": 3, "name": "payment_model", "comment": null}, "organization_name": {"type": "text", "index": 4, "name": "organization_name", "comment": null}, "time_zone": {"type": "text", "index": 5, "name": "time_zone", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__organization"}, "model.apple_search_ads_source.stg_apple_search_ads__organization_tmp": {"metadata": {"type": "VIEW", "schema": "apple_search_ads_integration_tests_apple_search_ads_source", "name": "stg_apple_search_ads__organization_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "currency": {"type": "text", "index": 2, "name": "currency", "comment": null}, "name": {"type": "text", "index": 3, "name": "name", "comment": null}, "payment_model": {"type": "text", "index": 4, "name": "payment_model", "comment": null}, "role_names": {"type": "text", "index": 5, "name": "role_names", "comment": null}, "time_zone": {"type": "text", "index": 6, "name": "time_zone", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__organization_tmp"}, "model.apple_search_ads_source.stg_apple_search_ads__search_term_report": {"metadata": {"type": "BASE TABLE", "schema": "apple_search_ads_integration_tests_apple_search_ads_source", "name": "stg_apple_search_ads__search_term_report", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date_day": {"type": "date", "index": 1, "name": "date_day", "comment": null}, "_fivetran_id": {"type": "text", "index": 2, "name": "_fivetran_id", "comment": null}, "campaign_id": {"type": "integer", "index": 3, "name": "campaign_id", "comment": null}, "ad_group_id": {"type": "integer", "index": 4, "name": "ad_group_id", "comment": null}, "ad_group_name": {"type": "text", "index": 5, "name": "ad_group_name", "comment": null}, "bid_amount": {"type": "double precision", "index": 6, "name": "bid_amount", "comment": null}, "bid_currency": {"type": "text", "index": 7, "name": "bid_currency", "comment": null}, "keyword_text": {"type": "text", "index": 8, "name": "keyword_text", "comment": null}, "keyword_display_status": {"type": "text", "index": 9, "name": "keyword_display_status", "comment": null}, "keyword_id": {"type": "integer", "index": 10, "name": "keyword_id", "comment": null}, "spend": {"type": "double precision", "index": 11, "name": "spend", "comment": null}, "currency": {"type": "text", "index": 12, "name": "currency", "comment": null}, "match_type": {"type": "text", "index": 13, "name": "match_type", "comment": null}, "search_term_source": {"type": "text", "index": 14, "name": "search_term_source", "comment": null}, "search_term_text": {"type": "text", "index": 15, "name": "search_term_text", "comment": null}, "impressions": {"type": "integer", "index": 16, "name": "impressions", "comment": null}, "taps": {"type": "integer", "index": 17, "name": "taps", "comment": null}, "new_downloads": {"type": "integer", "index": 18, "name": "new_downloads", "comment": null}, "redownloads": {"type": "integer", "index": 19, "name": "redownloads", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__search_term_report"}, "model.apple_search_ads_source.stg_apple_search_ads__search_term_report_tmp": {"metadata": {"type": "VIEW", "schema": "apple_search_ads_integration_tests_apple_search_ads_source", "name": "stg_apple_search_ads__search_term_report_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"_fivetran_id": {"type": "text", "index": 1, "name": "_fivetran_id", "comment": null}, "ad_group_id": {"type": "integer", "index": 2, "name": "ad_group_id", "comment": null}, "campaign_id": {"type": "integer", "index": 3, "name": "campaign_id", "comment": null}, "date": {"type": "date", "index": 4, "name": "date", "comment": null}, "ad_group_deleted": {"type": "boolean", "index": 5, "name": "ad_group_deleted", "comment": null}, "ad_group_name": {"type": "text", "index": 6, "name": "ad_group_name", "comment": null}, "avg_cpa_amount": {"type": "double precision", "index": 7, "name": "avg_cpa_amount", "comment": null}, "avg_cpa_currency": {"type": "text", "index": 8, "name": "avg_cpa_currency", "comment": null}, "avg_cpt_amount": {"type": "double precision", "index": 9, "name": "avg_cpt_amount", "comment": null}, "avg_cpt_currency": {"type": "text", "index": 10, "name": "avg_cpt_currency", "comment": null}, "bid_amount_amount": {"type": "double precision", "index": 11, "name": "bid_amount_amount", "comment": null}, "bid_amount_currency": {"type": "text", "index": 12, "name": "bid_amount_currency", "comment": null}, "conversion_rate": {"type": "double precision", "index": 13, "name": "conversion_rate", "comment": null}, "conversions": {"type": "integer", "index": 14, "name": "conversions", "comment": null}, "deleted": {"type": "boolean", "index": 15, "name": "deleted", "comment": null}, "impressions": {"type": "integer", "index": 16, "name": "impressions", "comment": null}, "keyword": {"type": "text", "index": 17, "name": "keyword", "comment": null}, "keyword_display_status": {"type": "text", "index": 18, "name": "keyword_display_status", "comment": null}, "keyword_id": {"type": "integer", "index": 19, "name": "keyword_id", "comment": null}, "lat_off_installs": {"type": "integer", "index": 20, "name": "lat_off_installs", "comment": null}, "lat_on_installs": {"type": "integer", "index": 21, "name": "lat_on_installs", "comment": null}, "local_spend_amount": {"type": "double precision", "index": 22, "name": "local_spend_amount", "comment": null}, "local_spend_currency": {"type": "text", "index": 23, "name": "local_spend_currency", "comment": null}, "match_type": {"type": "text", "index": 24, "name": "match_type", "comment": null}, "new_downloads": {"type": "integer", "index": 25, "name": "new_downloads", "comment": null}, "redownloads": {"type": "integer", "index": 26, "name": "redownloads", "comment": null}, "search_term_source": {"type": "text", "index": 27, "name": "search_term_source", "comment": null}, "search_term_text": {"type": "text", "index": 28, "name": "search_term_text", "comment": null}, "tap_through_rate": {"type": "double precision", "index": 29, "name": "tap_through_rate", "comment": null}, "taps": {"type": "integer", "index": 30, "name": "taps", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__search_term_report_tmp"}}, "sources": {"source.apple_search_ads_source.apple_search_ads.ad_group_history": {"metadata": {"type": "BASE TABLE", "schema": "apple_search_ads_integration_tests", "name": "ad_group_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "modification_time": {"type": "timestamp without time zone", "index": 2, "name": "modification_time", "comment": null}, "automated_keywords_opt_in": {"type": "boolean", "index": 3, "name": "automated_keywords_opt_in", "comment": null}, "campaign_id": {"type": "integer", "index": 4, "name": "campaign_id", "comment": null}, "cpa_goal_amount": {"type": "integer", "index": 5, "name": "cpa_goal_amount", "comment": null}, "cpa_goal_currency": {"type": "integer", "index": 6, "name": "cpa_goal_currency", "comment": null}, "default_cpc_bid_amount": {"type": "integer", "index": 7, "name": "default_cpc_bid_amount", "comment": null}, "default_cpc_bid_currency": {"type": "integer", "index": 8, "name": "default_cpc_bid_currency", "comment": null}, "deleted": {"type": "boolean", "index": 9, "name": "deleted", "comment": null}, "end_time": {"type": "timestamp without time zone", "index": 10, "name": "end_time", "comment": null}, "name": {"type": "text", "index": 11, "name": "name", "comment": null}, "organization_id": {"type": "integer", "index": 12, "name": "organization_id", "comment": null}, "serving_state_reasons": {"type": "integer", "index": 13, "name": "serving_state_reasons", "comment": null}, "serving_status": {"type": "text", "index": 14, "name": "serving_status", "comment": null}, "start_time": {"type": "timestamp without time zone", "index": 15, "name": "start_time", "comment": null}, "status": {"type": "text", "index": 16, "name": "status", "comment": null}, "storefronts": {"type": "integer", "index": 17, "name": "storefronts", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.apple_search_ads_source.apple_search_ads.ad_group_history"}, "source.apple_search_ads_source.apple_search_ads.ad_group_report": {"metadata": {"type": "BASE TABLE", "schema": "apple_search_ads_integration_tests", "name": "ad_group_report_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"ad_group_id": {"type": "integer", "index": 1, "name": "ad_group_id", "comment": null}, "date": {"type": "date", "index": 2, "name": "date", "comment": null}, "avg_cpa_amount": {"type": "double precision", "index": 3, "name": "avg_cpa_amount", "comment": null}, "avg_cpa_currency": {"type": "text", "index": 4, "name": "avg_cpa_currency", "comment": null}, "avg_cpt_amount": {"type": "double precision", "index": 5, "name": "avg_cpt_amount", "comment": null}, "avg_cpt_currency": {"type": "text", "index": 6, "name": "avg_cpt_currency", "comment": null}, "conversion_rate": {"type": "double precision", "index": 7, "name": "conversion_rate", "comment": null}, "conversions": {"type": "integer", "index": 8, "name": "conversions", "comment": null}, "impressions": {"type": "integer", "index": 9, "name": "impressions", "comment": null}, "lat_off_installs": {"type": "integer", "index": 10, "name": "lat_off_installs", "comment": null}, "lat_on_installs": {"type": "integer", "index": 11, "name": "lat_on_installs", "comment": null}, "local_spend_amount": {"type": "double precision", "index": 12, "name": "local_spend_amount", "comment": null}, "local_spend_currency": {"type": "text", "index": 13, "name": "local_spend_currency", "comment": null}, "new_downloads": {"type": "integer", "index": 14, "name": "new_downloads", "comment": null}, "redownloads": {"type": "integer", "index": 15, "name": "redownloads", "comment": null}, "tap_through_rate": {"type": "double precision", "index": 16, "name": "tap_through_rate", "comment": null}, "taps": {"type": "integer", "index": 17, "name": "taps", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.apple_search_ads_source.apple_search_ads.ad_group_report"}, "source.apple_search_ads_source.apple_search_ads.ad_history": {"metadata": {"type": "BASE TABLE", "schema": "apple_search_ads_integration_tests", "name": "ad_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"creation_time": {"type": "timestamp without time zone", "index": 1, "name": "creation_time", "comment": null}, "modification_time": {"type": "timestamp without time zone", "index": 2, "name": "modification_time", "comment": null}, "org_id": {"type": "integer", "index": 3, "name": "org_id", "comment": null}, "campaign_id": {"type": "integer", "index": 4, "name": "campaign_id", "comment": null}, "ad_group_id": {"type": "integer", "index": 5, "name": "ad_group_id", "comment": null}, "name": {"type": "text", "index": 6, "name": "name", "comment": null}, "id": {"type": "integer", "index": 7, "name": "id", "comment": null}, "creative_id": {"type": "integer", "index": 8, "name": "creative_id", "comment": null}, "creative_type": {"type": "text", "index": 9, "name": "creative_type", "comment": null}, "status": {"type": "text", "index": 10, "name": "status", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.apple_search_ads_source.apple_search_ads.ad_history"}, "source.apple_search_ads_source.apple_search_ads.ad_level_report": {"metadata": {"type": "BASE TABLE", "schema": "apple_search_ads_integration_tests", "name": "ad_report_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date": {"type": "date", "index": 1, "name": "date", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "campaign_id": {"type": "integer", "index": 3, "name": "campaign_id", "comment": null}, "ad_group_id": {"type": "integer", "index": 4, "name": "ad_group_id", "comment": null}, "ad_id": {"type": "integer", "index": 5, "name": "ad_id", "comment": null}, "impressions": {"type": "integer", "index": 6, "name": "impressions", "comment": null}, "local_spend_amount": {"type": "double precision", "index": 7, "name": "local_spend_amount", "comment": null}, "local_spend_currency": {"type": "text", "index": 8, "name": "local_spend_currency", "comment": null}, "new_downloads": {"type": "integer", "index": 9, "name": "new_downloads", "comment": null}, "redownloads": {"type": "integer", "index": 10, "name": "redownloads", "comment": null}, "taps": {"type": "integer", "index": 11, "name": "taps", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.apple_search_ads_source.apple_search_ads.ad_level_report"}, "source.apple_search_ads_source.apple_search_ads.campaign_history": {"metadata": {"type": "BASE TABLE", "schema": "apple_search_ads_integration_tests", "name": "campaign_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "modification_time": {"type": "timestamp without time zone", "index": 2, "name": "modification_time", "comment": null}, "adam_id": {"type": "integer", "index": 3, "name": "adam_id", "comment": null}, "budget_amount": {"type": "integer", "index": 4, "name": "budget_amount", "comment": null}, "budget_currency": {"type": "text", "index": 5, "name": "budget_currency", "comment": null}, "budget_orders": {"type": "text", "index": 6, "name": "budget_orders", "comment": null}, "daily_budget_amount": {"type": "integer", "index": 7, "name": "daily_budget_amount", "comment": null}, "daily_budget_currency": {"type": "text", "index": 8, "name": "daily_budget_currency", "comment": null}, "deleted": {"type": "boolean", "index": 9, "name": "deleted", "comment": null}, "end_time": {"type": "timestamp without time zone", "index": 10, "name": "end_time", "comment": null}, "loc_invoice_detail_buyer_email": {"type": "integer", "index": 11, "name": "loc_invoice_detail_buyer_email", "comment": null}, "loc_invoice_detail_buyer_name": {"type": "integer", "index": 12, "name": "loc_invoice_detail_buyer_name", "comment": null}, "loc_invoice_detail_client_name": {"type": "integer", "index": 13, "name": "loc_invoice_detail_client_name", "comment": null}, "loc_invoice_detail_order_number": {"type": "integer", "index": 14, "name": "loc_invoice_detail_order_number", "comment": null}, "name": {"type": "text", "index": 15, "name": "name", "comment": null}, "organization_id": {"type": "integer", "index": 16, "name": "organization_id", "comment": null}, "payment_model": {"type": "text", "index": 17, "name": "payment_model", "comment": null}, "serving_state_reasons": {"type": "text", "index": 18, "name": "serving_state_reasons", "comment": null}, "serving_status": {"type": "text", "index": 19, "name": "serving_status", "comment": null}, "start_time": {"type": "timestamp without time zone", "index": 20, "name": "start_time", "comment": null}, "status": {"type": "text", "index": 21, "name": "status", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.apple_search_ads_source.apple_search_ads.campaign_history"}, "source.apple_search_ads_source.apple_search_ads.campaign_report": {"metadata": {"type": "BASE TABLE", "schema": "apple_search_ads_integration_tests", "name": "campaign_report_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date": {"type": "date", "index": 1, "name": "date", "comment": null}, "id": {"type": "integer", "index": 2, "name": "id", "comment": null}, "avg_cpa_amount": {"type": "double precision", "index": 3, "name": "avg_cpa_amount", "comment": null}, "avg_cpa_currency": {"type": "text", "index": 4, "name": "avg_cpa_currency", "comment": null}, "avg_cpt_amount": {"type": "double precision", "index": 5, "name": "avg_cpt_amount", "comment": null}, "avg_cpt_currency": {"type": "text", "index": 6, "name": "avg_cpt_currency", "comment": null}, "conversion_rate": {"type": "double precision", "index": 7, "name": "conversion_rate", "comment": null}, "conversions": {"type": "integer", "index": 8, "name": "conversions", "comment": null}, "impressions": {"type": "integer", "index": 9, "name": "impressions", "comment": null}, "lat_off_installs": {"type": "integer", "index": 10, "name": "lat_off_installs", "comment": null}, "lat_on_installs": {"type": "integer", "index": 11, "name": "lat_on_installs", "comment": null}, "local_spend_amount": {"type": "double precision", "index": 12, "name": "local_spend_amount", "comment": null}, "local_spend_currency": {"type": "text", "index": 13, "name": "local_spend_currency", "comment": null}, "new_downloads": {"type": "integer", "index": 14, "name": "new_downloads", "comment": null}, "redownloads": {"type": "integer", "index": 15, "name": "redownloads", "comment": null}, "tap_through_rate": {"type": "double precision", "index": 16, "name": "tap_through_rate", "comment": null}, "taps": {"type": "integer", "index": 17, "name": "taps", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.apple_search_ads_source.apple_search_ads.campaign_report"}, "source.apple_search_ads_source.apple_search_ads.keyword_history": {"metadata": {"type": "BASE TABLE", "schema": "apple_search_ads_integration_tests", "name": "keyword_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "modification_time": {"type": "timestamp without time zone", "index": 2, "name": "modification_time", "comment": null}, "ad_group_id": {"type": "integer", "index": 3, "name": "ad_group_id", "comment": null}, "bid_amount": {"type": "double precision", "index": 4, "name": "bid_amount", "comment": null}, "bid_currency": {"type": "text", "index": 5, "name": "bid_currency", "comment": null}, "campaign_id": {"type": "integer", "index": 6, "name": "campaign_id", "comment": null}, "deleted": {"type": "boolean", "index": 7, "name": "deleted", "comment": null}, "match_type": {"type": "text", "index": 8, "name": "match_type", "comment": null}, "status": {"type": "text", "index": 9, "name": "status", "comment": null}, "text": {"type": "text", "index": 10, "name": "text", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.apple_search_ads_source.apple_search_ads.keyword_history"}, "source.apple_search_ads_source.apple_search_ads.keyword_report": {"metadata": {"type": "BASE TABLE", "schema": "apple_search_ads_integration_tests", "name": "keyword_report_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date": {"type": "date", "index": 1, "name": "date", "comment": null}, "id": {"type": "integer", "index": 2, "name": "id", "comment": null}, "avg_cpa_amount": {"type": "double precision", "index": 3, "name": "avg_cpa_amount", "comment": null}, "avg_cpa_currency": {"type": "text", "index": 4, "name": "avg_cpa_currency", "comment": null}, "avg_cpt_amount": {"type": "double precision", "index": 5, "name": "avg_cpt_amount", "comment": null}, "avg_cpt_currency": {"type": "text", "index": 6, "name": "avg_cpt_currency", "comment": null}, "conversion_rate": {"type": "double precision", "index": 7, "name": "conversion_rate", "comment": null}, "conversions": {"type": "integer", "index": 8, "name": "conversions", "comment": null}, "impressions": {"type": "integer", "index": 9, "name": "impressions", "comment": null}, "lat_off_installs": {"type": "integer", "index": 10, "name": "lat_off_installs", "comment": null}, "lat_on_installs": {"type": "integer", "index": 11, "name": "lat_on_installs", "comment": null}, "local_spend_amount": {"type": "double precision", "index": 12, "name": "local_spend_amount", "comment": null}, "local_spend_currency": {"type": "text", "index": 13, "name": "local_spend_currency", "comment": null}, "new_downloads": {"type": "integer", "index": 14, "name": "new_downloads", "comment": null}, "redownloads": {"type": "integer", "index": 15, "name": "redownloads", "comment": null}, "tap_through_rate": {"type": "double precision", "index": 16, "name": "tap_through_rate", "comment": null}, "taps": {"type": "integer", "index": 17, "name": "taps", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.apple_search_ads_source.apple_search_ads.keyword_report"}, "source.apple_search_ads_source.apple_search_ads.organization": {"metadata": {"type": "BASE TABLE", "schema": "apple_search_ads_integration_tests", "name": "organization_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "currency": {"type": "text", "index": 2, "name": "currency", "comment": null}, "name": {"type": "text", "index": 3, "name": "name", "comment": null}, "payment_model": {"type": "text", "index": 4, "name": "payment_model", "comment": null}, "role_names": {"type": "text", "index": 5, "name": "role_names", "comment": null}, "time_zone": {"type": "text", "index": 6, "name": "time_zone", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.apple_search_ads_source.apple_search_ads.organization"}, "source.apple_search_ads_source.apple_search_ads.search_term_report": {"metadata": {"type": "BASE TABLE", "schema": "apple_search_ads_integration_tests", "name": "search_term_report_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"_fivetran_id": {"type": "text", "index": 1, "name": "_fivetran_id", "comment": null}, "ad_group_id": {"type": "integer", "index": 2, "name": "ad_group_id", "comment": null}, "campaign_id": {"type": "integer", "index": 3, "name": "campaign_id", "comment": null}, "date": {"type": "date", "index": 4, "name": "date", "comment": null}, "ad_group_deleted": {"type": "boolean", "index": 5, "name": "ad_group_deleted", "comment": null}, "ad_group_name": {"type": "text", "index": 6, "name": "ad_group_name", "comment": null}, "avg_cpa_amount": {"type": "double precision", "index": 7, "name": "avg_cpa_amount", "comment": null}, "avg_cpa_currency": {"type": "text", "index": 8, "name": "avg_cpa_currency", "comment": null}, "avg_cpt_amount": {"type": "double precision", "index": 9, "name": "avg_cpt_amount", "comment": null}, "avg_cpt_currency": {"type": "text", "index": 10, "name": "avg_cpt_currency", "comment": null}, "bid_amount_amount": {"type": "double precision", "index": 11, "name": "bid_amount_amount", "comment": null}, "bid_amount_currency": {"type": "text", "index": 12, "name": "bid_amount_currency", "comment": null}, "conversion_rate": {"type": "double precision", "index": 13, "name": "conversion_rate", "comment": null}, "conversions": {"type": "integer", "index": 14, "name": "conversions", "comment": null}, "deleted": {"type": "boolean", "index": 15, "name": "deleted", "comment": null}, "impressions": {"type": "integer", "index": 16, "name": "impressions", "comment": null}, "keyword": {"type": "text", "index": 17, "name": "keyword", "comment": null}, "keyword_display_status": {"type": "text", "index": 18, "name": "keyword_display_status", "comment": null}, "keyword_id": {"type": "integer", "index": 19, "name": "keyword_id", "comment": null}, "lat_off_installs": {"type": "integer", "index": 20, "name": "lat_off_installs", "comment": null}, "lat_on_installs": {"type": "integer", "index": 21, "name": "lat_on_installs", "comment": null}, "local_spend_amount": {"type": "double precision", "index": 22, "name": "local_spend_amount", "comment": null}, "local_spend_currency": {"type": "text", "index": 23, "name": "local_spend_currency", "comment": null}, "match_type": {"type": "text", "index": 24, "name": "match_type", "comment": null}, "new_downloads": {"type": "integer", "index": 25, "name": "new_downloads", "comment": null}, "redownloads": {"type": "integer", "index": 26, "name": "redownloads", "comment": null}, "search_term_source": {"type": "text", "index": 27, "name": "search_term_source", "comment": null}, "search_term_text": {"type": "text", "index": 28, "name": "search_term_text", "comment": null}, "tap_through_rate": {"type": "double precision", "index": 29, "name": "tap_through_rate", "comment": null}, "taps": {"type": "integer", "index": 30, "name": "taps", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.apple_search_ads_source.apple_search_ads.search_term_report"}}, "errors": null} \ No newline at end of file +{"metadata": {"dbt_schema_version": "https://schemas.getdbt.com/dbt/catalog/v1.json", "dbt_version": "1.4.5", "generated_at": "2023-07-07T16:02:52.315224Z", "invocation_id": "9493e7c2-265f-4152-96ae-e4e98f45920c", "env": {}}, "nodes": {"model.apple_search_ads.apple_search_ads__keyword_report": {"metadata": {"type": "table", "schema": "zz_dbt_renee_apple_search_ads", "name": "apple_search_ads__keyword_report", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"date_day": {"type": "DATE", "index": 1, "name": "date_day", "comment": null}, "organization_id": {"type": "INT64", "index": 2, "name": "organization_id", "comment": null}, "organization_name": {"type": "STRING", "index": 3, "name": "organization_name", "comment": null}, "campaign_id": {"type": "INT64", "index": 4, "name": "campaign_id", "comment": null}, "campaign_name": {"type": "STRING", "index": 5, "name": "campaign_name", "comment": null}, "ad_group_id": {"type": "INT64", "index": 6, "name": "ad_group_id", "comment": null}, "ad_group_name": {"type": "STRING", "index": 7, "name": "ad_group_name", "comment": null}, "keyword_id": {"type": "INT64", "index": 8, "name": "keyword_id", "comment": null}, "keyword_text": {"type": "STRING", "index": 9, "name": "keyword_text", "comment": null}, "match_type": {"type": "STRING", "index": 10, "name": "match_type", "comment": null}, "currency": {"type": "STRING", "index": 11, "name": "currency", "comment": null}, "keyword_status": {"type": "STRING", "index": 12, "name": "keyword_status", "comment": null}, "taps": {"type": "INT64", "index": 13, "name": "taps", "comment": null}, "new_downloads": {"type": "INT64", "index": 14, "name": "new_downloads", "comment": null}, "redownloads": {"type": "INT64", "index": 15, "name": "redownloads", "comment": null}, "total_downloads": {"type": "INT64", "index": 16, "name": "total_downloads", "comment": null}, "impressions": {"type": "INT64", "index": 17, "name": "impressions", "comment": null}, "spend": {"type": "BIGNUMERIC", "index": 18, "name": "spend", "comment": null}}, "stats": {"num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 17886.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "num_rows": {"id": "num_rows", "label": "# Rows", "value": 99.0, "include": true, "description": "Approximate count of rows in this table"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.apple_search_ads.apple_search_ads__keyword_report"}, "model.apple_search_ads.apple_search_ads__ad_group_report": {"metadata": {"type": "table", "schema": "zz_dbt_renee_apple_search_ads", "name": "apple_search_ads__ad_group_report", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"date_day": {"type": "DATE", "index": 1, "name": "date_day", "comment": null}, "organization_id": {"type": "INT64", "index": 2, "name": "organization_id", "comment": null}, "organization_name": {"type": "STRING", "index": 3, "name": "organization_name", "comment": null}, "campaign_id": {"type": "INT64", "index": 4, "name": "campaign_id", "comment": null}, "campaign_name": {"type": "STRING", "index": 5, "name": "campaign_name", "comment": null}, "ad_group_id": {"type": "INT64", "index": 6, "name": "ad_group_id", "comment": null}, "ad_group_name": {"type": "STRING", "index": 7, "name": "ad_group_name", "comment": null}, "currency": {"type": "STRING", "index": 8, "name": "currency", "comment": null}, "ad_group_status": {"type": "STRING", "index": 9, "name": "ad_group_status", "comment": null}, "start_at": {"type": "TIMESTAMP", "index": 10, "name": "start_at", "comment": null}, "end_at": {"type": "TIMESTAMP", "index": 11, "name": "end_at", "comment": null}, "taps": {"type": "INT64", "index": 12, "name": "taps", "comment": null}, "new_downloads": {"type": "INT64", "index": 13, "name": "new_downloads", "comment": null}, "redownloads": {"type": "INT64", "index": 14, "name": "redownloads", "comment": null}, "total_downloads": {"type": "INT64", "index": 15, "name": "total_downloads", "comment": null}, "impressions": {"type": "INT64", "index": 16, "name": "impressions", "comment": null}, "spend": {"type": "BIGNUMERIC", "index": 17, "name": "spend", "comment": null}}, "stats": {"num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 2777.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "num_rows": {"id": "num_rows", "label": "# Rows", "value": 16.0, "include": true, "description": "Approximate count of rows in this table"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.apple_search_ads.apple_search_ads__ad_group_report"}, "model.apple_search_ads.apple_search_ads__campaign_report": {"metadata": {"type": "table", "schema": "zz_dbt_renee_apple_search_ads", "name": "apple_search_ads__campaign_report", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"date_day": {"type": "DATE", "index": 1, "name": "date_day", "comment": null}, "organization_id": {"type": "INT64", "index": 2, "name": "organization_id", "comment": null}, "organization_name": {"type": "STRING", "index": 3, "name": "organization_name", "comment": null}, "campaign_id": {"type": "INT64", "index": 4, "name": "campaign_id", "comment": null}, "campaign_name": {"type": "STRING", "index": 5, "name": "campaign_name", "comment": null}, "currency": {"type": "STRING", "index": 6, "name": "currency", "comment": null}, "campaign_status": {"type": "STRING", "index": 7, "name": "campaign_status", "comment": null}, "start_at": {"type": "TIMESTAMP", "index": 8, "name": "start_at", "comment": null}, "end_at": {"type": "TIMESTAMP", "index": 9, "name": "end_at", "comment": null}, "taps": {"type": "INT64", "index": 10, "name": "taps", "comment": null}, "new_downloads": {"type": "INT64", "index": 11, "name": "new_downloads", "comment": null}, "redownloads": {"type": "INT64", "index": 12, "name": "redownloads", "comment": null}, "total_downloads": {"type": "INT64", "index": 13, "name": "total_downloads", "comment": null}, "impressions": {"type": "INT64", "index": 14, "name": "impressions", "comment": null}, "spend": {"type": "BIGNUMERIC", "index": 15, "name": "spend", "comment": null}}, "stats": {"num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 2250.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "num_rows": {"id": "num_rows", "label": "# Rows", "value": 15.0, "include": true, "description": "Approximate count of rows in this table"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.apple_search_ads.apple_search_ads__campaign_report"}, "model.apple_search_ads.apple_search_ads__ad_report": {"metadata": {"type": "table", "schema": "zz_dbt_renee_apple_search_ads", "name": "apple_search_ads__ad_report", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"date_day": {"type": "DATE", "index": 1, "name": "date_day", "comment": null}, "organization_id": {"type": "INT64", "index": 2, "name": "organization_id", "comment": null}, "organization_name": {"type": "STRING", "index": 3, "name": "organization_name", "comment": null}, "campaign_id": {"type": "INT64", "index": 4, "name": "campaign_id", "comment": null}, "campaign_name": {"type": "STRING", "index": 5, "name": "campaign_name", "comment": null}, "ad_group_id": {"type": "INT64", "index": 6, "name": "ad_group_id", "comment": null}, "ad_group_name": {"type": "STRING", "index": 7, "name": "ad_group_name", "comment": null}, "ad_id": {"type": "INT64", "index": 8, "name": "ad_id", "comment": null}, "ad_name": {"type": "STRING", "index": 9, "name": "ad_name", "comment": null}, "currency": {"type": "STRING", "index": 10, "name": "currency", "comment": null}, "ad_status": {"type": "STRING", "index": 11, "name": "ad_status", "comment": null}, "taps": {"type": "INT64", "index": 12, "name": "taps", "comment": null}, "new_downloads": {"type": "INT64", "index": 13, "name": "new_downloads", "comment": null}, "redownloads": {"type": "INT64", "index": 14, "name": "redownloads", "comment": null}, "total_downloads": {"type": "INT64", "index": 15, "name": "total_downloads", "comment": null}, "impressions": {"type": "INT64", "index": 16, "name": "impressions", "comment": null}, "spend": {"type": "BIGNUMERIC", "index": 17, "name": "spend", "comment": null}}, "stats": {"num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 390.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "num_rows": {"id": "num_rows", "label": "# Rows", "value": 2.0, "include": true, "description": "Approximate count of rows in this table"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.apple_search_ads.apple_search_ads__ad_report"}, "model.apple_search_ads.apple_search_ads__organization_report": {"metadata": {"type": "table", "schema": "zz_dbt_renee_apple_search_ads", "name": "apple_search_ads__organization_report", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"date_day": {"type": "DATE", "index": 1, "name": "date_day", "comment": null}, "organization_id": {"type": "INT64", "index": 2, "name": "organization_id", "comment": null}, "organization_name": {"type": "STRING", "index": 3, "name": "organization_name", "comment": null}, "currency": {"type": "STRING", "index": 4, "name": "currency", "comment": null}, "taps": {"type": "INT64", "index": 5, "name": "taps", "comment": null}, "new_downloads": {"type": "INT64", "index": 6, "name": "new_downloads", "comment": null}, "redownloads": {"type": "INT64", "index": 7, "name": "redownloads", "comment": null}, "total_downloads": {"type": "INT64", "index": 8, "name": "total_downloads", "comment": null}, "impressions": {"type": "INT64", "index": 9, "name": "impressions", "comment": null}, "spend": {"type": "BIGNUMERIC", "index": 10, "name": "spend", "comment": null}}, "stats": {"num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 1590.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "num_rows": {"id": "num_rows", "label": "# Rows", "value": 15.0, "include": true, "description": "Approximate count of rows in this table"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.apple_search_ads.apple_search_ads__organization_report"}, "model.apple_search_ads.apple_search_ads__search_term_report": {"metadata": {"type": "table", "schema": "zz_dbt_renee_apple_search_ads", "name": "apple_search_ads__search_term_report", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"date_day": {"type": "DATE", "index": 1, "name": "date_day", "comment": null}, "organization_id": {"type": "INT64", "index": 2, "name": "organization_id", "comment": null}, "organization_name": {"type": "STRING", "index": 3, "name": "organization_name", "comment": null}, "campaign_id": {"type": "INT64", "index": 4, "name": "campaign_id", "comment": null}, "campaign_name": {"type": "STRING", "index": 5, "name": "campaign_name", "comment": null}, "ad_group_id": {"type": "INT64", "index": 6, "name": "ad_group_id", "comment": null}, "ad_group_name": {"type": "STRING", "index": 7, "name": "ad_group_name", "comment": null}, "keyword_id": {"type": "INT64", "index": 8, "name": "keyword_id", "comment": null}, "keyword_text": {"type": "STRING", "index": 9, "name": "keyword_text", "comment": null}, "search_term_text": {"type": "STRING", "index": 10, "name": "search_term_text", "comment": null}, "match_type": {"type": "STRING", "index": 11, "name": "match_type", "comment": null}, "currency": {"type": "STRING", "index": 12, "name": "currency", "comment": null}, "taps": {"type": "INT64", "index": 13, "name": "taps", "comment": null}, "new_downloads": {"type": "INT64", "index": 14, "name": "new_downloads", "comment": null}, "redownloads": {"type": "INT64", "index": 15, "name": "redownloads", "comment": null}, "total_downloads": {"type": "INT64", "index": 16, "name": "total_downloads", "comment": null}, "impressions": {"type": "INT64", "index": 17, "name": "impressions", "comment": null}, "spend": {"type": "BIGNUMERIC", "index": 18, "name": "spend", "comment": null}}, "stats": {"num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 7880.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "num_rows": {"id": "num_rows", "label": "# Rows", "value": 46.0, "include": true, "description": "Approximate count of rows in this table"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.apple_search_ads.apple_search_ads__search_term_report"}, "model.apple_search_ads_source.stg_apple_search_ads__ad_history_tmp": {"metadata": {"type": "view", "schema": "zz_dbt_renee_apple_search_ads_source", "name": "stg_apple_search_ads__ad_history_tmp", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"id": {"type": "INT64", "index": 1, "name": "id", "comment": null}, "modification_time": {"type": "TIMESTAMP", "index": 2, "name": "modification_time", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 3, "name": "_fivetran_synced", "comment": null}, "ad_group_id": {"type": "INT64", "index": 4, "name": "ad_group_id", "comment": null}, "campaign_id": {"type": "INT64", "index": 5, "name": "campaign_id", "comment": null}, "creation_time": {"type": "TIMESTAMP", "index": 6, "name": "creation_time", "comment": null}, "creative_id": {"type": "INT64", "index": 7, "name": "creative_id", "comment": null}, "creative_type": {"type": "STRING", "index": 8, "name": "creative_type", "comment": null}, "deleted": {"type": "BOOL", "index": 9, "name": "deleted", "comment": null}, "name": {"type": "STRING", "index": 10, "name": "name", "comment": null}, "org_id": {"type": "INT64", "index": 11, "name": "org_id", "comment": null}, "serving_status": {"type": "STRING", "index": 12, "name": "serving_status", "comment": null}, "status": {"type": "STRING", "index": 13, "name": "status", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__ad_history_tmp"}, "model.apple_search_ads_source.stg_apple_search_ads__keyword_report": {"metadata": {"type": "table", "schema": "zz_dbt_renee_apple_search_ads_source", "name": "stg_apple_search_ads__keyword_report", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"date_day": {"type": "DATE", "index": 1, "name": "date_day", "comment": null}, "keyword_id": {"type": "INT64", "index": 2, "name": "keyword_id", "comment": null}, "impressions": {"type": "INT64", "index": 3, "name": "impressions", "comment": null}, "spend": {"type": "BIGNUMERIC", "index": 4, "name": "spend", "comment": null}, "currency": {"type": "STRING", "index": 5, "name": "currency", "comment": null}, "new_downloads": {"type": "INT64", "index": 6, "name": "new_downloads", "comment": null}, "redownloads": {"type": "INT64", "index": 7, "name": "redownloads", "comment": null}, "taps": {"type": "INT64", "index": 8, "name": "taps", "comment": null}}, "stats": {"num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 8415.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "num_rows": {"id": "num_rows", "label": "# Rows", "value": 99.0, "include": true, "description": "Approximate count of rows in this table"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__keyword_report"}, "model.apple_search_ads_source.stg_apple_search_ads__organization_tmp": {"metadata": {"type": "view", "schema": "zz_dbt_renee_apple_search_ads_source", "name": "stg_apple_search_ads__organization_tmp", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"id": {"type": "INT64", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 2, "name": "_fivetran_synced", "comment": null}, "currency": {"type": "STRING", "index": 3, "name": "currency", "comment": null}, "name": {"type": "STRING", "index": 4, "name": "name", "comment": null}, "payment_model": {"type": "STRING", "index": 5, "name": "payment_model", "comment": null}, "role_names": {"type": "STRING", "index": 6, "name": "role_names", "comment": null}, "time_zone": {"type": "STRING", "index": 7, "name": "time_zone", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__organization_tmp"}, "model.apple_search_ads_source.stg_apple_search_ads__ad_report_tmp": {"metadata": {"type": "view", "schema": "zz_dbt_renee_apple_search_ads_source", "name": "stg_apple_search_ads__ad_report_tmp", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"ad_group_id": {"type": "INT64", "index": 1, "name": "ad_group_id", "comment": null}, "ad_id": {"type": "INT64", "index": 2, "name": "ad_id", "comment": null}, "campaign_id": {"type": "INT64", "index": 3, "name": "campaign_id", "comment": null}, "creative_id": {"type": "INT64", "index": 4, "name": "creative_id", "comment": null}, "date": {"type": "DATE", "index": 5, "name": "date", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 6, "name": "_fivetran_synced", "comment": null}, "avg_cpa_amount": {"type": "BIGNUMERIC", "index": 7, "name": "avg_cpa_amount", "comment": null}, "avg_cpa_currency": {"type": "STRING", "index": 8, "name": "avg_cpa_currency", "comment": null}, "avg_cpm_amount": {"type": "BIGNUMERIC", "index": 9, "name": "avg_cpm_amount", "comment": null}, "avg_cpm_currency": {"type": "STRING", "index": 10, "name": "avg_cpm_currency", "comment": null}, "avg_cpt_amount": {"type": "BIGNUMERIC", "index": 11, "name": "avg_cpt_amount", "comment": null}, "avg_cpt_currency": {"type": "STRING", "index": 12, "name": "avg_cpt_currency", "comment": null}, "conversion_rate": {"type": "BIGNUMERIC", "index": 13, "name": "conversion_rate", "comment": null}, "conversions": {"type": "INT64", "index": 14, "name": "conversions", "comment": null}, "display_status": {"type": "STRING", "index": 15, "name": "display_status", "comment": null}, "impressions": {"type": "INT64", "index": 16, "name": "impressions", "comment": null}, "language": {"type": "STRING", "index": 17, "name": "language", "comment": null}, "lat_off_installs": {"type": "INT64", "index": 18, "name": "lat_off_installs", "comment": null}, "lat_on_installs": {"type": "INT64", "index": 19, "name": "lat_on_installs", "comment": null}, "local_spend_amount": {"type": "BIGNUMERIC", "index": 20, "name": "local_spend_amount", "comment": null}, "local_spend_currency": {"type": "STRING", "index": 21, "name": "local_spend_currency", "comment": null}, "new_downloads": {"type": "INT64", "index": 22, "name": "new_downloads", "comment": null}, "redownloads": {"type": "INT64", "index": 23, "name": "redownloads", "comment": null}, "tap_through_rate": {"type": "FLOAT64", "index": 24, "name": "tap_through_rate", "comment": null}, "taps": {"type": "INT64", "index": 25, "name": "taps", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__ad_report_tmp"}, "model.apple_search_ads_source.stg_apple_search_ads__ad_history": {"metadata": {"type": "table", "schema": "zz_dbt_renee_apple_search_ads_source", "name": "stg_apple_search_ads__ad_history", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"created_at": {"type": "TIMESTAMP", "index": 1, "name": "created_at", "comment": null}, "modified_at": {"type": "TIMESTAMP", "index": 2, "name": "modified_at", "comment": null}, "organization_id": {"type": "INT64", "index": 3, "name": "organization_id", "comment": null}, "campaign_id": {"type": "INT64", "index": 4, "name": "campaign_id", "comment": null}, "ad_group_id": {"type": "INT64", "index": 5, "name": "ad_group_id", "comment": null}, "ad_name": {"type": "STRING", "index": 6, "name": "ad_name", "comment": null}, "ad_id": {"type": "INT64", "index": 7, "name": "ad_id", "comment": null}, "ad_status": {"type": "STRING", "index": 8, "name": "ad_status", "comment": null}, "is_most_recent_record": {"type": "BOOL", "index": 9, "name": "is_most_recent_record", "comment": null}}, "stats": {"num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 73.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "num_rows": {"id": "num_rows", "label": "# Rows", "value": 1.0, "include": true, "description": "Approximate count of rows in this table"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__ad_history"}, "model.apple_search_ads_source.stg_apple_search_ads__search_term_report_tmp": {"metadata": {"type": "view", "schema": "zz_dbt_renee_apple_search_ads_source", "name": "stg_apple_search_ads__search_term_report_tmp", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"_fivetran_id": {"type": "STRING", "index": 1, "name": "_fivetran_id", "comment": null}, "ad_group_id": {"type": "INT64", "index": 2, "name": "ad_group_id", "comment": null}, "campaign_id": {"type": "INT64", "index": 3, "name": "campaign_id", "comment": null}, "date": {"type": "DATE", "index": 4, "name": "date", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 5, "name": "_fivetran_synced", "comment": null}, "ad_group_deleted": {"type": "BOOL", "index": 6, "name": "ad_group_deleted", "comment": null}, "ad_group_name": {"type": "STRING", "index": 7, "name": "ad_group_name", "comment": null}, "avg_cpa_amount": {"type": "BIGNUMERIC", "index": 8, "name": "avg_cpa_amount", "comment": null}, "avg_cpa_currency": {"type": "STRING", "index": 9, "name": "avg_cpa_currency", "comment": null}, "avg_cpt_amount": {"type": "BIGNUMERIC", "index": 10, "name": "avg_cpt_amount", "comment": null}, "avg_cpt_currency": {"type": "STRING", "index": 11, "name": "avg_cpt_currency", "comment": null}, "bid_amount_amount": {"type": "BIGNUMERIC", "index": 12, "name": "bid_amount_amount", "comment": null}, "bid_amount_currency": {"type": "STRING", "index": 13, "name": "bid_amount_currency", "comment": null}, "conversion_rate": {"type": "BIGNUMERIC", "index": 14, "name": "conversion_rate", "comment": null}, "conversions": {"type": "INT64", "index": 15, "name": "conversions", "comment": null}, "deleted": {"type": "BOOL", "index": 16, "name": "deleted", "comment": null}, "impressions": {"type": "INT64", "index": 17, "name": "impressions", "comment": null}, "keyword": {"type": "STRING", "index": 18, "name": "keyword", "comment": null}, "keyword_display_status": {"type": "STRING", "index": 19, "name": "keyword_display_status", "comment": null}, "keyword_id": {"type": "INT64", "index": 20, "name": "keyword_id", "comment": null}, "lat_off_installs": {"type": "INT64", "index": 21, "name": "lat_off_installs", "comment": null}, "lat_on_installs": {"type": "INT64", "index": 22, "name": "lat_on_installs", "comment": null}, "local_spend_amount": {"type": "BIGNUMERIC", "index": 23, "name": "local_spend_amount", "comment": null}, "local_spend_currency": {"type": "STRING", "index": 24, "name": "local_spend_currency", "comment": null}, "match_type": {"type": "STRING", "index": 25, "name": "match_type", "comment": null}, "new_downloads": {"type": "INT64", "index": 26, "name": "new_downloads", "comment": null}, "redownloads": {"type": "INT64", "index": 27, "name": "redownloads", "comment": null}, "search_term_source": {"type": "STRING", "index": 28, "name": "search_term_source", "comment": null}, "search_term_text": {"type": "STRING", "index": 29, "name": "search_term_text", "comment": null}, "tap_through_rate": {"type": "FLOAT64", "index": 30, "name": "tap_through_rate", "comment": null}, "taps": {"type": "INT64", "index": 31, "name": "taps", "comment": null}, "avg_cpm_amount": {"type": "BIGNUMERIC", "index": 32, "name": "avg_cpm_amount", "comment": null}, "avg_cpm_currency": {"type": "STRING", "index": 33, "name": "avg_cpm_currency", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__search_term_report_tmp"}, "model.apple_search_ads_source.stg_apple_search_ads__ad_group_report_tmp": {"metadata": {"type": "view", "schema": "zz_dbt_renee_apple_search_ads_source", "name": "stg_apple_search_ads__ad_group_report_tmp", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"ad_group_id": {"type": "INT64", "index": 1, "name": "ad_group_id", "comment": null}, "date": {"type": "DATE", "index": 2, "name": "date", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 3, "name": "_fivetran_synced", "comment": null}, "avg_cpa_amount": {"type": "BIGNUMERIC", "index": 4, "name": "avg_cpa_amount", "comment": null}, "avg_cpa_currency": {"type": "STRING", "index": 5, "name": "avg_cpa_currency", "comment": null}, "avg_cpt_amount": {"type": "BIGNUMERIC", "index": 6, "name": "avg_cpt_amount", "comment": null}, "avg_cpt_currency": {"type": "STRING", "index": 7, "name": "avg_cpt_currency", "comment": null}, "conversion_rate": {"type": "BIGNUMERIC", "index": 8, "name": "conversion_rate", "comment": null}, "conversions": {"type": "INT64", "index": 9, "name": "conversions", "comment": null}, "impressions": {"type": "INT64", "index": 10, "name": "impressions", "comment": null}, "lat_off_installs": {"type": "INT64", "index": 11, "name": "lat_off_installs", "comment": null}, "lat_on_installs": {"type": "INT64", "index": 12, "name": "lat_on_installs", "comment": null}, "local_spend_amount": {"type": "BIGNUMERIC", "index": 13, "name": "local_spend_amount", "comment": null}, "local_spend_currency": {"type": "STRING", "index": 14, "name": "local_spend_currency", "comment": null}, "new_downloads": {"type": "INT64", "index": 15, "name": "new_downloads", "comment": null}, "redownloads": {"type": "INT64", "index": 16, "name": "redownloads", "comment": null}, "tap_through_rate": {"type": "FLOAT64", "index": 17, "name": "tap_through_rate", "comment": null}, "taps": {"type": "INT64", "index": 18, "name": "taps", "comment": null}, "avg_cpm_amount": {"type": "BIGNUMERIC", "index": 19, "name": "avg_cpm_amount", "comment": null}, "avg_cpm_currency": {"type": "STRING", "index": 20, "name": "avg_cpm_currency", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__ad_group_report_tmp"}, "model.apple_search_ads_source.stg_apple_search_ads__campaign_report_tmp": {"metadata": {"type": "view", "schema": "zz_dbt_renee_apple_search_ads_source", "name": "stg_apple_search_ads__campaign_report_tmp", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"date": {"type": "DATE", "index": 1, "name": "date", "comment": null}, "id": {"type": "INT64", "index": 2, "name": "id", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 3, "name": "_fivetran_synced", "comment": null}, "avg_cpa_amount": {"type": "BIGNUMERIC", "index": 4, "name": "avg_cpa_amount", "comment": null}, "avg_cpa_currency": {"type": "STRING", "index": 5, "name": "avg_cpa_currency", "comment": null}, "avg_cpt_amount": {"type": "BIGNUMERIC", "index": 6, "name": "avg_cpt_amount", "comment": null}, "avg_cpt_currency": {"type": "STRING", "index": 7, "name": "avg_cpt_currency", "comment": null}, "conversion_rate": {"type": "BIGNUMERIC", "index": 8, "name": "conversion_rate", "comment": null}, "conversions": {"type": "INT64", "index": 9, "name": "conversions", "comment": null}, "impressions": {"type": "INT64", "index": 10, "name": "impressions", "comment": null}, "lat_off_installs": {"type": "INT64", "index": 11, "name": "lat_off_installs", "comment": null}, "lat_on_installs": {"type": "INT64", "index": 12, "name": "lat_on_installs", "comment": null}, "local_spend_amount": {"type": "BIGNUMERIC", "index": 13, "name": "local_spend_amount", "comment": null}, "local_spend_currency": {"type": "STRING", "index": 14, "name": "local_spend_currency", "comment": null}, "new_downloads": {"type": "INT64", "index": 15, "name": "new_downloads", "comment": null}, "redownloads": {"type": "INT64", "index": 16, "name": "redownloads", "comment": null}, "tap_through_rate": {"type": "FLOAT64", "index": 17, "name": "tap_through_rate", "comment": null}, "taps": {"type": "INT64", "index": 18, "name": "taps", "comment": null}, "avg_cpm_amount": {"type": "BIGNUMERIC", "index": 19, "name": "avg_cpm_amount", "comment": null}, "avg_cpm_currency": {"type": "STRING", "index": 20, "name": "avg_cpm_currency", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__campaign_report_tmp"}, "model.apple_search_ads_source.stg_apple_search_ads__ad_group_report": {"metadata": {"type": "table", "schema": "zz_dbt_renee_apple_search_ads_source", "name": "stg_apple_search_ads__ad_group_report", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"date_day": {"type": "DATE", "index": 1, "name": "date_day", "comment": null}, "ad_group_id": {"type": "INT64", "index": 2, "name": "ad_group_id", "comment": null}, "impressions": {"type": "INT64", "index": 3, "name": "impressions", "comment": null}, "spend": {"type": "BIGNUMERIC", "index": 4, "name": "spend", "comment": null}, "currency": {"type": "STRING", "index": 5, "name": "currency", "comment": null}, "new_downloads": {"type": "INT64", "index": 6, "name": "new_downloads", "comment": null}, "redownloads": {"type": "INT64", "index": 7, "name": "redownloads", "comment": null}, "taps": {"type": "INT64", "index": 8, "name": "taps", "comment": null}}, "stats": {"num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 1360.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "num_rows": {"id": "num_rows", "label": "# Rows", "value": 16.0, "include": true, "description": "Approximate count of rows in this table"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__ad_group_report"}, "model.apple_search_ads_source.stg_apple_search_ads__campaign_history_tmp": {"metadata": {"type": "view", "schema": "zz_dbt_renee_apple_search_ads_source", "name": "stg_apple_search_ads__campaign_history_tmp", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"id": {"type": "INT64", "index": 1, "name": "id", "comment": null}, "modification_time": {"type": "TIMESTAMP", "index": 2, "name": "modification_time", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 3, "name": "_fivetran_synced", "comment": null}, "adam_id": {"type": "INT64", "index": 4, "name": "adam_id", "comment": null}, "budget_amount": {"type": "BIGNUMERIC", "index": 5, "name": "budget_amount", "comment": null}, "budget_currency": {"type": "STRING", "index": 6, "name": "budget_currency", "comment": null}, "budget_orders": {"type": "STRING", "index": 7, "name": "budget_orders", "comment": null}, "daily_budget_amount": {"type": "BIGNUMERIC", "index": 8, "name": "daily_budget_amount", "comment": null}, "daily_budget_currency": {"type": "STRING", "index": 9, "name": "daily_budget_currency", "comment": null}, "deleted": {"type": "BOOL", "index": 10, "name": "deleted", "comment": null}, "end_time": {"type": "TIMESTAMP", "index": 11, "name": "end_time", "comment": null}, "loc_invoice_detail_buyer_email": {"type": "STRING", "index": 12, "name": "loc_invoice_detail_buyer_email", "comment": null}, "loc_invoice_detail_buyer_name": {"type": "STRING", "index": 13, "name": "loc_invoice_detail_buyer_name", "comment": null}, "loc_invoice_detail_client_name": {"type": "STRING", "index": 14, "name": "loc_invoice_detail_client_name", "comment": null}, "loc_invoice_detail_order_number": {"type": "STRING", "index": 15, "name": "loc_invoice_detail_order_number", "comment": null}, "name": {"type": "STRING", "index": 16, "name": "name", "comment": null}, "organization_id": {"type": "INT64", "index": 17, "name": "organization_id", "comment": null}, "payment_model": {"type": "STRING", "index": 18, "name": "payment_model", "comment": null}, "serving_state_reasons": {"type": "STRING", "index": 19, "name": "serving_state_reasons", "comment": null}, "serving_status": {"type": "STRING", "index": 20, "name": "serving_status", "comment": null}, "start_time": {"type": "TIMESTAMP", "index": 21, "name": "start_time", "comment": null}, "status": {"type": "STRING", "index": 22, "name": "status", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__campaign_history_tmp"}, "model.apple_search_ads_source.stg_apple_search_ads__keyword_history": {"metadata": {"type": "table", "schema": "zz_dbt_renee_apple_search_ads_source", "name": "stg_apple_search_ads__keyword_history", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"modified_at": {"type": "TIMESTAMP", "index": 1, "name": "modified_at", "comment": null}, "campaign_id": {"type": "INT64", "index": 2, "name": "campaign_id", "comment": null}, "ad_group_id": {"type": "INT64", "index": 3, "name": "ad_group_id", "comment": null}, "keyword_id": {"type": "INT64", "index": 4, "name": "keyword_id", "comment": null}, "bid_amount": {"type": "BIGNUMERIC", "index": 5, "name": "bid_amount", "comment": null}, "bid_currency": {"type": "STRING", "index": 6, "name": "bid_currency", "comment": null}, "match_type": {"type": "STRING", "index": 7, "name": "match_type", "comment": null}, "keyword_status": {"type": "STRING", "index": 8, "name": "keyword_status", "comment": null}, "keyword_text": {"type": "STRING", "index": 9, "name": "keyword_text", "comment": null}, "is_most_recent_record": {"type": "BOOL", "index": 10, "name": "is_most_recent_record", "comment": null}}, "stats": {"num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 1535.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "num_rows": {"id": "num_rows", "label": "# Rows", "value": 16.0, "include": true, "description": "Approximate count of rows in this table"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__keyword_history"}, "model.apple_search_ads_source.stg_apple_search_ads__keyword_history_tmp": {"metadata": {"type": "view", "schema": "zz_dbt_renee_apple_search_ads_source", "name": "stg_apple_search_ads__keyword_history_tmp", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"id": {"type": "INT64", "index": 1, "name": "id", "comment": null}, "modification_time": {"type": "TIMESTAMP", "index": 2, "name": "modification_time", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 3, "name": "_fivetran_synced", "comment": null}, "ad_group_id": {"type": "INT64", "index": 4, "name": "ad_group_id", "comment": null}, "bid_amount": {"type": "BIGNUMERIC", "index": 5, "name": "bid_amount", "comment": null}, "bid_currency": {"type": "STRING", "index": 6, "name": "bid_currency", "comment": null}, "campaign_id": {"type": "INT64", "index": 7, "name": "campaign_id", "comment": null}, "deleted": {"type": "BOOL", "index": 8, "name": "deleted", "comment": null}, "match_type": {"type": "STRING", "index": 9, "name": "match_type", "comment": null}, "status": {"type": "STRING", "index": 10, "name": "status", "comment": null}, "text": {"type": "STRING", "index": 11, "name": "text", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__keyword_history_tmp"}, "model.apple_search_ads_source.stg_apple_search_ads__search_term_report": {"metadata": {"type": "table", "schema": "zz_dbt_renee_apple_search_ads_source", "name": "stg_apple_search_ads__search_term_report", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"date_day": {"type": "DATE", "index": 1, "name": "date_day", "comment": null}, "_fivetran_id": {"type": "STRING", "index": 2, "name": "_fivetran_id", "comment": null}, "campaign_id": {"type": "INT64", "index": 3, "name": "campaign_id", "comment": null}, "ad_group_id": {"type": "INT64", "index": 4, "name": "ad_group_id", "comment": null}, "ad_group_name": {"type": "STRING", "index": 5, "name": "ad_group_name", "comment": null}, "bid_amount": {"type": "BIGNUMERIC", "index": 6, "name": "bid_amount", "comment": null}, "bid_currency": {"type": "STRING", "index": 7, "name": "bid_currency", "comment": null}, "keyword_text": {"type": "STRING", "index": 8, "name": "keyword_text", "comment": null}, "keyword_display_status": {"type": "STRING", "index": 9, "name": "keyword_display_status", "comment": null}, "keyword_id": {"type": "INT64", "index": 10, "name": "keyword_id", "comment": null}, "spend": {"type": "BIGNUMERIC", "index": 11, "name": "spend", "comment": null}, "currency": {"type": "STRING", "index": 12, "name": "currency", "comment": null}, "match_type": {"type": "STRING", "index": 13, "name": "match_type", "comment": null}, "search_term_source": {"type": "STRING", "index": 14, "name": "search_term_source", "comment": null}, "search_term_text": {"type": "STRING", "index": 15, "name": "search_term_text", "comment": null}, "impressions": {"type": "INT64", "index": 16, "name": "impressions", "comment": null}, "taps": {"type": "INT64", "index": 17, "name": "taps", "comment": null}, "new_downloads": {"type": "INT64", "index": 18, "name": "new_downloads", "comment": null}, "redownloads": {"type": "INT64", "index": 19, "name": "redownloads", "comment": null}}, "stats": {"num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 34719.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "num_rows": {"id": "num_rows", "label": "# Rows", "value": 161.0, "include": true, "description": "Approximate count of rows in this table"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__search_term_report"}, "model.apple_search_ads_source.stg_apple_search_ads__organization": {"metadata": {"type": "table", "schema": "zz_dbt_renee_apple_search_ads_source", "name": "stg_apple_search_ads__organization", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"organization_id": {"type": "INT64", "index": 1, "name": "organization_id", "comment": null}, "currency": {"type": "STRING", "index": 2, "name": "currency", "comment": null}, "payment_model": {"type": "STRING", "index": 3, "name": "payment_model", "comment": null}, "organization_name": {"type": "STRING", "index": 4, "name": "organization_name", "comment": null}, "time_zone": {"type": "STRING", "index": 5, "name": "time_zone", "comment": null}}, "stats": {"num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 80.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "num_rows": {"id": "num_rows", "label": "# Rows", "value": 2.0, "include": true, "description": "Approximate count of rows in this table"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__organization"}, "model.apple_search_ads_source.stg_apple_search_ads__campaign_report": {"metadata": {"type": "table", "schema": "zz_dbt_renee_apple_search_ads_source", "name": "stg_apple_search_ads__campaign_report", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"date_day": {"type": "DATE", "index": 1, "name": "date_day", "comment": null}, "campaign_id": {"type": "INT64", "index": 2, "name": "campaign_id", "comment": null}, "impressions": {"type": "INT64", "index": 3, "name": "impressions", "comment": null}, "spend": {"type": "BIGNUMERIC", "index": 4, "name": "spend", "comment": null}, "currency": {"type": "STRING", "index": 5, "name": "currency", "comment": null}, "new_downloads": {"type": "INT64", "index": 6, "name": "new_downloads", "comment": null}, "redownloads": {"type": "INT64", "index": 7, "name": "redownloads", "comment": null}, "taps": {"type": "INT64", "index": 8, "name": "taps", "comment": null}}, "stats": {"num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 1275.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "num_rows": {"id": "num_rows", "label": "# Rows", "value": 15.0, "include": true, "description": "Approximate count of rows in this table"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__campaign_report"}, "model.apple_search_ads_source.stg_apple_search_ads__campaign_history": {"metadata": {"type": "table", "schema": "zz_dbt_renee_apple_search_ads_source", "name": "stg_apple_search_ads__campaign_history", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"modified_at": {"type": "TIMESTAMP", "index": 1, "name": "modified_at", "comment": null}, "organization_id": {"type": "INT64", "index": 2, "name": "organization_id", "comment": null}, "campaign_name": {"type": "STRING", "index": 3, "name": "campaign_name", "comment": null}, "campaign_id": {"type": "INT64", "index": 4, "name": "campaign_id", "comment": null}, "campaign_status": {"type": "STRING", "index": 5, "name": "campaign_status", "comment": null}, "start_at": {"type": "TIMESTAMP", "index": 6, "name": "start_at", "comment": null}, "end_at": {"type": "TIMESTAMP", "index": 7, "name": "end_at", "comment": null}, "is_most_recent_record": {"type": "BOOL", "index": 8, "name": "is_most_recent_record", "comment": null}}, "stats": {"num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 564.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "num_rows": {"id": "num_rows", "label": "# Rows", "value": 9.0, "include": true, "description": "Approximate count of rows in this table"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__campaign_history"}, "model.apple_search_ads_source.stg_apple_search_ads__ad_report": {"metadata": {"type": "table", "schema": "zz_dbt_renee_apple_search_ads_source", "name": "stg_apple_search_ads__ad_report", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"date_day": {"type": "DATE", "index": 1, "name": "date_day", "comment": null}, "campaign_id": {"type": "INT64", "index": 2, "name": "campaign_id", "comment": null}, "ad_group_id": {"type": "INT64", "index": 3, "name": "ad_group_id", "comment": null}, "ad_id": {"type": "INT64", "index": 4, "name": "ad_id", "comment": null}, "impressions": {"type": "INT64", "index": 5, "name": "impressions", "comment": null}, "spend": {"type": "BIGNUMERIC", "index": 6, "name": "spend", "comment": null}, "currency": {"type": "STRING", "index": 7, "name": "currency", "comment": null}, "new_downloads": {"type": "INT64", "index": 8, "name": "new_downloads", "comment": null}, "redownloads": {"type": "INT64", "index": 9, "name": "redownloads", "comment": null}, "taps": {"type": "INT64", "index": 10, "name": "taps", "comment": null}}, "stats": {"num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 1818.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "num_rows": {"id": "num_rows", "label": "# Rows", "value": 18.0, "include": true, "description": "Approximate count of rows in this table"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__ad_report"}, "model.apple_search_ads_source.stg_apple_search_ads__ad_group_history_tmp": {"metadata": {"type": "view", "schema": "zz_dbt_renee_apple_search_ads_source", "name": "stg_apple_search_ads__ad_group_history_tmp", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"id": {"type": "INT64", "index": 1, "name": "id", "comment": null}, "modification_time": {"type": "TIMESTAMP", "index": 2, "name": "modification_time", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 3, "name": "_fivetran_synced", "comment": null}, "automated_keywords_opt_in": {"type": "BOOL", "index": 4, "name": "automated_keywords_opt_in", "comment": null}, "campaign_id": {"type": "INT64", "index": 5, "name": "campaign_id", "comment": null}, "cpa_goal_amount": {"type": "BIGNUMERIC", "index": 6, "name": "cpa_goal_amount", "comment": null}, "cpa_goal_currency": {"type": "STRING", "index": 7, "name": "cpa_goal_currency", "comment": null}, "default_cpc_bid_amount": {"type": "BIGNUMERIC", "index": 8, "name": "default_cpc_bid_amount", "comment": null}, "default_cpc_bid_currency": {"type": "STRING", "index": 9, "name": "default_cpc_bid_currency", "comment": null}, "deleted": {"type": "BOOL", "index": 10, "name": "deleted", "comment": null}, "end_time": {"type": "TIMESTAMP", "index": 11, "name": "end_time", "comment": null}, "name": {"type": "STRING", "index": 12, "name": "name", "comment": null}, "organization_id": {"type": "INT64", "index": 13, "name": "organization_id", "comment": null}, "serving_state_reasons": {"type": "STRING", "index": 14, "name": "serving_state_reasons", "comment": null}, "serving_status": {"type": "STRING", "index": 15, "name": "serving_status", "comment": null}, "start_time": {"type": "TIMESTAMP", "index": 16, "name": "start_time", "comment": null}, "status": {"type": "STRING", "index": 17, "name": "status", "comment": null}, "storefronts": {"type": "STRING", "index": 18, "name": "storefronts", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__ad_group_history_tmp"}, "model.apple_search_ads_source.stg_apple_search_ads__keyword_report_tmp": {"metadata": {"type": "view", "schema": "zz_dbt_renee_apple_search_ads_source", "name": "stg_apple_search_ads__keyword_report_tmp", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"date": {"type": "DATE", "index": 1, "name": "date", "comment": null}, "id": {"type": "INT64", "index": 2, "name": "id", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 3, "name": "_fivetran_synced", "comment": null}, "avg_cpa_amount": {"type": "BIGNUMERIC", "index": 4, "name": "avg_cpa_amount", "comment": null}, "avg_cpa_currency": {"type": "STRING", "index": 5, "name": "avg_cpa_currency", "comment": null}, "avg_cpt_amount": {"type": "BIGNUMERIC", "index": 6, "name": "avg_cpt_amount", "comment": null}, "avg_cpt_currency": {"type": "STRING", "index": 7, "name": "avg_cpt_currency", "comment": null}, "conversion_rate": {"type": "BIGNUMERIC", "index": 8, "name": "conversion_rate", "comment": null}, "conversions": {"type": "INT64", "index": 9, "name": "conversions", "comment": null}, "impressions": {"type": "INT64", "index": 10, "name": "impressions", "comment": null}, "lat_off_installs": {"type": "INT64", "index": 11, "name": "lat_off_installs", "comment": null}, "lat_on_installs": {"type": "INT64", "index": 12, "name": "lat_on_installs", "comment": null}, "local_spend_amount": {"type": "BIGNUMERIC", "index": 13, "name": "local_spend_amount", "comment": null}, "local_spend_currency": {"type": "STRING", "index": 14, "name": "local_spend_currency", "comment": null}, "new_downloads": {"type": "INT64", "index": 15, "name": "new_downloads", "comment": null}, "redownloads": {"type": "INT64", "index": 16, "name": "redownloads", "comment": null}, "tap_through_rate": {"type": "FLOAT64", "index": 17, "name": "tap_through_rate", "comment": null}, "taps": {"type": "INT64", "index": 18, "name": "taps", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__keyword_report_tmp"}, "model.apple_search_ads_source.stg_apple_search_ads__ad_group_history": {"metadata": {"type": "table", "schema": "zz_dbt_renee_apple_search_ads_source", "name": "stg_apple_search_ads__ad_group_history", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"modified_at": {"type": "TIMESTAMP", "index": 1, "name": "modified_at", "comment": null}, "organization_id": {"type": "INT64", "index": 2, "name": "organization_id", "comment": null}, "campaign_id": {"type": "INT64", "index": 3, "name": "campaign_id", "comment": null}, "ad_group_name": {"type": "STRING", "index": 4, "name": "ad_group_name", "comment": null}, "ad_group_id": {"type": "INT64", "index": 5, "name": "ad_group_id", "comment": null}, "ad_group_status": {"type": "STRING", "index": 6, "name": "ad_group_status", "comment": null}, "start_at": {"type": "TIMESTAMP", "index": 7, "name": "start_at", "comment": null}, "end_at": {"type": "TIMESTAMP", "index": 8, "name": "end_at", "comment": null}, "is_most_recent_record": {"type": "BOOL", "index": 9, "name": "is_most_recent_record", "comment": null}}, "stats": {"num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 365.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "num_rows": {"id": "num_rows", "label": "# Rows", "value": 5.0, "include": true, "description": "Approximate count of rows in this table"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__ad_group_history"}}, "sources": {"source.apple_search_ads_source.apple_search_ads.keyword_report": {"metadata": {"type": "table", "schema": "apple_search_ads", "name": "keyword_report", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"date": {"type": "DATE", "index": 1, "name": "date", "comment": null}, "id": {"type": "INT64", "index": 2, "name": "id", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 3, "name": "_fivetran_synced", "comment": null}, "avg_cpa_amount": {"type": "BIGNUMERIC", "index": 4, "name": "avg_cpa_amount", "comment": null}, "avg_cpa_currency": {"type": "STRING", "index": 5, "name": "avg_cpa_currency", "comment": null}, "avg_cpt_amount": {"type": "BIGNUMERIC", "index": 6, "name": "avg_cpt_amount", "comment": null}, "avg_cpt_currency": {"type": "STRING", "index": 7, "name": "avg_cpt_currency", "comment": null}, "conversion_rate": {"type": "BIGNUMERIC", "index": 8, "name": "conversion_rate", "comment": null}, "conversions": {"type": "INT64", "index": 9, "name": "conversions", "comment": null}, "impressions": {"type": "INT64", "index": 10, "name": "impressions", "comment": null}, "lat_off_installs": {"type": "INT64", "index": 11, "name": "lat_off_installs", "comment": null}, "lat_on_installs": {"type": "INT64", "index": 12, "name": "lat_on_installs", "comment": null}, "local_spend_amount": {"type": "BIGNUMERIC", "index": 13, "name": "local_spend_amount", "comment": null}, "local_spend_currency": {"type": "STRING", "index": 14, "name": "local_spend_currency", "comment": null}, "new_downloads": {"type": "INT64", "index": 15, "name": "new_downloads", "comment": null}, "redownloads": {"type": "INT64", "index": 16, "name": "redownloads", "comment": null}, "tap_through_rate": {"type": "FLOAT64", "index": 17, "name": "tap_through_rate", "comment": null}, "taps": {"type": "INT64", "index": 18, "name": "taps", "comment": null}}, "stats": {"num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 22869.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "num_rows": {"id": "num_rows", "label": "# Rows", "value": 99.0, "include": true, "description": "Approximate count of rows in this table"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.apple_search_ads_source.apple_search_ads.keyword_report"}, "source.apple_search_ads_source.apple_search_ads.keyword_history": {"metadata": {"type": "table", "schema": "apple_search_ads", "name": "keyword_history", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"id": {"type": "INT64", "index": 1, "name": "id", "comment": null}, "modification_time": {"type": "TIMESTAMP", "index": 2, "name": "modification_time", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 3, "name": "_fivetran_synced", "comment": null}, "ad_group_id": {"type": "INT64", "index": 4, "name": "ad_group_id", "comment": null}, "bid_amount": {"type": "BIGNUMERIC", "index": 5, "name": "bid_amount", "comment": null}, "bid_currency": {"type": "STRING", "index": 6, "name": "bid_currency", "comment": null}, "campaign_id": {"type": "INT64", "index": 7, "name": "campaign_id", "comment": null}, "deleted": {"type": "BOOL", "index": 8, "name": "deleted", "comment": null}, "match_type": {"type": "STRING", "index": 9, "name": "match_type", "comment": null}, "status": {"type": "STRING", "index": 10, "name": "status", "comment": null}, "text": {"type": "STRING", "index": 11, "name": "text", "comment": null}}, "stats": {"num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 1663.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "num_rows": {"id": "num_rows", "label": "# Rows", "value": 16.0, "include": true, "description": "Approximate count of rows in this table"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.apple_search_ads_source.apple_search_ads.keyword_history"}, "source.apple_search_ads_source.apple_search_ads.campaign_history": {"metadata": {"type": "table", "schema": "apple_search_ads", "name": "campaign_history", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"id": {"type": "INT64", "index": 1, "name": "id", "comment": null}, "modification_time": {"type": "TIMESTAMP", "index": 2, "name": "modification_time", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 3, "name": "_fivetran_synced", "comment": null}, "adam_id": {"type": "INT64", "index": 4, "name": "adam_id", "comment": null}, "budget_amount": {"type": "BIGNUMERIC", "index": 5, "name": "budget_amount", "comment": null}, "budget_currency": {"type": "STRING", "index": 6, "name": "budget_currency", "comment": null}, "budget_orders": {"type": "STRING", "index": 7, "name": "budget_orders", "comment": null}, "daily_budget_amount": {"type": "BIGNUMERIC", "index": 8, "name": "daily_budget_amount", "comment": null}, "daily_budget_currency": {"type": "STRING", "index": 9, "name": "daily_budget_currency", "comment": null}, "deleted": {"type": "BOOL", "index": 10, "name": "deleted", "comment": null}, "end_time": {"type": "TIMESTAMP", "index": 11, "name": "end_time", "comment": null}, "loc_invoice_detail_buyer_email": {"type": "STRING", "index": 12, "name": "loc_invoice_detail_buyer_email", "comment": null}, "loc_invoice_detail_buyer_name": {"type": "STRING", "index": 13, "name": "loc_invoice_detail_buyer_name", "comment": null}, "loc_invoice_detail_client_name": {"type": "STRING", "index": 14, "name": "loc_invoice_detail_client_name", "comment": null}, "loc_invoice_detail_order_number": {"type": "STRING", "index": 15, "name": "loc_invoice_detail_order_number", "comment": null}, "name": {"type": "STRING", "index": 16, "name": "name", "comment": null}, "organization_id": {"type": "INT64", "index": 17, "name": "organization_id", "comment": null}, "payment_model": {"type": "STRING", "index": 18, "name": "payment_model", "comment": null}, "serving_state_reasons": {"type": "STRING", "index": 19, "name": "serving_state_reasons", "comment": null}, "serving_status": {"type": "STRING", "index": 20, "name": "serving_status", "comment": null}, "start_time": {"type": "TIMESTAMP", "index": 21, "name": "start_time", "comment": null}, "status": {"type": "STRING", "index": 22, "name": "status", "comment": null}}, "stats": {"num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 1847.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "num_rows": {"id": "num_rows", "label": "# Rows", "value": 9.0, "include": true, "description": "Approximate count of rows in this table"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.apple_search_ads_source.apple_search_ads.campaign_history"}, "source.apple_search_ads_source.apple_search_ads.search_term_report": {"metadata": {"type": "table", "schema": "apple_search_ads", "name": "search_term_report", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"_fivetran_id": {"type": "STRING", "index": 1, "name": "_fivetran_id", "comment": null}, "ad_group_id": {"type": "INT64", "index": 2, "name": "ad_group_id", "comment": null}, "campaign_id": {"type": "INT64", "index": 3, "name": "campaign_id", "comment": null}, "date": {"type": "DATE", "index": 4, "name": "date", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 5, "name": "_fivetran_synced", "comment": null}, "ad_group_deleted": {"type": "BOOL", "index": 6, "name": "ad_group_deleted", "comment": null}, "ad_group_name": {"type": "STRING", "index": 7, "name": "ad_group_name", "comment": null}, "avg_cpa_amount": {"type": "BIGNUMERIC", "index": 8, "name": "avg_cpa_amount", "comment": null}, "avg_cpa_currency": {"type": "STRING", "index": 9, "name": "avg_cpa_currency", "comment": null}, "avg_cpt_amount": {"type": "BIGNUMERIC", "index": 10, "name": "avg_cpt_amount", "comment": null}, "avg_cpt_currency": {"type": "STRING", "index": 11, "name": "avg_cpt_currency", "comment": null}, "bid_amount_amount": {"type": "BIGNUMERIC", "index": 12, "name": "bid_amount_amount", "comment": null}, "bid_amount_currency": {"type": "STRING", "index": 13, "name": "bid_amount_currency", "comment": null}, "conversion_rate": {"type": "BIGNUMERIC", "index": 14, "name": "conversion_rate", "comment": null}, "conversions": {"type": "INT64", "index": 15, "name": "conversions", "comment": null}, "deleted": {"type": "BOOL", "index": 16, "name": "deleted", "comment": null}, "impressions": {"type": "INT64", "index": 17, "name": "impressions", "comment": null}, "keyword": {"type": "STRING", "index": 18, "name": "keyword", "comment": null}, "keyword_display_status": {"type": "STRING", "index": 19, "name": "keyword_display_status", "comment": null}, "keyword_id": {"type": "INT64", "index": 20, "name": "keyword_id", "comment": null}, "lat_off_installs": {"type": "INT64", "index": 21, "name": "lat_off_installs", "comment": null}, "lat_on_installs": {"type": "INT64", "index": 22, "name": "lat_on_installs", "comment": null}, "local_spend_amount": {"type": "BIGNUMERIC", "index": 23, "name": "local_spend_amount", "comment": null}, "local_spend_currency": {"type": "STRING", "index": 24, "name": "local_spend_currency", "comment": null}, "match_type": {"type": "STRING", "index": 25, "name": "match_type", "comment": null}, "new_downloads": {"type": "INT64", "index": 26, "name": "new_downloads", "comment": null}, "redownloads": {"type": "INT64", "index": 27, "name": "redownloads", "comment": null}, "search_term_source": {"type": "STRING", "index": 28, "name": "search_term_source", "comment": null}, "search_term_text": {"type": "STRING", "index": 29, "name": "search_term_text", "comment": null}, "tap_through_rate": {"type": "FLOAT64", "index": 30, "name": "tap_through_rate", "comment": null}, "taps": {"type": "INT64", "index": 31, "name": "taps", "comment": null}, "avg_cpm_amount": {"type": "BIGNUMERIC", "index": 32, "name": "avg_cpm_amount", "comment": null}, "avg_cpm_currency": {"type": "STRING", "index": 33, "name": "avg_cpm_currency", "comment": null}}, "stats": {"num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 58497.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "num_rows": {"id": "num_rows", "label": "# Rows", "value": 161.0, "include": true, "description": "Approximate count of rows in this table"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.apple_search_ads_source.apple_search_ads.search_term_report"}, "source.apple_search_ads_source.apple_search_ads.ad_history": {"metadata": {"type": "table", "schema": "apple_search_ads", "name": "ad_history", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"id": {"type": "INT64", "index": 1, "name": "id", "comment": null}, "modification_time": {"type": "TIMESTAMP", "index": 2, "name": "modification_time", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 3, "name": "_fivetran_synced", "comment": null}, "ad_group_id": {"type": "INT64", "index": 4, "name": "ad_group_id", "comment": null}, "campaign_id": {"type": "INT64", "index": 5, "name": "campaign_id", "comment": null}, "creation_time": {"type": "TIMESTAMP", "index": 6, "name": "creation_time", "comment": null}, "creative_id": {"type": "INT64", "index": 7, "name": "creative_id", "comment": null}, "creative_type": {"type": "STRING", "index": 8, "name": "creative_type", "comment": null}, "deleted": {"type": "BOOL", "index": 9, "name": "deleted", "comment": null}, "name": {"type": "STRING", "index": 10, "name": "name", "comment": null}, "org_id": {"type": "INT64", "index": 11, "name": "org_id", "comment": null}, "serving_status": {"type": "STRING", "index": 12, "name": "serving_status", "comment": null}, "status": {"type": "STRING", "index": 13, "name": "status", "comment": null}}, "stats": {"num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 119.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "num_rows": {"id": "num_rows", "label": "# Rows", "value": 1.0, "include": true, "description": "Approximate count of rows in this table"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.apple_search_ads_source.apple_search_ads.ad_history"}, "source.apple_search_ads_source.apple_search_ads.ad_level_report": {"metadata": {"type": "table", "schema": "apple_search_ads", "name": "ad_level_report", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"ad_group_id": {"type": "INT64", "index": 1, "name": "ad_group_id", "comment": null}, "ad_id": {"type": "INT64", "index": 2, "name": "ad_id", "comment": null}, "campaign_id": {"type": "INT64", "index": 3, "name": "campaign_id", "comment": null}, "creative_id": {"type": "INT64", "index": 4, "name": "creative_id", "comment": null}, "date": {"type": "DATE", "index": 5, "name": "date", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 6, "name": "_fivetran_synced", "comment": null}, "avg_cpa_amount": {"type": "BIGNUMERIC", "index": 7, "name": "avg_cpa_amount", "comment": null}, "avg_cpa_currency": {"type": "STRING", "index": 8, "name": "avg_cpa_currency", "comment": null}, "avg_cpm_amount": {"type": "BIGNUMERIC", "index": 9, "name": "avg_cpm_amount", "comment": null}, "avg_cpm_currency": {"type": "STRING", "index": 10, "name": "avg_cpm_currency", "comment": null}, "avg_cpt_amount": {"type": "BIGNUMERIC", "index": 11, "name": "avg_cpt_amount", "comment": null}, "avg_cpt_currency": {"type": "STRING", "index": 12, "name": "avg_cpt_currency", "comment": null}, "conversion_rate": {"type": "BIGNUMERIC", "index": 13, "name": "conversion_rate", "comment": null}, "conversions": {"type": "INT64", "index": 14, "name": "conversions", "comment": null}, "display_status": {"type": "STRING", "index": 15, "name": "display_status", "comment": null}, "impressions": {"type": "INT64", "index": 16, "name": "impressions", "comment": null}, "language": {"type": "STRING", "index": 17, "name": "language", "comment": null}, "lat_off_installs": {"type": "INT64", "index": 18, "name": "lat_off_installs", "comment": null}, "lat_on_installs": {"type": "INT64", "index": 19, "name": "lat_on_installs", "comment": null}, "local_spend_amount": {"type": "BIGNUMERIC", "index": 20, "name": "local_spend_amount", "comment": null}, "local_spend_currency": {"type": "STRING", "index": 21, "name": "local_spend_currency", "comment": null}, "new_downloads": {"type": "INT64", "index": 22, "name": "new_downloads", "comment": null}, "redownloads": {"type": "INT64", "index": 23, "name": "redownloads", "comment": null}, "tap_through_rate": {"type": "FLOAT64", "index": 24, "name": "tap_through_rate", "comment": null}, "taps": {"type": "INT64", "index": 25, "name": "taps", "comment": null}}, "stats": {"num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 4590.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "num_rows": {"id": "num_rows", "label": "# Rows", "value": 18.0, "include": true, "description": "Approximate count of rows in this table"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.apple_search_ads_source.apple_search_ads.ad_level_report"}, "source.apple_search_ads_source.apple_search_ads.campaign_report": {"metadata": {"type": "table", "schema": "apple_search_ads", "name": "campaign_report", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"date": {"type": "DATE", "index": 1, "name": "date", "comment": null}, "id": {"type": "INT64", "index": 2, "name": "id", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 3, "name": "_fivetran_synced", "comment": null}, "avg_cpa_amount": {"type": "BIGNUMERIC", "index": 4, "name": "avg_cpa_amount", "comment": null}, "avg_cpa_currency": {"type": "STRING", "index": 5, "name": "avg_cpa_currency", "comment": null}, "avg_cpt_amount": {"type": "BIGNUMERIC", "index": 6, "name": "avg_cpt_amount", "comment": null}, "avg_cpt_currency": {"type": "STRING", "index": 7, "name": "avg_cpt_currency", "comment": null}, "conversion_rate": {"type": "BIGNUMERIC", "index": 8, "name": "conversion_rate", "comment": null}, "conversions": {"type": "INT64", "index": 9, "name": "conversions", "comment": null}, "impressions": {"type": "INT64", "index": 10, "name": "impressions", "comment": null}, "lat_off_installs": {"type": "INT64", "index": 11, "name": "lat_off_installs", "comment": null}, "lat_on_installs": {"type": "INT64", "index": 12, "name": "lat_on_installs", "comment": null}, "local_spend_amount": {"type": "BIGNUMERIC", "index": 13, "name": "local_spend_amount", "comment": null}, "local_spend_currency": {"type": "STRING", "index": 14, "name": "local_spend_currency", "comment": null}, "new_downloads": {"type": "INT64", "index": 15, "name": "new_downloads", "comment": null}, "redownloads": {"type": "INT64", "index": 16, "name": "redownloads", "comment": null}, "tap_through_rate": {"type": "FLOAT64", "index": 17, "name": "tap_through_rate", "comment": null}, "taps": {"type": "INT64", "index": 18, "name": "taps", "comment": null}, "avg_cpm_amount": {"type": "BIGNUMERIC", "index": 19, "name": "avg_cpm_amount", "comment": null}, "avg_cpm_currency": {"type": "STRING", "index": 20, "name": "avg_cpm_currency", "comment": null}}, "stats": {"num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 3576.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "num_rows": {"id": "num_rows", "label": "# Rows", "value": 15.0, "include": true, "description": "Approximate count of rows in this table"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.apple_search_ads_source.apple_search_ads.campaign_report"}, "source.apple_search_ads_source.apple_search_ads.ad_group_history": {"metadata": {"type": "table", "schema": "apple_search_ads", "name": "ad_group_history", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"id": {"type": "INT64", "index": 1, "name": "id", "comment": "ID of Ad Group"}, "modification_time": {"type": "TIMESTAMP", "index": 2, "name": "modification_time", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 3, "name": "_fivetran_synced", "comment": null}, "automated_keywords_opt_in": {"type": "BOOL", "index": 4, "name": "automated_keywords_opt_in", "comment": null}, "campaign_id": {"type": "INT64", "index": 5, "name": "campaign_id", "comment": null}, "cpa_goal_amount": {"type": "BIGNUMERIC", "index": 6, "name": "cpa_goal_amount", "comment": null}, "cpa_goal_currency": {"type": "STRING", "index": 7, "name": "cpa_goal_currency", "comment": null}, "default_cpc_bid_amount": {"type": "BIGNUMERIC", "index": 8, "name": "default_cpc_bid_amount", "comment": null}, "default_cpc_bid_currency": {"type": "STRING", "index": 9, "name": "default_cpc_bid_currency", "comment": null}, "deleted": {"type": "BOOL", "index": 10, "name": "deleted", "comment": null}, "end_time": {"type": "TIMESTAMP", "index": 11, "name": "end_time", "comment": null}, "name": {"type": "STRING", "index": 12, "name": "name", "comment": null}, "organization_id": {"type": "INT64", "index": 13, "name": "organization_id", "comment": null}, "serving_state_reasons": {"type": "STRING", "index": 14, "name": "serving_state_reasons", "comment": null}, "serving_status": {"type": "STRING", "index": 15, "name": "serving_status", "comment": null}, "start_time": {"type": "TIMESTAMP", "index": 16, "name": "start_time", "comment": null}, "status": {"type": "STRING", "index": 17, "name": "status", "comment": null}, "storefronts": {"type": "STRING", "index": 18, "name": "storefronts", "comment": null}}, "stats": {"num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 523.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "num_rows": {"id": "num_rows", "label": "# Rows", "value": 5.0, "include": true, "description": "Approximate count of rows in this table"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.apple_search_ads_source.apple_search_ads.ad_group_history"}, "source.apple_search_ads_source.apple_search_ads.organization": {"metadata": {"type": "table", "schema": "apple_search_ads", "name": "organization", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"id": {"type": "INT64", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 2, "name": "_fivetran_synced", "comment": null}, "currency": {"type": "STRING", "index": 3, "name": "currency", "comment": null}, "name": {"type": "STRING", "index": 4, "name": "name", "comment": null}, "payment_model": {"type": "STRING", "index": 5, "name": "payment_model", "comment": null}, "role_names": {"type": "STRING", "index": 6, "name": "role_names", "comment": null}, "time_zone": {"type": "STRING", "index": 7, "name": "time_zone", "comment": null}}, "stats": {"num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 148.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "num_rows": {"id": "num_rows", "label": "# Rows", "value": 2.0, "include": true, "description": "Approximate count of rows in this table"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.apple_search_ads_source.apple_search_ads.organization"}, "source.apple_search_ads_source.apple_search_ads.ad_group_report": {"metadata": {"type": "table", "schema": "apple_search_ads", "name": "ad_group_report", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"ad_group_id": {"type": "INT64", "index": 1, "name": "ad_group_id", "comment": "ID of Ad Group"}, "date": {"type": "DATE", "index": 2, "name": "date", "comment": "Date of Report"}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 3, "name": "_fivetran_synced", "comment": null}, "avg_cpa_amount": {"type": "BIGNUMERIC", "index": 4, "name": "avg_cpa_amount", "comment": null}, "avg_cpa_currency": {"type": "STRING", "index": 5, "name": "avg_cpa_currency", "comment": null}, "avg_cpt_amount": {"type": "BIGNUMERIC", "index": 6, "name": "avg_cpt_amount", "comment": null}, "avg_cpt_currency": {"type": "STRING", "index": 7, "name": "avg_cpt_currency", "comment": null}, "conversion_rate": {"type": "BIGNUMERIC", "index": 8, "name": "conversion_rate", "comment": null}, "conversions": {"type": "INT64", "index": 9, "name": "conversions", "comment": null}, "impressions": {"type": "INT64", "index": 10, "name": "impressions", "comment": null}, "lat_off_installs": {"type": "INT64", "index": 11, "name": "lat_off_installs", "comment": null}, "lat_on_installs": {"type": "INT64", "index": 12, "name": "lat_on_installs", "comment": null}, "local_spend_amount": {"type": "BIGNUMERIC", "index": 13, "name": "local_spend_amount", "comment": null}, "local_spend_currency": {"type": "STRING", "index": 14, "name": "local_spend_currency", "comment": null}, "new_downloads": {"type": "INT64", "index": 15, "name": "new_downloads", "comment": null}, "redownloads": {"type": "INT64", "index": 16, "name": "redownloads", "comment": null}, "tap_through_rate": {"type": "FLOAT64", "index": 17, "name": "tap_through_rate", "comment": null}, "taps": {"type": "INT64", "index": 18, "name": "taps", "comment": null}, "avg_cpm_amount": {"type": "BIGNUMERIC", "index": 19, "name": "avg_cpm_amount", "comment": null}, "avg_cpm_currency": {"type": "STRING", "index": 20, "name": "avg_cpm_currency", "comment": null}}, "stats": {"num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 3807.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "num_rows": {"id": "num_rows", "label": "# Rows", "value": 16.0, "include": true, "description": "Approximate count of rows in this table"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.apple_search_ads_source.apple_search_ads.ad_group_report"}}, "errors": null} \ No newline at end of file diff --git a/docs/index.html b/docs/index.html index 182b6b4..0807e63 100644 --- a/docs/index.html +++ b/docs/index.html @@ -90,13 +90,13 @@ https://github.com/jquery/jquery/blob/master/src/event.js */var r=function(e,t){this.recycle(e,t)};function i(){return!1}function o(){return!0}r.prototype={instanceString:function(){return"event"},recycle:function(e,t){if(this.isImmediatePropagationStopped=this.isPropagationStopped=this.isDefaultPrevented=i,null!=e&&e.preventDefault?(this.type=e.type,this.isDefaultPrevented=e.defaultPrevented?o:i):null!=e&&e.type?t=e:this.type=e,null!=t&&(this.originalEvent=t.originalEvent,this.type=null!=t.type?t.type:this.type,this.cy=t.cy,this.target=t.target,this.position=t.position,this.renderedPosition=t.renderedPosition,this.namespace=t.namespace,this.layout=t.layout),null!=this.cy&&null!=this.position&&null==this.renderedPosition){var n=this.position,r=this.cy.zoom(),a=this.cy.pan();this.renderedPosition={x:n.x*r+a.x,y:n.y*r+a.y}}this.timeStamp=e&&e.timeStamp||Date.now()},preventDefault:function(){this.isDefaultPrevented=o;var e=this.originalEvent;e&&e.preventDefault&&e.preventDefault()},stopPropagation:function(){this.isPropagationStopped=o;var e=this.originalEvent;e&&e.stopPropagation&&e.stopPropagation()},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=o,this.stopPropagation()},isDefaultPrevented:i,isPropagationStopped:i,isImmediatePropagationStopped:i},e.exports=r},function(e,t,n){"use strict";var r=n(1);e.exports=function(e,t){var n=e.cy().hasCompoundNodes();function i(e){var t=e.pstyle("z-compound-depth");return"auto"===t.value?n?e.zDepth():0:"bottom"===t.value?-1:"top"===t.value?r.MAX_INT:0}var o=i(e)-i(t);if(0!==o)return o;function a(e){return"auto"===e.pstyle("z-index-compare").value&&e.isNode()?1:0}var s=a(e)-a(t);if(0!==s)return s;var l=e.pstyle("z-index").value-t.pstyle("z-index").value;return 0!==l?l:e.poolIndex()-t.poolIndex()}},function(e,t,n){"use strict";var r=n(0),i=n(1),o=n(6),a=function e(t){if(!(this instanceof e))return new e(t);r.core(t)?(this._private={cy:t,coreStyle:{}},this.length=0,this.resetToDefault()):i.error("A style must have a core reference")},s=a.prototype;s.instanceString=function(){return"style"},s.clear=function(){for(var e=0;e=e.deqFastCost*m)break}else if(o){if(h>=e.deqCost*c||h>=e.deqAvgCost*l)break}else if(g>=e.deqNoDrawCost*(1e3/60))break;var v=e.deq(t,f,d);if(!(v.length>0))break;for(var b=0;b0&&(e.onDeqd(t,u),!o&&e.shouldRedraw(t,u,f,d)&&i())}),o(t))}}}}},function(e,t,n){"use strict";var r=n(0),i=n(12),o=n(94),a=n(136),s=function(e){return void 0===e&&(e={}),r.plainObject(e)?new i(e):r.string(e)?o.apply(o,arguments):void 0};s.use=function(e){var t=Array.prototype.slice.call(arguments,1);return t.unshift(s),e.apply(null,t),this},s.version=n(137),s.stylesheet=s.Stylesheet=a,e.exports=s},function(e,t,n){"use strict";var r=n(0);e.exports={hex2tuple:function(e){if((4===e.length||7===e.length)&&"#"===e[0]){var t=void 0,n=void 0,r=void 0;return 4===e.length?(t=parseInt(e[1]+e[1],16),n=parseInt(e[2]+e[2],16),r=parseInt(e[3]+e[3],16)):(t=parseInt(e[1]+e[2],16),n=parseInt(e[3]+e[4],16),r=parseInt(e[5]+e[6],16)),[t,n,r]}},hsl2tuple:function(e){var t=void 0,n=void 0,r=void 0,i=void 0,o=void 0,a=void 0,s=void 0,l=void 0;function c(e,t,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?e+6*(t-e)*n:n<.5?t:n<2/3?e+(t-e)*(2/3-n)*6:e}var u=new RegExp("^"+this.regex.hsla+"$").exec(e);if(u){if((n=parseInt(u[1]))<0?n=(360- -1*n%360)%360:n>360&&(n%=360),n/=360,(r=parseFloat(u[2]))<0||r>100)return;if(r/=100,(i=parseFloat(u[3]))<0||i>100)return;if(i/=100,void 0!==(o=u[4])&&((o=parseFloat(o))<0||o>1))return;if(0===r)a=s=l=Math.round(255*i);else{var d=i<.5?i*(1+r):i+r-i*r,f=2*i-d;a=Math.round(255*c(f,d,n+1/3)),s=Math.round(255*c(f,d,n)),l=Math.round(255*c(f,d,n-1/3))}t=[a,s,l,o]}return t},rgb2tuple:function(e){var t=void 0,n=new RegExp("^"+this.regex.rgba+"$").exec(e);if(n){t=[];for(var r=[],i=1;i<=3;i++){var o=n[i];if("%"===o[o.length-1]&&(r[i]=!0),o=parseFloat(o),r[i]&&(o=o/100*255),o<0||o>255)return;t.push(Math.floor(o))}var a=r[1]||r[2]||r[3],s=r[1]&&r[2]&&r[3];if(a&&!s)return;var l=n[4];if(void 0!==l){if((l=parseFloat(l))<0||l>1)return;t.push(l)}}return t},colorname2tuple:function(e){return this.colors[e.toLowerCase()]},color2tuple:function(e){return(r.array(e)?e:null)||this.colorname2tuple(e)||this.hex2tuple(e)||this.rgb2tuple(e)||this.hsl2tuple(e)},colors:{transparent:[0,0,0,0],aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],grey:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}}},function(e,t,n){"use strict";var r=n(0);e.exports={mapEmpty:function(e){return null==e||0===Object.keys(e).length},pushMap:function(e){var t=this.getMap(e);null==t?this.setMap(this.extend({},e,{value:[e.value]})):t.push(e.value)},setMap:function(e){for(var t=e.map,n=e.keys,i=n.length,o=0;ot?1:0}e.exports={sort:{ascending:r,descending:function(e,t){return-1*r(e,t)}}}},function(e,t,n){"use strict";function r(){this._obj={}}var i=r.prototype;i.set=function(e,t){this._obj[e]=t},i.delete=function(e){this._obj[e]=null},i.has=function(e){return null!=this._obj[e]},i.get=function(e){return this._obj[e]},e.exports=r},function(e,t,n){"use strict";var r=n(1),i={};[n(30),n(31),n(33),n(34),n(35),n(36),n(37),n(38),n(39),n(40),n(41)].forEach((function(e){r.extend(i,e)})),e.exports=i},function(e,t,n){"use strict";var r=n(0),i=function(e){return e={bfs:e.bfs||!e.dfs,dfs:e.dfs||!e.bfs},function(t,n,i){var o;r.plainObject(t)&&!r.elementOrCollection(t)&&(t=(o=t).roots||o.root,n=o.visit,i=o.directed),i=2!==arguments.length||r.fn(n)?i:n,n=r.fn(n)?n:function(){};for(var a,s=this._private.cy,l=t=r.string(t)?this.filter(t):t,c=[],u=[],d={},f={},p={},h=0,g=this.nodes(),m=this.edges(),v=0;v0;){var y=g.pop(),x=p(y),w=y.id();if(u[w]=x,x!==1/0){var k=y.neighborhood().intersect(f);for(m=0;m0)for(n.unshift(t);c[i.id()];){var o=c[i.id()];n.unshift(o.edge),n.unshift(o.node),i=o.node}return a.collection(n)}}}};e.exports=o},function(e,t){e.exports=n},function(e,t,n){"use strict";var r=n(0),i={kruskal:function(e){var t=this.cy();function n(e){for(var t=0;t0;){var y=n(p,v),x=i.getElementById(p[y]),w=x.id();if(b++,w==d){var k=t(u,d,h,[]);return{found:!0,distance:m[w],path:this.spawn(k),steps:b}}f.push(w),p.splice(y,1);for(var A=x._private.edges,E=0;Eb&&(u[m][v]=b,p[m][v]=v,h[m][v]=o[c])}if(!i)for(c=0;cb&&(u[m][v]=b,p[m][v]=v,h[m][v]=o[c]);for(var y=0;yu&&(u=t)},f=function(e){return c[e]},p=0;p0?S.edgesTo(E)[0]:E.edgesTo(S)[0]);E=E.id(),y[E]>y[k]+$&&(y[E]=y[k]+$,x.nodes.indexOf(E)<0?x.push(E):x.updateItem(E),b[E]=0,v[E]=[]),y[E]==y[k]+$&&(b[E]=b[E]+b[k],v[E].push(k))}else for(A=0;A0;)for(E=m.pop(),A=0;A0:void 0}},clearQueue:function(){return function(){var e=void 0!==this.length?this:[this];if(!(this._private.cy||this).styleEnabled())return this;for(var t=0;t0&&this.spawn(n).updateStyle().emit("class"),t},addClass:function(e){return this.toggleClass(e,!0)},hasClass:function(e){var t=this[0];return null!=t&&t._private.classes.has(e)},toggleClass:function(e,t){for(var n=e.match(/\S+/g)||[],r=[],i=0,o=this.length;i0&&this.spawn(r).updateStyle().emit("class"),this},removeClass:function(e){return this.toggleClass(e,!1)},flashClass:function(e,t){var n=this;if(null==t)t=250;else if(0===t)return n;return n.addClass(e),setTimeout((function(){n.removeClass(e)}),t),n}};e.exports=i},function(e,t,n){"use strict";n(0);var r=n(6),i={allAre:function(e){var t=new r(e);return this.every((function(e){return t.matches(e)}))},is:function(e){var t=new r(e);return this.some((function(e){return t.matches(e)}))},some:function(e,t){for(var n=0;n\\?\\@\\[\\]\\^\\`\\{\\|\\}\\~]",comparatorOp:"=|\\!=|>|>=|<|<=|\\$=|\\^=|\\*=",boolOp:"\\?|\\!|\\^",string:"\"(?:\\\\\"|[^\"])*\"|'(?:\\\\'|[^'])*'",number:n(1).regex.number,meta:"degree|indegree|outdegree",separator:"\\s*,\\s*",descendant:"\\s+",child:"\\s+>\\s+",subject:"\\$",group:"node|edge|\\*",directedEdge:"\\s+->\\s+",undirectedEdge:"\\s+<->\\s+"};r.variable="(?:[\\w-]|(?:\\\\"+r.metaChar+"))+",r.value=r.string+"|"+r.number,r.className=r.variable,r.id=r.variable,function(){var e=void 0,t=void 0,n=void 0;for(e=r.comparatorOp.split("|"),n=0;n=0||"="!==t&&(r.comparatorOp+="|\\!"+t)}(),e.exports=r},function(e,t,n){"use strict";var r=n(15).stateSelectorMatches,i=n(0),o=function(e,t){for(var n=!0,r=0;r=0&&(d=d.toLowerCase(),f=f.toLowerCase(),a=a.replace("@",""),p=!0);var h=!1;a.indexOf("!")>=0&&(a=a.replace("!",""),h=!0),p&&(s=f.toLowerCase(),u=d.toLowerCase());var g=!1;switch(a){case"*=":c=d.indexOf(f)>=0;break;case"$=":c=d.indexOf(f,d.length-f.length)>=0;break;case"^=":c=0===d.indexOf(f);break;case"=":c=u===s;break;case">":g=!0,c=u>s;break;case">=":g=!0,c=u>=s;break;case"<":g=!0,c=u0;){var u=o.shift();t(u),a.add(u.id()),s&&i(o,a,u)}return e}function a(e,t,n){if(n.isParent())for(var r=n._private.children,i=0;i1&&void 0!==arguments[1])||arguments[1];return o(this,e,t,a)},i.forEachUp=function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return o(this,e,t,s)},i.forEachUpAndDown=function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return o(this,e,t,l)},i.ancestors=i.parents,e.exports=i},function(e,t,n){"use strict";var r,i=n(4),o=void 0;(o=r={data:i.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),removeData:i.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),scratch:i.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:i.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),rscratch:i.data({field:"rscratch",allowBinding:!1,allowSetting:!0,settingTriggersEvent:!1,allowGetting:!0}),removeRscratch:i.removeData({field:"rscratch",triggerEvent:!1}),id:function(){var e=this[0];if(e)return e._private.data.id}}).attr=o.data,o.removeAttr=o.removeData,e.exports=r},function(e,t,n){"use strict";var r=n(1),i={};function o(e){return function(t){if(void 0===t&&(t=!0),0!==this.length&&this.isNode()&&!this.removed()){for(var n=0,r=this[0],i=r._private.edges,o=0;ot})),minIndegree:a("indegree",(function(e,t){return et})),minOutdegree:a("outdegree",(function(e,t){return et}))}),r.extend(i,{totalDegree:function(e){for(var t=0,n=this.nodes(),r=0;r0,d=u;u&&(c=c[0]);var f=d?c.position():{x:0,y:0};return i={x:l.x-f.x,y:l.y-f.y},void 0===e?i:i[e]}for(var p=0;p0,v=m;m&&(g=g[0]);var b=v?g.position():{x:0,y:0};void 0!==t?h.position(e,t+b[e]):void 0!==i&&h.position({x:i.x+b.x,y:i.y+b.y})}}else if(!a)return;return this}}).modelPosition=s.point=s.position,s.modelPositions=s.points=s.positions,s.renderedPoint=s.renderedPosition,s.relativePoint=s.relativePosition,e.exports=r},function(e,t,n){"use strict";var r=n(0),i=n(1),o=n(2),a=void 0,s=void 0;a=s={},s.renderedBoundingBox=function(e){var t=this.boundingBox(e),n=this.cy(),r=n.zoom(),i=n.pan(),o=t.x1*r+i.x,a=t.x2*r+i.x,s=t.y1*r+i.y,l=t.y2*r+i.y;return{x1:o,x2:a,y1:s,y2:l,w:a-o,h:l-s}},s.dirtyCompoundBoundsCache=function(){var e=this.cy();return e.styleEnabled()&&e.hasCompoundNodes()?(this.forEachUp((function(e){e._private.compoundBoundsClean=!1,e.isParent()&&e.emit("bounds")})),this):this},s.updateCompoundBounds=function(){var e=this.cy();if(!e.styleEnabled()||!e.hasCompoundNodes())return this;if(e.batching())return this;var t=[];function n(e){if(e.isParent()){var n=e._private,r=e.children(),i="include"===e.pstyle("compound-sizing-wrt-labels").value,o={width:{val:e.pstyle("min-width").pfValue,left:e.pstyle("min-width-bias-left"),right:e.pstyle("min-width-bias-right")},height:{val:e.pstyle("min-height").pfValue,top:e.pstyle("min-height-bias-top"),bottom:e.pstyle("min-height-bias-bottom")}},a=r.boundingBox({includeLabels:i,includeOverlays:!1,useCache:!1}),s=n.position;0!==a.w&&0!==a.h||((a={w:e.pstyle("width").pfValue,h:e.pstyle("height").pfValue}).x1=s.x-a.w/2,a.x2=s.x+a.w/2,a.y1=s.y-a.h/2,a.y2=s.y+a.h/2);var l=o.width.left.value;"px"===o.width.left.units&&o.width.val>0&&(l=100*l/o.width.val);var c=o.width.right.value;"px"===o.width.right.units&&o.width.val>0&&(c=100*c/o.width.val);var u=o.height.top.value;"px"===o.height.top.units&&o.height.val>0&&(u=100*u/o.height.val);var d=o.height.bottom.value;"px"===o.height.bottom.units&&o.height.val>0&&(d=100*d/o.height.val);var f=b(o.width.val-a.w,l,c),p=f.biasDiff,h=f.biasComplementDiff,g=b(o.height.val-a.h,u,d),m=g.biasDiff,v=g.biasComplementDiff;n.autoPadding=function(e,t,n,r){if("%"!==n.units)return"px"===n.units?n.pfValue:0;switch(r){case"width":return e>0?n.pfValue*e:0;case"height":return t>0?n.pfValue*t:0;case"average":return e>0&&t>0?n.pfValue*(e+t)/2:0;case"min":return e>0&&t>0?e>t?n.pfValue*t:n.pfValue*e:0;case"max":return e>0&&t>0?e>t?n.pfValue*e:n.pfValue*t:0;default:return 0}}(a.w,a.h,e.pstyle("padding"),e.pstyle("padding-relative-to").value),n.autoWidth=Math.max(a.w,o.width.val),s.x=(-p+a.x1+a.x2+h)/2,n.autoHeight=Math.max(a.h,o.height.val),s.y=(-m+a.y1+a.y2+v)/2,t.push(e)}function b(e,t,n){var r=0,i=0,o=t+n;return e>0&&o>0&&(r=t/o*e,i=n/o*e),{biasDiff:r,biasComplementDiff:i}}}for(var r=0;re.x2?r:e.x2,e.y1=ne.y2?i:e.y2)},u=function(e,t,n){return i.getPrefixedProperty(e,t,n)},d=function(e,t,n){if(!t.cy().headless()){var r=t._private.rstyle,i=r.arrowWidth/2,o=void 0,a=void 0;"none"!==t.pstyle(n+"-arrow-shape").value&&("source"===n?(o=r.srcX,a=r.srcY):"target"===n?(o=r.tgtX,a=r.tgtY):(o=r.midX,a=r.midY),c(e,o-i,a-i,o+i,a+i))}},f=function(e,t,n){if(!t.cy().headless()){var r=void 0;r=n?n+"-":"";var i=t._private,o=i.rstyle;if(t.pstyle(r+"label").strValue){var a=t.pstyle("text-halign"),s=t.pstyle("text-valign"),l=u(o,"labelWidth",n),d=u(o,"labelHeight",n),f=u(o,"labelX",n),p=u(o,"labelY",n),h=t.pstyle(r+"text-margin-x").pfValue,g=t.pstyle(r+"text-margin-y").pfValue,m=t.isEdge(),v=t.pstyle(r+"text-rotation"),b=t.pstyle("text-outline-width").pfValue,y=t.pstyle("text-border-width").pfValue/2,x=t.pstyle("text-background-padding").pfValue,w=d+2*x,k=l+2*x,A=k/2,E=w/2,S=void 0,$=void 0,C=void 0,_=void 0;if(m)S=f-A,$=f+A,C=p-E,_=p+E;else{switch(a.value){case"left":S=f-k,$=f;break;case"center":S=f-A,$=f+A;break;case"right":S=f,$=f+k}switch(s.value){case"top":C=p-w,_=p;break;case"center":C=p-E,_=p+E;break;case"bottom":C=p,_=p+w}}var O=m&&"autorotate"===v.strValue,j=null!=v.pfValue&&0!==v.pfValue;if(O||j){var T=O?u(i.rstyle,"labelAngle",n):v.pfValue,P=Math.cos(T),D=Math.sin(T),R=function(e,t){return{x:(e-=f)*P-(t-=p)*D+f,y:e*D+t*P+p}},I=R(S,C),N=R(S,_),M=R($,C),z=R($,_);S=Math.min(I.x,N.x,M.x,z.x),$=Math.max(I.x,N.x,M.x,z.x),C=Math.min(I.y,N.y,M.y,z.y),_=Math.max(I.y,N.y,M.y,z.y)}S+=h-Math.max(b,y),$+=h+Math.max(b,y),C+=g-Math.max(b,y),_+=g+Math.max(b,y),c(e,S,C,$,_)}return e}},p=function(e){return e?"t":"f"},h=function(e){var t="";return t+=p(e.incudeNodes),t+=p(e.includeEdges),t+=p(e.includeLabels),t+=p(e.includeOverlays)},g=function(e,t){var n=e._private,r=void 0,i=e.cy().headless(),a=t===m?v:h(t);return t.useCache&&!i&&n.bbCache&&n.bbCache[a]?r=n.bbCache[a]:(r=function(e,t){var n=e._private.cy,r=n.styleEnabled(),i=n.headless(),a={x1:1/0,y1:1/0,x2:-1/0,y2:-1/0},s=e._private,u=r?e.pstyle("display").value:"element",p=e.isNode(),h=e.isEdge(),g=void 0,m=void 0,v=void 0,b=void 0,y=void 0,x=void 0,w="none"!==u;if(w){var k=0;r&&t.includeOverlays&&0!==e.pstyle("overlay-opacity").value&&(k=e.pstyle("overlay-padding").value);var A=0;if(r&&(A=e.pstyle("width").pfValue/2),p&&t.includeNodes){var E=e.position();y=E.x,x=E.y;var S=e.outerWidth()/2,$=e.outerHeight()/2;c(a,g=y-S-k,v=x-$-k,m=y+S+k,b=x+$+k)}else if(h&&t.includeEdges){var C=s.rstyle||{};if(r&&!i&&(g=Math.min(C.srcX,C.midX,C.tgtX),m=Math.max(C.srcX,C.midX,C.tgtX),v=Math.min(C.srcY,C.midY,C.tgtY),b=Math.max(C.srcY,C.midY,C.tgtY),c(a,g-=A,v-=A,m+=A,b+=A)),r&&!i&&"haystack"===e.pstyle("curve-style").strValue){var _=C.haystackPts||[];if(g=_[0].x,v=_[0].y,g>(m=_[1].x)){var O=g;g=m,m=O}if(v>(b=_[1].y)){var j=v;v=b,b=j}c(a,g-A,v-A,m+A,b+A)}else{for(var T=C.bezierPts||C.linePts||[],P=0;P(m=I.x)){var N=g;g=m,m=N}if((v=R.y)>(b=I.y)){var M=v;v=b,b=M}c(a,g-=A,v-=A,m+=A,b+=A)}}}if(r&&t.includeEdges&&h&&(d(a,e,"mid-source"),d(a,e,"mid-target"),d(a,e,"source"),d(a,e,"target")),r&&"yes"===e.pstyle("ghost").value){var z=e.pstyle("ghost-offset-x").pfValue,L=e.pstyle("ghost-offset-y").pfValue;c(a,a.x1+z,a.y1+L,a.x2+z,a.y2+L)}r&&(g=a.x1,m=a.x2,v=a.y1,b=a.y2,c(a,g-k,v-k,m+k,b+k)),r&&t.includeLabels&&(f(a,e,null),h&&(f(a,e,"source"),f(a,e,"target")))}return a.x1=l(a.x1),a.y1=l(a.y1),a.x2=l(a.x2),a.y2=l(a.y2),a.w=l(a.x2-a.x1),a.h=l(a.y2-a.y1),a.w>0&&a.h>0&&w&&o.expandBoundingBox(a,1),a}(e,t),i||(n.bbCache=n.bbCache||{},n.bbCache[a]=r)),r},m={includeNodes:!0,includeEdges:!0,includeLabels:!0,includeOverlays:!0,useCache:!0},v=h(m);function b(e){return{includeNodes:i.default(e.includeNodes,m.includeNodes),includeEdges:i.default(e.includeEdges,m.includeEdges),includeLabels:i.default(e.includeLabels,m.includeLabels),includeOverlays:i.default(e.includeOverlays,m.includeOverlays),useCache:i.default(e.useCache,m.useCache)}}s.boundingBox=function(e){if(1===this.length&&this[0]._private.bbCache&&(void 0===e||void 0===e.useCache||!0===e.useCache))return e=void 0===e?m:b(e),g(this[0],e);var t={x1:1/0,y1:1/0,x2:-1/0,y2:-1/0},n=b(e=e||i.staticEmptyObject()),r=this.cy().styleEnabled();r&&this.recalculateRenderedStyle(n.useCache),this.updateCompoundBounds();for(var o,a,s={},u=0;u1&&!a){var s=this.length-1,l=this[s],c=l._private.data.id;this[s]=void 0,this[o]=l,r.set(c,{ele:l,index:o})}return this.length--,this},unmerge:function(e){var t=this._private.cy;if(!e)return this;if(e&&r.string(e)){var n=e;e=t.mutableElements().filter(n)}for(var i=0;in&&(n=a,r=o)}return{value:n,ele:r}},min:function(e,t){for(var n=1/0,r=void 0,i=0;i=0&&i0&&t.push(u[0]),t.push(s[0])}return this.spawn(t,{unique:!0}).filter(e)}),"neighborhood"),closedNeighborhood:function(e){return this.neighborhood().add(this).filter(e)},openNeighborhood:function(e){return this.neighborhood(e)}}),o.neighbourhood=o.neighborhood,o.closedNeighbourhood=o.closedNeighborhood,o.openNeighbourhood=o.openNeighborhood,r.extend(o,{source:a((function(e){var t=this[0],n=void 0;return t&&(n=t._private.source||t.cy().collection()),n&&e?n.filter(e):n}),"source"),target:a((function(e){var t=this[0],n=void 0;return t&&(n=t._private.target||t.cy().collection()),n&&e?n.filter(e):n}),"target"),sources:u({attr:"source"}),targets:u({attr:"target"})}),r.extend(o,{edgesWith:a(d(),"edgesWith"),edgesTo:a(d({thisIsSrc:!0}),"edgesTo")}),r.extend(o,{connectedEdges:a((function(e){for(var t=[],n=0;n0);return i.map((function(e){var t=e.connectedEdges().stdFilter((function(t){return e.anySame(t.source())&&e.anySame(t.target())}));return e.union(t)}))}}),e.exports=o},function(e,t,n){"use strict";var r=n(0),i=n(1),o=n(7),a=n(14),s={add:function(e){var t=void 0,n=this;if(r.elementOrCollection(e)){var s=e;if(s._private.cy===n)t=s.restore();else{for(var l=[],c=0;c=0;t--)(0,e[t])();e.splice(0,e.length)},p=s.length-1;p>=0;p--){var h=s[p],g=h._private;g.stopped?(s.splice(p,1),g.hooked=!1,g.playing=!1,g.started=!1,f(g.frames)):(g.playing||g.applying)&&(g.playing&&g.applying&&(g.applying=!1),g.started||i(t,h,e,n),r(t,h,e,n),g.applying&&(g.applying=!1),f(g.frames),h.completed()&&(s.splice(p,1),g.hooked=!1,g.playing=!1,g.started=!1,f(g.completes)),c=!0)}return n||0!==s.length||0!==l.length||o.push(t),c}for(var s=!1,l=0;l0?(n.dirtyCompoundBoundsCache(),t.notify({type:"draw",eles:n})):t.notify({type:"draw"})),n.unmerge(o),t.emit("step")}},function(e,t,n){"use strict";var r=n(73),i=n(76),o=n(0);function a(e,t){return!!(null!=e&&null!=t&&(o.number(e)&&o.number(t)||e&&t))}e.exports=function(e,t,n,s){var l=!s,c=e._private,u=t._private,d=u.easing,f=u.startTime,p=(s?e:e.cy()).style();if(!u.easingImpl)if(null==d)u.easingImpl=r.linear;else{var h=void 0;h=o.string(d)?p.parse("transition-timing-function",d).value:d;var g=void 0,m=void 0;o.string(h)?(g=h,m=[]):(g=h[1],m=h.slice(2).map((function(e){return+e}))),m.length>0?("spring"===g&&m.push(u.duration),u.easingImpl=r[g].apply(null,m)):u.easingImpl=r[g]}var v=u.easingImpl,b=void 0;if(b=0===u.duration?1:(n-f)/u.duration,u.applying&&(b=u.progress),b<0?b=0:b>1&&(b=1),null==u.delay){var y=u.startPosition,x=u.position;if(x&&l&&!e.locked()){var w=e.position();a(y.x,x.x)&&(w.x=i(y.x,x.x,b,v)),a(y.y,x.y)&&(w.y=i(y.y,x.y,b,v)),e.emit("position")}var k=u.startPan,A=u.pan,E=c.pan,S=null!=A&&s;S&&(a(k.x,A.x)&&(E.x=i(k.x,A.x,b,v)),a(k.y,A.y)&&(E.y=i(k.y,A.y,b,v)),e.emit("pan"));var $=u.startZoom,C=u.zoom,_=null!=C&&s;_&&(a($,C)&&(c.zoom=i($,C,b,v)),e.emit("zoom")),(S||_)&&e.emit("viewport");var O=u.style;if(O&&O.length>0&&l){for(var j=0;j0?i=l:r=l}while(Math.abs(o)>a&&++c=o?b(t,s):0===u?s:x(t,r,r+c)}var k=!1;function A(){k=!0,e===t&&n===r||y()}var E=function(i){return k||A(),e===t&&n===r?i:0===i?0:1===i?1:m(w(i),t,r)};E.getControlPoints=function(){return[{x:e,y:t},{x:n,y:r}]};var S="generateBezier("+[e,t,n,r]+")";return E.toString=function(){return S},E}},function(e,t,n){"use strict"; -/*! Runge-Kutta spring physics function generator. Adapted from Framer.js, copyright Koen Bok. MIT License: http://en.wikipedia.org/wiki/MIT_License */var r=function(){function e(e){return-e.tension*e.x-e.friction*e.v}function t(t,n,r){var i={x:t.x+r.dx*n,v:t.v+r.dv*n,tension:t.tension,friction:t.friction};return{dx:i.v,dv:e(i)}}function n(n,r){var i={dx:n.v,dv:e(n)},o=t(n,.5*r,i),a=t(n,.5*r,o),s=t(n,r,a),l=1/6*(i.dx+2*(o.dx+a.dx)+s.dx),c=1/6*(i.dv+2*(o.dv+a.dv)+s.dv);return n.x=n.x+l*r,n.v=n.v+c*r,n}return function e(t,r,i){var o,a={x:-1,v:0,tension:null,friction:null},s=[0],l=0,c=void 0,u=void 0;for(t=parseFloat(t)||500,r=parseFloat(r)||20,i=i||null,a.tension=t,a.friction=r,c=(o=null!==i)?(l=e(t,r))/i*.016:.016;u=n(u||a,c),s.push(1+u.x),l+=16,Math.abs(u.x)>1e-4&&Math.abs(u.v)>1e-4;);return o?function(e){return s[e*(s.length-1)|0]}:l}}();e.exports=r},function(e,t,n){"use strict";var r=n(0);function i(e,t,n,r,i){if(1===r)return n;var o=i(t,n,r);return null==e||((e.roundValue||e.color)&&(o=Math.round(o)),void 0!==e.min&&(o=Math.max(o,e.min)),void 0!==e.max&&(o=Math.min(o,e.max))),o}function o(e,t){return null!=e.pfValue||null!=e.value?null==e.pfValue||null!=t&&"%"===t.type.units?e.value:e.pfValue:e}e.exports=function(e,t,n,a,s){var l=null!=s?s.type:null;n<0?n=0:n>1&&(n=1);var c=o(e,s),u=o(t,s);if(r.number(c)&&r.number(u))return i(l,c,u,n,a);if(r.array(c)&&r.array(u)){for(var d=[],f=0;f0},startBatch:function(){var e=this._private;return null==e.batchCount&&(e.batchCount=0),0===e.batchCount&&(e.batchingStyle=e.batchingNotify=!0,e.batchStyleEles=this.collection(),e.batchNotifyEles=this.collection(),e.batchNotifyTypes=[],e.batchNotifyTypes.ids={}),e.batchCount++,this},endBatch:function(){var e=this._private;return e.batchCount--,0===e.batchCount&&(e.batchingStyle=!1,e.batchStyleEles.updateStyle(),e.batchingNotify=!1,this.notify({type:e.batchNotifyTypes,eles:e.batchNotifyEles})),this},batch:function(e){return this.startBatch(),e(),this.endBatch(),this},batchData:function(e){var t=this;return this.batch((function(){for(var n=Object.keys(e),r=0;r0;)e.removeChild(e.childNodes[0]);this._private.renderer=null},onRender:function(e){return this.on("render",e)},offRender:function(e){return this.off("render",e)}};i.invalidateDimensions=i.resize,e.exports=i},function(e,t,n){"use strict";var r=n(0),i=n(7),o={collection:function(e,t){return r.string(e)?this.$(e):r.elementOrCollection(e)?e.collection():r.array(e)?new i(this,e,t):new i(this)},nodes:function(e){var t=this.$((function(e){return e.isNode()}));return e?t.filter(e):t},edges:function(e){var t=this.$((function(e){return e.isEdge()}));return e?t.filter(e):t},$:function(e){var t=this._private.elements;return e?t.filter(e):t.spawnSelf()},mutableElements:function(){return this._private.elements}};o.elements=o.filter=o.$,e.exports=o},function(e,t,n){"use strict";var r=n(0),i=n(18),o={style:function(e){return e&&this.setStyle(e).update(),this._private.style},setStyle:function(e){var t=this._private;return r.stylesheet(e)?t.style=e.generateStyle(this):r.array(e)?t.style=i.fromJson(this,e):r.string(e)?t.style=i.fromString(this,e):t.style=i(this),t.style}};e.exports=o},function(e,t,n){"use strict";var r=n(1),i=n(0),o=n(5),a={apply:function(e){var t=this._private,n=t.cy.collection();t.newStyle&&(t.contextStyles={},t.propDiffs={},this.cleanElements(e,!0));for(var r=0;r0;if(c||u){var d=void 0;c&&u||c?d=l.properties:u&&(d=l.mappedProperties);for(var f=0;f0){n=!0;break}t.hasPie=n;var i=e.pstyle("text-transform").strValue,o=e.pstyle("label").strValue,a=e.pstyle("source-label").strValue,s=e.pstyle("target-label").strValue,l=e.pstyle("font-style").strValue,c=e.pstyle("font-size").pfValue+"px",u=e.pstyle("font-family").strValue,d=e.pstyle("font-weight").strValue,f=l+"$"+c+"$"+u+"$"+d+"$"+i+"$"+e.pstyle("text-valign").strValue+"$"+e.pstyle("text-valign").strValue+"$"+e.pstyle("text-outline-width").pfValue+"$"+e.pstyle("text-wrap").strValue+"$"+e.pstyle("text-max-width").pfValue;t.labelStyleKey=f,t.sourceLabelKey=f+"$"+a,t.targetLabelKey=f+"$"+s,t.labelKey=f+"$"+o,t.fontKey=l+"$"+d+"$"+c+"$"+u,t.styleKey=Date.now()}},applyParsedProperty:function(e,t){var n=this,o=t,a=e._private.style,s=void 0,l=n.types,c=n.properties[o.name].type,u=o.bypass,d=a[o.name],f=d&&d.bypass,p=e._private,h=function(){n.checkZOrderTrigger(e,o.name,d?d.value:null,o.value)};if("curve-style"===t.name&&"haystack"===t.value&&e.isEdge()&&(e.isLoop()||e.source().isParent()||e.target().isParent())&&(o=t=this.parse(t.name,"bezier",u)),o.delete)return a[o.name]=void 0,h(),!0;if(o.deleteBypassed)return d?!!d.bypass&&(d.bypassed=void 0,h(),!0):(h(),!0);if(o.deleteBypass)return d?!!d.bypass&&(a[o.name]=d.bypassed,h(),!0):(h(),!0);var g=function(){r.error("Do not assign mappings to elements without corresponding data (e.g. ele `"+e.id()+"` for property `"+o.name+"` with data field `"+o.field+"`); try a `["+o.field+"]` selector to limit scope to elements with `"+o.field+"` defined")};switch(o.mapped){case l.mapData:for(var m=o.field.split("."),v=p.data,b=0;b1&&(y=1),c.color){var x=o.valueMin[0],w=o.valueMax[0],k=o.valueMin[1],A=o.valueMax[1],E=o.valueMin[2],S=o.valueMax[2],$=null==o.valueMin[3]?1:o.valueMin[3],C=null==o.valueMax[3]?1:o.valueMax[3],_=[Math.round(x+(w-x)*y),Math.round(k+(A-k)*y),Math.round(E+(S-E)*y),Math.round($+(C-$)*y)];s={bypass:o.bypass,name:o.name,value:_,strValue:"rgb("+_[0]+", "+_[1]+", "+_[2]+")"}}else{if(!c.number)return!1;var O=o.valueMin+(o.valueMax-o.valueMin)*y;s=this.parse(o.name,O,o.bypass,"mapping")}s||(s=this.parse(o.name,d.strValue,o.bypass,"mapping")),s||g(),s.mapping=o,o=s;break;case l.data:var j=o.field.split("."),T=p.data;if(T)for(var P=0;P0&&l>0){for(var u={},d=!1,f=0;f0?e.delayAnimation(c).play().promise().then(t):t()})).then((function(){return e.animation({style:u,duration:l,easing:e.pstyle("transition-timing-function").value,queue:!1}).play().promise()})).then((function(){r.removeBypasses(e,s),e.emitAndNotify("style"),a.transitioning=!1}))}else a.transitioning&&(this.removeBypasses(e,s),e.emitAndNotify("style"),a.transitioning=!1)},checkZOrderTrigger:function(e,t,n,r){var i=this.properties[t];null==i.triggersZOrder||null!=n&&!i.triggersZOrder(n,r)||this._private.cy.notify({type:"zorder",eles:e})}};e.exports=a},function(e,t,n){"use strict";var r=n(0),i=n(1),o={applyBypass:function(e,t,n,o){var a=[];if("*"===t||"**"===t){if(void 0!==n)for(var s=0;sn.length?t.substr(n.length):""}function l(){o=o.length>a.length?o.substr(a.length):""}for(t=t.replace(/[/][*](\s|.)+?[*][/]/g,"");!t.match(/^\s*$/);){var c=t.match(/^\s*((?:.|\s)+?)\s*\{((?:.|\s)+?)\}/);if(!c){r.error("Halting stylesheet parsing: String stylesheet contains more to parse but no selector and block found in: "+t);break}n=c[0];var u=c[1];if("core"!==u&&new i(u)._private.invalid)r.error("Skipping parsing of block: Invalid selector found in string stylesheet: "+u),s();else{var d=c[2],f=!1;o=d;for(var p=[];!o.match(/^\s*$/);){var h=o.match(/^\s*(.+?)\s*:\s*(.+?)\s*;/);if(!h){r.error("Skipping parsing of block: Invalid formatting of style property and value definitions found in:"+d),f=!0;break}a=h[0];var g=h[1],m=h[2];this.properties[g]?this.parse(g,m)?(p.push({name:g,val:m}),l()):(r.error("Skipping property: Invalid property definition in: "+a),l()):(r.error("Skipping property: Invalid property name in: "+a),l())}if(f){s();break}this.selector(u);for(var v=0;v node").css({shape:"rectangle",padding:10,"background-color":"#eee","border-color":"#ccc","border-width":1}).selector("edge").css({width:3,"curve-style":"haystack"}).selector(":parent <-> node").css({"curve-style":"bezier","source-endpoint":"outside-to-line","target-endpoint":"outside-to-line"}).selector(":selected").css({"background-color":"#0169D9","line-color":"#0169D9","source-arrow-color":"#0169D9","target-arrow-color":"#0169D9","mid-source-arrow-color":"#0169D9","mid-target-arrow-color":"#0169D9"}).selector("node:parent:selected").css({"background-color":"#CCE1F9","border-color":"#aec8e5"}).selector(":active").css({"overlay-color":"black","overlay-padding":10,"overlay-opacity":.25}).selector("core").css({"selection-box-color":"#ddd","selection-box-opacity":.65,"selection-box-border-color":"#aaa","selection-box-border-width":1,"active-bg-color":"black","active-bg-opacity":.15,"active-bg-size":30,"outside-texture-bg-color":"#000","outside-texture-bg-opacity":.125}),this.defaultLength=this.length},e.exports=o},function(e,t,n){"use strict";var r=n(1),i=n(0),o=n(2),a={parse:function(e,t,n,o){if(i.fn(t))return this.parseImplWarn(e,t,n,o);var a=[e,t,n,"mapping"===o||!0===o||!1===o||null==o?"dontcare":o].join("$"),s=this.propCache=this.propCache||{},l=void 0;return(l=s[a])||(l=s[a]=this.parseImplWarn(e,t,n,o)),(n||"mapping"===o)&&(l=r.copy(l))&&(l.value=r.copy(l.value)),l},parseImplWarn:function(e,t,n,i){var o=this.parseImpl(e,t,n,i);return o||null==t||r.error("The style property `%s: %s` is invalid",e,t),o},parseImpl:function(e,t,n,a){e=r.camel2dash(e);var s=this.properties[e],l=t,c=this.types;if(!s)return null;if(void 0===t)return null;s.alias&&(s=s.pointsTo,e=s.name);var u=i.string(t);u&&(t=t.trim());var d=s.type;if(!d)return null;if(n&&(""===t||null===t))return{name:e,value:t,bypass:!0,deleteBypass:!0};if(i.fn(t))return{name:e,value:t,strValue:"fn",mapped:c.fn,bypass:n};var f=void 0,p=void 0;if(!u||a);else{if(f=new RegExp(c.data.regex).exec(t)){if(n)return!1;var h=c.data;return{name:e,value:f,strValue:""+t,mapped:h,field:f[1],bypass:n}}if(p=new RegExp(c.mapData.regex).exec(t)){if(n)return!1;if(d.multiple)return!1;var g=c.mapData;if(!d.color&&!d.number)return!1;var m=this.parse(e,p[4]);if(!m||m.mapped)return!1;var v=this.parse(e,p[5]);if(!v||v.mapped)return!1;if(m.value===v.value)return!1;if(d.color){var b=m.value,y=v.value;if(!(b[0]!==y[0]||b[1]!==y[1]||b[2]!==y[2]||b[3]!==y[3]&&(null!=b[3]&&1!==b[3]||null!=y[3]&&1!==y[3])))return!1}return{name:e,value:p,strValue:""+t,mapped:g,field:p[1],fieldMin:parseFloat(p[2]),fieldMax:parseFloat(p[3]),valueMin:m.value,valueMax:v.value,bypass:n}}}if(d.multiple&&"multiple"!==a){var x=void 0;if(x=u?t.split(/\s+/):i.array(t)?t:[t],d.evenMultiple&&x.length%2!=0)return null;for(var w=[],k=[],A=[],E=!1,S=0;Sd.max||d.strictMax&&t===d.max))return null;var P={name:e,value:t,strValue:""+t+(_||""),units:_,bypass:n};return d.unitless||"px"!==_&&"em"!==_?P.pfValue=t:P.pfValue="px"!==_&&_?this.getEmSizeInPixels()*t:t,"ms"!==_&&"s"!==_||(P.pfValue="ms"===_?t:1e3*t),"deg"!==_&&"rad"!==_||(P.pfValue="rad"===_?t:o.deg2rad(t)),"%"===_&&(P.pfValue=t/100),P}if(d.propList){var D=[],R=""+t;if("none"===R);else{for(var I=R.split(","),N=0;N0&&s>0&&!isNaN(n.w)&&!isNaN(n.h)&&n.w>0&&n.h>0)return{zoom:l=(l=(l=Math.min((a-2*t)/n.w,(s-2*t)/n.h))>this._private.maxZoom?this._private.maxZoom:l)t.maxZoom?t.maxZoom:s)t.maxZoom||!t.zoomingEnabled?a=!0:(t.zoom=l,o.push("zoom"))}if(i&&(!a||!e.cancelOnFailedZoom)&&t.panningEnabled){var c=e.pan;r.number(c.x)&&(t.pan.x=c.x,s=!1),r.number(c.y)&&(t.pan.y=c.y,s=!1),s||o.push("pan")}return o.length>0&&(o.push("viewport"),this.emit(o.join(" ")),this.notify({type:"viewport"})),this},center:function(e){var t=this.getCenterPan(e);return t&&(this._private.pan=t,this.emit("pan viewport"),this.notify({type:"viewport"})),this},getCenterPan:function(e,t){if(this._private.panningEnabled){if(r.string(e)){var n=e;e=this.mutableElements().filter(n)}else r.elementOrCollection(e)||(e=this.mutableElements());if(0!==e.length){var i=e.boundingBox(),o=this.width(),a=this.height();return{x:(o-(t=void 0===t?this._private.zoom:t)*(i.x1+i.x2))/2,y:(a-t*(i.y1+i.y2))/2}}}},reset:function(){return this._private.panningEnabled&&this._private.zoomingEnabled?(this.viewport({pan:{x:0,y:0},zoom:1}),this):this},invalidateSize:function(){this._private.sizeCache=null},size:function(){var e,t,n=this._private,r=n.container;return n.sizeCache=n.sizeCache||(r?(e=i.getComputedStyle(r),t=function(t){return parseFloat(e.getPropertyValue(t))},{width:r.clientWidth-t("padding-left")-t("padding-right"),height:r.clientHeight-t("padding-top")-t("padding-bottom")}):{width:1,height:1})},width:function(){return this.size().width},height:function(){return this.size().height},extent:function(){var e=this._private.pan,t=this._private.zoom,n=this.renderedExtent(),r={x1:(n.x1-e.x)/t,x2:(n.x2-e.x)/t,y1:(n.y1-e.y)/t,y2:(n.y2-e.y)/t};return r.w=r.x2-r.x1,r.h=r.y2-r.y1,r},renderedExtent:function(){var e=this.width(),t=this.height();return{x1:0,y1:0,x2:e,y2:t,w:e,h:t}}};a.centre=a.center,a.autolockNodes=a.autolock,a.autoungrabifyNodes=a.autoungrabify,e.exports=a},function(e,t,n){"use strict";var r=n(1),i=n(4),o=n(7),a=n(12),s=n(95),l=n(0),c=n(11),u={},d={};function f(e,t,n){var s=n,d=function(n){r.error("Can not register `"+t+"` for `"+e+"` since `"+n+"` already exists in the prototype and can not be overridden")};if("core"===e){if(a.prototype[t])return d(t);a.prototype[t]=n}else if("collection"===e){if(o.prototype[t])return d(t);o.prototype[t]=n}else if("layout"===e){for(var f=function(e){this.options=e,n.call(this,e),l.plainObject(this._private)||(this._private={}),this._private.cy=e.cy,this._private.listeners=[],this.createEmitter()},h=f.prototype=Object.create(n.prototype),g=[],m=0;m0;)m();c=n.collection();for(var v=function(e){var t=h[e],n=t.maxDegree(!1),r=t.filter((function(e){return e.degree(!1)===n}));c=c.add(r)},b=0;by.length-1;)y.push([]);y[J].push(X),Z.depth=J,Z.index=y[J].length-1}N()}var K=0;if(t.avoidOverlap)for(var ee=0;eec||0===t)&&(r+=l/u,i++)}return r/=i=Math.max(1,i),0===i&&(r=void 0),ie[e.id()]=r,r},ae=function(e,t){return oe(e)-oe(t)},se=0;se<3;se++){for(var le=0;le0&&y[0].length<=3?u/2:0),f=2*Math.PI/y[i].length*o;return 0===i&&1===y[0].length&&(d=1),{x:de+d*Math.cos(f),y:fe+d*Math.sin(f)}}return{x:de+(o+1-(a+1)/2)*s,y:(i+1)*c}}var p={x:de+(o+1-(a+1)/2)*s,y:(i+1)*c};return p},he={},ge=y.length-1;ge>=0;ge--)for(var me=y[ge],ve=0;ve1&&t.avoidOverlap){p*=1.75;var b=Math.cos(d)-Math.cos(0),y=Math.sin(d)-Math.sin(0),x=Math.sqrt(p*p/(b*b+y*y));f=Math.max(x,f)}return s.layoutPositions(this,t,(function(e,n){var r=t.startAngle+n*d*(a?1:-1),i=f*Math.cos(r),o=f*Math.sin(r);return{x:c+i,y:u+o}})),this},e.exports=s},function(e,t,n){"use strict";var r=n(1),i=n(2),o={fit:!0,padding:30,startAngle:1.5*Math.PI,sweep:void 0,clockwise:!0,equidistant:!1,minNodeSpacing:10,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,height:void 0,width:void 0,spacingFactor:void 0,concentric:function(e){return e.degree()},levelWidth:function(e){return e.maxDegree()/4},animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}};function a(e){this.options=r.extend({},o,e)}a.prototype.run=function(){for(var e=this.options,t=e,n=void 0!==t.counterclockwise?!t.counterclockwise:t.clockwise,r=e.cy,o=t.eles.nodes().not(":parent"),a=i.makeBoundingBox(t.boundingBox?t.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()}),s=a.x1+a.w/2,l=a.y1+a.h/2,c=[],u=(t.startAngle,0),d=0;d0&&Math.abs(b[0].value-x.value)>=m&&(b=[],v.push(b)),b.push(x)}var w=u+t.minNodeSpacing;if(!t.avoidOverlap){var k=v.length>0&&v[0].length>1,A=(Math.min(a.w,a.h)/2-w)/(v.length+k?1:0);w=Math.min(w,A)}for(var E=0,S=0;S1&&t.avoidOverlap){var O=Math.cos(_)-Math.cos(0),j=Math.sin(_)-Math.sin(0),T=Math.sqrt(w*w/(O*O+j*j));E=Math.max(T,E)}$.r=E,E+=w}if(t.equidistant){for(var P=0,D=0,R=0;R0)var c=(f=r.nodeOverlap*s)*i/(b=Math.sqrt(i*i+o*o)),d=f*o/b;else{var f,p=u(e,i,o),h=u(t,-1*i,-1*o),g=h.x-p.x,m=h.y-p.y,v=g*g+m*m,b=Math.sqrt(v);c=(f=(e.nodeRepulsion+t.nodeRepulsion)/v)*g/b,d=f*m/b}e.isLocked||(e.offsetX-=c,e.offsetY-=d),t.isLocked||(t.offsetX+=c,t.offsetY+=d)}},l=function(e,t,n,r){if(n>0)var i=e.maxX-t.minX;else i=t.maxX-e.minX;if(r>0)var o=e.maxY-t.minY;else o=t.maxY-e.minY;return i>=0&&o>=0?Math.sqrt(i*i+o*o):0},u=function(e,t,n){var r=e.positionX,i=e.positionY,o=e.height||1,a=e.width||1,s=n/t,l=o/a,c={};return 0===t&&0n?(c.x=r,c.y=i+o/2,c):0t&&-1*l<=s&&s<=l?(c.x=r-a/2,c.y=i-a*n/2/t,c):0=l)?(c.x=r+o*t/2/n,c.y=i+o/2,c):0>n&&(s<=-1*l||s>=l)?(c.x=r-o*t/2/n,c.y=i-o/2,c):c},d=function(e,t){for(var n=0;n1){var h=t.gravity*d/p,g=t.gravity*f/p;u.offsetX+=h,u.offsetY+=g}}}}},p=function(e,t){var n=[],r=0,i=-1;for(n.push.apply(n,e.graphSet[0]),i+=e.graphSet[0].length;r<=i;){var o=n[r++],a=e.idToIndex[o],s=e.layoutNodes[a],l=s.children;if(0n)var i={x:n*e/r,y:n*t/r};else i={x:e,y:t};return i},m=function e(t,n){var r=t.parentId;if(null!=r){var i=n.layoutNodes[n.idToIndex[r]],o=!1;return(null==i.maxX||t.maxX+i.padRight>i.maxX)&&(i.maxX=t.maxX+i.padRight,o=!0),(null==i.minX||t.minX-i.padLefti.maxY)&&(i.maxY=t.maxY+i.padBottom,o=!0),(null==i.minY||t.minY-i.padTopg&&(f+=h+t.componentSpacing,d=0,p=0,h=0)}}}(0,i),r})).then((function(e){d.layoutNodes=e.layoutNodes,o.stop(),b()}));var b=function(){!0===e.animate||!1===e.animate?v({force:!0,next:function(){n.one("layoutstop",e.stop),n.emit({type:"layoutstop",layout:n})}}):e.eles.nodes().layoutPositions(n,e,(function(e){var t=d.layoutNodes[d.idToIndex[e.data("id")]];return{x:t.positionX,y:t.positionY}}))};return this},c.prototype.stop=function(){return this.stopped=!0,this.thread&&this.thread.stop(),this.emit("layoutstop"),this},c.prototype.destroy=function(){return this.thread&&this.thread.stop(),this};var u=function(e,t,n){for(var r=n.eles.edges(),i=n.eles.nodes(),s={isCompound:e.hasCompoundNodes(),layoutNodes:[],idToIndex:{},nodeSize:i.size(),graphSet:[],indexToGraph:[],layoutEdges:[],edgeSize:r.size(),temperature:n.initialTemp,clientWidth:e.width(),clientHeight:e.width(),boundingBox:o.makeBoundingBox(n.boundingBox?n.boundingBox:{x1:0,y1:0,w:e.width(),h:e.height()})},l=n.eles.components(),c={},u=0;u0)for(s.graphSet.push(A),u=0;ur.count?0:r.graph},f=function e(t,n,r,i){var o=i.graphSet[r];if(-1a){var h=u(),g=d();(h-1)*g>=a?u(h-1):(g-1)*h>=a&&d(g-1)}else for(;c*l=a?d(v+1):u(m+1)}var b=o.w/c,y=o.h/l;if(t.condense&&(b=0,y=0),t.avoidOverlap)for(var x=0;x=c&&(T=0,j++)},D={},R=0;R(r=i.sqdistToFiniteLine(e,t,w[k],w[k+1],w[k+2],w[k+3])))return b(n,r),!0}else if("bezier"===a.edgeType||"multibezier"===a.edgeType||"self"===a.edgeType||"compound"===a.edgeType)for(w=a.allpts,k=0;k+5(r=i.sqdistToQuadraticBezier(e,t,w[k],w[k+1],w[k+2],w[k+3],w[k+4],w[k+5])))return b(n,r),!0;v=v||o.source,x=x||o.target;var A=l.getArrowWidth(s,u),E=[{name:"source",x:a.arrowStartX,y:a.arrowStartY,angle:a.srcArrowAngle},{name:"target",x:a.arrowEndX,y:a.arrowEndY,angle:a.tgtArrowAngle},{name:"mid-source",x:a.midX,y:a.midY,angle:a.midsrcArrowAngle},{name:"mid-target",x:a.midX,y:a.midY,angle:a.midtgtArrowAngle}];for(k=0;k0&&(y(v),y(x))}function w(e,t,n){return o.getPrefixedProperty(e,t,n)}function k(n,r){var o,a=n._private,s=m;o=r?r+"-":"";var l=n.pstyle(o+"label").value;if("yes"===n.pstyle("text-events").strValue&&l){var c=a.rstyle,u=n.pstyle("text-border-width").pfValue,d=n.pstyle("text-background-padding").pfValue,f=w(c,"labelWidth",r)+u+2*s+2*d,p=w(c,"labelHeight",r)+u+2*s+2*d,h=w(c,"labelX",r),g=w(c,"labelY",r),v=w(a.rscratch,"labelAngle",r),y=h-f/2,x=h+f/2,k=g-p/2,A=g+p/2;if(v){var E=Math.cos(v),S=Math.sin(v),$=function(e,t){return{x:(e-=h)*E-(t-=g)*S+h,y:e*S+t*E+g}},C=$(y,k),_=$(y,A),O=$(x,k),j=$(x,A),T=[C.x,C.y,O.x,O.y,j.x,j.y,_.x,_.y];if(i.pointInsidePolygonPoints(e,t,T))return b(n),!0}else{var P={w:f,h:p,x1:y,x2:x,y1:k,y2:A};if(i.inBoundingBox(P,e,t))return b(n),!0}}}n&&(u=u.interactive);for(var A=u.length-1;A>=0;A--){var E=u[A];E.isNode()?y(E)||k(E):x(E)||k(E)||k(E,"source")||k(E,"target")}return d},getAllInBox:function(e,t,n,r){var o=this.getCachedZSortedEles().interactive,a=[],s=Math.min(e,n),l=Math.max(e,n),c=Math.min(t,r),u=Math.max(t,r);e=s,n=l,t=c,r=u;for(var d=i.makeBoundingBox({x1:e,y1:t,x2:n,y2:r}),f=0;fb?b+"$-$"+v:v+"$-$"+b,g&&(t="unbundled$-$"+h.id);var y=u[t];null==y&&(y=u[t]=[],d.push(t)),y.push(Bt),g&&(y.hasUnbundled=!0),m&&(y.hasBezier=!0)}else f.push(Bt)}for(var x=0;xGt.id()){var k=Ht;Ht=Gt,Gt=k}Wt=Ht.position(),Yt=Gt.position(),Xt=Ht.outerWidth(),Qt=Ht.outerHeight(),Zt=Gt.outerWidth(),Jt=Gt.outerHeight(),n=l.nodeShapes[this.getNodeShape(Ht)],o=l.nodeShapes[this.getNodeShape(Gt)],s=!1;var A={north:0,west:0,south:0,east:0,northwest:0,southwest:0,northeast:0,southeast:0},E=Wt.x,S=Wt.y,$=Xt,C=Qt,_=Yt.x,O=Yt.y,j=Zt,T=Jt,P=w.length;for(p=0;p=d||w){p={cp:b,segment:x};break}}if(p)break}b=p.cp;var k=(d-g)/(x=p.segment).length,A=x.t1-x.t0,E=u?x.t0+A*k:x.t1-A*k;E=r.bound(0,E,1),t=r.qbezierPtAt(b.p0,b.p1,b.p2,E),c=function(e,t,n,i){var o=r.bound(0,i-.001,1),a=r.bound(0,i+.001,1),s=r.qbezierPtAt(e,t,n,o),l=r.qbezierPtAt(e,t,n,a);return f(s,l)}(b.p0,b.p1,b.p2,E);break;case"straight":case"segments":case"haystack":var S,$,C,_,O=0,j=i.allpts.length;for(v=0;v+3=d));v+=2);E=(d-$)/S,E=r.bound(0,E,1),t=r.lineAt(C,_,E),c=f(C,_)}l("labelX",o,t.x),l("labelY",o,t.y),l("labelAutoAngle",o,c)}};c("source"),c("target"),this.applyLabelDimensions(e)}},applyLabelDimensions:function(e){this.applyPrefixedLabelDimensions(e),e.isEdge()&&(this.applyPrefixedLabelDimensions(e,"source"),this.applyPrefixedLabelDimensions(e,"target"))},applyPrefixedLabelDimensions:function(e,t){var n=e._private,r=this.getLabelText(e,t),i=this.calculateLabelDimensions(e,r);o.setPrefixedProperty(n.rstyle,"labelWidth",t,i.width),o.setPrefixedProperty(n.rscratch,"labelWidth",t,i.width),o.setPrefixedProperty(n.rstyle,"labelHeight",t,i.height),o.setPrefixedProperty(n.rscratch,"labelHeight",t,i.height)},getLabelText:function(e,t){var n=e._private,r=t?t+"-":"",i=e.pstyle(r+"label").strValue,a=e.pstyle("text-transform").value,s=function(e,r){return r?(o.setPrefixedProperty(n.rscratch,e,t,r),r):o.getPrefixedProperty(n.rscratch,e,t)};"none"==a||("uppercase"==a?i=i.toUpperCase():"lowercase"==a&&(i=i.toLowerCase()));var l=e.pstyle("text-wrap").value;if("wrap"===l){var c=s("labelKey");if(c&&s("labelWrapKey")===c)return s("labelWrapCachedText");for(var u=i.split("\n"),d=e.pstyle("text-max-width").pfValue,f=[],p=0;pd){for(var g=h.split(/\s+/),m="",v=0;vd);k++)x+=i[k],k===i.length-1&&(w=!0);return w||(x+="…"),x}return i},calculateLabelDimensions:function(e,t,n){var r=e._private.labelStyleKey+"$@$"+t;n&&(r+="$@$"+n);var i=this.labelDimCache||(this.labelDimCache={});if(i[r])return i[r];var o=e.pstyle("font-style").strValue,a=1*e.pstyle("font-size").pfValue+"px",s=e.pstyle("font-family").strValue,l=e.pstyle("font-weight").strValue,c=this.labelCalcDiv;c||(c=this.labelCalcDiv=document.createElement("div"),document.body.appendChild(c));var u=c.style;return u.fontFamily=s,u.fontStyle=o,u.fontSize=a,u.fontWeight=l,u.position="absolute",u.left="-9999px",u.top="-9999px",u.zIndex="-1",u.visibility="hidden",u.pointerEvents="none",u.padding="0",u.lineHeight="1","wrap"===e.pstyle("text-wrap").value?u.whiteSpace="pre":u.whiteSpace="normal",c.textContent=t,i[r]={width:Math.ceil(c.clientWidth/1),height:Math.ceil(c.clientHeight/1)},i[r]},calculateLabelAngles:function(e){var t=e._private.rscratch,n=e.isEdge(),r=e.pstyle("text-rotation"),i=r.strValue;"none"===i?t.labelAngle=t.sourceLabelAngle=t.targetLabelAngle=0:n&&"autorotate"===i?(t.labelAngle=Math.atan(t.midDispY/t.midDispX),t.sourceLabelAngle=t.sourceLabelAutoAngle,t.targetLabelAngle=t.targetLabelAutoAngle):t.labelAngle=t.sourceLabelAngle=t.targetLabelAngle="autorotate"===i?0:r.pfValue}};e.exports=a},function(e,t,n){"use strict";var r={getNodeShape:function(e){var t=e.pstyle("shape").value;if(e.isParent())return"rectangle"===t||"roundrectangle"===t||"cutrectangle"===t||"barrel"===t?t:"rectangle";if("polygon"===t){var n=e.pstyle("shape-polygon-points").value;return this.nodeShapes.makePolygon(n).name}return t}};e.exports=r},function(e,t,n){"use strict";var r={registerCalculationListeners:function(){var e=this.cy,t=e.collection(),n=this,r=function(e,n){var r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];t.merge(e);for(var i=0;i=e.desktopTapThreshold2}var C=n(i);b&&(e.hoverData.tapholdCancelled=!0),s=!0,t(v,["mousemove","vmousemove","tapdrag"],i,{position:{x:p[0],y:p[1]}});var _=function(){e.data.bgActivePosistion=void 0,e.hoverData.selecting||l.emit("boxstart"),m[4]=1,e.hoverData.selecting=!0,e.redrawHint("select",!0),e.redraw()};if(3===e.hoverData.which){if(b){var O={originalEvent:i,type:"cxtdrag",position:{x:p[0],y:p[1]}};x?x.emit(O):l.emit(O),e.hoverData.cxtDragged=!0,e.hoverData.cxtOver&&v===e.hoverData.cxtOver||(e.hoverData.cxtOver&&e.hoverData.cxtOver.emit({originalEvent:i,type:"cxtdragout",position:{x:p[0],y:p[1]}}),e.hoverData.cxtOver=v,v&&v.emit({originalEvent:i,type:"cxtdragover",position:{x:p[0],y:p[1]}}))}}else if(e.hoverData.dragging){if(s=!0,l.panningEnabled()&&l.userPanningEnabled()){var T;if(e.hoverData.justStartedPan){var P=e.hoverData.mdownPos;T={x:(p[0]-P[0])*c,y:(p[1]-P[1])*c},e.hoverData.justStartedPan=!1}else T={x:w[0]*c,y:w[1]*c};l.panBy(T),e.hoverData.dragged=!0}p=e.projectIntoViewport(i.clientX,i.clientY)}else if(1!=m[4]||null!=x&&!x.isEdge()){if(x&&x.isEdge()&&x.active()&&x.unactivate(),x&&x.grabbed()||v==y||(y&&t(y,["mouseout","tapdragout"],i,{position:{x:p[0],y:p[1]}}),v&&t(v,["mouseover","tapdragover"],i,{position:{x:p[0],y:p[1]}}),e.hoverData.last=v),x)if(b){if(l.boxSelectionEnabled()&&C)x&&x.grabbed()&&(f(k),x.emit("free")),_();else if(x&&x.grabbed()&&e.nodeIsDraggable(x)){var D=!e.dragData.didDrag;D&&e.redrawHint("eles",!0),e.dragData.didDrag=!0;var R=[];e.hoverData.draggingEles||u(l.collection(k),{inDragLayer:!0});for(var I=0;I0&&e.redrawHint("eles",!0),e.dragData.possibleDragElements=l=[]),t(s,["mouseup","tapend","vmouseup"],r,{position:{x:o[0],y:o[1]}}),e.dragData.didDrag||e.hoverData.dragged||e.hoverData.selecting||e.hoverData.isOverThresholdDrag||t(c,["click","tap","vclick"],r,{position:{x:o[0],y:o[1]}}),s!=c||e.dragData.didDrag||e.hoverData.selecting||null!=s&&s._private.selectable&&(e.hoverData.dragging||("additive"===i.selectionType()||u?s.selected()?s.unselect():s.select():u||(i.$(":selected").unmerge(s).unselect(),s.select())),e.redrawHint("eles",!0)),e.hoverData.selecting){var h=i.collection(e.getAllInBox(a[0],a[1],a[2],a[3]));e.redrawHint("select",!0),h.length>0&&e.redrawHint("eles",!0),i.emit("boxend");var g=function(e){return e.selectable()&&!e.selected()};"additive"===i.selectionType()||u||i.$(":selected").unmerge(h).unselect(),h.emit("box").stdFilter(g).select().emit("boxselect"),e.redraw()}if(e.hoverData.dragging&&(e.hoverData.dragging=!1,e.redrawHint("select",!0),e.redrawHint("eles",!0),e.redraw()),!a[4]){e.redrawHint("drag",!0),e.redrawHint("eles",!0);var m=c&&c.grabbed();f(l),m&&c.emit("free")}}a[4]=0,e.hoverData.down=null,e.hoverData.cxtStarted=!1,e.hoverData.draggingEles=!1,e.hoverData.selecting=!1,e.hoverData.isOverThresholdDrag=!1,e.dragData.didDrag=!1,e.hoverData.dragged=!1,e.hoverData.dragDelta=[],e.hoverData.mdownPos=null,e.hoverData.mdownGPos=null}}),!1),e.registerBinding(e.container,"wheel",(function(t){if(!e.scrollingPage){var n,r=e.cy,i=e.projectIntoViewport(t.clientX,t.clientY),o=[i[0]*r.zoom()+r.pan().x,i[1]*r.zoom()+r.pan().y];e.hoverData.draggingEles||e.hoverData.dragging||e.hoverData.cxtStarted||0!==e.selection[4]?t.preventDefault():r.panningEnabled()&&r.userPanningEnabled()&&r.zoomingEnabled()&&r.userZoomingEnabled()&&(t.preventDefault(),e.data.wheelZooming=!0,clearTimeout(e.data.wheelTimeout),e.data.wheelTimeout=setTimeout((function(){e.data.wheelZooming=!1,e.redrawHint("eles",!0),e.redraw()}),150),n=null!=t.deltaY?t.deltaY/-250:null!=t.wheelDeltaY?t.wheelDeltaY/1e3:t.wheelDelta/1e3,n*=e.wheelSensitivity,1===t.deltaMode&&(n*=33),r.zoom({level:r.zoom()*Math.pow(10,n),renderedPosition:{x:o[0],y:o[1]}}))}}),!0),e.registerBinding(window,"scroll",(function(t){e.scrollingPage=!0,clearTimeout(e.scrollingPageTimeout),e.scrollingPageTimeout=setTimeout((function(){e.scrollingPage=!1}),250)}),!0),e.registerBinding(e.container,"mouseout",(function(t){var n=e.projectIntoViewport(t.clientX,t.clientY);e.cy.emit({originalEvent:t,type:"mouseout",position:{x:n[0],y:n[1]}})}),!1),e.registerBinding(e.container,"mouseover",(function(t){var n=e.projectIntoViewport(t.clientX,t.clientY);e.cy.emit({originalEvent:t,type:"mouseover",position:{x:n[0],y:n[1]}})}),!1);var T,P,D,R,I=function(e,t,n,r){return Math.sqrt((n-e)*(n-e)+(r-t)*(r-t))},N=function(e,t,n,r){return(n-e)*(n-e)+(r-t)*(r-t)};if(e.registerBinding(e.container,"touchstart",T=function(n){if(j(n)){e.touchData.capture=!0,e.data.bgActivePosistion=void 0;var r=e.cy,i=e.touchData.now,o=e.touchData.earlier;if(n.touches[0]){var a=e.projectIntoViewport(n.touches[0].clientX,n.touches[0].clientY);i[0]=a[0],i[1]=a[1]}if(n.touches[1]&&(a=e.projectIntoViewport(n.touches[1].clientX,n.touches[1].clientY),i[2]=a[0],i[3]=a[1]),n.touches[2]&&(a=e.projectIntoViewport(n.touches[2].clientX,n.touches[2].clientY),i[4]=a[0],i[5]=a[1]),n.touches[1]){f(e.dragData.touchDragEles);var s=e.findContainerClientCoords();S=s[0],$=s[1],C=s[2],_=s[3],v=n.touches[0].clientX-S,b=n.touches[0].clientY-$,y=n.touches[1].clientX-S,x=n.touches[1].clientY-$,O=0<=v&&v<=C&&0<=y&&y<=C&&0<=b&&b<=_&&0<=x&&x<=_;var c=r.pan(),p=r.zoom();if(w=I(v,b,y,x),k=N(v,b,y,x),E=[((A=[(v+y)/2,(b+x)/2])[0]-c.x)/p,(A[1]-c.y)/p],k<4e4&&!n.touches[2]){var h=e.findNearestElement(i[0],i[1],!0,!0),g=e.findNearestElement(i[2],i[3],!0,!0);return h&&h.isNode()?(h.activate().emit({originalEvent:n,type:"cxttapstart",position:{x:i[0],y:i[1]}}),e.touchData.start=h):g&&g.isNode()?(g.activate().emit({originalEvent:n,type:"cxttapstart",position:{x:i[0],y:i[1]}}),e.touchData.start=g):r.emit({originalEvent:n,type:"cxttapstart",position:{x:i[0],y:i[1]}}),e.touchData.start&&(e.touchData.start._private.grabbed=!1),e.touchData.cxt=!0,e.touchData.cxtDragged=!1,e.data.bgActivePosistion=void 0,void e.redraw()}}if(n.touches[2]);else if(n.touches[1]);else if(n.touches[0]){var m=e.findNearestElements(i[0],i[1],!0,!0),T=m[0];if(null!=T&&(T.activate(),e.touchData.start=T,e.touchData.starts=m,e.nodeIsGrabbable(T))){var P=e.dragData.touchDragEles=[],D=null;e.redrawHint("eles",!0),e.redrawHint("drag",!0),T.selected()?(D=r.$((function(t){return t.selected()&&e.nodeIsGrabbable(t)})),u(D,{addToList:P})):d(T,{addToList:P}),l(T);var R=function(e){return{originalEvent:n,type:e,position:{x:i[0],y:i[1]}}};T.emit(R("grabon")),D?D.forEach((function(e){e.emit(R("grab"))})):T.emit(R("grab"))}t(T,["touchstart","tapstart","vmousedown"],n,{position:{x:i[0],y:i[1]}}),null==T&&(e.data.bgActivePosistion={x:a[0],y:a[1]},e.redrawHint("select",!0),e.redraw()),e.touchData.singleTouchMoved=!1,e.touchData.singleTouchStartTime=+new Date,clearTimeout(e.touchData.tapholdTimeout),e.touchData.tapholdTimeout=setTimeout((function(){!1!==e.touchData.singleTouchMoved||e.pinching||e.touchData.selecting||(t(e.touchData.start,["taphold"],n,{position:{x:i[0],y:i[1]}}),e.touchData.start||r.$(":selected").unselect())}),e.tapholdDuration)}if(n.touches.length>=1){for(var M=e.touchData.startPosition=[],z=0;z=e.touchTapThreshold2}if(i&&e.touchData.cxt){n.preventDefault();var D=n.touches[0].clientX-S,R=n.touches[0].clientY-$,M=n.touches[1].clientX-S,z=n.touches[1].clientY-$,L=N(D,R,M,z);if(L/k>=2.25||L>=22500){e.touchData.cxt=!1,e.data.bgActivePosistion=void 0,e.redrawHint("select",!0);var B={originalEvent:n,type:"cxttapend",position:{x:c[0],y:c[1]}};e.touchData.start?(e.touchData.start.unactivate().emit(B),e.touchData.start=null):l.emit(B)}}if(i&&e.touchData.cxt){B={originalEvent:n,type:"cxtdrag",position:{x:c[0],y:c[1]}},e.data.bgActivePosistion=void 0,e.redrawHint("select",!0),e.touchData.start?e.touchData.start.emit(B):l.emit(B),e.touchData.start&&(e.touchData.start._private.grabbed=!1),e.touchData.cxtDragged=!0;var F=e.findNearestElement(c[0],c[1],!0,!0);e.touchData.cxtOver&&F===e.touchData.cxtOver||(e.touchData.cxtOver&&e.touchData.cxtOver.emit({originalEvent:n,type:"cxtdragout",position:{x:c[0],y:c[1]}}),e.touchData.cxtOver=F,F&&F.emit({originalEvent:n,type:"cxtdragover",position:{x:c[0],y:c[1]}}))}else if(i&&n.touches[2]&&l.boxSelectionEnabled())n.preventDefault(),e.data.bgActivePosistion=void 0,this.lastThreeTouch=+new Date,e.touchData.selecting||l.emit("boxstart"),e.touchData.selecting=!0,e.redrawHint("select",!0),s&&0!==s.length&&void 0!==s[0]?(s[2]=(c[0]+c[2]+c[4])/3,s[3]=(c[1]+c[3]+c[5])/3):(s[0]=(c[0]+c[2]+c[4])/3,s[1]=(c[1]+c[3]+c[5])/3,s[2]=(c[0]+c[2]+c[4])/3+1,s[3]=(c[1]+c[3]+c[5])/3+1),s[4]=1,e.touchData.selecting=!0,e.redraw();else if(i&&n.touches[1]&&l.zoomingEnabled()&&l.panningEnabled()&&l.userZoomingEnabled()&&l.userPanningEnabled()){if(n.preventDefault(),e.data.bgActivePosistion=void 0,e.redrawHint("select",!0),ee=e.dragData.touchDragEles){e.redrawHint("drag",!0);for(var q=0;q0)return h[0]}return null},p=Object.keys(d),h=0;h0?f:r.roundRectangleIntersectLine(o,a,e,t,n,i,s)},checkPoint:function(e,t,n,i,o,a,s){var l=r.getRoundRectangleRadius(i,o),c=2*l;if(r.pointInsidePolygon(e,t,this.points,a,s,i,o-c,[0,-1],n))return!0;if(r.pointInsidePolygon(e,t,this.points,a,s,i-c,o,[0,-1],n))return!0;var u=i/2+2*n,d=o/2+2*n,f=[a-u,s-d,a-u,s,a+u,s,a+u,s-d];return!!r.pointInsidePolygonPoints(e,t,f)||!!r.checkInEllipse(e,t,c,c,a+i/2-l,s+o/2-l,n)||!!r.checkInEllipse(e,t,c,c,a-i/2+l,s+o/2-l,n)}}},registerNodeShapes:function(){var e=this.nodeShapes={},t=this;this.generateEllipse(),this.generatePolygon("triangle",r.generateUnitNgonPointsFitToSquare(3,0)),this.generatePolygon("rectangle",r.generateUnitNgonPointsFitToSquare(4,0)),e.square=e.rectangle,this.generateRoundRectangle(),this.generateCutRectangle(),this.generateBarrel(),this.generateBottomRoundrectangle(),this.generatePolygon("diamond",[0,1,1,0,0,-1,-1,0]),this.generatePolygon("pentagon",r.generateUnitNgonPointsFitToSquare(5,0)),this.generatePolygon("hexagon",r.generateUnitNgonPointsFitToSquare(6,0)),this.generatePolygon("heptagon",r.generateUnitNgonPointsFitToSquare(7,0)),this.generatePolygon("octagon",r.generateUnitNgonPointsFitToSquare(8,0));var n=new Array(20),i=r.generateUnitNgonPoints(5,0),o=r.generateUnitNgonPoints(5,Math.PI/5),a=.5*(3-Math.sqrt(5));a*=1.57;for(var s=0;s0&&t.data.lyrTxrCache.invalidateElements(n)}))}l.CANVAS_LAYERS=3,l.SELECT_BOX=0,l.DRAG=1,l.NODE=2,l.BUFFER_COUNT=3,l.TEXTURE_BUFFER=0,l.MOTIONBLUR_BUFFER_NODE=1,l.MOTIONBLUR_BUFFER_DRAG=2,l.redrawHint=function(e,t){var n=this;switch(e){case"eles":n.data.canvasNeedsRedraw[l.NODE]=t;break;case"drag":n.data.canvasNeedsRedraw[l.DRAG]=t;break;case"select":n.data.canvasNeedsRedraw[l.SELECT_BOX]=t}};var u="undefined"!=typeof Path2D;l.path2dEnabled=function(e){if(void 0===e)return this.pathsEnabled;this.pathsEnabled=!!e},l.usePaths=function(){return u&&this.pathsEnabled},[n(126),n(127),n(128),n(129),n(130),n(131),n(132),n(133),n(134),n(135)].forEach((function(e){r.extend(l,e)})),e.exports=s},function(e,t,n){"use strict";var r=n(2),i=n(1),o=n(9),a=n(19),s={dequeue:"dequeue",downscale:"downscale",highQuality:"highQuality"},l=function(e){this.renderer=e,this.onDequeues=[],this.setupDequeueing()},c=l.prototype;c.reasons=s,c.getTextureQueue=function(e){return this.eleImgCaches=this.eleImgCaches||{},this.eleImgCaches[e]=this.eleImgCaches[e]||[]},c.getRetiredTextureQueue=function(e){var t=this.eleImgCaches.retired=this.eleImgCaches.retired||{};return t[e]=t[e]||[]},c.getElementQueue=function(){return this.eleCacheQueue=this.eleCacheQueue||new o((function(e,t){return t.reqs-e.reqs}))},c.getElementIdToQueue=function(){return this.eleIdToCacheQueue=this.eleIdToCacheQueue||{}},c.getElement=function(e,t,n,i,o){var a=this,l=this.renderer,c=e._private.rscratch,u=l.cy.zoom();if(0===t.w||0===t.h||!e.visible())return null;if(null==i&&(i=Math.ceil(r.log2(u*n))),i<-4)i=-4;else if(u>=3.99||i>2)return null;var d,f=Math.pow(2,i),p=t.h*f,h=t.w*f,g=c.imgCaches=c.imgCaches||{},m=g[i];if(m)return m;if(d=p<=25?25:p<=50?50:50*Math.ceil(p/50),p>1024||h>1024||e.isEdge()||e.isParent())return null;var v=a.getTextureQueue(d),b=v[v.length-2],y=function(){return a.recycleTexture(d,h)||a.addTexture(d,h)};b||(b=v[v.length-1]),b||(b=y()),b.width-b.usedWidthi;$--)C=a.getElement(e,t,n,$,s.downscale);_()}else{var O;if(!A&&!E&&!S)for($=i-1;$>=-4;$--){var j;if(j=g[$]){O=j;break}}if(k(O))return a.queueElement(e,i),O;b.context.translate(b.usedWidth,0),b.context.scale(f,f),l.drawElement(b.context,e,t,w),b.context.scale(1/f,1/f),b.context.translate(-b.usedWidth,0)}return m=g[i]={ele:e,x:b.usedWidth,texture:b,level:i,scale:f,width:h,height:p,scaledLabelShown:w},b.usedWidth+=Math.ceil(h+8),b.eleCaches.push(m),a.checkTextureFullness(b),m},c.invalidateElement=function(e){var t=e._private.rscratch.imgCaches;if(t)for(var n=-4;n<=2;n++){var r=t[n];if(r){var o=r.texture;o.invalidatedWidth+=r.width,t[n]=null,i.removeFromArray(o.eleCaches,r),this.removeFromQueue(e),this.checkTextureUtility(o)}}},c.checkTextureUtility=function(e){e.invalidatedWidth>=.5*e.width&&this.retireTexture(e)},c.checkTextureFullness=function(e){var t=this.getTextureQueue(e.height);e.usedWidth/e.width>.8&&e.fullnessChecks>=10?i.removeFromArray(t,e):e.fullnessChecks++},c.retireTexture=function(e){var t=e.height,n=this.getTextureQueue(t);i.removeFromArray(n,e),e.retired=!0;for(var r=e.eleCaches,o=0;o=t)return a.retired=!1,a.usedWidth=0,a.invalidatedWidth=0,a.fullnessChecks=0,i.clearArray(a.eleCaches),a.context.setTransform(1,0,0,1,0,0),a.context.clearRect(0,0,a.width,a.height),i.removeFromArray(r,a),n.push(a),a}},c.queueElement=function(e,t){var n=this.getElementQueue(),r=this.getElementIdToQueue(),i=e.id(),o=r[i];if(o)o.level=Math.max(o.level,t),o.reqs++,n.updateItem(o);else{var a={ele:e,level:t,reqs:1};n.push(a),r[i]=a}},c.dequeue=function(e){for(var t=this.getElementQueue(),n=this.getElementIdToQueue(),r=[],i=0;i<1&&t.size()>0;i++){var o=t.pop(),a=o.ele;if(null==a._private.rscratch.imgCaches[o.level]){n[a.id()]=null,r.push(o);var l=a.boundingBox();this.getElement(a,l,e,o.level,s.dequeue)}}return r},c.removeFromQueue=function(e){var t=this.getElementQueue(),n=this.getElementIdToQueue(),r=n[e.id()];null!=r&&(r.reqs=i.MAX_INT,t.updateItem(r),t.pop(),n[e.id()]=null)},c.onDequeue=function(e){this.onDequeues.push(e)},c.offDequeue=function(e){i.removeFromArray(this.onDequeues,e)},c.setupDequeueing=a.setupDequeueing({deqRedrawThreshold:100,deqCost:.15,deqAvgCost:.1,deqNoDrawCost:.9,deqFastCost:.9,deq:function(e,t,n){return e.dequeue(t,n)},onDeqd:function(e,t){for(var n=0;n=3.99||n>2)return null;o.validateLayersElesOrdering(n,e);var l,c,u=o.layersByLevel,d=Math.pow(2,n),f=u[n]=u[n]||[];if(o.levelIsComplete(n,e))return f;!function(){var t=function(t){if(o.validateLayersElesOrdering(t,e),o.levelIsComplete(t,e))return c=u[t],!0},i=function(e){if(!c)for(var r=n+e;-4<=r&&r<=2&&!t(r);r+=e);};i(1),i(-1);for(var a=f.length-1;a>=0;a--){var s=f[a];s.invalid&&r.removeFromArray(f,s)}}();var p=function(t){var r=(t=t||{}).after;if(function(){if(!l){l=i.makeBoundingBox();for(var t=0;t16e6)return null;var a=o.makeLayer(l,n);if(null!=r){var s=f.indexOf(r)+1;f.splice(s,0,a)}else(void 0===t.insert||t.insert)&&f.unshift(a);return a};if(o.skipping&&!s)return null;for(var h=null,g=e.length/1,m=!s,v=0;v=g||!i.boundingBoxInBoundingBox(h.bb,b.boundingBox()))&&!(h=p({insert:!0,after:h})))return null;c||m?o.queueLayer(h,b):o.drawEleInLayer(h,b,n,t),h.eles.push(b),x[n]=h}}return c||(m?null:f)},c.getEleLevelForLayerLevel=function(e,t){return e},c.drawEleInLayer=function(e,t,n,r){var i=this.renderer,o=e.context,a=t.boundingBox();if(0!==a.w&&0!==a.h&&t.visible()){var s=this.eleTxrCache,l=s.reasons.highQuality;n=this.getEleLevelForLayerLevel(n,r);var c=s.getElement(t,a,null,n,l);c?(f(o,!1),o.drawImage(c.texture.canvas,c.x,0,c.width,c.height,a.x1,a.y1,a.w,a.h),f(o,!0)):i.drawElement(o,t)}},c.levelIsComplete=function(e,t){var n=this.layersByLevel[e];if(!n||0===n.length)return!1;for(var r=0,i=0;i0)return!1;if(o.invalid)return!1;r+=o.eles.length}return r===t.length},c.validateLayersElesOrdering=function(e,t){var n=this.layersByLevel[e];if(n)for(var r=0;r0){e=!0;break}}return e},c.invalidateElements=function(e){var t=this;t.lastInvalidationTime=r.performanceNow(),0!==e.length&&t.haveLayers()&&t.updateElementsInLayers(e,(function(e,n,r){t.invalidateLayer(e)}))},c.invalidateLayer=function(e){if(this.lastInvalidationTime=r.performanceNow(),!e.invalid){var t=e.level,n=e.eles,i=this.layersByLevel[t];r.removeFromArray(i,e),e.elesQueue=[],e.invalid=!0,e.replacement&&(e.replacement.invalid=!0);for(var o=0;o0&&void 0!==arguments[0]?arguments[0]:f;e.lineWidth=h,e.lineCap="butt",i.strokeStyle(e,d[0],d[1],d[2],n),i.drawEdgePath(t,e,o.allpts,p)},m=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:f;i.drawArrowheads(e,t,n)};if(e.lineJoin="round","yes"===t.pstyle("ghost").value){var v=t.pstyle("ghost-offset-x").pfValue,b=t.pstyle("ghost-offset-y").pfValue,y=t.pstyle("ghost-opacity").value,x=f*y;e.translate(v,b),g(x),m(x),e.translate(-v,-b)}g(),m(),function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:c;e.lineWidth=l,"self"!==o.edgeType||a?e.lineCap="round":e.lineCap="butt",i.strokeStyle(e,u[0],u[1],u[2],n),i.drawEdgePath(t,e,o.allpts,"solid")}(),i.drawElementText(e,t,r),n&&e.translate(s.x1,s.y1)}},drawEdgePath:function(e,t,n,r){var i=e._private.rscratch,o=t,a=void 0,s=!1,l=this.usePaths();if(l){var c=n.join("$");i.pathCacheKey&&i.pathCacheKey===c?(a=t=i.pathCache,s=!0):(a=t=new Path2D,i.pathCacheKey=c,i.pathCache=a)}if(o.setLineDash)switch(r){case"dotted":o.setLineDash([1,1]);break;case"dashed":o.setLineDash([6,3]);break;case"solid":o.setLineDash([])}if(!s&&!i.badLine)switch(t.beginPath&&t.beginPath(),t.moveTo(n[0],n[1]),i.edgeType){case"bezier":case"self":case"compound":case"multibezier":if(e.hasClass("horizontal")){var u=n[4],d=n[5],f=(n[0]+n[4])/2;t.lineTo(n[0]+10,n[1]),t.bezierCurveTo(f,n[1],f,n[5],n[4]-10,n[5]),t.lineTo(u,d)}else if(e.hasClass("vertical")){var p=n[4],h=n[5],g=(n[1]+n[5])/2;t.bezierCurveTo(n[0],g,n[4],g,n[4],n[5]-10),t.lineTo(p,h)}else for(var m=2;m+30||j>0&&O>0){var P=f-T;switch(k){case"left":P-=m;break;case"center":P-=m/2}var D=p-v-T,R=m+2*T,I=v+2*T;if(_>0){var N=e.fillStyle,M=t.pstyle("text-background-color").value;e.fillStyle="rgba("+M[0]+","+M[1]+","+M[2]+","+_*o+")","roundrectangle"==t.pstyle("text-background-shape").strValue?(s=P,l=D,c=R,u=I,d=(d=2)||5,(a=e).beginPath(),a.moveTo(s+d,l),a.lineTo(s+c-d,l),a.quadraticCurveTo(s+c,l,s+c,l+d),a.lineTo(s+c,l+u-d),a.quadraticCurveTo(s+c,l+u,s+c-d,l+u),a.lineTo(s+d,l+u),a.quadraticCurveTo(s,l+u,s,l+u-d),a.lineTo(s,l+d),a.quadraticCurveTo(s,l,s+d,l),a.closePath(),a.fill()):e.fillRect(P,D,R,I),e.fillStyle=N}if(j>0&&O>0){var z=e.strokeStyle,L=e.lineWidth,B=t.pstyle("text-border-color").value,F=t.pstyle("text-border-style").value;if(e.strokeStyle="rgba("+B[0]+","+B[1]+","+B[2]+","+O*o+")",e.lineWidth=j,e.setLineDash)switch(F){case"dotted":e.setLineDash([1,1]);break;case"dashed":e.setLineDash([4,2]);break;case"double":e.lineWidth=j/4,e.setLineDash([]);break;case"solid":e.setLineDash([])}if(e.strokeRect(P,D,R,I),"double"===F){var q=j/2;e.strokeRect(P+q,D+q,R-2*q,I-2*q)}e.setLineDash&&e.setLineDash([]),e.lineWidth=L,e.strokeStyle=z}}var V=2*t.pstyle("text-outline-width").pfValue;if(V>0&&(e.lineWidth=V),"wrap"===t.pstyle("text-wrap").value){var U=r.getPrefixedProperty(i,"labelWrapCachedLines",n),H=v/U.length;switch(A){case"top":p-=(U.length-1)*H;break;case"center":case"bottom":p-=(U.length-1)*H}for(var G=0;G0&&e.strokeText(U[G],f,p),e.fillText(U[G],f,p),p+=H}else V>0&&e.strokeText(h,f,p),e.fillText(h,f,p);0!==E&&(e.rotate(-E),e.translate(-$,-C))}}},e.exports=o},function(e,t,n){"use strict";var r=n(0),i={drawNode:function(e,t,n,i){var o,a,s=this,l=t._private,c=l.rscratch,u=t.position();if(r.number(u.x)&&r.number(u.y)&&t.visible()){var d=t.effectiveOpacity(),f=s.usePaths(),p=void 0,h=!1,g=t.padding();o=t.width()+2*g,a=t.height()+2*g;var m=void 0;n&&(m=n,e.translate(-m.x1,-m.y1));for(var v=t.pstyle("background-image").value,b=new Array(v.length),y=new Array(v.length),x=0,w=0;w0&&void 0!==arguments[0]?arguments[0]:C;s.fillStyle(e,$[0],$[1],$[2],t)},P=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:j;s.strokeStyle(e,_[0],_[1],_[2],t)},D=t.pstyle("shape").strValue,R=t.pstyle("shape-polygon-points").pfValue;if(f){var I=D+"$"+o+"$"+a+("polygon"===D?"$"+R.join("$"):"");e.translate(u.x,u.y),c.pathCacheKey===I?(p=c.pathCache,h=!0):(p=new Path2D,c.pathCacheKey=I,c.pathCache=p)}var N,M,z,L=function(){if(!h){var n=u;f&&(n={x:0,y:0}),s.nodeShapes[s.getNodeShape(t)].draw(p||e,n.x,n.y,o,a)}f?e.fill(p):e.fill()},B=function(){for(var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:d,r=l.backgrounding,i=0,o=0;o0&&void 0!==arguments[0]&&arguments[0],r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:d;s.hasPie(t)&&(s.drawPie(e,t,r),n&&(f||s.nodeShapes[s.getNodeShape(t)].draw(e,u.x,u.y,o,a)))},q=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:d,n=(E>0?E:-E)*t,r=E>0?0:255;0!==E&&(s.fillStyle(e,r,r,r,n),f?e.fill(p):e.fill())},V=function(){if(S>0){if(e.lineWidth=S,e.lineCap="butt",e.setLineDash)switch(O){case"dotted":e.setLineDash([1,1]);break;case"dashed":e.setLineDash([4,2]);break;case"solid":case"double":e.setLineDash([])}if(f?e.stroke(p):e.stroke(),"double"===O){e.lineWidth=S/3;var t=e.globalCompositeOperation;e.globalCompositeOperation="destination-out",f?e.stroke(p):e.stroke(),e.globalCompositeOperation=t}e.setLineDash&&e.setLineDash([])}};if("yes"===t.pstyle("ghost").value){var U=t.pstyle("ghost-offset-x").pfValue,H=t.pstyle("ghost-offset-y").pfValue,G=t.pstyle("ghost-opacity").value,W=G*d;e.translate(U,H),T(G*C),L(),B(W),F(0!==E||0!==S),q(W),P(G*j),V(),e.translate(-U,-H)}T(),L(),B(),F(0!==E||0!==S),q(),P(),V(),f&&e.translate(-u.x,-u.y),s.drawElementText(e,t,i),N=t.pstyle("overlay-padding").pfValue,M=t.pstyle("overlay-opacity").value,z=t.pstyle("overlay-color").value,M>0&&(s.fillStyle(e,z[0],z[1],z[2],M),s.nodeShapes.roundrectangle.draw(e,u.x,u.y,o+2*N,a+2*N),e.fill()),n&&e.translate(m.x1,m.y1)}},hasPie:function(e){return(e=e[0])._private.hasPie},drawPie:function(e,t,n,r){t=t[0],r=r||t.position();var i=t.cy().style(),o=t.pstyle("pie-size"),a=r.x,s=r.y,l=t.width(),c=t.height(),u=Math.min(l,c)/2,d=0;this.usePaths()&&(a=0,s=0),"%"===o.units?u*=o.pfValue:void 0!==o.pfValue&&(u=o.pfValue/2);for(var f=1;f<=i.pieBackgroundN;f++){var p=t.pstyle("pie-"+f+"-background-size").value,h=t.pstyle("pie-"+f+"-background-color").value,g=t.pstyle("pie-"+f+"-background-opacity").value*n,m=p/100;m+d>1&&(m=1-d);var v=1.5*Math.PI+2*Math.PI*d,b=v+2*Math.PI*m;0===p||d>=1||d+m>1||(e.beginPath(),e.moveTo(a,s),e.arc(a,s,u,v,b),e.closePath(),this.fillStyle(e,h[0],h[1],h[2],g),e.fill(),d+=m)}}};e.exports=i},function(e,t,n){"use strict";var r={},i=n(1);r.getPixelRatio=function(){var e=this.data.contexts[0];if(null!=this.forcedPixelRatio)return this.forcedPixelRatio;var t=e.backingStorePixelRatio||e.webkitBackingStorePixelRatio||e.mozBackingStorePixelRatio||e.msBackingStorePixelRatio||e.oBackingStorePixelRatio||e.backingStorePixelRatio||1;return(window.devicePixelRatio||1)/t},r.paintCache=function(e){for(var t,n=this.paintCaches=this.paintCaches||[],r=!0,i=0;is.minMbLowQualFrames&&(s.motionBlurPxRatio=s.mbPxRBlurry)),s.clearingMotionBlur&&(s.motionBlurPxRatio=1),s.textureDrawLastFrame&&!f&&(d[s.NODE]=!0,d[s.SELECT_BOX]=!0);var y=c.style()._private.coreStyle,x=c.zoom(),w=void 0!==o?o:x,k=c.pan(),A={x:k.x,y:k.y},E={zoom:x,pan:{x:k.x,y:k.y}},S=s.prevViewport;void 0===S||E.zoom!==S.zoom||E.pan.x!==S.pan.x||E.pan.y!==S.pan.y||m&&!g||(s.motionBlurPxRatio=1),a&&(A=a),w*=l,A.x*=l,A.y*=l;var $=s.getCachedZSortedEles();function C(e,t,n,r,i){var o=e.globalCompositeOperation;e.globalCompositeOperation="destination-out",s.fillStyle(e,255,255,255,s.motionBlurTransparency),e.fillRect(t,n,r,i),e.globalCompositeOperation=o}function _(e,r){var i,l,c,d;s.clearingMotionBlur||e!==u.bufferContexts[s.MOTIONBLUR_BUFFER_NODE]&&e!==u.bufferContexts[s.MOTIONBLUR_BUFFER_DRAG]?(i=A,l=w,c=s.canvasWidth,d=s.canvasHeight):(i={x:k.x*h,y:k.y*h},l=x*h,c=s.canvasWidth*h,d=s.canvasHeight*h),e.setTransform(1,0,0,1,0,0),"motionBlur"===r?C(e,0,0,c,d):t||void 0!==r&&!r||e.clearRect(0,0,c,d),n||(e.translate(i.x,i.y),e.scale(l,l)),a&&e.translate(a.x,a.y),o&&e.scale(o,o)}if(f||(s.textureDrawLastFrame=!1),f){if(s.textureDrawLastFrame=!0,!s.textureCache){s.textureCache={},s.textureCache.bb=c.mutableElements().boundingBox(),s.textureCache.texture=s.data.bufferCanvases[s.TEXTURE_BUFFER];var O=s.data.bufferContexts[s.TEXTURE_BUFFER];O.setTransform(1,0,0,1,0,0),O.clearRect(0,0,s.canvasWidth*s.textureMult,s.canvasHeight*s.textureMult),s.render({forcedContext:O,drawOnlyNodeLayer:!0,forcedPxRatio:l*s.textureMult}),(E=s.textureCache.viewport={zoom:c.zoom(),pan:c.pan(),width:s.canvasWidth,height:s.canvasHeight}).mpan={x:(0-E.pan.x)/E.zoom,y:(0-E.pan.y)/E.zoom}}d[s.DRAG]=!1,d[s.NODE]=!1;var j=u.contexts[s.NODE],T=s.textureCache.texture;E=s.textureCache.viewport,s.textureCache.bb,j.setTransform(1,0,0,1,0,0),p?C(j,0,0,E.width,E.height):j.clearRect(0,0,E.width,E.height);var P=y["outside-texture-bg-color"].value,D=y["outside-texture-bg-opacity"].value;s.fillStyle(j,P[0],P[1],P[2],D),j.fillRect(0,0,E.width,E.height),x=c.zoom(),_(j,!1),j.clearRect(E.mpan.x,E.mpan.y,E.width/E.zoom/l,E.height/E.zoom/l),j.drawImage(T,E.mpan.x,E.mpan.y,E.width/E.zoom/l,E.height/E.zoom/l)}else s.textureOnViewport&&!t&&(s.textureCache=null);var R=c.extent(),I=s.pinching||s.hoverData.dragging||s.swipePanning||s.data.wheelZooming||s.hoverData.draggingEles,N=s.hideEdgesOnViewport&&I,M=[];if(M[s.NODE]=!d[s.NODE]&&p&&!s.clearedForMotionBlur[s.NODE]||s.clearingMotionBlur,M[s.NODE]&&(s.clearedForMotionBlur[s.NODE]=!0),M[s.DRAG]=!d[s.DRAG]&&p&&!s.clearedForMotionBlur[s.DRAG]||s.clearingMotionBlur,M[s.DRAG]&&(s.clearedForMotionBlur[s.DRAG]=!0),d[s.NODE]||n||r||M[s.NODE]){var z=p&&!M[s.NODE]&&1!==h;_(j=t||(z?s.data.bufferContexts[s.MOTIONBLUR_BUFFER_NODE]:u.contexts[s.NODE]),p&&!z?"motionBlur":void 0),N?s.drawCachedNodes(j,$.nondrag,l,R):s.drawLayeredElements(j,$.nondrag,l,R),s.debug&&s.drawDebugPoints(j,$.nondrag),n||p||(d[s.NODE]=!1)}if(!r&&(d[s.DRAG]||n||M[s.DRAG])&&(z=p&&!M[s.DRAG]&&1!==h,_(j=t||(z?s.data.bufferContexts[s.MOTIONBLUR_BUFFER_DRAG]:u.contexts[s.DRAG]),p&&!z?"motionBlur":void 0),N?s.drawCachedNodes(j,$.drag,l,R):s.drawCachedElements(j,$.drag,l,R),s.debug&&s.drawDebugPoints(j,$.drag),n||p||(d[s.DRAG]=!1)),s.showFps||!r&&d[s.SELECT_BOX]&&!n){if(_(j=t||u.contexts[s.SELECT_BOX]),1==s.selection[4]&&(s.hoverData.selecting||s.touchData.selecting)){x=s.cy.zoom();var L=y["selection-box-border-width"].value/x;j.lineWidth=L,j.fillStyle="rgba("+y["selection-box-color"].value[0]+","+y["selection-box-color"].value[1]+","+y["selection-box-color"].value[2]+","+y["selection-box-opacity"].value+")",j.fillRect(s.selection[0],s.selection[1],s.selection[2]-s.selection[0],s.selection[3]-s.selection[1]),L>0&&(j.strokeStyle="rgba("+y["selection-box-border-color"].value[0]+","+y["selection-box-border-color"].value[1]+","+y["selection-box-border-color"].value[2]+","+y["selection-box-opacity"].value+")",j.strokeRect(s.selection[0],s.selection[1],s.selection[2]-s.selection[0],s.selection[3]-s.selection[1]))}if(u.bgActivePosistion&&!s.hoverData.selecting){x=s.cy.zoom();var B=u.bgActivePosistion;j.fillStyle="rgba("+y["active-bg-color"].value[0]+","+y["active-bg-color"].value[1]+","+y["active-bg-color"].value[2]+","+y["active-bg-opacity"].value+")",j.beginPath(),j.arc(B.x,B.y,y["active-bg-size"].pfValue/x,0,2*Math.PI),j.fill()}var F=s.lastRedrawTime;if(s.showFps&&F){F=Math.round(F);var q=Math.round(1e3/F);j.setTransform(1,0,0,1,0,0),j.fillStyle="rgba(255, 0, 0, 0.75)",j.strokeStyle="rgba(255, 0, 0, 0.75)",j.lineWidth=1,j.fillText("1 frame = "+F+" ms = "+q+" fps",0,20),j.strokeRect(0,30,250,20),j.fillRect(0,30,250*Math.min(q/60,1),20)}n||(d[s.SELECT_BOX]=!1)}if(p&&1!==h){var V=u.contexts[s.NODE],U=s.data.bufferCanvases[s.MOTIONBLUR_BUFFER_NODE],H=u.contexts[s.DRAG],G=s.data.bufferCanvases[s.MOTIONBLUR_BUFFER_DRAG],W=function(e,t,n){e.setTransform(1,0,0,1,0,0),n||!b?e.clearRect(0,0,s.canvasWidth,s.canvasHeight):C(e,0,0,s.canvasWidth,s.canvasHeight);var r=h;e.drawImage(t,0,0,s.canvasWidth*r,s.canvasHeight*r,0,0,s.canvasWidth,s.canvasHeight)};(d[s.NODE]||M[s.NODE])&&(W(V,U,M[s.NODE]),d[s.NODE]=!1),(d[s.DRAG]||M[s.DRAG])&&(W(H,G,M[s.DRAG]),d[s.DRAG]=!1)}s.prevViewport=E,s.clearingMotionBlur&&(s.clearingMotionBlur=!1,s.motionBlurCleared=!0,s.motionBlur=!0),p&&(s.motionBlurTimeout=setTimeout((function(){s.motionBlurTimeout=null,s.clearedForMotionBlur[s.NODE]=!1,s.clearedForMotionBlur[s.DRAG]=!1,s.motionBlur=!1,s.clearingMotionBlur=!f,s.mbFrames=0,d[s.NODE]=!0,d[s.DRAG]=!0,s.redraw()}),100)),t||c.emit("render")},e.exports=r},function(e,t,n){"use strict";for(var r=n(2),i={drawPolygonPath:function(e,t,n,r,i,o){var a=r/2,s=i/2;e.beginPath&&e.beginPath(),e.moveTo(t+a*o[0],n+s*o[1]);for(var l=1;l0&&a>0){p.clearRect(0,0,o,a),p.globalCompositeOperation="source-over";var h=this.getCachedZSortedEles();if(e.full)p.translate(-n.x1*c,-n.y1*c),p.scale(c,c),this.drawElements(p,h),p.scale(1/c,1/c),p.translate(n.x1*c,n.y1*c);else{var g=t.pan(),m={x:g.x*c,y:g.y*c};c*=t.zoom(),p.translate(m.x,m.y),p.scale(c,c),this.drawElements(p,h),p.scale(1/c,1/c),p.translate(-m.x,-m.y)}e.bg&&(p.globalCompositeOperation="destination-over",p.fillStyle=e.bg,p.rect(0,0,o,a),p.fill())}return f},i.png=function(e){return a(e,this.bufferCanvasImage(e),"image/png")},i.jpg=function(e){return a(e,this.bufferCanvasImage(e),"image/jpeg")},e.exports=i},function(e,t,n){"use strict";var r={nodeShapeImpl:function(e,t,n,r,i,o,a){switch(e){case"ellipse":return this.drawEllipsePath(t,n,r,i,o);case"polygon":return this.drawPolygonPath(t,n,r,i,o,a);case"roundrectangle":return this.drawRoundRectanglePath(t,n,r,i,o);case"cutrectangle":return this.drawCutRectanglePath(t,n,r,i,o);case"bottomroundrectangle":return this.drawBottomRoundRectanglePath(t,n,r,i,o);case"barrel":return this.drawBarrelPath(t,n,r,i,o)}}};e.exports=r},function(e,t,n){"use strict";var r=n(0),i=n(1),o=n(18),a=function e(){if(!(this instanceof e))return new e;this.length=0},s=a.prototype;s.instanceString=function(){return"stylesheet"},s.selector=function(e){return this[this.length++]={selector:e,properties:[]},this},s.css=function(e,t){var n=this.length-1;if(r.string(e))this[n].properties.push({name:e,value:t});else if(r.plainObject(e))for(var a=e,s=0;s=0&&(e._idleTimeoutId=setTimeout((function(){e._onTimeout&&e._onTimeout()}),t))},n(239),t.setImmediate="undefined"!=typeof self&&self.setImmediate||void 0!==e&&e.setImmediate||this&&this.setImmediate,t.clearImmediate="undefined"!=typeof self&&self.clearImmediate||void 0!==e&&e.clearImmediate||this&&this.clearImmediate}).call(this,n(35))},function(e,t,n){(function(e,t){!function(e,n){"use strict";if(!e.setImmediate){var r,i,o,a,s,l=1,c={},u=!1,d=e.document,f=Object.getPrototypeOf&&Object.getPrototypeOf(e);f=f&&f.setTimeout?f:e,"[object process]"==={}.toString.call(e.process)?r=function(e){t.nextTick((function(){h(e)}))}:!function(){if(e.postMessage&&!e.importScripts){var t=!0,n=e.onmessage;return e.onmessage=function(){t=!1},e.postMessage("","*"),e.onmessage=n,t}}()?e.MessageChannel?((o=new MessageChannel).port1.onmessage=function(e){h(e.data)},r=function(e){o.port2.postMessage(e)}):d&&"onreadystatechange"in d.createElement("script")?(i=d.documentElement,r=function(e){var t=d.createElement("script");t.onreadystatechange=function(){h(e),t.onreadystatechange=null,i.removeChild(t),t=null},i.appendChild(t)}):r=function(e){setTimeout(h,0,e)}:(a="setImmediate$"+Math.random()+"$",s=function(t){t.source===e&&"string"==typeof t.data&&0===t.data.indexOf(a)&&h(+t.data.slice(a.length))},e.addEventListener?e.addEventListener("message",s,!1):e.attachEvent("onmessage",s),r=function(t){e.postMessage(a+t,"*")}),f.setImmediate=function(e){"function"!=typeof e&&(e=new Function(""+e));for(var t=new Array(arguments.length-1),n=0;n1)for(var n=1;n=t||n<0||m&&e-c>=o}function w(){var e=p();if(x(e))return k(e);s=setTimeout(w,function(e){var n=t-(e-l);return m?f(n,o-(e-c)):n}(e))}function k(e){return s=void 0,v&&r?b(e):(r=i=void 0,a)}function A(){var e=p(),n=x(e);if(r=arguments,i=this,l=e,n){if(void 0===s)return y(l);if(m)return s=setTimeout(w,t),b(l)}return void 0===s&&(s=setTimeout(w,t)),a}return t=g(t)||0,h(n)&&(u=!!n.leading,o=(m="maxWait"in n)?d(g(n.maxWait)||0,t):o,v="trailing"in n?!!n.trailing:v),A.cancel=function(){void 0!==s&&clearTimeout(s),c=0,r=l=i=s=void 0},A.flush=function(){return void 0===s?a:k(p())},A}}).call(this,n(35))},function(e,t,n){e.exports=n(243)},function(e,t,n){var r,i,o;(function(){var n,a,s,l,c,u,d,f,p,h,g,m,v,b,y;s=Math.floor,h=Math.min,a=function(e,t){return et?1:0},p=function(e,t,n,r,i){var o;if(null==n&&(n=0),null==i&&(i=a),n<0)throw new Error("lo must be non-negative");for(null==r&&(r=e.length);nn;0<=n?t++:t--)c.push(t);return c}.apply(this).reverse()).length;rg;0<=g?++u:--u)m.push(c(e,n));return m},b=function(e,t,n,r){var i,o,s;for(null==r&&(r=a),i=e[n];n>t&&r(i,o=e[s=n-1>>1])<0;)e[n]=o,n=s;return e[n]=i},y=function(e,t,n){var r,i,o,s,l;for(null==n&&(n=a),i=e.length,l=t,o=e[t],r=2*t+1;r'+e.content+"":s+=">"+e.content+"";var l=t(s);return l.data("selector",e.selector),l.data("on-click-function",e.onClickFunction),l.data("show",void 0===e.show||e.show),l}function y(){var e;l("active")&&(e=s.children(),t(e).each((function(){x(t(this))})),i.off("tapstart",n),s.remove(),c(s=void 0,void 0),c("active",!1),c("anyVisibleChild",!1))}function x(e){var n="string"==typeof e?t("#"+e):e,r=n.data("cy-context-menus-cxtfcn"),o=n.data("selector"),a=n.data("call-on-click-function"),s=n.data("cy-context-menus-cxtcorefcn");r&&i.off("cxttap",o,r),s&&i.off("cxttap",s),a&&n.off("click",a),n.remove()}"get"!==e&&(c("options",a=function(e,t){var n={};for(var r in e)n[r]=e[r];for(var r in t)n[r]=t[r];return n}(r,e)),l("active")&&y(),c("active",!0),o=u(a.contextMenuClasses),(s=t("
")).addClass("cy-context-menus-cxt-menu"),c("cxtMenu",s),t("body").append(s),s=s,g(a.menuItems),i.on("tapstart",n=function(){f(s),c("cxtMenuPosition",void 0),c("currentCyEvent",void 0)}),t(".cy-context-menus-cxt-menu").contextmenu((function(){return!1})));return function(e){return{isActive:function(){return l("active")},appendMenuItem:function(t){return m(t),e},appendMenuItems:function(t){return g(t),e},removeMenuItem:function(t){return x(t),e},setTrailingDivider:function(n,r){return function(e,n){var r=t("#"+e);n?r.addClass("cy-context-menus-divider"):r.removeClass("cy-context-menus-divider")}(n,r),e},insertBeforeMenuItem:function(t,n){return v(t,n),e},moveBeforeOtherMenuItem:function(n,r){return function(e,n){if(e!==n){var r=t("#"+e).detach(),i=t("#"+n);r.insertBefore(i)}}(n,r),e},disableMenuItem:function(n){return t("#"+n).attr("disabled",!0),e},enableMenuItem:function(n){return t("#"+n).attr("disabled",!1),e},hideMenuItem:function(n){return t("#"+n).data("show",!1),f(t("#"+n)),e},showMenuItem:function(n){return t("#"+n).data("show",!0),d(t("#"+n)),e},destroy:function(){return y(),e}}}(this)}))}};e.exports&&(e.exports=o),void 0===(r=function(){return o}.call(t,n,t,e))||(e.exports=r),"undefined"!=typeof cytoscape&&i&&o(cytoscape,i)}()},function(e,t,n){var r;r=function(e){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)n.d(r,i,function(t){return e[t]}.bind(null,i));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=0)}([function(e,t,n){var r=n(1),i=function(e){e&&e("layout","dagre",r)};"undefined"!=typeof cytoscape&&i(cytoscape),e.exports=i},function(e,t,n){function r(e){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var i=n(2),o=n(3),a=n(4);function s(e){this.options=o({},i,e)}s.prototype.run=function(){var e=this.options,t=e.cy,n=e.eles,i=function(e,t){return"function"==typeof t?t.apply(e,[e]):t},o=e.boundingBox||{x1:0,y1:0,w:t.width(),h:t.height()};void 0===o.x2&&(o.x2=o.x1+o.w),void 0===o.w&&(o.w=o.x2-o.x1),void 0===o.y2&&(o.y2=o.y1+o.h),void 0===o.h&&(o.h=o.y2-o.y1);var s=new a.graphlib.Graph({multigraph:!0,compound:!0}),l={},c=function(e,t){null!=t&&(l[e]=t)};c("nodesep",e.nodeSep),c("edgesep",e.edgeSep),c("ranksep",e.rankSep),c("rankdir",e.rankDir),c("ranker",e.ranker),s.setGraph(l),s.setDefaultEdgeLabel((function(){return{}})),s.setDefaultNodeLabel((function(){return{}}));for(var u=n.nodes(),d=0;d1?t-1:0),r=1;r-1}},function(e,t,n){var r=n(75);e.exports=function(e,t){var n=this.__data__,i=r(n,e);return i<0?(++this.size,n.push([e,t])):n[i][1]=t,this}},function(e,t,n){var r=n(74);e.exports=function(){this.__data__=new r,this.size=0}},function(e,t){e.exports=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}},function(e,t){e.exports=function(e){return this.__data__.get(e)}},function(e,t){e.exports=function(e){return this.__data__.has(e)}},function(e,t,n){var r=n(74),i=n(117),o=n(118);e.exports=function(e,t){var n=this.__data__;if(n instanceof r){var a=n.__data__;if(!i||a.length<199)return a.push([e,t]),this.size=++n.size,this;n=this.__data__=new o(a)}return n.set(e,t),this.size=n.size,this}},function(e,t,n){var r=n(64),i=n(262),o=n(23),a=n(151),s=/^\[object .+?Constructor\]$/,l=Function.prototype,c=Object.prototype,u=l.toString,d=c.hasOwnProperty,f=RegExp("^"+u.call(d).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");e.exports=function(e){return!(!o(e)||i(e))&&(r(e)?f:s).test(a(e))}},function(e,t,n){var r=n(58),i=Object.prototype,o=i.hasOwnProperty,a=i.toString,s=r?r.toStringTag:void 0;e.exports=function(e){var t=o.call(e,s),n=e[s];try{e[s]=void 0;var r=!0}catch(e){}var i=a.call(e);return r&&(t?e[s]=n:delete e[s]),i}},function(e,t){var n=Object.prototype.toString;e.exports=function(e){return n.call(e)}},function(e,t,n){var r,i=n(263),o=(r=/[^.]+$/.exec(i&&i.keys&&i.keys.IE_PROTO||""))?"Symbol(src)_1."+r:"";e.exports=function(e){return!!o&&o in e}},function(e,t,n){var r=n(29)["__core-js_shared__"];e.exports=r},function(e,t){e.exports=function(e,t){return null==e?void 0:e[t]}},function(e,t,n){var r=n(266),i=n(74),o=n(117);e.exports=function(){this.size=0,this.__data__={hash:new r,map:new(o||i),string:new r}}},function(e,t,n){var r=n(267),i=n(268),o=n(269),a=n(270),s=n(271);function l(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t0){if(++t>=800)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}},function(e,t,n){var r=n(173),i=n(340),o=n(344),a=n(174),s=n(345),l=n(129);e.exports=function(e,t,n){var c=-1,u=i,d=e.length,f=!0,p=[],h=p;if(n)f=!1,u=o;else if(d>=200){var g=t?null:s(e);if(g)return l(g);f=!1,u=a,h=new r}else h=t?[]:p;e:for(;++c-1}},function(e,t,n){var r=n(188),i=n(342),o=n(343);e.exports=function(e,t,n){return t==t?o(e,t,n):r(e,i,n)}},function(e,t){e.exports=function(e){return e!=e}},function(e,t){e.exports=function(e,t,n){for(var r=n-1,i=e.length;++r1||1===t.length&&e.hasEdge(t[0],t[0])}))}},function(e,t,n){var r=n(22);e.exports=function(e,t,n){return function(e,t,n){var r={},i=e.nodes();return i.forEach((function(e){r[e]={},r[e][e]={distance:0},i.forEach((function(t){e!==t&&(r[e][t]={distance:Number.POSITIVE_INFINITY})})),n(e).forEach((function(n){var i=n.v===e?n.w:n.v,o=t(n);r[e][i]={distance:o,predecessor:e}}))})),i.forEach((function(e){var t=r[e];i.forEach((function(n){var o=r[n];i.forEach((function(n){var r=o[e],i=t[n],a=o[n],s=r.distance+i.distance;s0;){if(n=l.removeMin(),r.has(s,n))a.setEdge(n,s[n]);else{if(u)throw new Error("Input graph is not connected: "+e);u=!0}e.nodeEdges(n).forEach(c)}return a}},function(e,t,n){"use strict";var r=n(11),i=n(399),o=n(402),a=n(403),s=n(20).normalizeRanks,l=n(405),c=n(20).removeEmptyRanks,u=n(406),d=n(407),f=n(408),p=n(409),h=n(418),g=n(20),m=n(28).Graph;e.exports=function(e,t){var n=t&&t.debugTiming?g.time:g.notime;n("layout",(function(){var t=n(" buildLayoutGraph",(function(){return function(e){var t=new m({multigraph:!0,compound:!0}),n=$(e.graph());return t.setGraph(r.merge({},b,S(n,v),r.pick(n,y))),r.forEach(e.nodes(),(function(n){var i=$(e.node(n));t.setNode(n,r.defaults(S(i,x),w)),t.setParent(n,e.parent(n))})),r.forEach(e.edges(),(function(n){var i=$(e.edge(n));t.setEdge(n,r.merge({},A,S(i,k),r.pick(i,E)))})),t}(e)}));n(" runLayout",(function(){!function(e,t){t(" makeSpaceForEdgeLabels",(function(){!function(e){var t=e.graph();t.ranksep/=2,r.forEach(e.edges(),(function(n){var r=e.edge(n);r.minlen*=2,"c"!==r.labelpos.toLowerCase()&&("TB"===t.rankdir||"BT"===t.rankdir?r.width+=r.labeloffset:r.height+=r.labeloffset)}))}(e)})),t(" removeSelfEdges",(function(){!function(e){r.forEach(e.edges(),(function(t){if(t.v===t.w){var n=e.node(t.v);n.selfEdges||(n.selfEdges=[]),n.selfEdges.push({e:t,label:e.edge(t)}),e.removeEdge(t)}}))}(e)})),t(" acyclic",(function(){i.run(e)})),t(" nestingGraph.run",(function(){u.run(e)})),t(" rank",(function(){a(g.asNonCompoundGraph(e))})),t(" injectEdgeLabelProxies",(function(){!function(e){r.forEach(e.edges(),(function(t){var n=e.edge(t);if(n.width&&n.height){var r=e.node(t.v),i={rank:(e.node(t.w).rank-r.rank)/2+r.rank,e:t};g.addDummyNode(e,"edge-proxy",i,"_ep")}}))}(e)})),t(" removeEmptyRanks",(function(){c(e)})),t(" nestingGraph.cleanup",(function(){u.cleanup(e)})),t(" normalizeRanks",(function(){s(e)})),t(" assignRankMinMax",(function(){!function(e){var t=0;r.forEach(e.nodes(),(function(n){var i=e.node(n);i.borderTop&&(i.minRank=e.node(i.borderTop).rank,i.maxRank=e.node(i.borderBottom).rank,t=r.max(t,i.maxRank))})),e.graph().maxRank=t}(e)})),t(" removeEdgeLabelProxies",(function(){!function(e){r.forEach(e.nodes(),(function(t){var n=e.node(t);"edge-proxy"===n.dummy&&(e.edge(n.e).labelRank=n.rank,e.removeNode(t))}))}(e)})),t(" normalize.run",(function(){o.run(e)})),t(" parentDummyChains",(function(){l(e)})),t(" addBorderSegments",(function(){d(e)})),t(" order",(function(){p(e)})),t(" insertSelfEdges",(function(){!function(e){var t=g.buildLayerMatrix(e);r.forEach(t,(function(t){var n=0;r.forEach(t,(function(t,i){var o=e.node(t);o.order=i+n,r.forEach(o.selfEdges,(function(t){g.addDummyNode(e,"selfedge",{width:t.label.width,height:t.label.height,rank:o.rank,order:i+ ++n,e:t.e,label:t.label},"_se")})),delete o.selfEdges}))}))}(e)})),t(" adjustCoordinateSystem",(function(){f.adjust(e)})),t(" position",(function(){h(e)})),t(" positionSelfEdges",(function(){!function(e){r.forEach(e.nodes(),(function(t){var n=e.node(t);if("selfedge"===n.dummy){var r=e.node(n.e.v),i=r.x+r.width/2,o=r.y,a=n.x-i,s=r.height/2;e.setEdge(n.e,n.label),e.removeNode(t),n.label.points=[{x:i+2*a/3,y:o-s},{x:i+5*a/6,y:o-s},{x:i+a,y:o},{x:i+5*a/6,y:o+s},{x:i+2*a/3,y:o+s}],n.label.x=n.x,n.label.y=n.y}}))}(e)})),t(" removeBorderNodes",(function(){!function(e){r.forEach(e.nodes(),(function(t){if(e.children(t).length){var n=e.node(t),i=e.node(n.borderTop),o=e.node(n.borderBottom),a=e.node(r.last(n.borderLeft)),s=e.node(r.last(n.borderRight));n.width=Math.abs(s.x-a.x),n.height=Math.abs(o.y-i.y),n.x=a.x+n.width/2,n.y=i.y+n.height/2}})),r.forEach(e.nodes(),(function(t){"border"===e.node(t).dummy&&e.removeNode(t)}))}(e)})),t(" normalize.undo",(function(){o.undo(e)})),t(" fixupEdgeLabelCoords",(function(){!function(e){r.forEach(e.edges(),(function(t){var n=e.edge(t);if(r.has(n,"x"))switch("l"!==n.labelpos&&"r"!==n.labelpos||(n.width-=n.labeloffset),n.labelpos){case"l":n.x-=n.width/2+n.labeloffset;break;case"r":n.x+=n.width/2+n.labeloffset}}))}(e)})),t(" undoCoordinateSystem",(function(){f.undo(e)})),t(" translateGraph",(function(){!function(e){var t=Number.POSITIVE_INFINITY,n=0,i=Number.POSITIVE_INFINITY,o=0,a=e.graph(),s=a.marginx||0,l=a.marginy||0;function c(e){var r=e.x,a=e.y,s=e.width,l=e.height;t=Math.min(t,r-s/2),n=Math.max(n,r+s/2),i=Math.min(i,a-l/2),o=Math.max(o,a+l/2)}r.forEach(e.nodes(),(function(t){c(e.node(t))})),r.forEach(e.edges(),(function(t){var n=e.edge(t);r.has(n,"x")&&c(n)})),t-=s,i-=l,r.forEach(e.nodes(),(function(n){var r=e.node(n);r.x-=t,r.y-=i})),r.forEach(e.edges(),(function(n){var o=e.edge(n);r.forEach(o.points,(function(e){e.x-=t,e.y-=i})),r.has(o,"x")&&(o.x-=t),r.has(o,"y")&&(o.y-=i)})),a.width=n-t+s,a.height=o-i+l}(e)})),t(" assignNodeIntersects",(function(){!function(e){r.forEach(e.edges(),(function(t){var n,r,i=e.edge(t),o=e.node(t.v),a=e.node(t.w);i.points?(n=i.points[0],r=i.points[i.points.length-1]):(i.points=[],n=a,r=o),i.points.unshift(g.intersectRect(o,n)),i.points.push(g.intersectRect(a,r))}))}(e)})),t(" reversePoints",(function(){!function(e){r.forEach(e.edges(),(function(t){var n=e.edge(t);n.reversed&&n.points.reverse()}))}(e)})),t(" acyclic.undo",(function(){i.undo(e)}))}(t,n)})),n(" updateInputGraph",(function(){!function(e,t){r.forEach(e.nodes(),(function(n){var r=e.node(n),i=t.node(n);r&&(r.x=i.x,r.y=i.y,t.children(n).length&&(r.width=i.width,r.height=i.height))})),r.forEach(e.edges(),(function(n){var i=e.edge(n),o=t.edge(n);i.points=o.points,r.has(o,"x")&&(i.x=o.x,i.y=o.y)})),e.graph().width=t.graph().width,e.graph().height=t.graph().height}(e,t)}))}))};var v=["nodesep","edgesep","ranksep","marginx","marginy"],b={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},y=["acyclicer","ranker","rankdir","align"],x=["width","height"],w={width:0,height:0},k=["minlen","weight","width","height","labeloffset"],A={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},E=["labelpos"];function S(e,t){return r.mapValues(r.pick(e,t),Number)}function $(e){var t={};return r.forEach(e,(function(e,n){t[n.toLowerCase()]=e})),t}},function(e,t,n){var r=n(149);e.exports=function(e){return r(e,5)}},function(e,t,n){var r=n(89),i=n(57),o=n(90),a=n(48),s=Object.prototype,l=s.hasOwnProperty,c=r((function(e,t){e=Object(e);var n=-1,r=t.length,c=r>2?t[2]:void 0;for(c&&o(t[0],t[1],c)&&(r=1);++n-1?s[l?t[c]:c]:void 0}}},function(e,t,n){var r=n(188),i=n(37),o=n(365),a=Math.max;e.exports=function(e,t,n){var s=null==e?0:e.length;if(!s)return-1;var l=null==n?0:o(n);return l<0&&(l=a(s+l,0)),r(e,i(t,3),l)}},function(e,t,n){var r=n(196);e.exports=function(e){var t=r(e),n=t%1;return t==t?n?t-n:t:0}},function(e,t,n){var r=n(367),i=n(23),o=n(61),a=/^[-+]0x[0-9a-f]+$/i,s=/^0b[01]+$/i,l=/^0o[0-7]+$/i,c=parseInt;e.exports=function(e){if("number"==typeof e)return e;if(o(e))return NaN;if(i(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=i(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=r(e);var n=s.test(e);return n||l.test(e)?c(e.slice(2),n?2:8):a.test(e)?NaN:+e}},function(e,t,n){var r=n(368),i=/^\s+/;e.exports=function(e){return e?e.slice(0,r(e)+1).replace(i,""):e}},function(e,t){var n=/\s/;e.exports=function(e){for(var t=e.length;t--&&n.test(e.charAt(t)););return t}},function(e,t,n){var r=n(128),i=n(169),o=n(48);e.exports=function(e,t){return null==e?e:r(e,i(t),o)}},function(e,t){e.exports=function(e){var t=null==e?0:e.length;return t?e[t-1]:void 0}},function(e,t,n){var r=n(79),i=n(127),o=n(37);e.exports=function(e,t){var n={};return t=o(t,3),i(e,(function(e,i,o){r(n,i,t(e,i,o))})),n}},function(e,t,n){var r=n(132),i=n(373),o=n(49);e.exports=function(e){return e&&e.length?r(e,o,i):void 0}},function(e,t){e.exports=function(e,t){return e>t}},function(e,t,n){var r=n(375),i=n(379)((function(e,t,n){r(e,t,n)}));e.exports=i},function(e,t,n){var r=n(73),i=n(198),o=n(128),a=n(376),s=n(23),l=n(48),c=n(199);e.exports=function e(t,n,u,d,f){t!==n&&o(n,(function(o,l){if(f||(f=new r),s(o))a(t,n,l,u,e,d,f);else{var p=d?d(c(t,l),o,l+"",t,n,f):void 0;void 0===p&&(p=o),i(t,l,p)}}),l)}},function(e,t,n){var r=n(198),i=n(155),o=n(164),a=n(156),s=n(165),l=n(66),c=n(13),u=n(189),d=n(59),f=n(64),p=n(23),h=n(377),g=n(67),m=n(199),v=n(378);e.exports=function(e,t,n,b,y,x,w){var k=m(e,n),A=m(t,n),E=w.get(A);if(E)r(e,n,E);else{var S=x?x(k,A,n+"",e,t,w):void 0,$=void 0===S;if($){var C=c(A),_=!C&&d(A),O=!C&&!_&&g(A);S=A,C||_||O?c(k)?S=k:u(k)?S=a(k):_?($=!1,S=i(A,!0)):O?($=!1,S=o(A,!0)):S=[]:h(A)||l(A)?(S=k,l(k)?S=v(k):p(k)&&!f(k)||(S=s(A))):$=!1}$&&(w.set(A,S),y(S,A,b,x,w),w.delete(A)),r(e,n,S)}}},function(e,t,n){var r=n(47),i=n(84),o=n(32),a=Function.prototype,s=Object.prototype,l=a.toString,c=s.hasOwnProperty,u=l.call(Object);e.exports=function(e){if(!o(e)||"[object Object]"!=r(e))return!1;var t=i(e);if(null===t)return!0;var n=c.call(t,"constructor")&&t.constructor;return"function"==typeof n&&n instanceof n&&l.call(n)==u}},function(e,t,n){var r=n(65),i=n(48);e.exports=function(e){return r(e,i(e))}},function(e,t,n){var r=n(89),i=n(90);e.exports=function(e){return r((function(t,n){var r=-1,o=n.length,a=o>1?n[o-1]:void 0,s=o>2?n[2]:void 0;for(a=e.length>3&&"function"==typeof a?(o--,a):void 0,s&&i(n[0],n[1],s)&&(a=o<3?void 0:a,o=1),t=Object(t);++r1&&a(e,t[0],t[1])?t=[]:n>2&&a(t[0],t[1],t[2])&&(t=[t[0]]),i(e,r(t,1),[])}));e.exports=s},function(e,t,n){var r=n(88),i=n(86),o=n(37),a=n(184),s=n(393),l=n(82),c=n(394),u=n(49),d=n(13);e.exports=function(e,t,n){t=t.length?r(t,(function(e){return d(e)?function(t){return i(t,1===e.length?e[0]:e)}:e})):[u];var f=-1;t=r(t,l(o));var p=a(e,(function(e,n,i){return{criteria:r(t,(function(t){return t(e)})),index:++f,value:e}}));return s(p,(function(e,t){return c(e,t,n)}))}},function(e,t){e.exports=function(e,t){var n=e.length;for(e.sort(t);n--;)e[n]=e[n].value;return e}},function(e,t,n){var r=n(395);e.exports=function(e,t,n){for(var i=-1,o=e.criteria,a=t.criteria,s=o.length,l=n.length;++i=l?c:c*("desc"==n[i]?-1:1)}return e.index-t.index}},function(e,t,n){var r=n(61);e.exports=function(e,t){if(e!==t){var n=void 0!==e,i=null===e,o=e==e,a=r(e),s=void 0!==t,l=null===t,c=t==t,u=r(t);if(!l&&!u&&!a&&e>t||a&&s&&c&&!l&&!u||i&&s&&c||!n&&c||!o)return 1;if(!i&&!a&&!u&&e0;--l)if(r=t[l].dequeue()){i=i.concat(s(e,t,n,r,!0));break}}return i}(n.graph,n.buckets,n.zeroIdx);return r.flatten(r.map(c,(function(t){return e.outEdges(t.v,t.w)})),!0)};var a=r.constant(1);function s(e,t,n,i,o){var a=o?[]:void 0;return r.forEach(e.inEdges(i.v),(function(r){var i=e.edge(r),s=e.node(r.v);o&&a.push({v:r.v,w:r.w}),s.out-=i,l(t,n,s)})),r.forEach(e.outEdges(i.v),(function(r){var i=e.edge(r),o=r.w,a=e.node(o);a.in-=i,l(t,n,a)})),e.removeNode(i.v),a}function l(e,t,n){n.out?n.in?e[n.out-n.in+t].enqueue(n):e[e.length-1].enqueue(n):e[0].enqueue(n)}},function(e,t){function n(){var e={};e._next=e._prev=e,this._sentinel=e}function r(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function i(e,t){if("_next"!==e&&"_prev"!==e)return t}e.exports=n,n.prototype.dequeue=function(){var e=this._sentinel,t=e._prev;if(t!==e)return r(t),t},n.prototype.enqueue=function(e){var t=this._sentinel;e._prev&&e._next&&r(e),e._next=t._next,t._next._prev=e,t._next=e,e._prev=t},n.prototype.toString=function(){for(var e=[],t=this._sentinel,n=t._prev;n!==t;)e.push(JSON.stringify(n,i)),n=n._prev;return"["+e.join(", ")+"]"}},function(e,t,n){"use strict";var r=n(11),i=n(20);e.exports={run:function(e){e.graph().dummyChains=[],r.forEach(e.edges(),(function(t){!function(e,t){var n,r,o,a=t.v,s=e.node(a).rank,l=t.w,c=e.node(l).rank,u=t.name,d=e.edge(t),f=d.labelRank;if(c===s+1)return;for(e.removeEdge(t),o=0,++s;sl.lim&&(c=l,u=!0);var d=r.filter(t.edges(),(function(t){return u===b(e,e.node(t.v),c)&&u!==b(e,e.node(t.w),c)}));return r.minBy(d,(function(e){return o(t,e)}))}function v(e,t,n,i){var o=n.v,a=n.w;e.removeEdge(o,a),e.setEdge(i.v,i.w,{}),p(e),d(e,t),function(e,t){var n=r.find(e.nodes(),(function(e){return!t.node(e).parent})),i=s(e,n);i=i.slice(1),r.forEach(i,(function(n){var r=e.node(n).parent,i=t.edge(n,r),o=!1;i||(i=t.edge(r,n),o=!0),t.node(n).rank=t.node(r).rank+(o?i.minlen:-i.minlen)}))}(e,t)}function b(e,t,n){return n.low<=t.lim&&t.lim<=n.lim}e.exports=u,u.initLowLimValues=p,u.initCutValues=d,u.calcCutValue=f,u.leaveEdge=g,u.enterEdge=m,u.exchangeEdges=v},function(e,t,n){var r=n(11);e.exports=function(e){var t=function(e){var t={},n=0;function i(o){var a=n;r.forEach(e.children(o),i),t[o]={low:a,lim:n++}}return r.forEach(e.children(),i),t}(e);r.forEach(e.graph().dummyChains,(function(n){for(var r=e.node(n),i=r.edgeObj,o=function(e,t,n,r){var i,o,a=[],s=[],l=Math.min(t[n].low,t[r].low),c=Math.max(t[n].lim,t[r].lim);i=n;do{i=e.parent(i),a.push(i)}while(i&&(t[i].low>l||c>t[i].lim));o=i,i=r;for(;(i=e.parent(i))!==o;)s.push(i);return{path:a.concat(s.reverse()),lca:o}}(e,t,i.v,i.w),a=o.path,s=o.lca,l=0,c=a[l],u=!0;n!==i.w;){if(r=e.node(n),u){for(;(c=a[l])!==s&&e.node(c).maxRank=2),s=u.buildLayerMatrix(e);var m=o(e,s);m0;)t%2&&(n+=l[t+1]),l[t=t-1>>1]+=e.weight;c+=e.weight*n}))),c}e.exports=function(e,t){for(var n=0,r=1;r=e.barycenter)&&function(e,t){var n=0,r=0;e.weight&&(n+=e.barycenter*e.weight,r+=e.weight);t.weight&&(n+=t.barycenter*t.weight,r+=t.weight);e.vs=t.vs.concat(e.vs),e.barycenter=n/r,e.weight=r,e.i=Math.min(t.i,e.i),t.merged=!0}(e,t)}}function i(t){return function(n){n.in.push(t),0==--n.indegree&&e.push(n)}}for(;e.length;){var o=e.pop();t.push(o),r.forEach(o.in.reverse(),n(o)),r.forEach(o.out,i(o))}return r.map(r.filter(t,(function(e){return!e.merged})),(function(e){return r.pick(e,["vs","i","barycenter","weight"])}))}(r.filter(n,(function(e){return!e.indegree})))}},function(e,t,n){var r=n(11),i=n(20);function o(e,t,n){for(var i;t.length&&(i=r.last(t)).i<=n;)t.pop(),e.push(i.vs),n++;return n}e.exports=function(e,t){var n=i.partition(e,(function(e){return r.has(e,"barycenter")})),a=n.lhs,s=r.sortBy(n.rhs,(function(e){return-e.i})),l=[],c=0,u=0,d=0;a.sort((f=!!t,function(e,t){return e.barycentert.barycenter?1:f?t.i-e.i:e.i-t.i})),d=o(l,s,d),r.forEach(a,(function(e){d+=e.vs.length,l.push(e.vs),c+=e.barycenter*e.weight,u+=e.weight,d=o(l,s,d)}));var f;var p={vs:r.flatten(l,!0)};u&&(p.barycenter=c/u,p.weight=u);return p}},function(e,t,n){var r=n(11),i=n(28).Graph;e.exports=function(e,t,n){var o=function(e){var t;for(;e.hasNode(t=r.uniqueId("_root")););return t}(e),a=new i({compound:!0}).setGraph({root:o}).setDefaultNodeLabel((function(t){return e.node(t)}));return r.forEach(e.nodes(),(function(i){var s=e.node(i),l=e.parent(i);(s.rank===t||s.minRank<=t&&t<=s.maxRank)&&(a.setNode(i),a.setParent(i,l||o),r.forEach(e[n](i),(function(t){var n=t.v===i?t.w:t.v,o=a.edge(n,i),s=r.isUndefined(o)?0:o.weight;a.setEdge(n,i,{weight:e.edge(t).weight+s})})),r.has(s,"minRank")&&a.setNode(i,{borderLeft:s.borderLeft[t],borderRight:s.borderRight[t]}))})),a}},function(e,t,n){var r=n(11);e.exports=function(e,t,n){var i,o={};r.forEach(n,(function(n){for(var r,a,s=e.parent(n);s;){if((r=e.parent(s))?(a=o[r],o[r]=s):(a=i,i=s),a&&a!==s)return void t.setEdge(a,s);s=r}}))}},function(e,t,n){"use strict";var r=n(11),i=n(20),o=n(419).positionX;e.exports=function(e){(function(e){var t=i.buildLayerMatrix(e),n=e.graph().ranksep,o=0;r.forEach(t,(function(t){var i=r.max(r.map(t,(function(t){return e.node(t).height})));r.forEach(t,(function(t){e.node(t).y=o+i/2})),o+=i+n}))})(e=i.asNonCompoundGraph(e)),r.forEach(o(e),(function(t,n){e.node(n).x=t}))}},function(e,t,n){"use strict";var r=n(11),i=n(28).Graph,o=n(20);function a(e,t){var n={};return r.reduce(t,(function(t,i){var o=0,a=0,s=t.length,c=r.last(i);return r.forEach(i,(function(t,u){var d=function(e,t){if(e.node(t).dummy)return r.find(e.predecessors(t),(function(t){return e.node(t).dummy}))}(e,t),f=d?e.node(d).order:s;(d||t===c)&&(r.forEach(i.slice(a,u+1),(function(t){r.forEach(e.predecessors(t),(function(r){var i=e.node(r),a=i.order;!(as)&&l(n,t,c)}))}))}return r.reduce(t,(function(t,n){var o,a=-1,s=0;return r.forEach(n,(function(r,l){if("border"===e.node(r).dummy){var c=e.predecessors(r);c.length&&(o=e.node(c[0]).order,i(n,s,l,a,o),s=l,a=o)}i(n,s,n.length,o,t.length)})),n})),n}function l(e,t,n){if(t>n){var r=t;t=n,n=r}var i=e[t];i||(e[t]=i={}),i[n]=!0}function c(e,t,n){if(t>n){var i=t;t=n,n=i}return r.has(e[t],n)}function u(e,t,n,i){var o={},a={},s={};return r.forEach(t,(function(e){r.forEach(e,(function(e,t){o[e]=e,a[e]=e,s[e]=t}))})),r.forEach(t,(function(e){var t=-1;r.forEach(e,(function(e){var l=i(e);if(l.length)for(var u=((l=r.sortBy(l,(function(e){return s[e]}))).length-1)/2,d=Math.floor(u),f=Math.ceil(u);d<=f;++d){var p=l[d];a[e]===e&&t\n.menu ul ul {\n margin-left: 12px;\n}\n\n\n\n')}]),e.exports=n},function(e,t,n){"use strict";const r=n(425),i=n(21);n(426),angular.module("dbt").directive("modelTreeLine",["$state",function(e){return{scope:{item:"=",depth:"<",resourceType:"@"},replace:!0,templateUrl:r,link:function(t,n,r,o){t.depth||(t.depth=0);var a=t.item.name;if(a){var s=i.last(a,15).join(""),l=i.initial(a,s.length).join("");t.name={name:a,start:l,end:s},t.name_start=l,t.name_end=s,t.onFolderClick=function(n){if(n.active=!n.active,"source"==t.resourceType){var r=n.name;e.go("dbt.source_list",{source:r})}else 0===t.depth&&"database"!==n.type&&e.go("dbt.project_overview",{project_name:n.name})},t.activate=function(n){t.$emit("clearSearch"),n.active=!0;var r="dbt."+n.node.resource_type;e.go(r,{unique_id:n.unique_id})},t.getIcon=function(e,t){return"#"+{header:{on:"icn-down",off:"icn-right"},database:{on:"icn-db-on",off:"icn-db"},schema:{on:"icn-tree-on",off:"icn-tree"},table:{on:"icn-doc-on",off:"icn-doc"},folder:{on:"icn-dir-on",off:"icn-dir"},file:{on:"icn-doc-on",off:"icn-doc"}}[e][t]},t.getClass=function(e){return{active:e.active,"menu-tree":"header"==e.type||"schema"==e.type||"folder"==e.type,"menu-main":"header"==e.type,"menu-node":"file"==e.type||"table"==e.type}}}}}}])},function(e,t){var n="/components/model_tree/model_tree_line.html";window.angular.module("ng").run(["$templateCache",function(e){e.put(n,'
  • \n\n \n \n \n \n \n \n {{name.start}}\n {{name.end}}\n \n \n\n \n \n \n \n \n \n {{name.start}}\n {{name.end}}\n \n \n\n
      \n \n
    \n
  • \n')}]),e.exports=n},function(e,t,n){var r=n(427);"string"==typeof r&&(r=[[e.i,r,""]]);var i={hmr:!0,transform:void 0,insertInto:void 0};n(40)(r,i);r.locals&&(e.exports=r.locals)},function(e,t,n){(e.exports=n(39)(!1)).push([e.i,"\n.unselectable{\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n",""])},function(e,t,n){"use strict";const r=n(9),i=n(429);n(31);n(206),r.module("dbt").directive("docsSearch",["$sce","project",function(e,t){return{scope:{query:"=",results:"=",onSelect:"&"},replace:!0,templateUrl:i,link:function(n){n.max_results=20,n.show_all=!1,n.max_results_columns=3,n.limit_columns={},n.checkboxStatus={show_names:!1,show_descriptions:!1,show_columns:!1,show_code:!1,show_tags:!1},n.limit_search=function(e,t,r){return t0&&null!=n.query&&n.query.trim().length>0){let t=e.replace(/\s+/g," "),o=r(i(n.query)[0]),a=t.search(new RegExp(o)),s=a-75<0?0:a-75,l=a+75>t.length?t.length:a+75;return"..."+t.substring(s,l)+"..."}return e},n.highlight=function(t){if(!n.query||!t)return e.trustAsHtml(t);let o="("+i(n.query).map(e=>r(e)).join(")|(")+")";return e.trustAsHtml(t.replace(new RegExp(o,"gi"),'$&'))},n.$watch("query",(function(e,t){0==e.length&&(n.show_all=!1,n.limit_columns={})})),n.columnFilter=function(e){var t=[];let r=i(n.query);for(var o in e)r.every(e=>-1!=o.toLowerCase().indexOf(e))&&t.push(o);return t},n.limitColumns=function(e){return void 0!==n.limit_columns[e]?n.limit_columns[e]:3}}}}])},function(e,t){var n="/components/search/search.html";window.angular.module("ng").run(["$templateCache",function(e){e.put(n,'
    \n \n
    \n
    \n

    \n {{ query }}\n {{ results.length }} search results\n

    \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n

    \n \n {{result.model.resource_type}}\n

    \n

    \n
    \n
    \n
    \n \n columns:\n \n \n \n Show {{ columnFilter(result.model.columns).length - max_results_columns }} more\n
    \n
    \n \n \n \n
    \n
    \n \n tags:\n \n \n \n
    \n
    \n Show {{ results.length - max_results }} more\n
    \n
    \n
    \n
    \n')}]),e.exports=n},function(e,t,n){"use strict";const r=n(431);n(432);const i=n(21);angular.module("dbt").directive("tableDetails",["$sce","$filter",function(e,t){return{scope:{model:"=",extras:"=",exclude:"<"},templateUrl:r,link:function(e){function n(e,t){if(0==e)return"0 bytes";if(e<1&&(e*=1e6),isNaN(parseFloat(e))||!isFinite(e))return"-";void 0===t&&(t=0);var n=Math.floor(Math.log(e)/Math.log(1024));return(e/Math.pow(1024,Math.floor(n))).toFixed(t)+" "+["bytes","KB","MB","GB","TB","PB"][n]}function r(e,n){return void 0===n&&(n=2),t("number")(100*e,n)+"%"}function o(e,n){return void 0===n&&(n=0),t("number")(e,n)}e.details=[],e.extended=[],e.exclude=e.exclude||[],e.meta=null,e._show_expanded=!1,e.show_expanded=function(t){return void 0!==t&&(e._show_expanded=t),e._show_expanded},e.hasData=function(e){return!(!e||i.isEmpty(e))&&(1!=e.length||0!=e[0].include)},e.$watch("model",(function(t,a){i.property(["metadata","type"])(t);var s,l,c,u=t.hasOwnProperty("sources")&&null!=t.sources[0]?t.sources[0].source_meta:null;if(e.meta=t.meta||u,e.details=function(e){var t,n,r=!e.metadata,o=e.metadata||{};t=e.database?e.database+".":"",n=r?void 0:"source"==e.resource_type?t+e.schema+"."+e.identifier:t+e.schema+"."+e.alias;var a,s=[{name:"Owner",value:o.owner},{name:"Type",value:r?void 0:(a=o.type,"BASE TABLE"==a?{type:"table",name:"table"}:"LATE BINDING VIEW"==a?{type:"view",name:"late binding view"}:{type:a.toLowerCase(),name:a.toLowerCase()}).name},{name:"Package",value:e.package_name},{name:"Language",value:e.language},{name:"Relation",value:n}];return i.filter(s,(function(e){return void 0!==e.value}))}(t),e.extended=(s=t.stats,l={rows:o,row_count:o,num_rows:o,max_varchar:o,pct_used:r,size:n,bytes:n,num_bytes:n},c=i.sortBy(i.values(s),"label"),i.map(c,(function(e){var t=i.clone(e),n=l[e.id];return n&&(t.value=n(e.value),t.label=e.label.replace("Approximate","~"),t.label=e.label.replace("Utilization","Used")),t}))),e.extras){var d=i.filter(e.extras,(function(e){return void 0!==e.value&&null!==e.value}));e.details=e.details.concat(d)}e.show_extended=i.where(e.extended,{include:!0}).length>0})),e.queryTag=function(t){e.$emit("query",t)}}}}])},function(e,t){var n="/components/table_details/table_details.html";window.angular.module("ng").run(["$templateCache",function(e){e.put(n,'
    \n
    Details
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    {{ k }}
    \n
    {{ v }}
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    Tags
    \n
    \n {{ tag }} \n
    \n
    untagged
    \n
    \n
    \n
    {{ item.name }}
    \n
    {{ item.value }}
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    {{ item.label }}
    \n
    {{ item.value }}
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n')}]),e.exports=n},function(e,t,n){var r=n(433);"string"==typeof r&&(r=[[e.i,r,""]]);var i={hmr:!0,transform:void 0,insertInto:void 0};n(40)(r,i);r.locals&&(e.exports=r.locals)},function(e,t,n){(e.exports=n(39)(!1)).push([e.i,"\n\n.details-content {\n table-layout: fixed;\n}\n\n.detail-body {\n white-space: nowrap;\n overflow-x: scroll;\n}\n",""])},function(e,t,n){"use strict";const r=n(435),i=n(21);angular.module("dbt").directive("columnDetails",["project",function(e){return{scope:{model:"="},templateUrl:r,link:function(t){t.has_test=function(e,t){return-1!=i.pluck(e.tests,"short").indexOf(t)},t.has_more_info=function(e){var t=e.tests||[],n=e.description||"",r=e.meta||{};return t.length||n.length||!i.isEmpty(r)},t.toggle_column_expanded=function(e){t.has_more_info(e)&&(e.expanded=!e.expanded)},t.getState=function(e){return"dbt."+e.resource_type},t.get_col_name=function(t){return e.caseColumn(t)},t.get_columns=function(e){var t=i.chain(e.columns).values().sortBy("index").value();return i.each(t,(function(e,t){e.index=t})),t}}}}])},function(e,t){var n="/components/column_details/column_details.html";window.angular.module("ng").run(["$templateCache",function(e){e.put(n,'
    \n
    \n
    \n Column information is not available for this seed\n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    ColumnTypeDescriptionTestsMore?
    \n
    \n {{ get_col_name(column.name) }}\n
    \n
    \n {{ column.type }}

    \n
    \n {{ column.description }}\n \n \n U\n N\n F\n A\n +\n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    Details
    \n
    \n
    \n
    \n
    {{ k }}
    \n
    {{ v }}
    \n
    \n
    \n
    \n
    \n\n
    \n
    Description
    \n \n
    \n\n
    \n
    Generic Tests
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n')}]),e.exports=n},function(e,t,n){"use strict";const r=n(437);n(31),n(438);function i(e){return"python"===e?"language-python":"language-sql"}angular.module("dbt").directive("codeBlock",["code","$timeout",function(e,t){return{scope:{versions:"=",default:"<",language:"="},restrict:"E",templateUrl:r,link:function(n,r){n.selected_version=n.default,n.language_class=i(n.language),n.source=null,n.setSelected=function(r){n.selected_version=r,n.source=n.versions[r]||"";const i=n.source.trim();n.highlighted=e.highlight(i,n.language),t((function(){Prism.highlightAll()}))},n.titleCase=function(e){return e.charAt(0).toUpperCase()+e.substring(1)},n.copied=!1,n.copy_to_clipboard=function(){e.copy_to_clipboard(n.source),n.copied=!0,setTimeout((function(){n.$apply((function(){n.copied=!1}))}),1e3)},n.$watch("language",(function(e,t){e&&e!=t&&(n.language_class=i(e))}),!0),n.$watch("versions",(function(e,t){if(e)if(n.default)n.setSelected(n.default);else{var r=Object.keys(n.versions);r.length>0&&n.setSelected(r[0])}}),!0)}}}])},function(e,t){var n="/components/code_block/code_block.html";window.angular.module("ng").run(["$templateCache",function(e){e.put(n,'
    Code
    \n\n')}]),e.exports=n},function(e,t,n){var r=n(439);"string"==typeof r&&(r=[[e.i,r,""]]);var i={hmr:!0,transform:void 0,insertInto:void 0};n(40)(r,i);r.locals&&(e.exports=r.locals)},function(e,t,n){(e.exports=n(39)(!1)).push([e.i,"pre.code {\n border: none !important;\n overflow-y: visible !important;\n overflow-x: scroll !important;\n padding-bottom: 10px;\n}\n\npre.code code {\n font-family: Monaco, monospace !important;\n font-weight: 400 !important;\n}\n\n.line-numbers-rows {\n border: none !important;\n}\n",""])},function(e,t,n){"use strict";const r=n(441);angular.module("dbt").directive("macroArguments",[function(){return{scope:{macro:"="},templateUrl:r,link:function(e){_.each(e.macro.arguments,(function(e){e.expanded=!1}))}}}])},function(e,t){var n="/components/macro_arguments/index.html";window.angular.module("ng").run(["$templateCache",function(e){e.put(n,'\n\n
    \n
    \n
    \n Details are not available for this macro\n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    ArgumentTypeDescriptionMore?
    \n
    \n {{ arg.name }}\n
    \n
    \n {{ arg.type }}

    \n
    \n {{ arg.description }}\n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    Description
    \n \n
    \n
    \n
    \n
    \n
    \n\n')}]),e.exports=n},function(e,t,n){"use strict";const r=n(443);angular.module("dbt").directive("referenceList",["$state",function(e){return{scope:{references:"=",node:"="},restrict:"E",templateUrl:r,link:function(t){t.selected_type=null,t.setType=function(e){t.selected_type=e,t.nodes=t.references[t.selected_type]},t.getNodeUrl=function(t){var n="dbt."+t.resource_type;return e.href(n,{unique_id:t.unique_id,"#":null})},t.mapResourceType=function(e){return"model"==e?"Models":"seed"==e?"Seeds":"test"==e?"Tests":"snapshot"==e?"Snapshots":"analysis"==e?"Analyses":"macro"==e?"Macros":"exposure"==e?"Exposures":"metric"==e?"Metrics":"operation"==e?"Operations":"Nodes"},t.$watch("references",(function(e){e&&_.size(e)>0?(t.selected_type=_.keys(e)[0],t.has_references=!0,t.nodes=t.references[t.selected_type]):t.has_references=!1}))}}}])},function(e,t){var n="/components/references/index.html";window.angular.module("ng").run(["$templateCache",function(e){e.put(n,'
    \n
    \n No resources reference this {{ node.resource_type }}\n
    \n
    \n \n
    \n \n
    \n
    \n
    \n')}]),e.exports=n},function(e,t,n){n(445),n(447),n(448),n(449),n(450),n(451),n(452),n(453),n(454),n(455)},function(e,t,n){"use strict";const r=n(9),i=n(33);n(34),r.module("dbt").controller("ModelCtrl",["$scope","$state","project","code","$anchorScroll","$location",function(e,t,n,r,o,a){e.model_uid=t.params.unique_id,e.tab=t.params.tab,e.project=n,e.codeService=r,e.versions={},e.copied=!1,e.copy_to_clipboard=function(t){r.copy_to_clipboard(t),e.copied=!0,setTimeout((function(){e.$apply((function(){e.copied=!1}))}),1e3)},e.model={},n.ready((function(t){let n=t.nodes[e.model_uid];e.model=n,e.references=i.getReferences(t,n),e.referencesLength=Object.keys(e.references).length,e.parents=i.getParents(t,n),e.parentsLength=Object.keys(e.parents).length,e.language=n.language;e.versions={Source:e.model.raw_code,Compiled:e.model.compiled_code||"\n-- compiled code not found for this model\n"},setTimeout((function(){o()}),0)}))}])},function(e,t,n){(e.exports=n(39)(!1)).push([e.i,"\n.nav-tabs li.nav-pull-right {\n flex: 1 0 auto;\n text-align: right;\n}\n\ntr.column-row-selected {\n\n}\n\ntd.column-expanded{\n padding: 0px !important;\n}\n\ntd.column-expanded > div {\n padding: 5px 10px;\n margin-left: 20px;\n height: 100%;\n\n border-left: 1px solid #ccc !important;\n}\n",""])},function(e,t,n){"use strict";const r=n(9),i=n(33);n(34),r.module("dbt").controller("SourceCtrl",["$scope","$state","project","code","$anchorScroll","$location",function(e,t,n,r,o,a){e.model_uid=t.params.unique_id,e.project=n,e.codeService=r,e.extra_table_fields=[],e.versions={},e.model={},n.ready((function(t){let n=t.nodes[e.model_uid];e.model=n,e.references=i.getReferences(t,n),e.referencesLength=Object.keys(e.references).length,e.parents=i.getParents(t,n),e.parentsLength=Object.keys(e.parents).length,e.versions={"Sample SQL":r.generateSourceSQL(e.model)},e.extra_table_fields=[{name:"Loader",value:e.model.loader},{name:"Source",value:e.model.source_name}]}))}])},function(e,t,n){"use strict";const r=n(9),i=n(33);n(34),r.module("dbt").controller("SeedCtrl",["$scope","$state","project","code","$transitions","$anchorScroll","$location",function(e,t,n,r,o,a,s){e.model_uid=t.params.unique_id,e.tab=t.params.tab,e.project=n,e.codeService=r,e.versions={},e.model={},n.ready((function(t){let n=t.nodes[e.model_uid];e.model=n,e.references=i.getReferences(t,n),e.referencesLength=Object.keys(e.references).length,e.parents=i.getParents(t,n),e.parentsLength=Object.keys(e.parents).length,e.versions={"Example SQL":r.generateSourceSQL(e.model)}}))}])},function(e,t,n){"use strict";const r=n(9),i=n(33);n(34),r.module("dbt").controller("SnapshotCtrl",["$scope","$state","project","code","$anchorScroll","$location",function(e,t,n,r,o,a){e.model_uid=t.params.unique_id,e.tab=t.params.tab,e.project=n,e.codeService=r,e.versions={},e.model={},n.ready((function(t){let n=t.nodes[e.model_uid];e.model=n,e.references=i.getReferences(t,n),e.referencesLength=Object.keys(e.references).length,e.parents=i.getParents(t,n),e.parentsLength=Object.keys(e.parents).length,e.language=n.language;e.versions={Source:e.model.raw_code,Compiled:e.model.compiled_code||"Compiled SQL is not available for this snapshot"},setTimeout((function(){o()}),0)}))}])},function(e,t,n){"use strict";const r=n(9),i=n(33);n(34),r.module("dbt").controller("TestCtrl",["$scope","$state","project","code","$anchorScroll","$location",function(e,t,n,r,o,a){e.model_uid=t.params.unique_id,e.tab=t.params.tab,e.project=n,e.codeService=r,e.versions={},e.model={},n.ready((function(t){let n=t.nodes[e.model_uid];e.model=n,e.references=i.getReferences(t,n),e.referencesLength=Object.keys(e.references).length,e.parents=i.getParents(t,n),e.parentsLength=Object.keys(e.parents).length,e.language=n.language;e.versions={Source:e.model.raw_code,Compiled:e.model.compiled_code||"\n-- compiled code not found for this model\n"},setTimeout((function(){o()}),0)}))}])},function(e,t,n){"use strict";const r=n(9),i=n(21),o=n(33);n(34),r.module("dbt").controller("MacroCtrl",["$scope","$state","project","code","$transitions","$anchorScroll","$location",function(e,t,n,r,a,s,l){e.model_uid=t.params.unique_id,e.tab=t.params.tab,e.project=n,e.codeService=r,e.macro={},n.ready((function(t){let n=t.macros[e.model_uid];if(e.macro=n,e.references=o.getMacroReferences(t,n),e.referencesLength=Object.keys(e.references).length,e.parents=o.getMacroParents(t,n),e.parentsLength=Object.keys(e.parents).length,e.macro.is_adapter_macro){var r=t.metadata.adapter_type;e.versions=n.impls,n.impls[r]?e.default_version=r:n.impls.default?e.default_version="default":e.default_version=i.keys(n.impls)[0]}else e.default_version="Source",e.versions={Source:e.macro.macro_sql}}))}])},function(e,t,n){"use strict";const r=n(9),i=n(33);n(34),r.module("dbt").controller("AnalysisCtrl",["$scope","$state","project","code","$transitions","$anchorScroll","$location",function(e,t,n,r,o,a,s){e.model_uid=t.params.unique_id,e.project=n,e.codeService=r,e.default_version="Source",e.versions={Source:"",Compiled:""},e.model={},n.ready((function(t){let n=t.nodes[e.model_uid];e.model=n,e.references=i.getReferences(t,n),e.referencesLength=Object.keys(e.references).length,e.parents=i.getParents(t,n),e.parentsLength=Object.keys(e.parents).length,e.language=n.language,e.versions={Source:e.model.raw_code,Compiled:e.model.compiled_code}}))}])},function(e,t,n){"use strict";const r=n(9),i=n(33);n(34),r.module("dbt").controller("ExposureCtrl",["$scope","$state","project","code","$anchorScroll","$location",function(e,t,n,r,o,a){e.model_uid=t.params.unique_id,e.project=n,e.codeService=r,e.extra_table_fields=[],e.versions={},e.exposure={},n.ready((function(t){let n=t.nodes[e.model_uid];e.exposure=n,e.parents=i.getParents(t,n),e.parentsLength=e.parents.length,e.language=n.language,e.extra_table_fields=[{name:"Maturity",value:e.exposure.maturity},{name:"Owner",value:e.exposure.owner.name},{name:"Owner email",value:e.exposure.owner.email},{name:"Exposure name",value:e.exposure.name}]}))}])},function(e,t,n){"use strict";const r=n(9),i=n(33);n(34),r.module("dbt").controller("MetricCtrl",["$scope","$state","project","code","$anchorScroll","$location",function(e,t,n,r,o,a){e.model_uid=t.params.unique_id,e.project=n,e.codeService=r,e.extra_table_fields=[],e.versions={},e.metric={},n.ready((function(t){let n=t.nodes[e.model_uid];e.metric=n,e.parents=i.getParents(t,n),e.parentsLength=e.parents.length,e.versions={Definition:r.generateMetricSQL(e.metric)};const o="expression"===e.metric.type?"Expression metric":"Aggregate metric";e.extra_table_fields=[{name:"Metric Type",value:o},{name:"Metric name",value:e.metric.name}]}))}])},function(e,t,n){"use strict";const r=n(9),i=n(33);n(34),r.module("dbt").controller("OperationCtrl",["$scope","$state","project","code","$anchorScroll","$location",function(e,t,n,r,o,a){e.model_uid=t.params.unique_id,e.tab=t.params.tab,e.project=n,e.codeService=r,e.versions={},e.model={},n.ready((function(t){let n=t.nodes[e.model_uid];e.model=n,e.references=i.getReferences(t,n),e.referencesLength=Object.keys(e.references).length,e.parents=i.getParents(t,n),e.parentsLength=Object.keys(e.parents).length,e.language=n.language;e.versions={Source:e.model.raw_code,Compiled:e.model.compiled_code||"\n-- compiled code not found for this model\n"},setTimeout((function(){o()}),0)}))}])},function(e,t,n){"use strict";n(9).module("dbt").controller("GraphCtrl",["$scope","$state","$window","graph","project","selectorService",function(e,t,n,r,i,o){function a(e){return e&&"source"==e.resource_type?"source:"+e.source_name+"."+e.name:e&&"exposure"==e.resource_type?"exposure:"+e.name:e&&"metric"==e.resource_type?"metric:"+e.name:e.name?e.name:"*"}e.graph=r.graph,e.graphService=r,e.graphRendered=function(e){r.setGraphReady(e)},e.$watch((function(){return t.params.unique_id}),(function(e,t){e&&e!=t&&i.find_by_id(e,(function(e){e&&("sidebar"==r.orientation?r.showVerticalGraph(a(e),!1):r.showFullGraph(a(e)))})),e||o.clearViewNode()}))}])},function(e,t,n){"use strict";const r=n(9),i=n(21),o=n(31),a=n(458);n(459),n(206),n(467),n(469),n(472),n(476),r.module("dbt").controller("MainController",["$scope","$route","$state","project","graph","selectorService","trackingService","locationService","$transitions",function(e,t,n,r,s,l,c,u,d){function f(t){e.model_uid=t;var n=r.node(t);n&&l.resetSelection(n)}function p(e){e&&setTimeout((function(){var t=o("*[data-nav-unique-id='"+e+"']");t.length&&t[0].scrollIntoView&&t[0].scrollIntoView({behavior:"smooth",block:"center",inline:"center"})}),1)}e.tree={database:{},project:{},sources:{}},e.search={query:"",results:[],is_focused:!1},e.logo=a,e.model_uid=null,e.project={},o("body").bind("keydown",(function(e){"t"==event.key&&"INPUT"!=event.target.tagName&&(console.log("Opening search"),o("#search").focus(),event.preventDefault())})),e.onSearchFocus=function(t,n){e.search.is_focused=n},e.clearSearch=function(){e.search.is_focused=!1,e.search.query="",e.search.results=[],o("#search").blur()},e.$on("clearSearch",(function(){e.clearSearch()})),e.$on("query",(function(t,n){e.search.is_focused=!0,e.search.query=n})),e.onSearchKeypress=function(t){"Escape"==t.key&&(e.clearSearch(),t.preventDefault())},r.getModelTree(n.params.unique_id,(function(t){e.tree.database=t.database,e.tree.project=t.project,e.tree.sources=t.sources,e.tree.exposures=t.exposures,e.tree.metrics=t.metrics,setTimeout((function(){p(e.model_uid)}))})),d.onSuccess({},(function(t,n){var i=t.router.globals.params,o=l.getViewNode(),a=o?o.unique_id:null,s=i.unique_id,u=!0;if(t.from().name==t.to().name&&a==s&&(u=!1),u&&i.unique_id){var d=r.updateSelected(i.unique_id);e.tree.database=d.database,e.tree.project=d.project,e.tree.sources=d.sources,e.search.query="",console.log("updating selected model to: ",i),f(i.unique_id),setTimeout((function(){p(i.unique_id)}))}u&&c.track_pageview()})),e.$watch("search.query",(function(t){e.search.results=function(t){if(""===e.search.query)return t;let n={name:10,tags:5,description:3,raw_code:2,columns:1};return i.each(t,(function(t){t.overallWeight=0,i.each(Object.keys(n),(function(r){if(null!=t.model[r]){let o=0,a=t.model[r],s=e.search.query.toLowerCase();if("columns"===r)i.each(a,(function(e){if(e.name){let t=e.name.toLowerCase(),n=0;for(;-1!=n;)n=t.indexOf(s,n),-1!=n&&(o++,n++)}}));else if("tags"===r)i.each(a,(function(e){let t=e.toLowerCase(),n=0;for(;-1!=n;)n=t.indexOf(s,n),-1!=n&&(o++,n++)}));else{a=a.toLowerCase();let e=0;for(;-1!=e;)e=a.indexOf(s,e),-1!=e&&(o++,e++)}t.overallWeight+=o*n[r]}}))})),t}(r.search(t))})),r.init(),r.ready((function(t){e.project=t,e.search.results=r.search("");var o=i.unique(i.pluck(i.values(t.nodes),"package_name")).sort(),a=[null];i.each(t.nodes,(function(e){var t=e.tags;a=i.union(a,t).sort()})),l.init({packages:o,tags:a}),f(n.params.unique_id);var d=u.parseState(n.params);d.show_graph&&s.ready((function(){i.assign(l.selection.dirty,d.selected);var e=l.updateSelection();s.updateGraph(e)}));var p=t.metadata||{};c.init({track:p.send_anonymous_usage_stats,project_id:p.project_id})}))}])},function(e,t){e.exports="data:image/svg+xml,%3Csvg width='242' height='90' viewBox='0 0 242 90' fill='none' xmlns='http://www.w3.org/2000/svg'%3E %3Cpath d='M240.384 74.5122L239.905 75.8589H239.728L239.249 74.5156V75.8589H238.941V74.0234H239.324L239.816 75.3872L240.309 74.0234H240.691V75.8589H240.384V74.5122ZM238.671 74.3003H238.169V75.8589H237.858V74.3003H237.352V74.0234H238.671V74.3003Z' fill='%23262A38'/%3E %3Cpath d='M154.123 13.915V75.3527H141.672V69.0868C140.37 71.2839 138.499 73.0742 136.22 74.2134C133.779 75.434 131.012 76.085 128.246 76.085C124.828 76.1664 121.41 75.1899 118.562 73.2369C115.633 71.2839 113.354 68.5986 111.889 65.425C110.262 61.7631 109.448 57.8572 109.529 53.8698C109.448 49.8825 110.262 45.9765 111.889 42.3961C113.354 39.3038 115.633 36.6185 118.481 34.7469C121.41 32.8753 124.828 31.9801 128.246 32.0615C130.931 32.0615 133.616 32.6311 135.976 33.8517C138.255 34.991 140.126 36.6999 141.428 38.8156V18.0651L154.123 13.915ZM139.15 63.2279C140.777 61.1121 141.672 58.0199 141.672 54.0326C141.672 50.0452 140.859 47.0344 139.15 44.9187C137.441 42.8029 134.755 41.5823 131.989 41.6637C129.222 41.5009 126.537 42.7215 124.746 44.8373C123.038 46.953 122.142 49.9639 122.142 53.8698C122.142 57.8572 123.038 60.9494 124.746 63.1465C126.455 65.3436 129.222 66.5642 131.989 66.4828C135.081 66.4828 137.522 65.3436 139.15 63.2279Z' fill='%23262A38'/%3E %3Cpath d='M198.635 34.6655C201.564 36.5371 203.843 39.2225 205.226 42.3147C206.853 45.8952 207.667 49.8011 207.586 53.7885C207.667 57.7758 206.853 61.7632 205.226 65.3436C203.761 68.5172 201.483 71.2026 198.553 73.1556C195.705 75.0272 192.287 76.0037 188.87 75.9223C186.103 76.0037 183.336 75.3527 180.895 74.0507C178.617 72.9114 176.745 71.1212 175.524 68.9241V75.2713H162.993V18.0651L175.606 13.915V38.9783C176.826 36.7812 178.698 34.991 180.976 33.8517C183.418 32.5498 186.103 31.8988 188.87 31.9801C192.287 31.8988 195.705 32.8753 198.635 34.6655ZM192.45 63.1465C194.159 60.9494 194.973 57.8572 194.973 53.7885C194.973 49.8825 194.159 46.8716 192.45 44.7559C190.741 42.6402 188.381 41.5823 185.289 41.5823C182.523 41.4196 179.837 42.6402 178.047 44.8373C176.338 47.0344 175.524 50.0452 175.524 53.9512C175.524 57.9386 176.338 61.0308 178.047 63.1465C179.756 65.3436 182.441 66.5642 185.289 66.4015C188.056 66.5642 190.741 65.3436 192.45 63.1465Z' fill='%23262A38'/%3E %3Cpath d='M225 42.4774V58.915C225 61.2749 225.651 62.9838 226.791 64.0416C228.093 65.1809 229.801 65.7505 231.592 65.6691C232.975 65.6691 234.44 65.425 235.742 65.0995V74.8644C233.382 75.6782 230.941 76.085 228.499 76.0037C223.292 76.0037 219.304 74.5389 216.537 71.6094C213.771 68.68 212.387 64.5299 212.387 59.1592V23.1103L225 19.0416V33.038H235.742V42.4774H225Z' fill='%23262A38'/%3E %3Cpath d='M86.1754 3.74322C88.2911 5.77758 89.6745 8.46293 90 11.3924C90 12.613 89.6745 13.4268 88.9421 14.9729C88.2098 16.519 79.1772 32.1429 76.4919 36.4557C74.9458 38.9783 74.132 41.9892 74.132 44.9186C74.132 47.9295 74.9458 50.859 76.4919 53.3816C79.1772 57.6944 88.2098 73.3996 88.9421 74.9457C89.6745 76.4919 90 77.2242 90 78.4448C89.6745 81.3743 88.3725 84.0597 86.2568 86.0127C84.2224 88.1284 81.5371 89.5118 78.689 89.7559C77.4684 89.7559 76.6546 89.4304 75.1899 88.698C73.7251 87.9656 57.7758 79.1772 53.4629 76.4919C53.1374 76.3291 52.8119 76.085 52.4051 75.9222L31.085 63.3092C31.5732 67.3779 33.3635 71.2839 36.2929 74.132C36.8626 74.7016 37.4322 75.1899 38.0832 75.6781C37.5949 75.9222 37.0253 76.1664 36.5371 76.4919C32.2242 79.1772 16.519 88.2098 14.9729 88.9421C13.4268 89.6745 12.6944 90 11.3924 90C8.46293 89.6745 5.77758 88.3725 3.82459 86.2568C1.70886 84.2224 0.325497 81.5371 0 78.6076C0.0813743 77.387 0.406872 76.1664 1.05787 75.1085C1.79024 73.5624 10.8228 57.8571 13.5081 53.5443C15.0542 51.0217 15.868 48.0922 15.868 45.0814C15.868 42.0705 15.0542 39.141 13.5081 36.6184C10.8228 32.1429 1.70886 16.4376 1.05787 14.8915C0.406872 13.8336 0.0813743 12.613 0 11.3924C0.325497 8.46293 1.62749 5.77758 3.74322 3.74322C5.77758 1.62749 8.46293 0.325497 11.3924 0C12.613 0.0813743 13.8336 0.406872 14.9729 1.05787C16.2749 1.62749 27.7486 8.30018 33.8517 11.8807L35.2351 12.6944C35.7233 13.0199 36.1302 13.264 36.4557 13.4268L37.1067 13.8336L58.8336 26.6908C58.3454 21.8083 55.8228 17.3327 51.9168 14.3219C52.4051 14.0778 52.9747 13.8336 53.4629 13.5081C57.7758 10.8228 73.481 1.70886 75.0271 1.05787C76.085 0.406872 77.3056 0.0813743 78.6076 0C81.4557 0.325497 84.1411 1.62749 86.1754 3.74322ZM46.1392 50.7776L50.7776 46.1392C51.4286 45.4882 51.4286 44.5118 50.7776 43.8608L46.1392 39.2224C45.4882 38.5714 44.5118 38.5714 43.8608 39.2224L39.2224 43.8608C38.5714 44.5118 38.5714 45.4882 39.2224 46.1392L43.8608 50.7776C44.4304 51.3472 45.4882 51.3472 46.1392 50.7776Z' fill='%23FF694A'/%3E %3C/svg%3E"},function(e,t,n){"use strict";n.r(t);var r=n(63),i=n.n(r);n(460),n(461),n(462),n(463),n(465);const o=n(9),a=(n(31),n(21));window.Prism=i.a,o.module("dbt").factory("code",["$sce",function(e){var t={copied:!1,highlight:function(t,n="sql"){if("sql"==n)var r=i.a.highlight(t,i.a.languages.sql,"sql");else if("python"==n)r=i.a.highlight(t,i.a.languages.python,"python");return e.trustAsHtml(r)},copy_to_clipboard:function(e){var t=document.createElement("textarea");t.value=e,t.setAttribute("readonly",""),t.style.position="absolute",t.style.left="-9999px",document.body.appendChild(t),t.select(),document.execCommand("copy"),document.body.removeChild(t)},generateSourceSQL:function(e){var t=["select"],n=a.size(e.columns),r=a.keys(e.columns);a.each(r,(function(e,r){var i=" "+e;r+1!=n&&(i+=","),t.push(i)}));const i=(e.database?e.database+".":"")+e.schema+"."+e.identifier;return t.push("from "+i),t.join("\n")},generateMetricSQL:function(e){if("expression"==e.type)return e.sql;const t=[`select ${e.type}(${e.sql})`,`from {{ ${e.model} }}`];if(e.filters.length>0){const n=e.filters.map(e=>`${e.field} ${e.operator} ${e.value}`).join(" AND ");t.push("where "+n)}return t.join("\n")}};return t}])},function(e,t){Prism.languages.sql={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/|#).*)/,lookbehind:!0},variable:[{pattern:/@(["'`])(?:\\[\s\S]|(?!\1)[^\\])+\1/,greedy:!0},/@[\w.$]+/],string:{pattern:/(^|[^@\\])("|')(?:\\[\s\S]|(?!\2)[^\\]|\2\2)*\2/,greedy:!0,lookbehind:!0},identifier:{pattern:/(^|[^@\\])`(?:\\[\s\S]|[^`\\]|``)*`/,greedy:!0,lookbehind:!0,inside:{punctuation:/^`|`$/}},function:/\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\s*\()/i,keyword:/\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:COL|_INSERT)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:ING|S)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\b/i,boolean:/\b(?:FALSE|NULL|TRUE)\b/i,number:/\b0x[\da-f]+\b|\b\d+(?:\.\d*)?|\B\.\d+\b/i,operator:/[-+*\/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i,punctuation:/[;[\]()`,.]/}},function(e,t){Prism.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0,greedy:!0},"string-interpolation":{pattern:/(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=\}$)/,lookbehind:!0},"conversion-option":{pattern:/![sra](?=[:}]$)/,alias:"punctuation"},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|br|rb)?("""|''')[\s\S]*?\1/i,greedy:!0,alias:"string"},string:{pattern:/(?:[rub]|br|rb)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^[\t ]*)@\w+(?:\.\w+)*/m,lookbehind:!0,alias:["annotation","punctuation"],inside:{punctuation:/\./}},keyword:/\b(?:_(?=\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:False|None|True)\b/,number:/\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?(?!\w)/i,operator:/[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},Prism.languages.python["string-interpolation"].inside.interpolation.inside.rest=Prism.languages.python,Prism.languages.py=Prism.languages.python},function(e,t){!function(){if("undefined"!=typeof Prism&&"undefined"!=typeof document){var e=/\n(?!$)/g,t=Prism.plugins.lineNumbers={getLine:function(e,t){if("PRE"===e.tagName&&e.classList.contains("line-numbers")){var n=e.querySelector(".line-numbers-rows");if(n){var r=parseInt(e.getAttribute("data-start"),10)||1,i=r+(n.children.length-1);ti&&(t=i);var o=t-r;return n.children[o]}}},resize:function(e){r([e])},assumeViewportIndependence:!0},n=void 0;window.addEventListener("resize",(function(){t.assumeViewportIndependence&&n===window.innerWidth||(n=window.innerWidth,r(Array.prototype.slice.call(document.querySelectorAll("pre.line-numbers"))))})),Prism.hooks.add("complete",(function(t){if(t.code){var n=t.element,i=n.parentNode;if(i&&/pre/i.test(i.nodeName)&&!n.querySelector(".line-numbers-rows")&&Prism.util.isActive(n,"line-numbers")){n.classList.remove("line-numbers"),i.classList.add("line-numbers");var o,a=t.code.match(e),s=a?a.length+1:1,l=new Array(s+1).join("");(o=document.createElement("span")).setAttribute("aria-hidden","true"),o.className="line-numbers-rows",o.innerHTML=l,i.hasAttribute("data-start")&&(i.style.counterReset="linenumber "+(parseInt(i.getAttribute("data-start"),10)-1)),t.element.appendChild(o),r([i]),Prism.hooks.run("line-numbers",t)}}})),Prism.hooks.add("line-numbers",(function(e){e.plugins=e.plugins||{},e.plugins.lineNumbers=!0}))}function r(t){if(0!=(t=t.filter((function(e){var t=function(e){if(!e)return null;return window.getComputedStyle?getComputedStyle(e):e.currentStyle||null}(e)["white-space"];return"pre-wrap"===t||"pre-line"===t}))).length){var n=t.map((function(t){var n=t.querySelector("code"),r=t.querySelector(".line-numbers-rows");if(n&&r){var i=t.querySelector(".line-numbers-sizer"),o=n.textContent.split(e);i||((i=document.createElement("span")).className="line-numbers-sizer",n.appendChild(i)),i.innerHTML="0",i.style.display="block";var a=i.getBoundingClientRect().height;return i.innerHTML="",{element:t,lines:o,lineHeights:[],oneLinerHeight:a,sizer:i}}})).filter(Boolean);n.forEach((function(e){var t=e.sizer,n=e.lines,r=e.lineHeights,i=e.oneLinerHeight;r[n.length-1]=void 0,n.forEach((function(e,n){if(e&&e.length>1){var o=t.appendChild(document.createElement("span"));o.style.display="block",o.textContent=e}else r[n]=i}))})),n.forEach((function(e){for(var t=e.sizer,n=e.lineHeights,r=0,i=0;i code {\n\tposition: relative;\n\twhite-space: inherit;\n}\n\n.line-numbers .line-numbers-rows {\n\tposition: absolute;\n\tpointer-events: none;\n\ttop: 0;\n\tfont-size: 100%;\n\tleft: -3.8em;\n\twidth: 3em; /* works for line-numbers below 1000 lines */\n\tletter-spacing: -1px;\n\tborder-right: 1px solid #999;\n\n\t-webkit-user-select: none;\n\t-moz-user-select: none;\n\t-ms-user-select: none;\n\tuser-select: none;\n\n}\n\n\t.line-numbers-rows > span {\n\t\tdisplay: block;\n\t\tcounter-increment: linenumber;\n\t}\n\n\t\t.line-numbers-rows > span:before {\n\t\t\tcontent: counter(linenumber);\n\t\t\tcolor: #999;\n\t\t\tdisplay: block;\n\t\t\tpadding-right: 0.8em;\n\t\t\ttext-align: right;\n\t\t}\n',""])},function(e,t,n){var r=n(466);"string"==typeof r&&(r=[[e.i,r,""]]);var i={hmr:!0,transform:void 0,insertInto:void 0};n(40)(r,i);r.locals&&(e.exports=r.locals)},function(e,t,n){(e.exports=n(39)(!1)).push([e.i,'/**\n * GHColors theme by Avi Aryan (http://aviaryan.in)\n * Inspired by Github syntax coloring\n */\n\ncode[class*="language-"],\npre[class*="language-"] {\n\tcolor: #393A34;\n\tfont-family: "Consolas", "Bitstream Vera Sans Mono", "Courier New", Courier, monospace;\n\tdirection: ltr;\n\ttext-align: left;\n\twhite-space: pre;\n\tword-spacing: normal;\n\tword-break: normal;\n\tfont-size: .9em;\n\tline-height: 1.2em;\n\n\t-moz-tab-size: 4;\n\t-o-tab-size: 4;\n\ttab-size: 4;\n\n\t-webkit-hyphens: none;\n\t-moz-hyphens: none;\n\t-ms-hyphens: none;\n\thyphens: none;\n}\n\npre > code[class*="language-"] {\n\tfont-size: 1em;\n}\n\npre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection,\ncode[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection {\n\tbackground: #b3d4fc;\n}\n\npre[class*="language-"]::selection, pre[class*="language-"] ::selection,\ncode[class*="language-"]::selection, code[class*="language-"] ::selection {\n\tbackground: #b3d4fc;\n}\n\n/* Code blocks */\npre[class*="language-"] {\n\tpadding: 1em;\n\tmargin: .5em 0;\n\toverflow: auto;\n\tborder: 1px solid #dddddd;\n\tbackground-color: white;\n}\n\n/* Inline code */\n:not(pre) > code[class*="language-"] {\n\tpadding: .2em;\n\tpadding-top: 1px;\n\tpadding-bottom: 1px;\n\tbackground: #f8f8f8;\n\tborder: 1px solid #dddddd;\n}\n\n.token.comment,\n.token.prolog,\n.token.doctype,\n.token.cdata {\n\tcolor: #999988;\n\tfont-style: italic;\n}\n\n.token.namespace {\n\topacity: .7;\n}\n\n.token.string,\n.token.attr-value {\n\tcolor: #e3116c;\n}\n\n.token.punctuation,\n.token.operator {\n\tcolor: #393A34; /* no highlight */\n}\n\n.token.entity,\n.token.url,\n.token.symbol,\n.token.number,\n.token.boolean,\n.token.variable,\n.token.constant,\n.token.property,\n.token.regex,\n.token.inserted {\n\tcolor: #36acaa;\n}\n\n.token.atrule,\n.token.keyword,\n.token.attr-name,\n.language-autohotkey .token.selector {\n\tcolor: #00a4db;\n}\n\n.token.function,\n.token.deleted,\n.language-autohotkey .token.tag {\n\tcolor: #9a050f;\n}\n\n.token.tag,\n.token.selector,\n.language-autohotkey .token.keyword {\n\tcolor: #00009f;\n}\n\n.token.important,\n.token.function,\n.token.bold {\n\tfont-weight: bold;\n}\n\n.token.italic {\n\tfont-style: italic;\n}\n',""])},function(e,t,n){n(31);const r=n(21),i=n(148),o=n(203),a=n(468);angular.module("dbt").factory("graph",["$state","$window","$q","selectorService","project","locationService",function(e,t,n,s,l,c){var u={vertical:{userPanningEnabled:!1,boxSelectionEnabled:!1,maxZoom:1.5},horizontal:{userPanningEnabled:!0,boxSelectionEnabled:!1,maxZoom:1,minZoom:.05}},d={none:{name:"null"},left_right:{name:"dagre",rankDir:"LR",rankSep:200,edgeSep:30,nodeSep:50},top_down:{name:"preset",positions:function(t){var n=e.params.unique_id;if(!n)return{x:0,y:0};var a=f.graph.pristine.dag,s=r.sortBy(o.ancestorNodes(a,n,1)),l=r.sortBy(o.descendentNodes(a,n,1)),c=r.partial(r.includes,s),u=r.partial(r.includes,l),d=a.filterNodes(c),p=a.filterNodes(u);return function(e,t,n,i){console.log("Getting position for ",i,". Primary: ",e);var o,a=100/(1+Math.max(t.length,n.length));if(e==i)return{x:0,y:0};if(r.includes(t,i))o={set:t,index:r.indexOf(t,i),factor:-1,type:"parent"};else{if(!r.includes(n,i))return{x:0,y:0};o={set:n,index:r.indexOf(n,i),factor:1,type:"child"}}var s=o.set.length;if("parent"==o.type)var l={x:(0+o.index)*a,y:-200-100*(s-o.index-1)};else l={x:(0+o.index)*a,y:200+100*(s-o.index-1)};return l}(n,i.alg.topsort(d),i.alg.topsort(p).reverse(),t.data("id"))}}},f={loading:!0,loaded:n.defer(),graph_element:null,orientation:"sidebar",expanded:!1,graph:{options:u.vertical,pristine:{nodes:{},edges:{},dag:null},elements:[],layout:d.none,style:[{selector:"edge.vertical",style:{"curve-style":"unbundled-bezier","target-arrow-shape":"triangle-backcurve","target-arrow-color":"#027599","arrow-scale":1.5,"line-color":"#027599",width:3,"target-distance-from-node":"5px","source-endpoint":"0% 50%","target-endpoint":"0deg"}},{selector:"edge.horizontal",style:{"curve-style":"unbundled-bezier","target-arrow-shape":"triangle-backcurve","target-arrow-color":"#006f8a","arrow-scale":1.5,"target-distance-from-node":"10px","source-distance-from-node":"5px","line-color":"#006f8a",width:3,"source-endpoint":"50% 0%","target-endpoint":"270deg"}},{selector:"edge[selected=1]",style:{"line-color":"#bd6bb6","target-arrow-color":"#bd6bb6","z-index":1}},{selector:'node[display="none"]',style:{display:"none"}},{selector:"node.vertical",style:{"text-margin-x":"5px","background-color":"#0094b3","font-size":"16px",shape:"ellipse",color:"#fff",width:"5px",height:"5px",padding:"5px",content:"data(label)","font-weight":300,"text-valign":"center","text-halign":"right"}},{selector:"node.horizontal",style:{"background-color":"#0094b3","font-size":"24px",shape:"roundrectangle",color:"#fff",width:"label",height:"label",padding:"12px",content:"data(label)","font-weight":300,"font-family":'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", Helvetica, Arial, sans-serif',"text-valign":"center","text-halign":"center",ghost:"yes","ghost-offset-x":"2px","ghost-offset-y":"4px","ghost-opacity":.5,"text-outline-color":"#000","text-outline-width":"1px","text-outline-opacity":.2}},{selector:'node[resource_type="source"]',style:{"background-color":"#5fb825"}},{selector:'node[resource_type="exposure"]',style:{"background-color":"#ff694b"}},{selector:'node[resource_type="metric"]',style:{"background-color":"#ff5688"}},{selector:"node[node_color]",style:{"background-color":"data(node_color)"}},{selector:"node[selected=1]",style:{"background-color":"#bd6bb6"}},{selector:"node.horizontal[selected=1]",style:{"background-color":"#88447d"}},{selector:"node.horizontal.dirty",style:{"background-color":"#919599"}},{selector:"node[hidden=1]",style:{"background-color":"#919599","background-opacity":.5}}],ready:function(e){console.log("graph ready")}}};function p(e,t,n){var i=r.map(e,(function(e){return f.graph.pristine.nodes[e]})),o=[];r.flatten(r.each(e,(function(t){var n=f.graph.pristine.edges[t];r.each(n,(function(t){r.includes(e,t.data.target)&&r.includes(e,t.data.source)&&o.push(t)}))})));var s=r.compact(i).concat(r.compact(o));return r.each(f.graph.elements,(function(e){e.data.display="none",e.data.selected=0,e.data.hidden=0,e.classes=n})),r.each(s,(function(e){e.data.display="element",e.classes=n,t&&r.includes(t,e.data.unique_id)&&(e.data.selected=1),r.get(e,["data","docs","show"],!0)||(e.data.hidden=1);var i=r.get(e,["data","docs","node_color"]);i&&a.isValidColor(i)&&(e.data.node_color=i)})),f.graph.elements=r.filter(s,(function(e){return"element"==e.data.display})),e}function h(e,t,n){var r=f.graph.pristine.dag;if(r){var i=f.graph.pristine.nodes,o=s.selectNodes(r,i,e),a=n?o.matched:[];return p(o.selected,a,t)}}return f.setGraphReady=function(e){f.loading=!1,f.loaded.resolve(),f.graph_element=e},f.ready=function(e){f.loaded.promise.then((function(){e(f)}))},f.manifest={},f.packages=[],f.selected_node=null,f.getCanvasHeight=function(){return.8*t.innerHeight+"px"},l.ready((function(e){f.manifest=e,f.packages=r.uniq(r.map(f.manifest.nodes,"package_name")),r.each(r.filter(f.manifest.nodes,(function(e){var t=r.includes(["model","seed","source","snapshot","analysis","exposure","metric","operation"],e.resource_type),n="test"==e.resource_type&&!e.hasOwnProperty("test_metadata");return t||n})),(function(e){var t={group:"nodes",data:r.assign(e,{parent:e.package_name,id:e.unique_id,is_group:"false"})};f.graph.pristine.nodes[e.unique_id]=t})),r.each(f.manifest.parent_map,(function(e,t){r.each(e,(function(e){var n=f.manifest.nodes[e],i=f.manifest.nodes[t];if(r.includes(["model","source","seed","snapshot","metric"],n.resource_type)&&("test"!=i.resource_type||!i.hasOwnProperty("test_metadata"))){var o=n.unique_id+"|"+i.unique_id,a={group:"edges",data:{source:n.unique_id,target:i.unique_id,unique_id:o}},s=i.unique_id;f.graph.pristine.edges[s]||(f.graph.pristine.edges[s]=[]),f.graph.pristine.edges[s].push(a)}}))}));var t=new i.Graph({directed:!0});r.each(f.graph.pristine.nodes,(function(e){t.setNode(e.data.unique_id,e.data.name)})),r.each(f.graph.pristine.edges,(function(e){r.each(e,(function(e){t.setEdge(e.data.source,e.data.target)}))})),f.graph.pristine.dag=t,f.graph.elements=r.flatten(r.values(f.graph.pristine.nodes).concat(r.values(f.graph.pristine.edges))),p(t.nodes())})),f.hideGraph=function(){f.orientation="sidebar",f.expanded=!1},f.showVerticalGraph=function(e,t){f.orientation="sidebar",t&&(f.expanded=!0);var n=h(r.assign({},s.options,{include:"+"+e+"+",exclude:"",hops:1}),"vertical",!0);return f.graph.layout=d.top_down,f.graph.options=u.vertical,n},f.showFullGraph=function(e){f.orientation="fullscreen",f.expanded=!0;var t=r.assign({},s.options);e?(t.include="+"+e+"+",t.exclude=""):(t.include="",t.exclude="");var n=h(t,"horizontal",!0);return f.graph.layout=d.left_right,f.graph.options=u.horizontal,c.setState(t),n},f.updateGraph=function(e){f.orientation="fullscreen",f.expanded=!0;var t=h(e,"horizontal",!1);return f.graph.layout=d.left_right,f.graph.options=u.horizontal,c.setState(e),t},f.deselectNodes=function(){"fullscreen"==f.orientation&&f.graph_element.elements().data("selected",0)},f.selectNode=function(e){if("fullscreen"==f.orientation){f.graph.pristine.nodes[e];var t=f.graph.pristine.dag,n=r.indexBy(o.ancestorNodes(t,e)),i=r.indexBy(o.descendentNodes(t,e));n[e]=e,i[e]=e;var a=f.graph_element;r.each(f.graph.elements,(function(t){var r=a.$id(t.data.id);n[t.data.source]&&n[t.data.target]||i[t.data.source]&&i[t.data.target]||t.data.unique_id==e?r.data("selected",1):r.data("selected",0)}))}},f.markDirty=function(e){f.markAllClean(),r.each(e,(function(e){f.graph_element.$id(e).addClass("dirty")}))},f.markAllClean=function(){f.graph_element&&f.graph_element.elements().removeClass("dirty")},f}])},function(e,t,n){"use strict";n.r(t),n.d(t,"isValidColor",(function(){return i}));const r=new Set(["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","ghostwhite","gold","goldenrod","gray","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightpink","lightsalmon","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"]);function i(e){if(!e)return!1;const t=e.trim().toLowerCase();if(""===t)return!1;const n=t.match(/^#([A-Fa-f0-9]{3}){1,2}$/),i=r.has(t);return Boolean(n)||i}},function(e,t,n){n(31);const r=n(21),i=n(470);angular.module("dbt").factory("selectorService",["$state",function(e){var t={include:"",exclude:"",packages:[],tags:[null],resource_types:["model","seed","snapshot","source","test","analysis","exposure","metric"],depth:1},n={view_node:null,selection:{clean:r.clone(t),dirty:r.clone(t)},options:{packages:[],tags:[null],resource_types:["model","seed","snapshot","source","test","analysis","exposure","metric"]},init:function(e){r.each(e,(function(e,r){n.options[r]=e,t[r]=e,n.selection.clean[r]=e,n.selection.dirty[r]=e}))},resetSelection:function(e){var i={include:e&&r.includes(["model","seed","snapshot"],e.resource_type)?"+"+e.name+"+":e&&"source"==e.resource_type?"+source:"+e.source_name+"."+e.name+"+":e&&"exposure"==e.resource_type?"+exposure:"+e.name:e&&"metric"==e.resource_type?"+metric:"+e.name:e&&r.includes(["analysis","test"],e.resource_type)?"+"+e.name:""},o=r.assign({},t,i);n.selection.clean=r.clone(o),n.selection.dirty=r.clone(o),n.view_node=e},getViewNode:function(){return n.view_node},excludeNode:function(e,t){var r,i=n.selection.dirty.exclude,o=t.parents?"+":"",a=t.children?"+":"",s=i.length>0?" ":"";"source"==e.resource_type?(o+="source:",r=e.source_name+"."+e.name):["exposure","metric"].indexOf(e.resource_type)>-1?(o+=e.resource_type+":",r=e.name):r=e.name;var l=i+s+o+r+a;return n.selection.dirty.exclude=l,n.updateSelection()},selectSource:function(e,t){var r="source:"+e+(t.children?"+":"");return n.selection.dirty.include=r,n.updateSelection()},clearViewNode:function(){n.view_node=null},isDirty:function(){return!r.isEqual(n.selection.clean,n.selection.dirty)},updateSelection:function(){return n.selection.clean=r.clone(n.selection.dirty),n.selection.clean},selectNodes:function(e,t,n){return i.selectNodes(e,t,n)}};return n}])},function(e,t,n){const r=n(21),i=n(471);function o(e,t){return t||(t=" "),r.filter(r.uniq(e.split(t)),(function(e){return e.length>0}))}function a(e){var t={raw:e,select_at:!1,select_children:!1,children_depth:null,select_parents:!1,parents_depth:null};const n=new RegExp(""+/^/.source+/(?(\@))?/.source+/(?((?(\d*))\+))?/.source+/((?([\w.]+)):)?/.source+/(?(.*?))/.source+/(?(\+(?(\d*))))?/.source+/$/.source).exec(e).groups;t.select_at="@"==n.childs_parents,t.select_parents=!!n.parents,t.select_children=!!n.children,n.parents_depth&&(t.parents_depth=parseInt(n.parents_depth)),n.children_depth&&(t.children_depth=parseInt(n.children_depth));var r=n.method,i=n.value;return r?-1!=r.indexOf(".")&&([r,selector_modifier]=r.split(".",2),i={config:selector_modifier,value:i}):r="implicit",t.selector_type=r,t.selector_value=i,t}function s(e){var t=o(e," ");return r.map(t,(function(e){var t=o(e,",");return t.length>1?{method:"intersect",selectors:r.map(t,a)}:{method:"none",selectors:r.map([e],a)}}))}function l(e,t){var n=s(e),i=null,o=null;return r.each(n,(function(e){var n="intersect"==e.method?r.intersection:r.union;r.each(e.selectors,(function(e){var r=t(e);null===i?(i=r.matched,o=r.selected):(i=n(i,r.matched),o=n(o,r.selected))}))})),{matched:i||[],selected:o||[]}}e.exports={splitSpecs:o,parseSpec:a,parseSpecs:s,buildSpec:function(e,t,n){return{include:s(e),exclude:s(t),hops:n}},applySpec:l,selectNodes:function(e,t,n){n.include,n.exclude;var o,a=r.partial(i.getNodesFromSpec,e,t,n.hops);r.values(t),o=0==n.include.trim().length?{selected:e.nodes(),matched:[]}:l(n.include,a);var s=l(n.exclude,a),c=o.selected,u=o.matched;c=r.difference(c,s.selected),u=r.difference(u,s.matched);var d=[];return r.each(c,(function(e){var i=t[e];i.data.tags||(i.data.tags=[]);var o=r.includes(n.packages,i.data.package_name),a=r.intersection(n.tags,i.data.tags).length>0,s=r.includes(n.tags,null)&&0==i.data.tags.length,l=r.includes(n.resource_types,i.data.resource_type);o&&(a||s)&&l||d.push(i.data.unique_id)})),{selected:r.difference(c,d),matched:r.difference(u,d)}}}},function(e,t,n){const r=n(21),i=n(203);var o="fqn",a="tag",s="source",l="exposure",c="metric",u="path",d="file",f="package",p="config",h="test_name",g="test_type",m={};function v(e,t){if(t===r.last(e))return!0;var n=e.reduce((e,t)=>e.concat(t.split(".")),[]),i=t.split(".");if(n.length-1||!r.hasOwnProperty("test_metadata")&&["data","singular"].indexOf(t)>-1)&&n.push(r)})),n}function $(e,t){var n=[];return r.each(e,(function(e){var r=e.data;if("source"==r.resource_type){var i,o,a=r.source_name,s=r.name;-1!=t.indexOf(".")?[i,o]=t.split(".",2):(i=t,o=null),("*"==i||i==a&&"*"===o||i==a&&o===s||i==a&&null===o)&&n.push(e.data)}})),n}m["implicit"]=function(e,t){var n=b(e,t),i=y(e,t),o=[];t.toLowerCase().endsWith(".sql")&&(o=x(e,t));var a=r.uniq([].concat(r.map(n,"unique_id"),r.map(i,"unique_id"),r.map(o,"unique_id")));return r.map(a,t=>e[t].data)},m[o]=b,m[a]=w,m[s]=$,m[l]=function(e,t){var n=[];return r.each(e,(function(e){var r=e.data;if("exposure"==r.resource_type){var i=r.name;("*"==t||t==i)&&n.push(e.data)}})),n},m[c]=function(e,t){var n=[];return r.each(e,(function(e){var r=e.data;if("metric"==r.resource_type){var i=r.name;("*"==t||t==i)&&n.push(e.data)}})),n},m[u]=y,m[d]=x,m[f]=k,m[p]=A,m[h]=E,m[g]=S,e.exports={isFQNMatch:v,getNodesByFQN:b,getNodesByTag:w,getNodesBySource:$,getNodesByPath:y,getNodesByPackage:k,getNodesByConfig:A,getNodesByTestName:E,getNodesByTestType:S,getNodesFromSpec:function(e,t,n,o){const a=m[o.selector_type];if(!a)return console.log("Node matcher for selector",o.selector_type,"is invalid"),{selected:[],matched:[]};var s=a(t,o.selector_value),l=[],c=[];return r.each(s,(function(t){var a=t.unique_id;c.push(t.unique_id);var s=[],u=[],d=[];if(o.select_at&&(d=r.union(i.selectAt(e,a))),o.select_parents){var f=n||o.parents_depth;s=i.ancestorNodes(e,a,f)}if(o.select_children){f=n||o.children_depth;u=i.descendentNodes(e,a,f)}l=r.union([a],l,u,s,d)})),{selected:l,matched:c}}}},function(e,t,n){const r=n(9);n(473);r.module("dbt").factory("trackingService",["$location","selectorService","$rootScope",function(e,t,n){var r={initialized:!1,snowplow:null,project_id:null,init:function(e){r.initialized||(r.initialized=!0,r.project_id=e.project_id,!0===e.track&&r.turn_on_tracking())},isHosted:function(){return window.location.hostname.indexOf(".getdbt.com")>-1},turn_on_tracking:function(){var e,t,n,i,o,a;e=window,t=document,n="script",e[i="snowplow"]||(e.GlobalSnowplowNamespace=e.GlobalSnowplowNamespace||[],e.GlobalSnowplowNamespace.push(i),e[i]=function(){(e[i].q=e[i].q||[]).push(arguments)},e[i].q=e[i].q||[],o=t.createElement(n),a=t.getElementsByTagName(n)[0],o.async=1,o.src="//d1fc8wv8zag5ca.cloudfront.net/2.9.0/sp.js",a.parentNode.insertBefore(o,a));var s={appId:"dbt-docs",forceSecureTracker:!0,respectDoNotTrack:!0,userFingerprint:!1,contexts:{webPage:!0}};r.isHosted()&&(s.cookieDomain=".getdbt.com"),r.snowplow=window.snowplow,r.snowplow("newTracker","sp","fishtownanalytics.sinter-collect.com",s),r.snowplow("enableActivityTracking",30,30),r.track_pageview()},fuzzUrls:function(){r.isHosted()||(r.snowplow("setCustomUrl","https://fuzzed.getdbt.com/"),r.snowplow("setReferrerUrl","https://fuzzed.getdbt.com/"))},getContext:function(){return[{schema:"iglu:com.dbt/dbt_docs/jsonschema/1-0-0",data:{is_cloud_hosted:r.isHosted(),core_project_id:r.project_id}}]},track_pageview:function(){if(r.snowplow){r.fuzzUrls();r.snowplow("trackPageView",null,r.getContext())}},track_event:function(e,t,n,i){r.snowplow&&(r.fuzzUrls(),r.snowplow("trackStructEvent","dbt-docs",e,t,n,i,r.getContext()))},track_graph_interaction:function(e,t){r.snowplow&&(r.fuzzUrls(),r.track_event("graph","interact",e,t))}};return r}])},function(e,t,n){var r,i,o,a,s;r=n(474),i=n(204).utf8,o=n(475),a=n(204).bin,(s=function(e,t){e.constructor==String?e=t&&"binary"===t.encoding?a.stringToBytes(e):i.stringToBytes(e):o(e)?e=Array.prototype.slice.call(e,0):Array.isArray(e)||e.constructor===Uint8Array||(e=e.toString());for(var n=r.bytesToWords(e),l=8*e.length,c=1732584193,u=-271733879,d=-1732584194,f=271733878,p=0;p>>24)|4278255360&(n[p]<<24|n[p]>>>8);n[l>>>5]|=128<>>9<<4)]=l;var h=s._ff,g=s._gg,m=s._hh,v=s._ii;for(p=0;p>>0,u=u+y>>>0,d=d+x>>>0,f=f+w>>>0}return r.endian([c,u,d,f])})._ff=function(e,t,n,r,i,o,a){var s=e+(t&n|~t&r)+(i>>>0)+a;return(s<>>32-o)+t},s._gg=function(e,t,n,r,i,o,a){var s=e+(t&r|n&~r)+(i>>>0)+a;return(s<>>32-o)+t},s._hh=function(e,t,n,r,i,o,a){var s=e+(t^n^r)+(i>>>0)+a;return(s<>>32-o)+t},s._ii=function(e,t,n,r,i,o,a){var s=e+(n^(t|~r))+(i>>>0)+a;return(s<>>32-o)+t},s._blocksize=16,s._digestsize=16,e.exports=function(e,t){if(null==e)throw new Error("Illegal argument "+e);var n=r.wordsToBytes(s(e,t));return t&&t.asBytes?n:t&&t.asString?a.bytesToString(n):r.bytesToHex(n)}},function(e,t){var n,r;n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",r={rotl:function(e,t){return e<>>32-t},rotr:function(e,t){return e<<32-t|e>>>t},endian:function(e){if(e.constructor==Number)return 16711935&r.rotl(e,8)|4278255360&r.rotl(e,24);for(var t=0;t0;e--)t.push(Math.floor(256*Math.random()));return t},bytesToWords:function(e){for(var t=[],n=0,r=0;n>>5]|=e[n]<<24-r%32;return t},wordsToBytes:function(e){for(var t=[],n=0;n<32*e.length;n+=8)t.push(e[n>>>5]>>>24-n%32&255);return t},bytesToHex:function(e){for(var t=[],n=0;n>>4).toString(16)),t.push((15&e[n]).toString(16));return t.join("")},hexToBytes:function(e){for(var t=[],n=0;n>>6*(3-o)&63)):t.push("=");return t.join("")},base64ToBytes:function(e){e=e.replace(/[^A-Z0-9+\/]/gi,"");for(var t=[],r=0,i=0;r>>6-2*i);return t}},e.exports=r},function(e,t){function n(e){return!!e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)} +/*! Runge-Kutta spring physics function generator. Adapted from Framer.js, copyright Koen Bok. MIT License: http://en.wikipedia.org/wiki/MIT_License */var r=function(){function e(e){return-e.tension*e.x-e.friction*e.v}function t(t,n,r){var i={x:t.x+r.dx*n,v:t.v+r.dv*n,tension:t.tension,friction:t.friction};return{dx:i.v,dv:e(i)}}function n(n,r){var i={dx:n.v,dv:e(n)},o=t(n,.5*r,i),a=t(n,.5*r,o),s=t(n,r,a),l=1/6*(i.dx+2*(o.dx+a.dx)+s.dx),c=1/6*(i.dv+2*(o.dv+a.dv)+s.dv);return n.x=n.x+l*r,n.v=n.v+c*r,n}return function e(t,r,i){var o,a={x:-1,v:0,tension:null,friction:null},s=[0],l=0,c=void 0,u=void 0;for(t=parseFloat(t)||500,r=parseFloat(r)||20,i=i||null,a.tension=t,a.friction=r,c=(o=null!==i)?(l=e(t,r))/i*.016:.016;u=n(u||a,c),s.push(1+u.x),l+=16,Math.abs(u.x)>1e-4&&Math.abs(u.v)>1e-4;);return o?function(e){return s[e*(s.length-1)|0]}:l}}();e.exports=r},function(e,t,n){"use strict";var r=n(0);function i(e,t,n,r,i){if(1===r)return n;var o=i(t,n,r);return null==e||((e.roundValue||e.color)&&(o=Math.round(o)),void 0!==e.min&&(o=Math.max(o,e.min)),void 0!==e.max&&(o=Math.min(o,e.max))),o}function o(e,t){return null!=e.pfValue||null!=e.value?null==e.pfValue||null!=t&&"%"===t.type.units?e.value:e.pfValue:e}e.exports=function(e,t,n,a,s){var l=null!=s?s.type:null;n<0?n=0:n>1&&(n=1);var c=o(e,s),u=o(t,s);if(r.number(c)&&r.number(u))return i(l,c,u,n,a);if(r.array(c)&&r.array(u)){for(var d=[],f=0;f0},startBatch:function(){var e=this._private;return null==e.batchCount&&(e.batchCount=0),0===e.batchCount&&(e.batchingStyle=e.batchingNotify=!0,e.batchStyleEles=this.collection(),e.batchNotifyEles=this.collection(),e.batchNotifyTypes=[],e.batchNotifyTypes.ids={}),e.batchCount++,this},endBatch:function(){var e=this._private;return e.batchCount--,0===e.batchCount&&(e.batchingStyle=!1,e.batchStyleEles.updateStyle(),e.batchingNotify=!1,this.notify({type:e.batchNotifyTypes,eles:e.batchNotifyEles})),this},batch:function(e){return this.startBatch(),e(),this.endBatch(),this},batchData:function(e){var t=this;return this.batch((function(){for(var n=Object.keys(e),r=0;r0;)e.removeChild(e.childNodes[0]);this._private.renderer=null},onRender:function(e){return this.on("render",e)},offRender:function(e){return this.off("render",e)}};i.invalidateDimensions=i.resize,e.exports=i},function(e,t,n){"use strict";var r=n(0),i=n(7),o={collection:function(e,t){return r.string(e)?this.$(e):r.elementOrCollection(e)?e.collection():r.array(e)?new i(this,e,t):new i(this)},nodes:function(e){var t=this.$((function(e){return e.isNode()}));return e?t.filter(e):t},edges:function(e){var t=this.$((function(e){return e.isEdge()}));return e?t.filter(e):t},$:function(e){var t=this._private.elements;return e?t.filter(e):t.spawnSelf()},mutableElements:function(){return this._private.elements}};o.elements=o.filter=o.$,e.exports=o},function(e,t,n){"use strict";var r=n(0),i=n(18),o={style:function(e){return e&&this.setStyle(e).update(),this._private.style},setStyle:function(e){var t=this._private;return r.stylesheet(e)?t.style=e.generateStyle(this):r.array(e)?t.style=i.fromJson(this,e):r.string(e)?t.style=i.fromString(this,e):t.style=i(this),t.style}};e.exports=o},function(e,t,n){"use strict";var r=n(1),i=n(0),o=n(5),a={apply:function(e){var t=this._private,n=t.cy.collection();t.newStyle&&(t.contextStyles={},t.propDiffs={},this.cleanElements(e,!0));for(var r=0;r0;if(c||u){var d=void 0;c&&u||c?d=l.properties:u&&(d=l.mappedProperties);for(var f=0;f0){n=!0;break}t.hasPie=n;var i=e.pstyle("text-transform").strValue,o=e.pstyle("label").strValue,a=e.pstyle("source-label").strValue,s=e.pstyle("target-label").strValue,l=e.pstyle("font-style").strValue,c=e.pstyle("font-size").pfValue+"px",u=e.pstyle("font-family").strValue,d=e.pstyle("font-weight").strValue,f=l+"$"+c+"$"+u+"$"+d+"$"+i+"$"+e.pstyle("text-valign").strValue+"$"+e.pstyle("text-valign").strValue+"$"+e.pstyle("text-outline-width").pfValue+"$"+e.pstyle("text-wrap").strValue+"$"+e.pstyle("text-max-width").pfValue;t.labelStyleKey=f,t.sourceLabelKey=f+"$"+a,t.targetLabelKey=f+"$"+s,t.labelKey=f+"$"+o,t.fontKey=l+"$"+d+"$"+c+"$"+u,t.styleKey=Date.now()}},applyParsedProperty:function(e,t){var n=this,o=t,a=e._private.style,s=void 0,l=n.types,c=n.properties[o.name].type,u=o.bypass,d=a[o.name],f=d&&d.bypass,p=e._private,h=function(){n.checkZOrderTrigger(e,o.name,d?d.value:null,o.value)};if("curve-style"===t.name&&"haystack"===t.value&&e.isEdge()&&(e.isLoop()||e.source().isParent()||e.target().isParent())&&(o=t=this.parse(t.name,"bezier",u)),o.delete)return a[o.name]=void 0,h(),!0;if(o.deleteBypassed)return d?!!d.bypass&&(d.bypassed=void 0,h(),!0):(h(),!0);if(o.deleteBypass)return d?!!d.bypass&&(a[o.name]=d.bypassed,h(),!0):(h(),!0);var g=function(){r.error("Do not assign mappings to elements without corresponding data (e.g. ele `"+e.id()+"` for property `"+o.name+"` with data field `"+o.field+"`); try a `["+o.field+"]` selector to limit scope to elements with `"+o.field+"` defined")};switch(o.mapped){case l.mapData:for(var m=o.field.split("."),v=p.data,b=0;b1&&(y=1),c.color){var x=o.valueMin[0],w=o.valueMax[0],k=o.valueMin[1],A=o.valueMax[1],E=o.valueMin[2],S=o.valueMax[2],$=null==o.valueMin[3]?1:o.valueMin[3],C=null==o.valueMax[3]?1:o.valueMax[3],_=[Math.round(x+(w-x)*y),Math.round(k+(A-k)*y),Math.round(E+(S-E)*y),Math.round($+(C-$)*y)];s={bypass:o.bypass,name:o.name,value:_,strValue:"rgb("+_[0]+", "+_[1]+", "+_[2]+")"}}else{if(!c.number)return!1;var O=o.valueMin+(o.valueMax-o.valueMin)*y;s=this.parse(o.name,O,o.bypass,"mapping")}s||(s=this.parse(o.name,d.strValue,o.bypass,"mapping")),s||g(),s.mapping=o,o=s;break;case l.data:var j=o.field.split("."),T=p.data;if(T)for(var P=0;P0&&l>0){for(var u={},d=!1,f=0;f0?e.delayAnimation(c).play().promise().then(t):t()})).then((function(){return e.animation({style:u,duration:l,easing:e.pstyle("transition-timing-function").value,queue:!1}).play().promise()})).then((function(){r.removeBypasses(e,s),e.emitAndNotify("style"),a.transitioning=!1}))}else a.transitioning&&(this.removeBypasses(e,s),e.emitAndNotify("style"),a.transitioning=!1)},checkZOrderTrigger:function(e,t,n,r){var i=this.properties[t];null==i.triggersZOrder||null!=n&&!i.triggersZOrder(n,r)||this._private.cy.notify({type:"zorder",eles:e})}};e.exports=a},function(e,t,n){"use strict";var r=n(0),i=n(1),o={applyBypass:function(e,t,n,o){var a=[];if("*"===t||"**"===t){if(void 0!==n)for(var s=0;sn.length?t.substr(n.length):""}function l(){o=o.length>a.length?o.substr(a.length):""}for(t=t.replace(/[/][*](\s|.)+?[*][/]/g,"");!t.match(/^\s*$/);){var c=t.match(/^\s*((?:.|\s)+?)\s*\{((?:.|\s)+?)\}/);if(!c){r.error("Halting stylesheet parsing: String stylesheet contains more to parse but no selector and block found in: "+t);break}n=c[0];var u=c[1];if("core"!==u&&new i(u)._private.invalid)r.error("Skipping parsing of block: Invalid selector found in string stylesheet: "+u),s();else{var d=c[2],f=!1;o=d;for(var p=[];!o.match(/^\s*$/);){var h=o.match(/^\s*(.+?)\s*:\s*(.+?)\s*;/);if(!h){r.error("Skipping parsing of block: Invalid formatting of style property and value definitions found in:"+d),f=!0;break}a=h[0];var g=h[1],m=h[2];this.properties[g]?this.parse(g,m)?(p.push({name:g,val:m}),l()):(r.error("Skipping property: Invalid property definition in: "+a),l()):(r.error("Skipping property: Invalid property name in: "+a),l())}if(f){s();break}this.selector(u);for(var v=0;v node").css({shape:"rectangle",padding:10,"background-color":"#eee","border-color":"#ccc","border-width":1}).selector("edge").css({width:3,"curve-style":"haystack"}).selector(":parent <-> node").css({"curve-style":"bezier","source-endpoint":"outside-to-line","target-endpoint":"outside-to-line"}).selector(":selected").css({"background-color":"#0169D9","line-color":"#0169D9","source-arrow-color":"#0169D9","target-arrow-color":"#0169D9","mid-source-arrow-color":"#0169D9","mid-target-arrow-color":"#0169D9"}).selector("node:parent:selected").css({"background-color":"#CCE1F9","border-color":"#aec8e5"}).selector(":active").css({"overlay-color":"black","overlay-padding":10,"overlay-opacity":.25}).selector("core").css({"selection-box-color":"#ddd","selection-box-opacity":.65,"selection-box-border-color":"#aaa","selection-box-border-width":1,"active-bg-color":"black","active-bg-opacity":.15,"active-bg-size":30,"outside-texture-bg-color":"#000","outside-texture-bg-opacity":.125}),this.defaultLength=this.length},e.exports=o},function(e,t,n){"use strict";var r=n(1),i=n(0),o=n(2),a={parse:function(e,t,n,o){if(i.fn(t))return this.parseImplWarn(e,t,n,o);var a=[e,t,n,"mapping"===o||!0===o||!1===o||null==o?"dontcare":o].join("$"),s=this.propCache=this.propCache||{},l=void 0;return(l=s[a])||(l=s[a]=this.parseImplWarn(e,t,n,o)),(n||"mapping"===o)&&(l=r.copy(l))&&(l.value=r.copy(l.value)),l},parseImplWarn:function(e,t,n,i){var o=this.parseImpl(e,t,n,i);return o||null==t||r.error("The style property `%s: %s` is invalid",e,t),o},parseImpl:function(e,t,n,a){e=r.camel2dash(e);var s=this.properties[e],l=t,c=this.types;if(!s)return null;if(void 0===t)return null;s.alias&&(s=s.pointsTo,e=s.name);var u=i.string(t);u&&(t=t.trim());var d=s.type;if(!d)return null;if(n&&(""===t||null===t))return{name:e,value:t,bypass:!0,deleteBypass:!0};if(i.fn(t))return{name:e,value:t,strValue:"fn",mapped:c.fn,bypass:n};var f=void 0,p=void 0;if(!u||a);else{if(f=new RegExp(c.data.regex).exec(t)){if(n)return!1;var h=c.data;return{name:e,value:f,strValue:""+t,mapped:h,field:f[1],bypass:n}}if(p=new RegExp(c.mapData.regex).exec(t)){if(n)return!1;if(d.multiple)return!1;var g=c.mapData;if(!d.color&&!d.number)return!1;var m=this.parse(e,p[4]);if(!m||m.mapped)return!1;var v=this.parse(e,p[5]);if(!v||v.mapped)return!1;if(m.value===v.value)return!1;if(d.color){var b=m.value,y=v.value;if(!(b[0]!==y[0]||b[1]!==y[1]||b[2]!==y[2]||b[3]!==y[3]&&(null!=b[3]&&1!==b[3]||null!=y[3]&&1!==y[3])))return!1}return{name:e,value:p,strValue:""+t,mapped:g,field:p[1],fieldMin:parseFloat(p[2]),fieldMax:parseFloat(p[3]),valueMin:m.value,valueMax:v.value,bypass:n}}}if(d.multiple&&"multiple"!==a){var x=void 0;if(x=u?t.split(/\s+/):i.array(t)?t:[t],d.evenMultiple&&x.length%2!=0)return null;for(var w=[],k=[],A=[],E=!1,S=0;Sd.max||d.strictMax&&t===d.max))return null;var P={name:e,value:t,strValue:""+t+(_||""),units:_,bypass:n};return d.unitless||"px"!==_&&"em"!==_?P.pfValue=t:P.pfValue="px"!==_&&_?this.getEmSizeInPixels()*t:t,"ms"!==_&&"s"!==_||(P.pfValue="ms"===_?t:1e3*t),"deg"!==_&&"rad"!==_||(P.pfValue="rad"===_?t:o.deg2rad(t)),"%"===_&&(P.pfValue=t/100),P}if(d.propList){var D=[],R=""+t;if("none"===R);else{for(var I=R.split(","),N=0;N0&&s>0&&!isNaN(n.w)&&!isNaN(n.h)&&n.w>0&&n.h>0)return{zoom:l=(l=(l=Math.min((a-2*t)/n.w,(s-2*t)/n.h))>this._private.maxZoom?this._private.maxZoom:l)t.maxZoom?t.maxZoom:s)t.maxZoom||!t.zoomingEnabled?a=!0:(t.zoom=l,o.push("zoom"))}if(i&&(!a||!e.cancelOnFailedZoom)&&t.panningEnabled){var c=e.pan;r.number(c.x)&&(t.pan.x=c.x,s=!1),r.number(c.y)&&(t.pan.y=c.y,s=!1),s||o.push("pan")}return o.length>0&&(o.push("viewport"),this.emit(o.join(" ")),this.notify({type:"viewport"})),this},center:function(e){var t=this.getCenterPan(e);return t&&(this._private.pan=t,this.emit("pan viewport"),this.notify({type:"viewport"})),this},getCenterPan:function(e,t){if(this._private.panningEnabled){if(r.string(e)){var n=e;e=this.mutableElements().filter(n)}else r.elementOrCollection(e)||(e=this.mutableElements());if(0!==e.length){var i=e.boundingBox(),o=this.width(),a=this.height();return{x:(o-(t=void 0===t?this._private.zoom:t)*(i.x1+i.x2))/2,y:(a-t*(i.y1+i.y2))/2}}}},reset:function(){return this._private.panningEnabled&&this._private.zoomingEnabled?(this.viewport({pan:{x:0,y:0},zoom:1}),this):this},invalidateSize:function(){this._private.sizeCache=null},size:function(){var e,t,n=this._private,r=n.container;return n.sizeCache=n.sizeCache||(r?(e=i.getComputedStyle(r),t=function(t){return parseFloat(e.getPropertyValue(t))},{width:r.clientWidth-t("padding-left")-t("padding-right"),height:r.clientHeight-t("padding-top")-t("padding-bottom")}):{width:1,height:1})},width:function(){return this.size().width},height:function(){return this.size().height},extent:function(){var e=this._private.pan,t=this._private.zoom,n=this.renderedExtent(),r={x1:(n.x1-e.x)/t,x2:(n.x2-e.x)/t,y1:(n.y1-e.y)/t,y2:(n.y2-e.y)/t};return r.w=r.x2-r.x1,r.h=r.y2-r.y1,r},renderedExtent:function(){var e=this.width(),t=this.height();return{x1:0,y1:0,x2:e,y2:t,w:e,h:t}}};a.centre=a.center,a.autolockNodes=a.autolock,a.autoungrabifyNodes=a.autoungrabify,e.exports=a},function(e,t,n){"use strict";var r=n(1),i=n(4),o=n(7),a=n(12),s=n(95),l=n(0),c=n(11),u={},d={};function f(e,t,n){var s=n,d=function(n){r.error("Can not register `"+t+"` for `"+e+"` since `"+n+"` already exists in the prototype and can not be overridden")};if("core"===e){if(a.prototype[t])return d(t);a.prototype[t]=n}else if("collection"===e){if(o.prototype[t])return d(t);o.prototype[t]=n}else if("layout"===e){for(var f=function(e){this.options=e,n.call(this,e),l.plainObject(this._private)||(this._private={}),this._private.cy=e.cy,this._private.listeners=[],this.createEmitter()},h=f.prototype=Object.create(n.prototype),g=[],m=0;m0;)m();c=n.collection();for(var v=function(e){var t=h[e],n=t.maxDegree(!1),r=t.filter((function(e){return e.degree(!1)===n}));c=c.add(r)},b=0;by.length-1;)y.push([]);y[J].push(X),Z.depth=J,Z.index=y[J].length-1}N()}var K=0;if(t.avoidOverlap)for(var ee=0;eec||0===t)&&(r+=l/u,i++)}return r/=i=Math.max(1,i),0===i&&(r=void 0),ie[e.id()]=r,r},ae=function(e,t){return oe(e)-oe(t)},se=0;se<3;se++){for(var le=0;le0&&y[0].length<=3?u/2:0),f=2*Math.PI/y[i].length*o;return 0===i&&1===y[0].length&&(d=1),{x:de+d*Math.cos(f),y:fe+d*Math.sin(f)}}return{x:de+(o+1-(a+1)/2)*s,y:(i+1)*c}}var p={x:de+(o+1-(a+1)/2)*s,y:(i+1)*c};return p},he={},ge=y.length-1;ge>=0;ge--)for(var me=y[ge],ve=0;ve1&&t.avoidOverlap){p*=1.75;var b=Math.cos(d)-Math.cos(0),y=Math.sin(d)-Math.sin(0),x=Math.sqrt(p*p/(b*b+y*y));f=Math.max(x,f)}return s.layoutPositions(this,t,(function(e,n){var r=t.startAngle+n*d*(a?1:-1),i=f*Math.cos(r),o=f*Math.sin(r);return{x:c+i,y:u+o}})),this},e.exports=s},function(e,t,n){"use strict";var r=n(1),i=n(2),o={fit:!0,padding:30,startAngle:1.5*Math.PI,sweep:void 0,clockwise:!0,equidistant:!1,minNodeSpacing:10,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,height:void 0,width:void 0,spacingFactor:void 0,concentric:function(e){return e.degree()},levelWidth:function(e){return e.maxDegree()/4},animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}};function a(e){this.options=r.extend({},o,e)}a.prototype.run=function(){for(var e=this.options,t=e,n=void 0!==t.counterclockwise?!t.counterclockwise:t.clockwise,r=e.cy,o=t.eles.nodes().not(":parent"),a=i.makeBoundingBox(t.boundingBox?t.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()}),s=a.x1+a.w/2,l=a.y1+a.h/2,c=[],u=(t.startAngle,0),d=0;d0&&Math.abs(b[0].value-x.value)>=m&&(b=[],v.push(b)),b.push(x)}var w=u+t.minNodeSpacing;if(!t.avoidOverlap){var k=v.length>0&&v[0].length>1,A=(Math.min(a.w,a.h)/2-w)/(v.length+k?1:0);w=Math.min(w,A)}for(var E=0,S=0;S1&&t.avoidOverlap){var O=Math.cos(_)-Math.cos(0),j=Math.sin(_)-Math.sin(0),T=Math.sqrt(w*w/(O*O+j*j));E=Math.max(T,E)}$.r=E,E+=w}if(t.equidistant){for(var P=0,D=0,R=0;R0)var c=(f=r.nodeOverlap*s)*i/(b=Math.sqrt(i*i+o*o)),d=f*o/b;else{var f,p=u(e,i,o),h=u(t,-1*i,-1*o),g=h.x-p.x,m=h.y-p.y,v=g*g+m*m,b=Math.sqrt(v);c=(f=(e.nodeRepulsion+t.nodeRepulsion)/v)*g/b,d=f*m/b}e.isLocked||(e.offsetX-=c,e.offsetY-=d),t.isLocked||(t.offsetX+=c,t.offsetY+=d)}},l=function(e,t,n,r){if(n>0)var i=e.maxX-t.minX;else i=t.maxX-e.minX;if(r>0)var o=e.maxY-t.minY;else o=t.maxY-e.minY;return i>=0&&o>=0?Math.sqrt(i*i+o*o):0},u=function(e,t,n){var r=e.positionX,i=e.positionY,o=e.height||1,a=e.width||1,s=n/t,l=o/a,c={};return 0===t&&0n?(c.x=r,c.y=i+o/2,c):0t&&-1*l<=s&&s<=l?(c.x=r-a/2,c.y=i-a*n/2/t,c):0=l)?(c.x=r+o*t/2/n,c.y=i+o/2,c):0>n&&(s<=-1*l||s>=l)?(c.x=r-o*t/2/n,c.y=i-o/2,c):c},d=function(e,t){for(var n=0;n1){var h=t.gravity*d/p,g=t.gravity*f/p;u.offsetX+=h,u.offsetY+=g}}}}},p=function(e,t){var n=[],r=0,i=-1;for(n.push.apply(n,e.graphSet[0]),i+=e.graphSet[0].length;r<=i;){var o=n[r++],a=e.idToIndex[o],s=e.layoutNodes[a],l=s.children;if(0n)var i={x:n*e/r,y:n*t/r};else i={x:e,y:t};return i},m=function e(t,n){var r=t.parentId;if(null!=r){var i=n.layoutNodes[n.idToIndex[r]],o=!1;return(null==i.maxX||t.maxX+i.padRight>i.maxX)&&(i.maxX=t.maxX+i.padRight,o=!0),(null==i.minX||t.minX-i.padLefti.maxY)&&(i.maxY=t.maxY+i.padBottom,o=!0),(null==i.minY||t.minY-i.padTopg&&(f+=h+t.componentSpacing,d=0,p=0,h=0)}}}(0,i),r})).then((function(e){d.layoutNodes=e.layoutNodes,o.stop(),b()}));var b=function(){!0===e.animate||!1===e.animate?v({force:!0,next:function(){n.one("layoutstop",e.stop),n.emit({type:"layoutstop",layout:n})}}):e.eles.nodes().layoutPositions(n,e,(function(e){var t=d.layoutNodes[d.idToIndex[e.data("id")]];return{x:t.positionX,y:t.positionY}}))};return this},c.prototype.stop=function(){return this.stopped=!0,this.thread&&this.thread.stop(),this.emit("layoutstop"),this},c.prototype.destroy=function(){return this.thread&&this.thread.stop(),this};var u=function(e,t,n){for(var r=n.eles.edges(),i=n.eles.nodes(),s={isCompound:e.hasCompoundNodes(),layoutNodes:[],idToIndex:{},nodeSize:i.size(),graphSet:[],indexToGraph:[],layoutEdges:[],edgeSize:r.size(),temperature:n.initialTemp,clientWidth:e.width(),clientHeight:e.width(),boundingBox:o.makeBoundingBox(n.boundingBox?n.boundingBox:{x1:0,y1:0,w:e.width(),h:e.height()})},l=n.eles.components(),c={},u=0;u0)for(s.graphSet.push(A),u=0;ur.count?0:r.graph},f=function e(t,n,r,i){var o=i.graphSet[r];if(-1a){var h=u(),g=d();(h-1)*g>=a?u(h-1):(g-1)*h>=a&&d(g-1)}else for(;c*l=a?d(v+1):u(m+1)}var b=o.w/c,y=o.h/l;if(t.condense&&(b=0,y=0),t.avoidOverlap)for(var x=0;x=c&&(T=0,j++)},D={},R=0;R(r=i.sqdistToFiniteLine(e,t,w[k],w[k+1],w[k+2],w[k+3])))return b(n,r),!0}else if("bezier"===a.edgeType||"multibezier"===a.edgeType||"self"===a.edgeType||"compound"===a.edgeType)for(w=a.allpts,k=0;k+5(r=i.sqdistToQuadraticBezier(e,t,w[k],w[k+1],w[k+2],w[k+3],w[k+4],w[k+5])))return b(n,r),!0;v=v||o.source,x=x||o.target;var A=l.getArrowWidth(s,u),E=[{name:"source",x:a.arrowStartX,y:a.arrowStartY,angle:a.srcArrowAngle},{name:"target",x:a.arrowEndX,y:a.arrowEndY,angle:a.tgtArrowAngle},{name:"mid-source",x:a.midX,y:a.midY,angle:a.midsrcArrowAngle},{name:"mid-target",x:a.midX,y:a.midY,angle:a.midtgtArrowAngle}];for(k=0;k0&&(y(v),y(x))}function w(e,t,n){return o.getPrefixedProperty(e,t,n)}function k(n,r){var o,a=n._private,s=m;o=r?r+"-":"";var l=n.pstyle(o+"label").value;if("yes"===n.pstyle("text-events").strValue&&l){var c=a.rstyle,u=n.pstyle("text-border-width").pfValue,d=n.pstyle("text-background-padding").pfValue,f=w(c,"labelWidth",r)+u+2*s+2*d,p=w(c,"labelHeight",r)+u+2*s+2*d,h=w(c,"labelX",r),g=w(c,"labelY",r),v=w(a.rscratch,"labelAngle",r),y=h-f/2,x=h+f/2,k=g-p/2,A=g+p/2;if(v){var E=Math.cos(v),S=Math.sin(v),$=function(e,t){return{x:(e-=h)*E-(t-=g)*S+h,y:e*S+t*E+g}},C=$(y,k),_=$(y,A),O=$(x,k),j=$(x,A),T=[C.x,C.y,O.x,O.y,j.x,j.y,_.x,_.y];if(i.pointInsidePolygonPoints(e,t,T))return b(n),!0}else{var P={w:f,h:p,x1:y,x2:x,y1:k,y2:A};if(i.inBoundingBox(P,e,t))return b(n),!0}}}n&&(u=u.interactive);for(var A=u.length-1;A>=0;A--){var E=u[A];E.isNode()?y(E)||k(E):x(E)||k(E)||k(E,"source")||k(E,"target")}return d},getAllInBox:function(e,t,n,r){var o=this.getCachedZSortedEles().interactive,a=[],s=Math.min(e,n),l=Math.max(e,n),c=Math.min(t,r),u=Math.max(t,r);e=s,n=l,t=c,r=u;for(var d=i.makeBoundingBox({x1:e,y1:t,x2:n,y2:r}),f=0;fb?b+"$-$"+v:v+"$-$"+b,g&&(t="unbundled$-$"+h.id);var y=u[t];null==y&&(y=u[t]=[],d.push(t)),y.push(Bt),g&&(y.hasUnbundled=!0),m&&(y.hasBezier=!0)}else f.push(Bt)}for(var x=0;xGt.id()){var k=Ht;Ht=Gt,Gt=k}Wt=Ht.position(),Yt=Gt.position(),Xt=Ht.outerWidth(),Qt=Ht.outerHeight(),Zt=Gt.outerWidth(),Jt=Gt.outerHeight(),n=l.nodeShapes[this.getNodeShape(Ht)],o=l.nodeShapes[this.getNodeShape(Gt)],s=!1;var A={north:0,west:0,south:0,east:0,northwest:0,southwest:0,northeast:0,southeast:0},E=Wt.x,S=Wt.y,$=Xt,C=Qt,_=Yt.x,O=Yt.y,j=Zt,T=Jt,P=w.length;for(p=0;p=d||w){p={cp:b,segment:x};break}}if(p)break}b=p.cp;var k=(d-g)/(x=p.segment).length,A=x.t1-x.t0,E=u?x.t0+A*k:x.t1-A*k;E=r.bound(0,E,1),t=r.qbezierPtAt(b.p0,b.p1,b.p2,E),c=function(e,t,n,i){var o=r.bound(0,i-.001,1),a=r.bound(0,i+.001,1),s=r.qbezierPtAt(e,t,n,o),l=r.qbezierPtAt(e,t,n,a);return f(s,l)}(b.p0,b.p1,b.p2,E);break;case"straight":case"segments":case"haystack":var S,$,C,_,O=0,j=i.allpts.length;for(v=0;v+3=d));v+=2);E=(d-$)/S,E=r.bound(0,E,1),t=r.lineAt(C,_,E),c=f(C,_)}l("labelX",o,t.x),l("labelY",o,t.y),l("labelAutoAngle",o,c)}};c("source"),c("target"),this.applyLabelDimensions(e)}},applyLabelDimensions:function(e){this.applyPrefixedLabelDimensions(e),e.isEdge()&&(this.applyPrefixedLabelDimensions(e,"source"),this.applyPrefixedLabelDimensions(e,"target"))},applyPrefixedLabelDimensions:function(e,t){var n=e._private,r=this.getLabelText(e,t),i=this.calculateLabelDimensions(e,r);o.setPrefixedProperty(n.rstyle,"labelWidth",t,i.width),o.setPrefixedProperty(n.rscratch,"labelWidth",t,i.width),o.setPrefixedProperty(n.rstyle,"labelHeight",t,i.height),o.setPrefixedProperty(n.rscratch,"labelHeight",t,i.height)},getLabelText:function(e,t){var n=e._private,r=t?t+"-":"",i=e.pstyle(r+"label").strValue,a=e.pstyle("text-transform").value,s=function(e,r){return r?(o.setPrefixedProperty(n.rscratch,e,t,r),r):o.getPrefixedProperty(n.rscratch,e,t)};"none"==a||("uppercase"==a?i=i.toUpperCase():"lowercase"==a&&(i=i.toLowerCase()));var l=e.pstyle("text-wrap").value;if("wrap"===l){var c=s("labelKey");if(c&&s("labelWrapKey")===c)return s("labelWrapCachedText");for(var u=i.split("\n"),d=e.pstyle("text-max-width").pfValue,f=[],p=0;pd){for(var g=h.split(/\s+/),m="",v=0;vd);k++)x+=i[k],k===i.length-1&&(w=!0);return w||(x+="…"),x}return i},calculateLabelDimensions:function(e,t,n){var r=e._private.labelStyleKey+"$@$"+t;n&&(r+="$@$"+n);var i=this.labelDimCache||(this.labelDimCache={});if(i[r])return i[r];var o=e.pstyle("font-style").strValue,a=1*e.pstyle("font-size").pfValue+"px",s=e.pstyle("font-family").strValue,l=e.pstyle("font-weight").strValue,c=this.labelCalcDiv;c||(c=this.labelCalcDiv=document.createElement("div"),document.body.appendChild(c));var u=c.style;return u.fontFamily=s,u.fontStyle=o,u.fontSize=a,u.fontWeight=l,u.position="absolute",u.left="-9999px",u.top="-9999px",u.zIndex="-1",u.visibility="hidden",u.pointerEvents="none",u.padding="0",u.lineHeight="1","wrap"===e.pstyle("text-wrap").value?u.whiteSpace="pre":u.whiteSpace="normal",c.textContent=t,i[r]={width:Math.ceil(c.clientWidth/1),height:Math.ceil(c.clientHeight/1)},i[r]},calculateLabelAngles:function(e){var t=e._private.rscratch,n=e.isEdge(),r=e.pstyle("text-rotation"),i=r.strValue;"none"===i?t.labelAngle=t.sourceLabelAngle=t.targetLabelAngle=0:n&&"autorotate"===i?(t.labelAngle=Math.atan(t.midDispY/t.midDispX),t.sourceLabelAngle=t.sourceLabelAutoAngle,t.targetLabelAngle=t.targetLabelAutoAngle):t.labelAngle=t.sourceLabelAngle=t.targetLabelAngle="autorotate"===i?0:r.pfValue}};e.exports=a},function(e,t,n){"use strict";var r={getNodeShape:function(e){var t=e.pstyle("shape").value;if(e.isParent())return"rectangle"===t||"roundrectangle"===t||"cutrectangle"===t||"barrel"===t?t:"rectangle";if("polygon"===t){var n=e.pstyle("shape-polygon-points").value;return this.nodeShapes.makePolygon(n).name}return t}};e.exports=r},function(e,t,n){"use strict";var r={registerCalculationListeners:function(){var e=this.cy,t=e.collection(),n=this,r=function(e,n){var r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];t.merge(e);for(var i=0;i=e.desktopTapThreshold2}var C=n(i);b&&(e.hoverData.tapholdCancelled=!0),s=!0,t(v,["mousemove","vmousemove","tapdrag"],i,{position:{x:p[0],y:p[1]}});var _=function(){e.data.bgActivePosistion=void 0,e.hoverData.selecting||l.emit("boxstart"),m[4]=1,e.hoverData.selecting=!0,e.redrawHint("select",!0),e.redraw()};if(3===e.hoverData.which){if(b){var O={originalEvent:i,type:"cxtdrag",position:{x:p[0],y:p[1]}};x?x.emit(O):l.emit(O),e.hoverData.cxtDragged=!0,e.hoverData.cxtOver&&v===e.hoverData.cxtOver||(e.hoverData.cxtOver&&e.hoverData.cxtOver.emit({originalEvent:i,type:"cxtdragout",position:{x:p[0],y:p[1]}}),e.hoverData.cxtOver=v,v&&v.emit({originalEvent:i,type:"cxtdragover",position:{x:p[0],y:p[1]}}))}}else if(e.hoverData.dragging){if(s=!0,l.panningEnabled()&&l.userPanningEnabled()){var T;if(e.hoverData.justStartedPan){var P=e.hoverData.mdownPos;T={x:(p[0]-P[0])*c,y:(p[1]-P[1])*c},e.hoverData.justStartedPan=!1}else T={x:w[0]*c,y:w[1]*c};l.panBy(T),e.hoverData.dragged=!0}p=e.projectIntoViewport(i.clientX,i.clientY)}else if(1!=m[4]||null!=x&&!x.isEdge()){if(x&&x.isEdge()&&x.active()&&x.unactivate(),x&&x.grabbed()||v==y||(y&&t(y,["mouseout","tapdragout"],i,{position:{x:p[0],y:p[1]}}),v&&t(v,["mouseover","tapdragover"],i,{position:{x:p[0],y:p[1]}}),e.hoverData.last=v),x)if(b){if(l.boxSelectionEnabled()&&C)x&&x.grabbed()&&(f(k),x.emit("free")),_();else if(x&&x.grabbed()&&e.nodeIsDraggable(x)){var D=!e.dragData.didDrag;D&&e.redrawHint("eles",!0),e.dragData.didDrag=!0;var R=[];e.hoverData.draggingEles||u(l.collection(k),{inDragLayer:!0});for(var I=0;I0&&e.redrawHint("eles",!0),e.dragData.possibleDragElements=l=[]),t(s,["mouseup","tapend","vmouseup"],r,{position:{x:o[0],y:o[1]}}),e.dragData.didDrag||e.hoverData.dragged||e.hoverData.selecting||e.hoverData.isOverThresholdDrag||t(c,["click","tap","vclick"],r,{position:{x:o[0],y:o[1]}}),s!=c||e.dragData.didDrag||e.hoverData.selecting||null!=s&&s._private.selectable&&(e.hoverData.dragging||("additive"===i.selectionType()||u?s.selected()?s.unselect():s.select():u||(i.$(":selected").unmerge(s).unselect(),s.select())),e.redrawHint("eles",!0)),e.hoverData.selecting){var h=i.collection(e.getAllInBox(a[0],a[1],a[2],a[3]));e.redrawHint("select",!0),h.length>0&&e.redrawHint("eles",!0),i.emit("boxend");var g=function(e){return e.selectable()&&!e.selected()};"additive"===i.selectionType()||u||i.$(":selected").unmerge(h).unselect(),h.emit("box").stdFilter(g).select().emit("boxselect"),e.redraw()}if(e.hoverData.dragging&&(e.hoverData.dragging=!1,e.redrawHint("select",!0),e.redrawHint("eles",!0),e.redraw()),!a[4]){e.redrawHint("drag",!0),e.redrawHint("eles",!0);var m=c&&c.grabbed();f(l),m&&c.emit("free")}}a[4]=0,e.hoverData.down=null,e.hoverData.cxtStarted=!1,e.hoverData.draggingEles=!1,e.hoverData.selecting=!1,e.hoverData.isOverThresholdDrag=!1,e.dragData.didDrag=!1,e.hoverData.dragged=!1,e.hoverData.dragDelta=[],e.hoverData.mdownPos=null,e.hoverData.mdownGPos=null}}),!1),e.registerBinding(e.container,"wheel",(function(t){if(!e.scrollingPage){var n,r=e.cy,i=e.projectIntoViewport(t.clientX,t.clientY),o=[i[0]*r.zoom()+r.pan().x,i[1]*r.zoom()+r.pan().y];e.hoverData.draggingEles||e.hoverData.dragging||e.hoverData.cxtStarted||0!==e.selection[4]?t.preventDefault():r.panningEnabled()&&r.userPanningEnabled()&&r.zoomingEnabled()&&r.userZoomingEnabled()&&(t.preventDefault(),e.data.wheelZooming=!0,clearTimeout(e.data.wheelTimeout),e.data.wheelTimeout=setTimeout((function(){e.data.wheelZooming=!1,e.redrawHint("eles",!0),e.redraw()}),150),n=null!=t.deltaY?t.deltaY/-250:null!=t.wheelDeltaY?t.wheelDeltaY/1e3:t.wheelDelta/1e3,n*=e.wheelSensitivity,1===t.deltaMode&&(n*=33),r.zoom({level:r.zoom()*Math.pow(10,n),renderedPosition:{x:o[0],y:o[1]}}))}}),!0),e.registerBinding(window,"scroll",(function(t){e.scrollingPage=!0,clearTimeout(e.scrollingPageTimeout),e.scrollingPageTimeout=setTimeout((function(){e.scrollingPage=!1}),250)}),!0),e.registerBinding(e.container,"mouseout",(function(t){var n=e.projectIntoViewport(t.clientX,t.clientY);e.cy.emit({originalEvent:t,type:"mouseout",position:{x:n[0],y:n[1]}})}),!1),e.registerBinding(e.container,"mouseover",(function(t){var n=e.projectIntoViewport(t.clientX,t.clientY);e.cy.emit({originalEvent:t,type:"mouseover",position:{x:n[0],y:n[1]}})}),!1);var T,P,D,R,I=function(e,t,n,r){return Math.sqrt((n-e)*(n-e)+(r-t)*(r-t))},N=function(e,t,n,r){return(n-e)*(n-e)+(r-t)*(r-t)};if(e.registerBinding(e.container,"touchstart",T=function(n){if(j(n)){e.touchData.capture=!0,e.data.bgActivePosistion=void 0;var r=e.cy,i=e.touchData.now,o=e.touchData.earlier;if(n.touches[0]){var a=e.projectIntoViewport(n.touches[0].clientX,n.touches[0].clientY);i[0]=a[0],i[1]=a[1]}if(n.touches[1]&&(a=e.projectIntoViewport(n.touches[1].clientX,n.touches[1].clientY),i[2]=a[0],i[3]=a[1]),n.touches[2]&&(a=e.projectIntoViewport(n.touches[2].clientX,n.touches[2].clientY),i[4]=a[0],i[5]=a[1]),n.touches[1]){f(e.dragData.touchDragEles);var s=e.findContainerClientCoords();S=s[0],$=s[1],C=s[2],_=s[3],v=n.touches[0].clientX-S,b=n.touches[0].clientY-$,y=n.touches[1].clientX-S,x=n.touches[1].clientY-$,O=0<=v&&v<=C&&0<=y&&y<=C&&0<=b&&b<=_&&0<=x&&x<=_;var c=r.pan(),p=r.zoom();if(w=I(v,b,y,x),k=N(v,b,y,x),E=[((A=[(v+y)/2,(b+x)/2])[0]-c.x)/p,(A[1]-c.y)/p],k<4e4&&!n.touches[2]){var h=e.findNearestElement(i[0],i[1],!0,!0),g=e.findNearestElement(i[2],i[3],!0,!0);return h&&h.isNode()?(h.activate().emit({originalEvent:n,type:"cxttapstart",position:{x:i[0],y:i[1]}}),e.touchData.start=h):g&&g.isNode()?(g.activate().emit({originalEvent:n,type:"cxttapstart",position:{x:i[0],y:i[1]}}),e.touchData.start=g):r.emit({originalEvent:n,type:"cxttapstart",position:{x:i[0],y:i[1]}}),e.touchData.start&&(e.touchData.start._private.grabbed=!1),e.touchData.cxt=!0,e.touchData.cxtDragged=!1,e.data.bgActivePosistion=void 0,void e.redraw()}}if(n.touches[2]);else if(n.touches[1]);else if(n.touches[0]){var m=e.findNearestElements(i[0],i[1],!0,!0),T=m[0];if(null!=T&&(T.activate(),e.touchData.start=T,e.touchData.starts=m,e.nodeIsGrabbable(T))){var P=e.dragData.touchDragEles=[],D=null;e.redrawHint("eles",!0),e.redrawHint("drag",!0),T.selected()?(D=r.$((function(t){return t.selected()&&e.nodeIsGrabbable(t)})),u(D,{addToList:P})):d(T,{addToList:P}),l(T);var R=function(e){return{originalEvent:n,type:e,position:{x:i[0],y:i[1]}}};T.emit(R("grabon")),D?D.forEach((function(e){e.emit(R("grab"))})):T.emit(R("grab"))}t(T,["touchstart","tapstart","vmousedown"],n,{position:{x:i[0],y:i[1]}}),null==T&&(e.data.bgActivePosistion={x:a[0],y:a[1]},e.redrawHint("select",!0),e.redraw()),e.touchData.singleTouchMoved=!1,e.touchData.singleTouchStartTime=+new Date,clearTimeout(e.touchData.tapholdTimeout),e.touchData.tapholdTimeout=setTimeout((function(){!1!==e.touchData.singleTouchMoved||e.pinching||e.touchData.selecting||(t(e.touchData.start,["taphold"],n,{position:{x:i[0],y:i[1]}}),e.touchData.start||r.$(":selected").unselect())}),e.tapholdDuration)}if(n.touches.length>=1){for(var M=e.touchData.startPosition=[],z=0;z=e.touchTapThreshold2}if(i&&e.touchData.cxt){n.preventDefault();var D=n.touches[0].clientX-S,R=n.touches[0].clientY-$,M=n.touches[1].clientX-S,z=n.touches[1].clientY-$,L=N(D,R,M,z);if(L/k>=2.25||L>=22500){e.touchData.cxt=!1,e.data.bgActivePosistion=void 0,e.redrawHint("select",!0);var B={originalEvent:n,type:"cxttapend",position:{x:c[0],y:c[1]}};e.touchData.start?(e.touchData.start.unactivate().emit(B),e.touchData.start=null):l.emit(B)}}if(i&&e.touchData.cxt){B={originalEvent:n,type:"cxtdrag",position:{x:c[0],y:c[1]}},e.data.bgActivePosistion=void 0,e.redrawHint("select",!0),e.touchData.start?e.touchData.start.emit(B):l.emit(B),e.touchData.start&&(e.touchData.start._private.grabbed=!1),e.touchData.cxtDragged=!0;var F=e.findNearestElement(c[0],c[1],!0,!0);e.touchData.cxtOver&&F===e.touchData.cxtOver||(e.touchData.cxtOver&&e.touchData.cxtOver.emit({originalEvent:n,type:"cxtdragout",position:{x:c[0],y:c[1]}}),e.touchData.cxtOver=F,F&&F.emit({originalEvent:n,type:"cxtdragover",position:{x:c[0],y:c[1]}}))}else if(i&&n.touches[2]&&l.boxSelectionEnabled())n.preventDefault(),e.data.bgActivePosistion=void 0,this.lastThreeTouch=+new Date,e.touchData.selecting||l.emit("boxstart"),e.touchData.selecting=!0,e.redrawHint("select",!0),s&&0!==s.length&&void 0!==s[0]?(s[2]=(c[0]+c[2]+c[4])/3,s[3]=(c[1]+c[3]+c[5])/3):(s[0]=(c[0]+c[2]+c[4])/3,s[1]=(c[1]+c[3]+c[5])/3,s[2]=(c[0]+c[2]+c[4])/3+1,s[3]=(c[1]+c[3]+c[5])/3+1),s[4]=1,e.touchData.selecting=!0,e.redraw();else if(i&&n.touches[1]&&l.zoomingEnabled()&&l.panningEnabled()&&l.userZoomingEnabled()&&l.userPanningEnabled()){if(n.preventDefault(),e.data.bgActivePosistion=void 0,e.redrawHint("select",!0),ee=e.dragData.touchDragEles){e.redrawHint("drag",!0);for(var q=0;q0)return h[0]}return null},p=Object.keys(d),h=0;h0?f:r.roundRectangleIntersectLine(o,a,e,t,n,i,s)},checkPoint:function(e,t,n,i,o,a,s){var l=r.getRoundRectangleRadius(i,o),c=2*l;if(r.pointInsidePolygon(e,t,this.points,a,s,i,o-c,[0,-1],n))return!0;if(r.pointInsidePolygon(e,t,this.points,a,s,i-c,o,[0,-1],n))return!0;var u=i/2+2*n,d=o/2+2*n,f=[a-u,s-d,a-u,s,a+u,s,a+u,s-d];return!!r.pointInsidePolygonPoints(e,t,f)||!!r.checkInEllipse(e,t,c,c,a+i/2-l,s+o/2-l,n)||!!r.checkInEllipse(e,t,c,c,a-i/2+l,s+o/2-l,n)}}},registerNodeShapes:function(){var e=this.nodeShapes={},t=this;this.generateEllipse(),this.generatePolygon("triangle",r.generateUnitNgonPointsFitToSquare(3,0)),this.generatePolygon("rectangle",r.generateUnitNgonPointsFitToSquare(4,0)),e.square=e.rectangle,this.generateRoundRectangle(),this.generateCutRectangle(),this.generateBarrel(),this.generateBottomRoundrectangle(),this.generatePolygon("diamond",[0,1,1,0,0,-1,-1,0]),this.generatePolygon("pentagon",r.generateUnitNgonPointsFitToSquare(5,0)),this.generatePolygon("hexagon",r.generateUnitNgonPointsFitToSquare(6,0)),this.generatePolygon("heptagon",r.generateUnitNgonPointsFitToSquare(7,0)),this.generatePolygon("octagon",r.generateUnitNgonPointsFitToSquare(8,0));var n=new Array(20),i=r.generateUnitNgonPoints(5,0),o=r.generateUnitNgonPoints(5,Math.PI/5),a=.5*(3-Math.sqrt(5));a*=1.57;for(var s=0;s0&&t.data.lyrTxrCache.invalidateElements(n)}))}l.CANVAS_LAYERS=3,l.SELECT_BOX=0,l.DRAG=1,l.NODE=2,l.BUFFER_COUNT=3,l.TEXTURE_BUFFER=0,l.MOTIONBLUR_BUFFER_NODE=1,l.MOTIONBLUR_BUFFER_DRAG=2,l.redrawHint=function(e,t){var n=this;switch(e){case"eles":n.data.canvasNeedsRedraw[l.NODE]=t;break;case"drag":n.data.canvasNeedsRedraw[l.DRAG]=t;break;case"select":n.data.canvasNeedsRedraw[l.SELECT_BOX]=t}};var u="undefined"!=typeof Path2D;l.path2dEnabled=function(e){if(void 0===e)return this.pathsEnabled;this.pathsEnabled=!!e},l.usePaths=function(){return u&&this.pathsEnabled},[n(126),n(127),n(128),n(129),n(130),n(131),n(132),n(133),n(134),n(135)].forEach((function(e){r.extend(l,e)})),e.exports=s},function(e,t,n){"use strict";var r=n(2),i=n(1),o=n(9),a=n(19),s={dequeue:"dequeue",downscale:"downscale",highQuality:"highQuality"},l=function(e){this.renderer=e,this.onDequeues=[],this.setupDequeueing()},c=l.prototype;c.reasons=s,c.getTextureQueue=function(e){return this.eleImgCaches=this.eleImgCaches||{},this.eleImgCaches[e]=this.eleImgCaches[e]||[]},c.getRetiredTextureQueue=function(e){var t=this.eleImgCaches.retired=this.eleImgCaches.retired||{};return t[e]=t[e]||[]},c.getElementQueue=function(){return this.eleCacheQueue=this.eleCacheQueue||new o((function(e,t){return t.reqs-e.reqs}))},c.getElementIdToQueue=function(){return this.eleIdToCacheQueue=this.eleIdToCacheQueue||{}},c.getElement=function(e,t,n,i,o){var a=this,l=this.renderer,c=e._private.rscratch,u=l.cy.zoom();if(0===t.w||0===t.h||!e.visible())return null;if(null==i&&(i=Math.ceil(r.log2(u*n))),i<-4)i=-4;else if(u>=3.99||i>2)return null;var d,f=Math.pow(2,i),p=t.h*f,h=t.w*f,g=c.imgCaches=c.imgCaches||{},m=g[i];if(m)return m;if(d=p<=25?25:p<=50?50:50*Math.ceil(p/50),p>1024||h>1024||e.isEdge()||e.isParent())return null;var v=a.getTextureQueue(d),b=v[v.length-2],y=function(){return a.recycleTexture(d,h)||a.addTexture(d,h)};b||(b=v[v.length-1]),b||(b=y()),b.width-b.usedWidthi;$--)C=a.getElement(e,t,n,$,s.downscale);_()}else{var O;if(!A&&!E&&!S)for($=i-1;$>=-4;$--){var j;if(j=g[$]){O=j;break}}if(k(O))return a.queueElement(e,i),O;b.context.translate(b.usedWidth,0),b.context.scale(f,f),l.drawElement(b.context,e,t,w),b.context.scale(1/f,1/f),b.context.translate(-b.usedWidth,0)}return m=g[i]={ele:e,x:b.usedWidth,texture:b,level:i,scale:f,width:h,height:p,scaledLabelShown:w},b.usedWidth+=Math.ceil(h+8),b.eleCaches.push(m),a.checkTextureFullness(b),m},c.invalidateElement=function(e){var t=e._private.rscratch.imgCaches;if(t)for(var n=-4;n<=2;n++){var r=t[n];if(r){var o=r.texture;o.invalidatedWidth+=r.width,t[n]=null,i.removeFromArray(o.eleCaches,r),this.removeFromQueue(e),this.checkTextureUtility(o)}}},c.checkTextureUtility=function(e){e.invalidatedWidth>=.5*e.width&&this.retireTexture(e)},c.checkTextureFullness=function(e){var t=this.getTextureQueue(e.height);e.usedWidth/e.width>.8&&e.fullnessChecks>=10?i.removeFromArray(t,e):e.fullnessChecks++},c.retireTexture=function(e){var t=e.height,n=this.getTextureQueue(t);i.removeFromArray(n,e),e.retired=!0;for(var r=e.eleCaches,o=0;o=t)return a.retired=!1,a.usedWidth=0,a.invalidatedWidth=0,a.fullnessChecks=0,i.clearArray(a.eleCaches),a.context.setTransform(1,0,0,1,0,0),a.context.clearRect(0,0,a.width,a.height),i.removeFromArray(r,a),n.push(a),a}},c.queueElement=function(e,t){var n=this.getElementQueue(),r=this.getElementIdToQueue(),i=e.id(),o=r[i];if(o)o.level=Math.max(o.level,t),o.reqs++,n.updateItem(o);else{var a={ele:e,level:t,reqs:1};n.push(a),r[i]=a}},c.dequeue=function(e){for(var t=this.getElementQueue(),n=this.getElementIdToQueue(),r=[],i=0;i<1&&t.size()>0;i++){var o=t.pop(),a=o.ele;if(null==a._private.rscratch.imgCaches[o.level]){n[a.id()]=null,r.push(o);var l=a.boundingBox();this.getElement(a,l,e,o.level,s.dequeue)}}return r},c.removeFromQueue=function(e){var t=this.getElementQueue(),n=this.getElementIdToQueue(),r=n[e.id()];null!=r&&(r.reqs=i.MAX_INT,t.updateItem(r),t.pop(),n[e.id()]=null)},c.onDequeue=function(e){this.onDequeues.push(e)},c.offDequeue=function(e){i.removeFromArray(this.onDequeues,e)},c.setupDequeueing=a.setupDequeueing({deqRedrawThreshold:100,deqCost:.15,deqAvgCost:.1,deqNoDrawCost:.9,deqFastCost:.9,deq:function(e,t,n){return e.dequeue(t,n)},onDeqd:function(e,t){for(var n=0;n=3.99||n>2)return null;o.validateLayersElesOrdering(n,e);var l,c,u=o.layersByLevel,d=Math.pow(2,n),f=u[n]=u[n]||[];if(o.levelIsComplete(n,e))return f;!function(){var t=function(t){if(o.validateLayersElesOrdering(t,e),o.levelIsComplete(t,e))return c=u[t],!0},i=function(e){if(!c)for(var r=n+e;-4<=r&&r<=2&&!t(r);r+=e);};i(1),i(-1);for(var a=f.length-1;a>=0;a--){var s=f[a];s.invalid&&r.removeFromArray(f,s)}}();var p=function(t){var r=(t=t||{}).after;if(function(){if(!l){l=i.makeBoundingBox();for(var t=0;t16e6)return null;var a=o.makeLayer(l,n);if(null!=r){var s=f.indexOf(r)+1;f.splice(s,0,a)}else(void 0===t.insert||t.insert)&&f.unshift(a);return a};if(o.skipping&&!s)return null;for(var h=null,g=e.length/1,m=!s,v=0;v=g||!i.boundingBoxInBoundingBox(h.bb,b.boundingBox()))&&!(h=p({insert:!0,after:h})))return null;c||m?o.queueLayer(h,b):o.drawEleInLayer(h,b,n,t),h.eles.push(b),x[n]=h}}return c||(m?null:f)},c.getEleLevelForLayerLevel=function(e,t){return e},c.drawEleInLayer=function(e,t,n,r){var i=this.renderer,o=e.context,a=t.boundingBox();if(0!==a.w&&0!==a.h&&t.visible()){var s=this.eleTxrCache,l=s.reasons.highQuality;n=this.getEleLevelForLayerLevel(n,r);var c=s.getElement(t,a,null,n,l);c?(f(o,!1),o.drawImage(c.texture.canvas,c.x,0,c.width,c.height,a.x1,a.y1,a.w,a.h),f(o,!0)):i.drawElement(o,t)}},c.levelIsComplete=function(e,t){var n=this.layersByLevel[e];if(!n||0===n.length)return!1;for(var r=0,i=0;i0)return!1;if(o.invalid)return!1;r+=o.eles.length}return r===t.length},c.validateLayersElesOrdering=function(e,t){var n=this.layersByLevel[e];if(n)for(var r=0;r0){e=!0;break}}return e},c.invalidateElements=function(e){var t=this;t.lastInvalidationTime=r.performanceNow(),0!==e.length&&t.haveLayers()&&t.updateElementsInLayers(e,(function(e,n,r){t.invalidateLayer(e)}))},c.invalidateLayer=function(e){if(this.lastInvalidationTime=r.performanceNow(),!e.invalid){var t=e.level,n=e.eles,i=this.layersByLevel[t];r.removeFromArray(i,e),e.elesQueue=[],e.invalid=!0,e.replacement&&(e.replacement.invalid=!0);for(var o=0;o0&&void 0!==arguments[0]?arguments[0]:f;e.lineWidth=h,e.lineCap="butt",i.strokeStyle(e,d[0],d[1],d[2],n),i.drawEdgePath(t,e,o.allpts,p)},m=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:f;i.drawArrowheads(e,t,n)};if(e.lineJoin="round","yes"===t.pstyle("ghost").value){var v=t.pstyle("ghost-offset-x").pfValue,b=t.pstyle("ghost-offset-y").pfValue,y=t.pstyle("ghost-opacity").value,x=f*y;e.translate(v,b),g(x),m(x),e.translate(-v,-b)}g(),m(),function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:c;e.lineWidth=l,"self"!==o.edgeType||a?e.lineCap="round":e.lineCap="butt",i.strokeStyle(e,u[0],u[1],u[2],n),i.drawEdgePath(t,e,o.allpts,"solid")}(),i.drawElementText(e,t,r),n&&e.translate(s.x1,s.y1)}},drawEdgePath:function(e,t,n,r){var i=e._private.rscratch,o=t,a=void 0,s=!1,l=this.usePaths();if(l){var c=n.join("$");i.pathCacheKey&&i.pathCacheKey===c?(a=t=i.pathCache,s=!0):(a=t=new Path2D,i.pathCacheKey=c,i.pathCache=a)}if(o.setLineDash)switch(r){case"dotted":o.setLineDash([1,1]);break;case"dashed":o.setLineDash([6,3]);break;case"solid":o.setLineDash([])}if(!s&&!i.badLine)switch(t.beginPath&&t.beginPath(),t.moveTo(n[0],n[1]),i.edgeType){case"bezier":case"self":case"compound":case"multibezier":if(e.hasClass("horizontal")){var u=n[4],d=n[5],f=(n[0]+n[4])/2;t.lineTo(n[0]+10,n[1]),t.bezierCurveTo(f,n[1],f,n[5],n[4]-10,n[5]),t.lineTo(u,d)}else if(e.hasClass("vertical")){var p=n[4],h=n[5],g=(n[1]+n[5])/2;t.bezierCurveTo(n[0],g,n[4],g,n[4],n[5]-10),t.lineTo(p,h)}else for(var m=2;m+30||j>0&&O>0){var P=f-T;switch(k){case"left":P-=m;break;case"center":P-=m/2}var D=p-v-T,R=m+2*T,I=v+2*T;if(_>0){var N=e.fillStyle,M=t.pstyle("text-background-color").value;e.fillStyle="rgba("+M[0]+","+M[1]+","+M[2]+","+_*o+")","roundrectangle"==t.pstyle("text-background-shape").strValue?(s=P,l=D,c=R,u=I,d=(d=2)||5,(a=e).beginPath(),a.moveTo(s+d,l),a.lineTo(s+c-d,l),a.quadraticCurveTo(s+c,l,s+c,l+d),a.lineTo(s+c,l+u-d),a.quadraticCurveTo(s+c,l+u,s+c-d,l+u),a.lineTo(s+d,l+u),a.quadraticCurveTo(s,l+u,s,l+u-d),a.lineTo(s,l+d),a.quadraticCurveTo(s,l,s+d,l),a.closePath(),a.fill()):e.fillRect(P,D,R,I),e.fillStyle=N}if(j>0&&O>0){var z=e.strokeStyle,L=e.lineWidth,B=t.pstyle("text-border-color").value,F=t.pstyle("text-border-style").value;if(e.strokeStyle="rgba("+B[0]+","+B[1]+","+B[2]+","+O*o+")",e.lineWidth=j,e.setLineDash)switch(F){case"dotted":e.setLineDash([1,1]);break;case"dashed":e.setLineDash([4,2]);break;case"double":e.lineWidth=j/4,e.setLineDash([]);break;case"solid":e.setLineDash([])}if(e.strokeRect(P,D,R,I),"double"===F){var q=j/2;e.strokeRect(P+q,D+q,R-2*q,I-2*q)}e.setLineDash&&e.setLineDash([]),e.lineWidth=L,e.strokeStyle=z}}var V=2*t.pstyle("text-outline-width").pfValue;if(V>0&&(e.lineWidth=V),"wrap"===t.pstyle("text-wrap").value){var U=r.getPrefixedProperty(i,"labelWrapCachedLines",n),H=v/U.length;switch(A){case"top":p-=(U.length-1)*H;break;case"center":case"bottom":p-=(U.length-1)*H}for(var G=0;G0&&e.strokeText(U[G],f,p),e.fillText(U[G],f,p),p+=H}else V>0&&e.strokeText(h,f,p),e.fillText(h,f,p);0!==E&&(e.rotate(-E),e.translate(-$,-C))}}},e.exports=o},function(e,t,n){"use strict";var r=n(0),i={drawNode:function(e,t,n,i){var o,a,s=this,l=t._private,c=l.rscratch,u=t.position();if(r.number(u.x)&&r.number(u.y)&&t.visible()){var d=t.effectiveOpacity(),f=s.usePaths(),p=void 0,h=!1,g=t.padding();o=t.width()+2*g,a=t.height()+2*g;var m=void 0;n&&(m=n,e.translate(-m.x1,-m.y1));for(var v=t.pstyle("background-image").value,b=new Array(v.length),y=new Array(v.length),x=0,w=0;w0&&void 0!==arguments[0]?arguments[0]:C;s.fillStyle(e,$[0],$[1],$[2],t)},P=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:j;s.strokeStyle(e,_[0],_[1],_[2],t)},D=t.pstyle("shape").strValue,R=t.pstyle("shape-polygon-points").pfValue;if(f){var I=D+"$"+o+"$"+a+("polygon"===D?"$"+R.join("$"):"");e.translate(u.x,u.y),c.pathCacheKey===I?(p=c.pathCache,h=!0):(p=new Path2D,c.pathCacheKey=I,c.pathCache=p)}var N,M,z,L=function(){if(!h){var n=u;f&&(n={x:0,y:0}),s.nodeShapes[s.getNodeShape(t)].draw(p||e,n.x,n.y,o,a)}f?e.fill(p):e.fill()},B=function(){for(var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:d,r=l.backgrounding,i=0,o=0;o0&&void 0!==arguments[0]&&arguments[0],r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:d;s.hasPie(t)&&(s.drawPie(e,t,r),n&&(f||s.nodeShapes[s.getNodeShape(t)].draw(e,u.x,u.y,o,a)))},q=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:d,n=(E>0?E:-E)*t,r=E>0?0:255;0!==E&&(s.fillStyle(e,r,r,r,n),f?e.fill(p):e.fill())},V=function(){if(S>0){if(e.lineWidth=S,e.lineCap="butt",e.setLineDash)switch(O){case"dotted":e.setLineDash([1,1]);break;case"dashed":e.setLineDash([4,2]);break;case"solid":case"double":e.setLineDash([])}if(f?e.stroke(p):e.stroke(),"double"===O){e.lineWidth=S/3;var t=e.globalCompositeOperation;e.globalCompositeOperation="destination-out",f?e.stroke(p):e.stroke(),e.globalCompositeOperation=t}e.setLineDash&&e.setLineDash([])}};if("yes"===t.pstyle("ghost").value){var U=t.pstyle("ghost-offset-x").pfValue,H=t.pstyle("ghost-offset-y").pfValue,G=t.pstyle("ghost-opacity").value,W=G*d;e.translate(U,H),T(G*C),L(),B(W),F(0!==E||0!==S),q(W),P(G*j),V(),e.translate(-U,-H)}T(),L(),B(),F(0!==E||0!==S),q(),P(),V(),f&&e.translate(-u.x,-u.y),s.drawElementText(e,t,i),N=t.pstyle("overlay-padding").pfValue,M=t.pstyle("overlay-opacity").value,z=t.pstyle("overlay-color").value,M>0&&(s.fillStyle(e,z[0],z[1],z[2],M),s.nodeShapes.roundrectangle.draw(e,u.x,u.y,o+2*N,a+2*N),e.fill()),n&&e.translate(m.x1,m.y1)}},hasPie:function(e){return(e=e[0])._private.hasPie},drawPie:function(e,t,n,r){t=t[0],r=r||t.position();var i=t.cy().style(),o=t.pstyle("pie-size"),a=r.x,s=r.y,l=t.width(),c=t.height(),u=Math.min(l,c)/2,d=0;this.usePaths()&&(a=0,s=0),"%"===o.units?u*=o.pfValue:void 0!==o.pfValue&&(u=o.pfValue/2);for(var f=1;f<=i.pieBackgroundN;f++){var p=t.pstyle("pie-"+f+"-background-size").value,h=t.pstyle("pie-"+f+"-background-color").value,g=t.pstyle("pie-"+f+"-background-opacity").value*n,m=p/100;m+d>1&&(m=1-d);var v=1.5*Math.PI+2*Math.PI*d,b=v+2*Math.PI*m;0===p||d>=1||d+m>1||(e.beginPath(),e.moveTo(a,s),e.arc(a,s,u,v,b),e.closePath(),this.fillStyle(e,h[0],h[1],h[2],g),e.fill(),d+=m)}}};e.exports=i},function(e,t,n){"use strict";var r={},i=n(1);r.getPixelRatio=function(){var e=this.data.contexts[0];if(null!=this.forcedPixelRatio)return this.forcedPixelRatio;var t=e.backingStorePixelRatio||e.webkitBackingStorePixelRatio||e.mozBackingStorePixelRatio||e.msBackingStorePixelRatio||e.oBackingStorePixelRatio||e.backingStorePixelRatio||1;return(window.devicePixelRatio||1)/t},r.paintCache=function(e){for(var t,n=this.paintCaches=this.paintCaches||[],r=!0,i=0;is.minMbLowQualFrames&&(s.motionBlurPxRatio=s.mbPxRBlurry)),s.clearingMotionBlur&&(s.motionBlurPxRatio=1),s.textureDrawLastFrame&&!f&&(d[s.NODE]=!0,d[s.SELECT_BOX]=!0);var y=c.style()._private.coreStyle,x=c.zoom(),w=void 0!==o?o:x,k=c.pan(),A={x:k.x,y:k.y},E={zoom:x,pan:{x:k.x,y:k.y}},S=s.prevViewport;void 0===S||E.zoom!==S.zoom||E.pan.x!==S.pan.x||E.pan.y!==S.pan.y||m&&!g||(s.motionBlurPxRatio=1),a&&(A=a),w*=l,A.x*=l,A.y*=l;var $=s.getCachedZSortedEles();function C(e,t,n,r,i){var o=e.globalCompositeOperation;e.globalCompositeOperation="destination-out",s.fillStyle(e,255,255,255,s.motionBlurTransparency),e.fillRect(t,n,r,i),e.globalCompositeOperation=o}function _(e,r){var i,l,c,d;s.clearingMotionBlur||e!==u.bufferContexts[s.MOTIONBLUR_BUFFER_NODE]&&e!==u.bufferContexts[s.MOTIONBLUR_BUFFER_DRAG]?(i=A,l=w,c=s.canvasWidth,d=s.canvasHeight):(i={x:k.x*h,y:k.y*h},l=x*h,c=s.canvasWidth*h,d=s.canvasHeight*h),e.setTransform(1,0,0,1,0,0),"motionBlur"===r?C(e,0,0,c,d):t||void 0!==r&&!r||e.clearRect(0,0,c,d),n||(e.translate(i.x,i.y),e.scale(l,l)),a&&e.translate(a.x,a.y),o&&e.scale(o,o)}if(f||(s.textureDrawLastFrame=!1),f){if(s.textureDrawLastFrame=!0,!s.textureCache){s.textureCache={},s.textureCache.bb=c.mutableElements().boundingBox(),s.textureCache.texture=s.data.bufferCanvases[s.TEXTURE_BUFFER];var O=s.data.bufferContexts[s.TEXTURE_BUFFER];O.setTransform(1,0,0,1,0,0),O.clearRect(0,0,s.canvasWidth*s.textureMult,s.canvasHeight*s.textureMult),s.render({forcedContext:O,drawOnlyNodeLayer:!0,forcedPxRatio:l*s.textureMult}),(E=s.textureCache.viewport={zoom:c.zoom(),pan:c.pan(),width:s.canvasWidth,height:s.canvasHeight}).mpan={x:(0-E.pan.x)/E.zoom,y:(0-E.pan.y)/E.zoom}}d[s.DRAG]=!1,d[s.NODE]=!1;var j=u.contexts[s.NODE],T=s.textureCache.texture;E=s.textureCache.viewport,s.textureCache.bb,j.setTransform(1,0,0,1,0,0),p?C(j,0,0,E.width,E.height):j.clearRect(0,0,E.width,E.height);var P=y["outside-texture-bg-color"].value,D=y["outside-texture-bg-opacity"].value;s.fillStyle(j,P[0],P[1],P[2],D),j.fillRect(0,0,E.width,E.height),x=c.zoom(),_(j,!1),j.clearRect(E.mpan.x,E.mpan.y,E.width/E.zoom/l,E.height/E.zoom/l),j.drawImage(T,E.mpan.x,E.mpan.y,E.width/E.zoom/l,E.height/E.zoom/l)}else s.textureOnViewport&&!t&&(s.textureCache=null);var R=c.extent(),I=s.pinching||s.hoverData.dragging||s.swipePanning||s.data.wheelZooming||s.hoverData.draggingEles,N=s.hideEdgesOnViewport&&I,M=[];if(M[s.NODE]=!d[s.NODE]&&p&&!s.clearedForMotionBlur[s.NODE]||s.clearingMotionBlur,M[s.NODE]&&(s.clearedForMotionBlur[s.NODE]=!0),M[s.DRAG]=!d[s.DRAG]&&p&&!s.clearedForMotionBlur[s.DRAG]||s.clearingMotionBlur,M[s.DRAG]&&(s.clearedForMotionBlur[s.DRAG]=!0),d[s.NODE]||n||r||M[s.NODE]){var z=p&&!M[s.NODE]&&1!==h;_(j=t||(z?s.data.bufferContexts[s.MOTIONBLUR_BUFFER_NODE]:u.contexts[s.NODE]),p&&!z?"motionBlur":void 0),N?s.drawCachedNodes(j,$.nondrag,l,R):s.drawLayeredElements(j,$.nondrag,l,R),s.debug&&s.drawDebugPoints(j,$.nondrag),n||p||(d[s.NODE]=!1)}if(!r&&(d[s.DRAG]||n||M[s.DRAG])&&(z=p&&!M[s.DRAG]&&1!==h,_(j=t||(z?s.data.bufferContexts[s.MOTIONBLUR_BUFFER_DRAG]:u.contexts[s.DRAG]),p&&!z?"motionBlur":void 0),N?s.drawCachedNodes(j,$.drag,l,R):s.drawCachedElements(j,$.drag,l,R),s.debug&&s.drawDebugPoints(j,$.drag),n||p||(d[s.DRAG]=!1)),s.showFps||!r&&d[s.SELECT_BOX]&&!n){if(_(j=t||u.contexts[s.SELECT_BOX]),1==s.selection[4]&&(s.hoverData.selecting||s.touchData.selecting)){x=s.cy.zoom();var L=y["selection-box-border-width"].value/x;j.lineWidth=L,j.fillStyle="rgba("+y["selection-box-color"].value[0]+","+y["selection-box-color"].value[1]+","+y["selection-box-color"].value[2]+","+y["selection-box-opacity"].value+")",j.fillRect(s.selection[0],s.selection[1],s.selection[2]-s.selection[0],s.selection[3]-s.selection[1]),L>0&&(j.strokeStyle="rgba("+y["selection-box-border-color"].value[0]+","+y["selection-box-border-color"].value[1]+","+y["selection-box-border-color"].value[2]+","+y["selection-box-opacity"].value+")",j.strokeRect(s.selection[0],s.selection[1],s.selection[2]-s.selection[0],s.selection[3]-s.selection[1]))}if(u.bgActivePosistion&&!s.hoverData.selecting){x=s.cy.zoom();var B=u.bgActivePosistion;j.fillStyle="rgba("+y["active-bg-color"].value[0]+","+y["active-bg-color"].value[1]+","+y["active-bg-color"].value[2]+","+y["active-bg-opacity"].value+")",j.beginPath(),j.arc(B.x,B.y,y["active-bg-size"].pfValue/x,0,2*Math.PI),j.fill()}var F=s.lastRedrawTime;if(s.showFps&&F){F=Math.round(F);var q=Math.round(1e3/F);j.setTransform(1,0,0,1,0,0),j.fillStyle="rgba(255, 0, 0, 0.75)",j.strokeStyle="rgba(255, 0, 0, 0.75)",j.lineWidth=1,j.fillText("1 frame = "+F+" ms = "+q+" fps",0,20),j.strokeRect(0,30,250,20),j.fillRect(0,30,250*Math.min(q/60,1),20)}n||(d[s.SELECT_BOX]=!1)}if(p&&1!==h){var V=u.contexts[s.NODE],U=s.data.bufferCanvases[s.MOTIONBLUR_BUFFER_NODE],H=u.contexts[s.DRAG],G=s.data.bufferCanvases[s.MOTIONBLUR_BUFFER_DRAG],W=function(e,t,n){e.setTransform(1,0,0,1,0,0),n||!b?e.clearRect(0,0,s.canvasWidth,s.canvasHeight):C(e,0,0,s.canvasWidth,s.canvasHeight);var r=h;e.drawImage(t,0,0,s.canvasWidth*r,s.canvasHeight*r,0,0,s.canvasWidth,s.canvasHeight)};(d[s.NODE]||M[s.NODE])&&(W(V,U,M[s.NODE]),d[s.NODE]=!1),(d[s.DRAG]||M[s.DRAG])&&(W(H,G,M[s.DRAG]),d[s.DRAG]=!1)}s.prevViewport=E,s.clearingMotionBlur&&(s.clearingMotionBlur=!1,s.motionBlurCleared=!0,s.motionBlur=!0),p&&(s.motionBlurTimeout=setTimeout((function(){s.motionBlurTimeout=null,s.clearedForMotionBlur[s.NODE]=!1,s.clearedForMotionBlur[s.DRAG]=!1,s.motionBlur=!1,s.clearingMotionBlur=!f,s.mbFrames=0,d[s.NODE]=!0,d[s.DRAG]=!0,s.redraw()}),100)),t||c.emit("render")},e.exports=r},function(e,t,n){"use strict";for(var r=n(2),i={drawPolygonPath:function(e,t,n,r,i,o){var a=r/2,s=i/2;e.beginPath&&e.beginPath(),e.moveTo(t+a*o[0],n+s*o[1]);for(var l=1;l0&&a>0){p.clearRect(0,0,o,a),p.globalCompositeOperation="source-over";var h=this.getCachedZSortedEles();if(e.full)p.translate(-n.x1*c,-n.y1*c),p.scale(c,c),this.drawElements(p,h),p.scale(1/c,1/c),p.translate(n.x1*c,n.y1*c);else{var g=t.pan(),m={x:g.x*c,y:g.y*c};c*=t.zoom(),p.translate(m.x,m.y),p.scale(c,c),this.drawElements(p,h),p.scale(1/c,1/c),p.translate(-m.x,-m.y)}e.bg&&(p.globalCompositeOperation="destination-over",p.fillStyle=e.bg,p.rect(0,0,o,a),p.fill())}return f},i.png=function(e){return a(e,this.bufferCanvasImage(e),"image/png")},i.jpg=function(e){return a(e,this.bufferCanvasImage(e),"image/jpeg")},e.exports=i},function(e,t,n){"use strict";var r={nodeShapeImpl:function(e,t,n,r,i,o,a){switch(e){case"ellipse":return this.drawEllipsePath(t,n,r,i,o);case"polygon":return this.drawPolygonPath(t,n,r,i,o,a);case"roundrectangle":return this.drawRoundRectanglePath(t,n,r,i,o);case"cutrectangle":return this.drawCutRectanglePath(t,n,r,i,o);case"bottomroundrectangle":return this.drawBottomRoundRectanglePath(t,n,r,i,o);case"barrel":return this.drawBarrelPath(t,n,r,i,o)}}};e.exports=r},function(e,t,n){"use strict";var r=n(0),i=n(1),o=n(18),a=function e(){if(!(this instanceof e))return new e;this.length=0},s=a.prototype;s.instanceString=function(){return"stylesheet"},s.selector=function(e){return this[this.length++]={selector:e,properties:[]},this},s.css=function(e,t){var n=this.length-1;if(r.string(e))this[n].properties.push({name:e,value:t});else if(r.plainObject(e))for(var a=e,s=0;s=0&&(e._idleTimeoutId=setTimeout((function(){e._onTimeout&&e._onTimeout()}),t))},n(239),t.setImmediate="undefined"!=typeof self&&self.setImmediate||void 0!==e&&e.setImmediate||this&&this.setImmediate,t.clearImmediate="undefined"!=typeof self&&self.clearImmediate||void 0!==e&&e.clearImmediate||this&&this.clearImmediate}).call(this,n(35))},function(e,t,n){(function(e,t){!function(e,n){"use strict";if(!e.setImmediate){var r,i,o,a,s,l=1,c={},u=!1,d=e.document,f=Object.getPrototypeOf&&Object.getPrototypeOf(e);f=f&&f.setTimeout?f:e,"[object process]"==={}.toString.call(e.process)?r=function(e){t.nextTick((function(){h(e)}))}:!function(){if(e.postMessage&&!e.importScripts){var t=!0,n=e.onmessage;return e.onmessage=function(){t=!1},e.postMessage("","*"),e.onmessage=n,t}}()?e.MessageChannel?((o=new MessageChannel).port1.onmessage=function(e){h(e.data)},r=function(e){o.port2.postMessage(e)}):d&&"onreadystatechange"in d.createElement("script")?(i=d.documentElement,r=function(e){var t=d.createElement("script");t.onreadystatechange=function(){h(e),t.onreadystatechange=null,i.removeChild(t),t=null},i.appendChild(t)}):r=function(e){setTimeout(h,0,e)}:(a="setImmediate$"+Math.random()+"$",s=function(t){t.source===e&&"string"==typeof t.data&&0===t.data.indexOf(a)&&h(+t.data.slice(a.length))},e.addEventListener?e.addEventListener("message",s,!1):e.attachEvent("onmessage",s),r=function(t){e.postMessage(a+t,"*")}),f.setImmediate=function(e){"function"!=typeof e&&(e=new Function(""+e));for(var t=new Array(arguments.length-1),n=0;n1)for(var n=1;n=t||n<0||m&&e-c>=o}function w(){var e=p();if(x(e))return k(e);s=setTimeout(w,function(e){var n=t-(e-l);return m?f(n,o-(e-c)):n}(e))}function k(e){return s=void 0,v&&r?b(e):(r=i=void 0,a)}function A(){var e=p(),n=x(e);if(r=arguments,i=this,l=e,n){if(void 0===s)return y(l);if(m)return s=setTimeout(w,t),b(l)}return void 0===s&&(s=setTimeout(w,t)),a}return t=g(t)||0,h(n)&&(u=!!n.leading,o=(m="maxWait"in n)?d(g(n.maxWait)||0,t):o,v="trailing"in n?!!n.trailing:v),A.cancel=function(){void 0!==s&&clearTimeout(s),c=0,r=l=i=s=void 0},A.flush=function(){return void 0===s?a:k(p())},A}}).call(this,n(35))},function(e,t,n){e.exports=n(243)},function(e,t,n){var r,i,o;(function(){var n,a,s,l,c,u,d,f,p,h,g,m,v,b,y;s=Math.floor,h=Math.min,a=function(e,t){return et?1:0},p=function(e,t,n,r,i){var o;if(null==n&&(n=0),null==i&&(i=a),n<0)throw new Error("lo must be non-negative");for(null==r&&(r=e.length);nn;0<=n?t++:t--)c.push(t);return c}.apply(this).reverse()).length;rg;0<=g?++u:--u)m.push(c(e,n));return m},b=function(e,t,n,r){var i,o,s;for(null==r&&(r=a),i=e[n];n>t&&r(i,o=e[s=n-1>>1])<0;)e[n]=o,n=s;return e[n]=i},y=function(e,t,n){var r,i,o,s,l;for(null==n&&(n=a),i=e.length,l=t,o=e[t],r=2*t+1;r'+e.content+"":s+=">"+e.content+"";var l=t(s);return l.data("selector",e.selector),l.data("on-click-function",e.onClickFunction),l.data("show",void 0===e.show||e.show),l}function y(){var e;l("active")&&(e=s.children(),t(e).each((function(){x(t(this))})),i.off("tapstart",n),s.remove(),c(s=void 0,void 0),c("active",!1),c("anyVisibleChild",!1))}function x(e){var n="string"==typeof e?t("#"+e):e,r=n.data("cy-context-menus-cxtfcn"),o=n.data("selector"),a=n.data("call-on-click-function"),s=n.data("cy-context-menus-cxtcorefcn");r&&i.off("cxttap",o,r),s&&i.off("cxttap",s),a&&n.off("click",a),n.remove()}"get"!==e&&(c("options",a=function(e,t){var n={};for(var r in e)n[r]=e[r];for(var r in t)n[r]=t[r];return n}(r,e)),l("active")&&y(),c("active",!0),o=u(a.contextMenuClasses),(s=t("
    ")).addClass("cy-context-menus-cxt-menu"),c("cxtMenu",s),t("body").append(s),s=s,g(a.menuItems),i.on("tapstart",n=function(){f(s),c("cxtMenuPosition",void 0),c("currentCyEvent",void 0)}),t(".cy-context-menus-cxt-menu").contextmenu((function(){return!1})));return function(e){return{isActive:function(){return l("active")},appendMenuItem:function(t){return m(t),e},appendMenuItems:function(t){return g(t),e},removeMenuItem:function(t){return x(t),e},setTrailingDivider:function(n,r){return function(e,n){var r=t("#"+e);n?r.addClass("cy-context-menus-divider"):r.removeClass("cy-context-menus-divider")}(n,r),e},insertBeforeMenuItem:function(t,n){return v(t,n),e},moveBeforeOtherMenuItem:function(n,r){return function(e,n){if(e!==n){var r=t("#"+e).detach(),i=t("#"+n);r.insertBefore(i)}}(n,r),e},disableMenuItem:function(n){return t("#"+n).attr("disabled",!0),e},enableMenuItem:function(n){return t("#"+n).attr("disabled",!1),e},hideMenuItem:function(n){return t("#"+n).data("show",!1),f(t("#"+n)),e},showMenuItem:function(n){return t("#"+n).data("show",!0),d(t("#"+n)),e},destroy:function(){return y(),e}}}(this)}))}};e.exports&&(e.exports=o),void 0===(r=function(){return o}.call(t,n,t,e))||(e.exports=r),"undefined"!=typeof cytoscape&&i&&o(cytoscape,i)}()},function(e,t,n){var r;r=function(e){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)n.d(r,i,function(t){return e[t]}.bind(null,i));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=0)}([function(e,t,n){var r=n(1),i=function(e){e&&e("layout","dagre",r)};"undefined"!=typeof cytoscape&&i(cytoscape),e.exports=i},function(e,t,n){function r(e){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var i=n(2),o=n(3),a=n(4);function s(e){this.options=o({},i,e)}s.prototype.run=function(){var e=this.options,t=e.cy,n=e.eles,i=function(e,t){return"function"==typeof t?t.apply(e,[e]):t},o=e.boundingBox||{x1:0,y1:0,w:t.width(),h:t.height()};void 0===o.x2&&(o.x2=o.x1+o.w),void 0===o.w&&(o.w=o.x2-o.x1),void 0===o.y2&&(o.y2=o.y1+o.h),void 0===o.h&&(o.h=o.y2-o.y1);var s=new a.graphlib.Graph({multigraph:!0,compound:!0}),l={},c=function(e,t){null!=t&&(l[e]=t)};c("nodesep",e.nodeSep),c("edgesep",e.edgeSep),c("ranksep",e.rankSep),c("rankdir",e.rankDir),c("ranker",e.ranker),s.setGraph(l),s.setDefaultEdgeLabel((function(){return{}})),s.setDefaultNodeLabel((function(){return{}}));for(var u=n.nodes(),d=0;d1?t-1:0),r=1;r-1}},function(e,t,n){var r=n(75);e.exports=function(e,t){var n=this.__data__,i=r(n,e);return i<0?(++this.size,n.push([e,t])):n[i][1]=t,this}},function(e,t,n){var r=n(74);e.exports=function(){this.__data__=new r,this.size=0}},function(e,t){e.exports=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}},function(e,t){e.exports=function(e){return this.__data__.get(e)}},function(e,t){e.exports=function(e){return this.__data__.has(e)}},function(e,t,n){var r=n(74),i=n(117),o=n(118);e.exports=function(e,t){var n=this.__data__;if(n instanceof r){var a=n.__data__;if(!i||a.length<199)return a.push([e,t]),this.size=++n.size,this;n=this.__data__=new o(a)}return n.set(e,t),this.size=n.size,this}},function(e,t,n){var r=n(64),i=n(262),o=n(23),a=n(151),s=/^\[object .+?Constructor\]$/,l=Function.prototype,c=Object.prototype,u=l.toString,d=c.hasOwnProperty,f=RegExp("^"+u.call(d).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");e.exports=function(e){return!(!o(e)||i(e))&&(r(e)?f:s).test(a(e))}},function(e,t,n){var r=n(58),i=Object.prototype,o=i.hasOwnProperty,a=i.toString,s=r?r.toStringTag:void 0;e.exports=function(e){var t=o.call(e,s),n=e[s];try{e[s]=void 0;var r=!0}catch(e){}var i=a.call(e);return r&&(t?e[s]=n:delete e[s]),i}},function(e,t){var n=Object.prototype.toString;e.exports=function(e){return n.call(e)}},function(e,t,n){var r,i=n(263),o=(r=/[^.]+$/.exec(i&&i.keys&&i.keys.IE_PROTO||""))?"Symbol(src)_1."+r:"";e.exports=function(e){return!!o&&o in e}},function(e,t,n){var r=n(29)["__core-js_shared__"];e.exports=r},function(e,t){e.exports=function(e,t){return null==e?void 0:e[t]}},function(e,t,n){var r=n(266),i=n(74),o=n(117);e.exports=function(){this.size=0,this.__data__={hash:new r,map:new(o||i),string:new r}}},function(e,t,n){var r=n(267),i=n(268),o=n(269),a=n(270),s=n(271);function l(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t0){if(++t>=800)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}},function(e,t,n){var r=n(173),i=n(340),o=n(344),a=n(174),s=n(345),l=n(129);e.exports=function(e,t,n){var c=-1,u=i,d=e.length,f=!0,p=[],h=p;if(n)f=!1,u=o;else if(d>=200){var g=t?null:s(e);if(g)return l(g);f=!1,u=a,h=new r}else h=t?[]:p;e:for(;++c-1}},function(e,t,n){var r=n(188),i=n(342),o=n(343);e.exports=function(e,t,n){return t==t?o(e,t,n):r(e,i,n)}},function(e,t){e.exports=function(e){return e!=e}},function(e,t){e.exports=function(e,t,n){for(var r=n-1,i=e.length;++r1||1===t.length&&e.hasEdge(t[0],t[0])}))}},function(e,t,n){var r=n(22);e.exports=function(e,t,n){return function(e,t,n){var r={},i=e.nodes();return i.forEach((function(e){r[e]={},r[e][e]={distance:0},i.forEach((function(t){e!==t&&(r[e][t]={distance:Number.POSITIVE_INFINITY})})),n(e).forEach((function(n){var i=n.v===e?n.w:n.v,o=t(n);r[e][i]={distance:o,predecessor:e}}))})),i.forEach((function(e){var t=r[e];i.forEach((function(n){var o=r[n];i.forEach((function(n){var r=o[e],i=t[n],a=o[n],s=r.distance+i.distance;s0;){if(n=l.removeMin(),r.has(s,n))a.setEdge(n,s[n]);else{if(u)throw new Error("Input graph is not connected: "+e);u=!0}e.nodeEdges(n).forEach(c)}return a}},function(e,t,n){"use strict";var r=n(11),i=n(399),o=n(402),a=n(403),s=n(20).normalizeRanks,l=n(405),c=n(20).removeEmptyRanks,u=n(406),d=n(407),f=n(408),p=n(409),h=n(418),g=n(20),m=n(28).Graph;e.exports=function(e,t){var n=t&&t.debugTiming?g.time:g.notime;n("layout",(function(){var t=n(" buildLayoutGraph",(function(){return function(e){var t=new m({multigraph:!0,compound:!0}),n=$(e.graph());return t.setGraph(r.merge({},b,S(n,v),r.pick(n,y))),r.forEach(e.nodes(),(function(n){var i=$(e.node(n));t.setNode(n,r.defaults(S(i,x),w)),t.setParent(n,e.parent(n))})),r.forEach(e.edges(),(function(n){var i=$(e.edge(n));t.setEdge(n,r.merge({},A,S(i,k),r.pick(i,E)))})),t}(e)}));n(" runLayout",(function(){!function(e,t){t(" makeSpaceForEdgeLabels",(function(){!function(e){var t=e.graph();t.ranksep/=2,r.forEach(e.edges(),(function(n){var r=e.edge(n);r.minlen*=2,"c"!==r.labelpos.toLowerCase()&&("TB"===t.rankdir||"BT"===t.rankdir?r.width+=r.labeloffset:r.height+=r.labeloffset)}))}(e)})),t(" removeSelfEdges",(function(){!function(e){r.forEach(e.edges(),(function(t){if(t.v===t.w){var n=e.node(t.v);n.selfEdges||(n.selfEdges=[]),n.selfEdges.push({e:t,label:e.edge(t)}),e.removeEdge(t)}}))}(e)})),t(" acyclic",(function(){i.run(e)})),t(" nestingGraph.run",(function(){u.run(e)})),t(" rank",(function(){a(g.asNonCompoundGraph(e))})),t(" injectEdgeLabelProxies",(function(){!function(e){r.forEach(e.edges(),(function(t){var n=e.edge(t);if(n.width&&n.height){var r=e.node(t.v),i={rank:(e.node(t.w).rank-r.rank)/2+r.rank,e:t};g.addDummyNode(e,"edge-proxy",i,"_ep")}}))}(e)})),t(" removeEmptyRanks",(function(){c(e)})),t(" nestingGraph.cleanup",(function(){u.cleanup(e)})),t(" normalizeRanks",(function(){s(e)})),t(" assignRankMinMax",(function(){!function(e){var t=0;r.forEach(e.nodes(),(function(n){var i=e.node(n);i.borderTop&&(i.minRank=e.node(i.borderTop).rank,i.maxRank=e.node(i.borderBottom).rank,t=r.max(t,i.maxRank))})),e.graph().maxRank=t}(e)})),t(" removeEdgeLabelProxies",(function(){!function(e){r.forEach(e.nodes(),(function(t){var n=e.node(t);"edge-proxy"===n.dummy&&(e.edge(n.e).labelRank=n.rank,e.removeNode(t))}))}(e)})),t(" normalize.run",(function(){o.run(e)})),t(" parentDummyChains",(function(){l(e)})),t(" addBorderSegments",(function(){d(e)})),t(" order",(function(){p(e)})),t(" insertSelfEdges",(function(){!function(e){var t=g.buildLayerMatrix(e);r.forEach(t,(function(t){var n=0;r.forEach(t,(function(t,i){var o=e.node(t);o.order=i+n,r.forEach(o.selfEdges,(function(t){g.addDummyNode(e,"selfedge",{width:t.label.width,height:t.label.height,rank:o.rank,order:i+ ++n,e:t.e,label:t.label},"_se")})),delete o.selfEdges}))}))}(e)})),t(" adjustCoordinateSystem",(function(){f.adjust(e)})),t(" position",(function(){h(e)})),t(" positionSelfEdges",(function(){!function(e){r.forEach(e.nodes(),(function(t){var n=e.node(t);if("selfedge"===n.dummy){var r=e.node(n.e.v),i=r.x+r.width/2,o=r.y,a=n.x-i,s=r.height/2;e.setEdge(n.e,n.label),e.removeNode(t),n.label.points=[{x:i+2*a/3,y:o-s},{x:i+5*a/6,y:o-s},{x:i+a,y:o},{x:i+5*a/6,y:o+s},{x:i+2*a/3,y:o+s}],n.label.x=n.x,n.label.y=n.y}}))}(e)})),t(" removeBorderNodes",(function(){!function(e){r.forEach(e.nodes(),(function(t){if(e.children(t).length){var n=e.node(t),i=e.node(n.borderTop),o=e.node(n.borderBottom),a=e.node(r.last(n.borderLeft)),s=e.node(r.last(n.borderRight));n.width=Math.abs(s.x-a.x),n.height=Math.abs(o.y-i.y),n.x=a.x+n.width/2,n.y=i.y+n.height/2}})),r.forEach(e.nodes(),(function(t){"border"===e.node(t).dummy&&e.removeNode(t)}))}(e)})),t(" normalize.undo",(function(){o.undo(e)})),t(" fixupEdgeLabelCoords",(function(){!function(e){r.forEach(e.edges(),(function(t){var n=e.edge(t);if(r.has(n,"x"))switch("l"!==n.labelpos&&"r"!==n.labelpos||(n.width-=n.labeloffset),n.labelpos){case"l":n.x-=n.width/2+n.labeloffset;break;case"r":n.x+=n.width/2+n.labeloffset}}))}(e)})),t(" undoCoordinateSystem",(function(){f.undo(e)})),t(" translateGraph",(function(){!function(e){var t=Number.POSITIVE_INFINITY,n=0,i=Number.POSITIVE_INFINITY,o=0,a=e.graph(),s=a.marginx||0,l=a.marginy||0;function c(e){var r=e.x,a=e.y,s=e.width,l=e.height;t=Math.min(t,r-s/2),n=Math.max(n,r+s/2),i=Math.min(i,a-l/2),o=Math.max(o,a+l/2)}r.forEach(e.nodes(),(function(t){c(e.node(t))})),r.forEach(e.edges(),(function(t){var n=e.edge(t);r.has(n,"x")&&c(n)})),t-=s,i-=l,r.forEach(e.nodes(),(function(n){var r=e.node(n);r.x-=t,r.y-=i})),r.forEach(e.edges(),(function(n){var o=e.edge(n);r.forEach(o.points,(function(e){e.x-=t,e.y-=i})),r.has(o,"x")&&(o.x-=t),r.has(o,"y")&&(o.y-=i)})),a.width=n-t+s,a.height=o-i+l}(e)})),t(" assignNodeIntersects",(function(){!function(e){r.forEach(e.edges(),(function(t){var n,r,i=e.edge(t),o=e.node(t.v),a=e.node(t.w);i.points?(n=i.points[0],r=i.points[i.points.length-1]):(i.points=[],n=a,r=o),i.points.unshift(g.intersectRect(o,n)),i.points.push(g.intersectRect(a,r))}))}(e)})),t(" reversePoints",(function(){!function(e){r.forEach(e.edges(),(function(t){var n=e.edge(t);n.reversed&&n.points.reverse()}))}(e)})),t(" acyclic.undo",(function(){i.undo(e)}))}(t,n)})),n(" updateInputGraph",(function(){!function(e,t){r.forEach(e.nodes(),(function(n){var r=e.node(n),i=t.node(n);r&&(r.x=i.x,r.y=i.y,t.children(n).length&&(r.width=i.width,r.height=i.height))})),r.forEach(e.edges(),(function(n){var i=e.edge(n),o=t.edge(n);i.points=o.points,r.has(o,"x")&&(i.x=o.x,i.y=o.y)})),e.graph().width=t.graph().width,e.graph().height=t.graph().height}(e,t)}))}))};var v=["nodesep","edgesep","ranksep","marginx","marginy"],b={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},y=["acyclicer","ranker","rankdir","align"],x=["width","height"],w={width:0,height:0},k=["minlen","weight","width","height","labeloffset"],A={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},E=["labelpos"];function S(e,t){return r.mapValues(r.pick(e,t),Number)}function $(e){var t={};return r.forEach(e,(function(e,n){t[n.toLowerCase()]=e})),t}},function(e,t,n){var r=n(149);e.exports=function(e){return r(e,5)}},function(e,t,n){var r=n(89),i=n(57),o=n(90),a=n(48),s=Object.prototype,l=s.hasOwnProperty,c=r((function(e,t){e=Object(e);var n=-1,r=t.length,c=r>2?t[2]:void 0;for(c&&o(t[0],t[1],c)&&(r=1);++n-1?s[l?t[c]:c]:void 0}}},function(e,t,n){var r=n(188),i=n(37),o=n(365),a=Math.max;e.exports=function(e,t,n){var s=null==e?0:e.length;if(!s)return-1;var l=null==n?0:o(n);return l<0&&(l=a(s+l,0)),r(e,i(t,3),l)}},function(e,t,n){var r=n(196);e.exports=function(e){var t=r(e),n=t%1;return t==t?n?t-n:t:0}},function(e,t,n){var r=n(367),i=n(23),o=n(61),a=/^[-+]0x[0-9a-f]+$/i,s=/^0b[01]+$/i,l=/^0o[0-7]+$/i,c=parseInt;e.exports=function(e){if("number"==typeof e)return e;if(o(e))return NaN;if(i(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=i(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=r(e);var n=s.test(e);return n||l.test(e)?c(e.slice(2),n?2:8):a.test(e)?NaN:+e}},function(e,t,n){var r=n(368),i=/^\s+/;e.exports=function(e){return e?e.slice(0,r(e)+1).replace(i,""):e}},function(e,t){var n=/\s/;e.exports=function(e){for(var t=e.length;t--&&n.test(e.charAt(t)););return t}},function(e,t,n){var r=n(128),i=n(169),o=n(48);e.exports=function(e,t){return null==e?e:r(e,i(t),o)}},function(e,t){e.exports=function(e){var t=null==e?0:e.length;return t?e[t-1]:void 0}},function(e,t,n){var r=n(79),i=n(127),o=n(37);e.exports=function(e,t){var n={};return t=o(t,3),i(e,(function(e,i,o){r(n,i,t(e,i,o))})),n}},function(e,t,n){var r=n(132),i=n(373),o=n(49);e.exports=function(e){return e&&e.length?r(e,o,i):void 0}},function(e,t){e.exports=function(e,t){return e>t}},function(e,t,n){var r=n(375),i=n(379)((function(e,t,n){r(e,t,n)}));e.exports=i},function(e,t,n){var r=n(73),i=n(198),o=n(128),a=n(376),s=n(23),l=n(48),c=n(199);e.exports=function e(t,n,u,d,f){t!==n&&o(n,(function(o,l){if(f||(f=new r),s(o))a(t,n,l,u,e,d,f);else{var p=d?d(c(t,l),o,l+"",t,n,f):void 0;void 0===p&&(p=o),i(t,l,p)}}),l)}},function(e,t,n){var r=n(198),i=n(155),o=n(164),a=n(156),s=n(165),l=n(66),c=n(13),u=n(189),d=n(59),f=n(64),p=n(23),h=n(377),g=n(67),m=n(199),v=n(378);e.exports=function(e,t,n,b,y,x,w){var k=m(e,n),A=m(t,n),E=w.get(A);if(E)r(e,n,E);else{var S=x?x(k,A,n+"",e,t,w):void 0,$=void 0===S;if($){var C=c(A),_=!C&&d(A),O=!C&&!_&&g(A);S=A,C||_||O?c(k)?S=k:u(k)?S=a(k):_?($=!1,S=i(A,!0)):O?($=!1,S=o(A,!0)):S=[]:h(A)||l(A)?(S=k,l(k)?S=v(k):p(k)&&!f(k)||(S=s(A))):$=!1}$&&(w.set(A,S),y(S,A,b,x,w),w.delete(A)),r(e,n,S)}}},function(e,t,n){var r=n(47),i=n(84),o=n(32),a=Function.prototype,s=Object.prototype,l=a.toString,c=s.hasOwnProperty,u=l.call(Object);e.exports=function(e){if(!o(e)||"[object Object]"!=r(e))return!1;var t=i(e);if(null===t)return!0;var n=c.call(t,"constructor")&&t.constructor;return"function"==typeof n&&n instanceof n&&l.call(n)==u}},function(e,t,n){var r=n(65),i=n(48);e.exports=function(e){return r(e,i(e))}},function(e,t,n){var r=n(89),i=n(90);e.exports=function(e){return r((function(t,n){var r=-1,o=n.length,a=o>1?n[o-1]:void 0,s=o>2?n[2]:void 0;for(a=e.length>3&&"function"==typeof a?(o--,a):void 0,s&&i(n[0],n[1],s)&&(a=o<3?void 0:a,o=1),t=Object(t);++r1&&a(e,t[0],t[1])?t=[]:n>2&&a(t[0],t[1],t[2])&&(t=[t[0]]),i(e,r(t,1),[])}));e.exports=s},function(e,t,n){var r=n(88),i=n(86),o=n(37),a=n(184),s=n(393),l=n(82),c=n(394),u=n(49),d=n(13);e.exports=function(e,t,n){t=t.length?r(t,(function(e){return d(e)?function(t){return i(t,1===e.length?e[0]:e)}:e})):[u];var f=-1;t=r(t,l(o));var p=a(e,(function(e,n,i){return{criteria:r(t,(function(t){return t(e)})),index:++f,value:e}}));return s(p,(function(e,t){return c(e,t,n)}))}},function(e,t){e.exports=function(e,t){var n=e.length;for(e.sort(t);n--;)e[n]=e[n].value;return e}},function(e,t,n){var r=n(395);e.exports=function(e,t,n){for(var i=-1,o=e.criteria,a=t.criteria,s=o.length,l=n.length;++i=l?c:c*("desc"==n[i]?-1:1)}return e.index-t.index}},function(e,t,n){var r=n(61);e.exports=function(e,t){if(e!==t){var n=void 0!==e,i=null===e,o=e==e,a=r(e),s=void 0!==t,l=null===t,c=t==t,u=r(t);if(!l&&!u&&!a&&e>t||a&&s&&c&&!l&&!u||i&&s&&c||!n&&c||!o)return 1;if(!i&&!a&&!u&&e0;--l)if(r=t[l].dequeue()){i=i.concat(s(e,t,n,r,!0));break}}return i}(n.graph,n.buckets,n.zeroIdx);return r.flatten(r.map(c,(function(t){return e.outEdges(t.v,t.w)})),!0)};var a=r.constant(1);function s(e,t,n,i,o){var a=o?[]:void 0;return r.forEach(e.inEdges(i.v),(function(r){var i=e.edge(r),s=e.node(r.v);o&&a.push({v:r.v,w:r.w}),s.out-=i,l(t,n,s)})),r.forEach(e.outEdges(i.v),(function(r){var i=e.edge(r),o=r.w,a=e.node(o);a.in-=i,l(t,n,a)})),e.removeNode(i.v),a}function l(e,t,n){n.out?n.in?e[n.out-n.in+t].enqueue(n):e[e.length-1].enqueue(n):e[0].enqueue(n)}},function(e,t){function n(){var e={};e._next=e._prev=e,this._sentinel=e}function r(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function i(e,t){if("_next"!==e&&"_prev"!==e)return t}e.exports=n,n.prototype.dequeue=function(){var e=this._sentinel,t=e._prev;if(t!==e)return r(t),t},n.prototype.enqueue=function(e){var t=this._sentinel;e._prev&&e._next&&r(e),e._next=t._next,t._next._prev=e,t._next=e,e._prev=t},n.prototype.toString=function(){for(var e=[],t=this._sentinel,n=t._prev;n!==t;)e.push(JSON.stringify(n,i)),n=n._prev;return"["+e.join(", ")+"]"}},function(e,t,n){"use strict";var r=n(11),i=n(20);e.exports={run:function(e){e.graph().dummyChains=[],r.forEach(e.edges(),(function(t){!function(e,t){var n,r,o,a=t.v,s=e.node(a).rank,l=t.w,c=e.node(l).rank,u=t.name,d=e.edge(t),f=d.labelRank;if(c===s+1)return;for(e.removeEdge(t),o=0,++s;sl.lim&&(c=l,u=!0);var d=r.filter(t.edges(),(function(t){return u===b(e,e.node(t.v),c)&&u!==b(e,e.node(t.w),c)}));return r.minBy(d,(function(e){return o(t,e)}))}function v(e,t,n,i){var o=n.v,a=n.w;e.removeEdge(o,a),e.setEdge(i.v,i.w,{}),p(e),d(e,t),function(e,t){var n=r.find(e.nodes(),(function(e){return!t.node(e).parent})),i=s(e,n);i=i.slice(1),r.forEach(i,(function(n){var r=e.node(n).parent,i=t.edge(n,r),o=!1;i||(i=t.edge(r,n),o=!0),t.node(n).rank=t.node(r).rank+(o?i.minlen:-i.minlen)}))}(e,t)}function b(e,t,n){return n.low<=t.lim&&t.lim<=n.lim}e.exports=u,u.initLowLimValues=p,u.initCutValues=d,u.calcCutValue=f,u.leaveEdge=g,u.enterEdge=m,u.exchangeEdges=v},function(e,t,n){var r=n(11);e.exports=function(e){var t=function(e){var t={},n=0;function i(o){var a=n;r.forEach(e.children(o),i),t[o]={low:a,lim:n++}}return r.forEach(e.children(),i),t}(e);r.forEach(e.graph().dummyChains,(function(n){for(var r=e.node(n),i=r.edgeObj,o=function(e,t,n,r){var i,o,a=[],s=[],l=Math.min(t[n].low,t[r].low),c=Math.max(t[n].lim,t[r].lim);i=n;do{i=e.parent(i),a.push(i)}while(i&&(t[i].low>l||c>t[i].lim));o=i,i=r;for(;(i=e.parent(i))!==o;)s.push(i);return{path:a.concat(s.reverse()),lca:o}}(e,t,i.v,i.w),a=o.path,s=o.lca,l=0,c=a[l],u=!0;n!==i.w;){if(r=e.node(n),u){for(;(c=a[l])!==s&&e.node(c).maxRank=2),s=u.buildLayerMatrix(e);var m=o(e,s);m0;)t%2&&(n+=l[t+1]),l[t=t-1>>1]+=e.weight;c+=e.weight*n}))),c}e.exports=function(e,t){for(var n=0,r=1;r=e.barycenter)&&function(e,t){var n=0,r=0;e.weight&&(n+=e.barycenter*e.weight,r+=e.weight);t.weight&&(n+=t.barycenter*t.weight,r+=t.weight);e.vs=t.vs.concat(e.vs),e.barycenter=n/r,e.weight=r,e.i=Math.min(t.i,e.i),t.merged=!0}(e,t)}}function i(t){return function(n){n.in.push(t),0==--n.indegree&&e.push(n)}}for(;e.length;){var o=e.pop();t.push(o),r.forEach(o.in.reverse(),n(o)),r.forEach(o.out,i(o))}return r.map(r.filter(t,(function(e){return!e.merged})),(function(e){return r.pick(e,["vs","i","barycenter","weight"])}))}(r.filter(n,(function(e){return!e.indegree})))}},function(e,t,n){var r=n(11),i=n(20);function o(e,t,n){for(var i;t.length&&(i=r.last(t)).i<=n;)t.pop(),e.push(i.vs),n++;return n}e.exports=function(e,t){var n=i.partition(e,(function(e){return r.has(e,"barycenter")})),a=n.lhs,s=r.sortBy(n.rhs,(function(e){return-e.i})),l=[],c=0,u=0,d=0;a.sort((f=!!t,function(e,t){return e.barycentert.barycenter?1:f?t.i-e.i:e.i-t.i})),d=o(l,s,d),r.forEach(a,(function(e){d+=e.vs.length,l.push(e.vs),c+=e.barycenter*e.weight,u+=e.weight,d=o(l,s,d)}));var f;var p={vs:r.flatten(l,!0)};u&&(p.barycenter=c/u,p.weight=u);return p}},function(e,t,n){var r=n(11),i=n(28).Graph;e.exports=function(e,t,n){var o=function(e){var t;for(;e.hasNode(t=r.uniqueId("_root")););return t}(e),a=new i({compound:!0}).setGraph({root:o}).setDefaultNodeLabel((function(t){return e.node(t)}));return r.forEach(e.nodes(),(function(i){var s=e.node(i),l=e.parent(i);(s.rank===t||s.minRank<=t&&t<=s.maxRank)&&(a.setNode(i),a.setParent(i,l||o),r.forEach(e[n](i),(function(t){var n=t.v===i?t.w:t.v,o=a.edge(n,i),s=r.isUndefined(o)?0:o.weight;a.setEdge(n,i,{weight:e.edge(t).weight+s})})),r.has(s,"minRank")&&a.setNode(i,{borderLeft:s.borderLeft[t],borderRight:s.borderRight[t]}))})),a}},function(e,t,n){var r=n(11);e.exports=function(e,t,n){var i,o={};r.forEach(n,(function(n){for(var r,a,s=e.parent(n);s;){if((r=e.parent(s))?(a=o[r],o[r]=s):(a=i,i=s),a&&a!==s)return void t.setEdge(a,s);s=r}}))}},function(e,t,n){"use strict";var r=n(11),i=n(20),o=n(419).positionX;e.exports=function(e){(function(e){var t=i.buildLayerMatrix(e),n=e.graph().ranksep,o=0;r.forEach(t,(function(t){var i=r.max(r.map(t,(function(t){return e.node(t).height})));r.forEach(t,(function(t){e.node(t).y=o+i/2})),o+=i+n}))})(e=i.asNonCompoundGraph(e)),r.forEach(o(e),(function(t,n){e.node(n).x=t}))}},function(e,t,n){"use strict";var r=n(11),i=n(28).Graph,o=n(20);function a(e,t){var n={};return r.reduce(t,(function(t,i){var o=0,a=0,s=t.length,c=r.last(i);return r.forEach(i,(function(t,u){var d=function(e,t){if(e.node(t).dummy)return r.find(e.predecessors(t),(function(t){return e.node(t).dummy}))}(e,t),f=d?e.node(d).order:s;(d||t===c)&&(r.forEach(i.slice(a,u+1),(function(t){r.forEach(e.predecessors(t),(function(r){var i=e.node(r),a=i.order;!(as)&&l(n,t,c)}))}))}return r.reduce(t,(function(t,n){var o,a=-1,s=0;return r.forEach(n,(function(r,l){if("border"===e.node(r).dummy){var c=e.predecessors(r);c.length&&(o=e.node(c[0]).order,i(n,s,l,a,o),s=l,a=o)}i(n,s,n.length,o,t.length)})),n})),n}function l(e,t,n){if(t>n){var r=t;t=n,n=r}var i=e[t];i||(e[t]=i={}),i[n]=!0}function c(e,t,n){if(t>n){var i=t;t=n,n=i}return r.has(e[t],n)}function u(e,t,n,i){var o={},a={},s={};return r.forEach(t,(function(e){r.forEach(e,(function(e,t){o[e]=e,a[e]=e,s[e]=t}))})),r.forEach(t,(function(e){var t=-1;r.forEach(e,(function(e){var l=i(e);if(l.length)for(var u=((l=r.sortBy(l,(function(e){return s[e]}))).length-1)/2,d=Math.floor(u),f=Math.ceil(u);d<=f;++d){var p=l[d];a[e]===e&&t\n.menu ul ul {\n margin-left: 12px;\n}\n\n\n\n')}]),e.exports=n},function(e,t,n){"use strict";const r=n(425),i=n(21);n(426),angular.module("dbt").directive("modelTreeLine",["$state",function(e){return{scope:{item:"=",depth:"<",resourceType:"@"},replace:!0,templateUrl:r,link:function(t,n,r,o){t.depth||(t.depth=0);var a=t.item.name;if(a){var s=i.last(a,15).join(""),l=i.initial(a,s.length).join("");t.name={name:a,start:l,end:s},t.name_start=l,t.name_end=s,t.onFolderClick=function(n){if(n.active=!n.active,"source"==t.resourceType){var r=n.name;e.go("dbt.source_list",{source:r})}else 0===t.depth&&"database"!==n.type&&e.go("dbt.project_overview",{project_name:n.name})},t.activate=function(n){t.$emit("clearSearch"),n.active=!0;var r="dbt."+n.node.resource_type;e.go(r,{unique_id:n.unique_id})},t.getIcon=function(e,t){return"#"+{header:{on:"icn-down",off:"icn-right"},database:{on:"icn-db-on",off:"icn-db"},schema:{on:"icn-tree-on",off:"icn-tree"},table:{on:"icn-doc-on",off:"icn-doc"},folder:{on:"icn-dir-on",off:"icn-dir"},file:{on:"icn-doc-on",off:"icn-doc"}}[e][t]},t.getClass=function(e){return{active:e.active,"menu-tree":"header"==e.type||"schema"==e.type||"folder"==e.type,"menu-main":"header"==e.type,"menu-node":"file"==e.type||"table"==e.type}}}}}}])},function(e,t){var n="/components/model_tree/model_tree_line.html";window.angular.module("ng").run(["$templateCache",function(e){e.put(n,'
  • \n\n \n \n \n \n \n \n {{name.start}}\n {{name.end}}\n \n \n\n \n \n \n \n \n \n {{name.start}}\n {{name.end}}\n \n \n\n
      \n \n
    \n
  • \n')}]),e.exports=n},function(e,t,n){var r=n(427);"string"==typeof r&&(r=[[e.i,r,""]]);var i={hmr:!0,transform:void 0,insertInto:void 0};n(40)(r,i);r.locals&&(e.exports=r.locals)},function(e,t,n){(e.exports=n(39)(!1)).push([e.i,"\n.unselectable{\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n",""])},function(e,t,n){"use strict";const r=n(9),i=n(429);n(31);n(206),r.module("dbt").directive("docsSearch",["$sce","project",function(e,t){return{scope:{query:"=",results:"=",onSelect:"&"},replace:!0,templateUrl:i,link:function(n){n.max_results=20,n.show_all=!1,n.max_results_columns=3,n.limit_columns={},n.checkboxStatus={show_names:!1,show_descriptions:!1,show_columns:!1,show_code:!1,show_tags:!1},n.limit_search=function(e,t,r){return t0&&null!=n.query&&n.query.trim().length>0){let t=e.replace(/\s+/g," "),o=r(i(n.query)[0]),a=t.search(new RegExp(o)),s=a-75<0?0:a-75,l=a+75>t.length?t.length:a+75;return"..."+t.substring(s,l)+"..."}return e},n.highlight=function(t){if(!n.query||!t)return e.trustAsHtml(t);let o="("+i(n.query).map(e=>r(e)).join(")|(")+")";return e.trustAsHtml(t.replace(new RegExp(o,"gi"),'$&'))},n.$watch("query",(function(e,t){0==e.length&&(n.show_all=!1,n.limit_columns={})})),n.columnFilter=function(e){var t=[];let r=i(n.query);for(var o in e)r.every(e=>-1!=o.toLowerCase().indexOf(e))&&t.push(o);return t},n.limitColumns=function(e){return void 0!==n.limit_columns[e]?n.limit_columns[e]:3}}}}])},function(e,t){var n="/components/search/search.html";window.angular.module("ng").run(["$templateCache",function(e){e.put(n,'
    \n \n
    \n
    \n

    \n {{ query }}\n {{ results.length }} search results\n

    \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n

    \n \n {{result.model.resource_type}}\n

    \n

    \n
    \n
    \n
    \n \n columns:\n \n \n \n Show {{ columnFilter(result.model.columns).length - max_results_columns }} more\n
    \n
    \n \n \n \n
    \n
    \n \n tags:\n \n \n \n
    \n
    \n Show {{ results.length - max_results }} more\n
    \n
    \n
    \n
    \n')}]),e.exports=n},function(e,t,n){"use strict";const r=n(431);n(432);const i=n(21);angular.module("dbt").directive("tableDetails",["$sce","$filter",function(e,t){return{scope:{model:"=",extras:"=",exclude:"<"},templateUrl:r,link:function(e){function n(e,t){if(0==e)return"0 bytes";if(e<1&&(e*=1e6),isNaN(parseFloat(e))||!isFinite(e))return"-";void 0===t&&(t=0);var n=Math.floor(Math.log(e)/Math.log(1024));return(e/Math.pow(1024,Math.floor(n))).toFixed(t)+" "+["bytes","KB","MB","GB","TB","PB"][n]}function r(e,n){return void 0===n&&(n=2),t("number")(100*e,n)+"%"}function o(e,n){return void 0===n&&(n=0),t("number")(e,n)}e.details=[],e.extended=[],e.exclude=e.exclude||[],e.meta=null,e._show_expanded=!1,e.show_expanded=function(t){return void 0!==t&&(e._show_expanded=t),e._show_expanded},e.hasData=function(e){return!(!e||i.isEmpty(e))&&(1!=e.length||0!=e[0].include)},e.$watch("model",(function(t,a){i.property(["metadata","type"])(t);var s,l,c,u=t.hasOwnProperty("sources")&&null!=t.sources[0]?t.sources[0].source_meta:null;if(e.meta=t.meta||u,e.details=function(e){var t,n,r=!e.metadata,o=e.metadata||{};t=e.database?e.database+".":"",n=r?void 0:"source"==e.resource_type?t+e.schema+"."+e.identifier:t+e.schema+"."+e.alias;var a,s=[{name:"Owner",value:o.owner},{name:"Type",value:r?void 0:(a=o.type,"BASE TABLE"==a?{type:"table",name:"table"}:"LATE BINDING VIEW"==a?{type:"view",name:"late binding view"}:{type:a.toLowerCase(),name:a.toLowerCase()}).name},{name:"Package",value:e.package_name},{name:"Language",value:e.language},{name:"Relation",value:n}];return i.filter(s,(function(e){return void 0!==e.value}))}(t),e.extended=(s=t.stats,l={rows:o,row_count:o,num_rows:o,max_varchar:o,pct_used:r,size:n,bytes:n,num_bytes:n},c=i.sortBy(i.values(s),"label"),i.map(c,(function(e){var t=i.clone(e),n=l[e.id];return n&&(t.value=n(e.value),t.label=e.label.replace("Approximate","~"),t.label=e.label.replace("Utilization","Used")),t}))),e.extras){var d=i.filter(e.extras,(function(e){return void 0!==e.value&&null!==e.value}));e.details=e.details.concat(d)}e.show_extended=i.where(e.extended,{include:!0}).length>0})),e.queryTag=function(t){e.$emit("query",t)}}}}])},function(e,t){var n="/components/table_details/table_details.html";window.angular.module("ng").run(["$templateCache",function(e){e.put(n,'
    \n
    Details
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    {{ k }}
    \n
    {{ v }}
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    Tags
    \n
    \n {{ tag }} \n
    \n
    untagged
    \n
    \n
    \n
    {{ item.name }}
    \n
    {{ item.value }}
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    {{ item.label }}
    \n
    {{ item.value }}
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n')}]),e.exports=n},function(e,t,n){var r=n(433);"string"==typeof r&&(r=[[e.i,r,""]]);var i={hmr:!0,transform:void 0,insertInto:void 0};n(40)(r,i);r.locals&&(e.exports=r.locals)},function(e,t,n){(e.exports=n(39)(!1)).push([e.i,"\n\n.details-content {\n table-layout: fixed;\n}\n\n.detail-body {\n white-space: nowrap;\n overflow-x: scroll;\n}\n",""])},function(e,t,n){"use strict";const r=n(435),i=n(21);angular.module("dbt").directive("columnDetails",["project",function(e){return{scope:{model:"="},templateUrl:r,link:function(t){t.has_test=function(e,t){return-1!=i.pluck(e.tests,"short").indexOf(t)},t.has_more_info=function(e){var t=e.tests||[],n=e.description||"",r=e.meta||{};return t.length||n.length||!i.isEmpty(r)},t.toggle_column_expanded=function(e){t.has_more_info(e)&&(e.expanded=!e.expanded)},t.getState=function(e){return"dbt."+e.resource_type},t.get_col_name=function(t){return e.caseColumn(t)},t.get_columns=function(e){var t=i.chain(e.columns).values().sortBy("index").value();return i.each(t,(function(e,t){e.index=t})),t}}}}])},function(e,t){var n="/components/column_details/column_details.html";window.angular.module("ng").run(["$templateCache",function(e){e.put(n,'
    \n
    \n
    \n Column information is not available for this seed\n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    ColumnTypeDescriptionTestsMore?
    \n
    \n {{ get_col_name(column.name) }}\n
    \n
    \n {{ column.type }}

    \n
    \n {{ column.description }}\n \n \n U\n N\n F\n A\n +\n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    Details
    \n
    \n
    \n
    \n
    {{ k }}
    \n
    {{ v }}
    \n
    \n
    \n
    \n
    \n\n
    \n
    Description
    \n \n
    \n\n
    \n
    Generic Tests
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n')}]),e.exports=n},function(e,t,n){"use strict";const r=n(437);n(31),n(438);function i(e){return"python"===e?"language-python":"language-sql"}angular.module("dbt").directive("codeBlock",["code","$timeout",function(e,t){return{scope:{versions:"=",default:"<",language:"="},restrict:"E",templateUrl:r,link:function(n,r){n.selected_version=n.default,n.language_class=i(n.language),n.source=null,n.setSelected=function(r){n.selected_version=r,n.source=n.versions[r]||"";const i=n.source.trim();n.highlighted=e.highlight(i,n.language),t((function(){Prism.highlightAll()}))},n.titleCase=function(e){return e.charAt(0).toUpperCase()+e.substring(1)},n.copied=!1,n.copy_to_clipboard=function(){e.copy_to_clipboard(n.source),n.copied=!0,setTimeout((function(){n.$apply((function(){n.copied=!1}))}),1e3)},n.$watch("language",(function(e,t){e&&e!=t&&(n.language_class=i(e))}),!0),n.$watch("versions",(function(e,t){if(e)if(n.default)n.setSelected(n.default);else{var r=Object.keys(n.versions);r.length>0&&n.setSelected(r[0])}}),!0)}}}])},function(e,t){var n="/components/code_block/code_block.html";window.angular.module("ng").run(["$templateCache",function(e){e.put(n,'
    Code
    \n\n')}]),e.exports=n},function(e,t,n){var r=n(439);"string"==typeof r&&(r=[[e.i,r,""]]);var i={hmr:!0,transform:void 0,insertInto:void 0};n(40)(r,i);r.locals&&(e.exports=r.locals)},function(e,t,n){(e.exports=n(39)(!1)).push([e.i,"pre.code {\n border: none !important;\n overflow-y: visible !important;\n overflow-x: scroll !important;\n padding-bottom: 10px;\n}\n\npre.code code {\n font-family: Monaco, monospace !important;\n font-weight: 400 !important;\n}\n\n.line-numbers-rows {\n border: none !important;\n}\n",""])},function(e,t,n){"use strict";const r=n(441);angular.module("dbt").directive("macroArguments",[function(){return{scope:{macro:"="},templateUrl:r,link:function(e){_.each(e.macro.arguments,(function(e){e.expanded=!1}))}}}])},function(e,t){var n="/components/macro_arguments/index.html";window.angular.module("ng").run(["$templateCache",function(e){e.put(n,'\n\n
    \n
    \n
    \n Details are not available for this macro\n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    ArgumentTypeDescriptionMore?
    \n
    \n {{ arg.name }}\n
    \n
    \n {{ arg.type }}

    \n
    \n {{ arg.description }}\n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    Description
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n')}]),e.exports=n},function(e,t,n){"use strict";const r=n(443);angular.module("dbt").directive("referenceList",["$state",function(e){return{scope:{references:"=",node:"="},restrict:"E",templateUrl:r,link:function(t){t.selected_type=null,t.setType=function(e){t.selected_type=e,t.nodes=t.references[t.selected_type]},t.getNodeUrl=function(t){var n="dbt."+t.resource_type;return e.href(n,{unique_id:t.unique_id,"#":null})},t.mapResourceType=function(e){return"model"==e?"Models":"seed"==e?"Seeds":"test"==e?"Tests":"snapshot"==e?"Snapshots":"analysis"==e?"Analyses":"macro"==e?"Macros":"exposure"==e?"Exposures":"metric"==e?"Metrics":"operation"==e?"Operations":"Nodes"},t.$watch("references",(function(e){e&&_.size(e)>0?(t.selected_type=_.keys(e)[0],t.has_references=!0,t.nodes=t.references[t.selected_type]):t.has_references=!1}))}}}])},function(e,t){var n="/components/references/index.html";window.angular.module("ng").run(["$templateCache",function(e){e.put(n,'
    \n
    \n No resources reference this {{ node.resource_type }}\n
    \n
    \n \n
    \n \n
    \n
    \n
    \n')}]),e.exports=n},function(e,t,n){n(445),n(447),n(448),n(449),n(450),n(451),n(452),n(453),n(454),n(455)},function(e,t,n){"use strict";const r=n(9),i=n(33);n(34),r.module("dbt").controller("ModelCtrl",["$scope","$state","project","code","$anchorScroll","$location",function(e,t,n,r,o,a){e.model_uid=t.params.unique_id,e.tab=t.params.tab,e.project=n,e.codeService=r,e.versions={},e.copied=!1,e.copy_to_clipboard=function(t){r.copy_to_clipboard(t),e.copied=!0,setTimeout((function(){e.$apply((function(){e.copied=!1}))}),1e3)},e.model={},n.ready((function(t){let n=t.nodes[e.model_uid];e.model=n,e.references=i.getReferences(t,n),e.referencesLength=Object.keys(e.references).length,e.parents=i.getParents(t,n),e.parentsLength=Object.keys(e.parents).length,e.language=n.language;e.versions={Source:e.model.raw_code,Compiled:e.model.compiled_code||"\n-- compiled code not found for this model\n"},setTimeout((function(){o()}),0)}))}])},function(e,t,n){(e.exports=n(39)(!1)).push([e.i,"\n.nav-tabs li.nav-pull-right {\n flex: 1 0 auto;\n text-align: right;\n}\n\ntr.column-row-selected {\n\n}\n\ntd.column-expanded{\n padding: 0px !important;\n}\n\ntd.column-expanded > div {\n padding: 5px 10px;\n margin-left: 20px;\n height: 100%;\n\n border-left: 1px solid #ccc !important;\n}\n",""])},function(e,t,n){"use strict";const r=n(9),i=n(33);n(34),r.module("dbt").controller("SourceCtrl",["$scope","$state","project","code","$anchorScroll","$location",function(e,t,n,r,o,a){e.model_uid=t.params.unique_id,e.project=n,e.codeService=r,e.extra_table_fields=[],e.versions={},e.model={},n.ready((function(t){let n=t.nodes[e.model_uid];e.model=n,e.references=i.getReferences(t,n),e.referencesLength=Object.keys(e.references).length,e.parents=i.getParents(t,n),e.parentsLength=Object.keys(e.parents).length,e.versions={"Sample SQL":r.generateSourceSQL(e.model)},e.extra_table_fields=[{name:"Loader",value:e.model.loader},{name:"Source",value:e.model.source_name}]}))}])},function(e,t,n){"use strict";const r=n(9),i=n(33);n(34),r.module("dbt").controller("SeedCtrl",["$scope","$state","project","code","$transitions","$anchorScroll","$location",function(e,t,n,r,o,a,s){e.model_uid=t.params.unique_id,e.tab=t.params.tab,e.project=n,e.codeService=r,e.versions={},e.model={},n.ready((function(t){let n=t.nodes[e.model_uid];e.model=n,e.references=i.getReferences(t,n),e.referencesLength=Object.keys(e.references).length,e.parents=i.getParents(t,n),e.parentsLength=Object.keys(e.parents).length,e.versions={"Example SQL":r.generateSourceSQL(e.model)}}))}])},function(e,t,n){"use strict";const r=n(9),i=n(33);n(34),r.module("dbt").controller("SnapshotCtrl",["$scope","$state","project","code","$anchorScroll","$location",function(e,t,n,r,o,a){e.model_uid=t.params.unique_id,e.tab=t.params.tab,e.project=n,e.codeService=r,e.versions={},e.model={},n.ready((function(t){let n=t.nodes[e.model_uid];e.model=n,e.references=i.getReferences(t,n),e.referencesLength=Object.keys(e.references).length,e.parents=i.getParents(t,n),e.parentsLength=Object.keys(e.parents).length,e.language=n.language;e.versions={Source:e.model.raw_code,Compiled:e.model.compiled_code||"Compiled SQL is not available for this snapshot"},setTimeout((function(){o()}),0)}))}])},function(e,t,n){"use strict";const r=n(9),i=n(33);n(34),r.module("dbt").controller("TestCtrl",["$scope","$state","project","code","$anchorScroll","$location",function(e,t,n,r,o,a){e.model_uid=t.params.unique_id,e.tab=t.params.tab,e.project=n,e.codeService=r,e.versions={},e.model={},n.ready((function(t){let n=t.nodes[e.model_uid];e.model=n,e.references=i.getReferences(t,n),e.referencesLength=Object.keys(e.references).length,e.parents=i.getParents(t,n),e.parentsLength=Object.keys(e.parents).length,e.language=n.language;e.versions={Source:e.model.raw_code,Compiled:e.model.compiled_code||"\n-- compiled code not found for this model\n"},setTimeout((function(){o()}),0)}))}])},function(e,t,n){"use strict";const r=n(9),i=n(21),o=n(33);n(34),r.module("dbt").controller("MacroCtrl",["$scope","$state","project","code","$transitions","$anchorScroll","$location",function(e,t,n,r,a,s,l){e.model_uid=t.params.unique_id,e.tab=t.params.tab,e.project=n,e.codeService=r,e.macro={},n.ready((function(t){let n=t.macros[e.model_uid];if(e.macro=n,e.references=o.getMacroReferences(t,n),e.referencesLength=Object.keys(e.references).length,e.parents=o.getMacroParents(t,n),e.parentsLength=Object.keys(e.parents).length,e.macro.is_adapter_macro){var r=t.metadata.adapter_type;e.versions=n.impls,n.impls[r]?e.default_version=r:n.impls.default?e.default_version="default":e.default_version=i.keys(n.impls)[0]}else e.default_version="Source",e.versions={Source:e.macro.macro_sql}}))}])},function(e,t,n){"use strict";const r=n(9),i=n(33);n(34),r.module("dbt").controller("AnalysisCtrl",["$scope","$state","project","code","$transitions","$anchorScroll","$location",function(e,t,n,r,o,a,s){e.model_uid=t.params.unique_id,e.project=n,e.codeService=r,e.default_version="Source",e.versions={Source:"",Compiled:""},e.model={},n.ready((function(t){let n=t.nodes[e.model_uid];e.model=n,e.references=i.getReferences(t,n),e.referencesLength=Object.keys(e.references).length,e.parents=i.getParents(t,n),e.parentsLength=Object.keys(e.parents).length,e.language=n.language,e.versions={Source:e.model.raw_code,Compiled:e.model.compiled_code}}))}])},function(e,t,n){"use strict";const r=n(9),i=n(33);n(34),r.module("dbt").controller("ExposureCtrl",["$scope","$state","project","code","$anchorScroll","$location",function(e,t,n,r,o,a){e.model_uid=t.params.unique_id,e.project=n,e.codeService=r,e.extra_table_fields=[],e.versions={},e.exposure={},n.ready((function(t){let n=t.nodes[e.model_uid];e.exposure=n,e.parents=i.getParents(t,n),e.parentsLength=e.parents.length,e.language=n.language,e.extra_table_fields=[{name:"Maturity",value:e.exposure.maturity},{name:"Owner",value:e.exposure.owner.name},{name:"Owner email",value:e.exposure.owner.email},{name:"Exposure name",value:e.exposure.name}]}))}])},function(e,t,n){"use strict";const r=n(9),i=n(33);n(34),r.module("dbt").controller("MetricCtrl",["$scope","$state","project","code","$anchorScroll","$location",function(e,t,n,r,o,a){e.model_uid=t.params.unique_id,e.project=n,e.codeService=r,e.extra_table_fields=[],e.versions={},e.metric={},n.ready((function(t){let n=t.nodes[e.model_uid];e.metric=n,e.parents=i.getParents(t,n),e.parentsLength=e.parents.length,e.versions={Definition:r.generateMetricSQL(e.metric)};const o="expression"===e.metric.type?"Expression metric":"Aggregate metric";e.extra_table_fields=[{name:"Metric Type",value:o},{name:"Metric name",value:e.metric.name}]}))}])},function(e,t,n){"use strict";const r=n(9),i=n(33);n(34),r.module("dbt").controller("OperationCtrl",["$scope","$state","project","code","$anchorScroll","$location",function(e,t,n,r,o,a){e.model_uid=t.params.unique_id,e.tab=t.params.tab,e.project=n,e.codeService=r,e.versions={},e.model={},n.ready((function(t){let n=t.nodes[e.model_uid];e.model=n,e.references=i.getReferences(t,n),e.referencesLength=Object.keys(e.references).length,e.parents=i.getParents(t,n),e.parentsLength=Object.keys(e.parents).length,e.language=n.language;e.versions={Source:e.model.raw_code,Compiled:e.model.compiled_code||"\n-- compiled code not found for this model\n"},setTimeout((function(){o()}),0)}))}])},function(e,t,n){"use strict";n(9).module("dbt").controller("GraphCtrl",["$scope","$state","$window","graph","project","selectorService",function(e,t,n,r,i,o){function a(e){return e&&"source"==e.resource_type?"source:"+e.source_name+"."+e.name:e&&"exposure"==e.resource_type?"exposure:"+e.name:e&&"metric"==e.resource_type?"metric:"+e.name:e.name?e.name:"*"}e.graph=r.graph,e.graphService=r,e.graphRendered=function(e){r.setGraphReady(e)},e.$watch((function(){return t.params.unique_id}),(function(e,t){e&&e!=t&&i.find_by_id(e,(function(e){e&&("sidebar"==r.orientation?r.showVerticalGraph(a(e),!1):r.showFullGraph(a(e)))})),e||o.clearViewNode()}))}])},function(e,t,n){"use strict";const r=n(9),i=n(21),o=n(31),a=n(458);n(459),n(206),n(467),n(469),n(472),n(476),r.module("dbt").controller("MainController",["$scope","$route","$state","project","graph","selectorService","trackingService","locationService","$transitions",function(e,t,n,r,s,l,c,u,d){function f(t){e.model_uid=t;var n=r.node(t);n&&l.resetSelection(n)}function p(e){e&&setTimeout((function(){var t=o("*[data-nav-unique-id='"+e+"']");t.length&&t[0].scrollIntoView&&t[0].scrollIntoView({behavior:"smooth",block:"center",inline:"center"})}),1)}e.tree={database:{},project:{},sources:{}},e.search={query:"",results:[],is_focused:!1},e.logo=a,e.model_uid=null,e.project={},o("body").bind("keydown",(function(e){"t"==event.key&&"INPUT"!=event.target.tagName&&(console.log("Opening search"),o("#search").focus(),event.preventDefault())})),e.onSearchFocus=function(t,n){e.search.is_focused=n},e.clearSearch=function(){e.search.is_focused=!1,e.search.query="",e.search.results=[],o("#search").blur()},e.$on("clearSearch",(function(){e.clearSearch()})),e.$on("query",(function(t,n){e.search.is_focused=!0,e.search.query=n})),e.onSearchKeypress=function(t){"Escape"==t.key&&(e.clearSearch(),t.preventDefault())},r.getModelTree(n.params.unique_id,(function(t){e.tree.database=t.database,e.tree.project=t.project,e.tree.sources=t.sources,e.tree.exposures=t.exposures,e.tree.metrics=t.metrics,setTimeout((function(){p(e.model_uid)}))})),d.onSuccess({},(function(t,n){var i=t.router.globals.params,o=l.getViewNode(),a=o?o.unique_id:null,s=i.unique_id,u=!0;if(t.from().name==t.to().name&&a==s&&(u=!1),u&&i.unique_id){var d=r.updateSelected(i.unique_id);e.tree.database=d.database,e.tree.project=d.project,e.tree.sources=d.sources,e.search.query="",console.log("updating selected model to: ",i),f(i.unique_id),setTimeout((function(){p(i.unique_id)}))}u&&c.track_pageview()})),e.$watch("search.query",(function(t){e.search.results=function(t){if(""===e.search.query)return t;let n={name:10,tags:5,description:3,raw_code:2,columns:1};return i.each(t,(function(t){t.overallWeight=0,i.each(Object.keys(n),(function(r){if(null!=t.model[r]){let o=0,a=t.model[r],s=e.search.query.toLowerCase();if("columns"===r)i.each(a,(function(e){if(e.name){let t=e.name.toLowerCase(),n=0;for(;-1!=n;)n=t.indexOf(s,n),-1!=n&&(o++,n++)}}));else if("tags"===r)i.each(a,(function(e){let t=e.toLowerCase(),n=0;for(;-1!=n;)n=t.indexOf(s,n),-1!=n&&(o++,n++)}));else{a=a.toLowerCase();let e=0;for(;-1!=e;)e=a.indexOf(s,e),-1!=e&&(o++,e++)}t.overallWeight+=o*n[r]}}))})),t}(r.search(t))})),r.init(),r.ready((function(t){e.project=t,e.search.results=r.search("");var o=i.unique(i.pluck(i.values(t.nodes),"package_name")).sort(),a=[null];i.each(t.nodes,(function(e){var t=e.tags;a=i.union(a,t).sort()})),l.init({packages:o,tags:a}),f(n.params.unique_id);var d=u.parseState(n.params);d.show_graph&&s.ready((function(){i.assign(l.selection.dirty,d.selected);var e=l.updateSelection();s.updateGraph(e)}));var p=t.metadata||{};c.init({track:p.send_anonymous_usage_stats,project_id:p.project_id})}))}])},function(e,t){e.exports="data:image/svg+xml,%3Csvg width='242' height='90' viewBox='0 0 242 90' fill='none' xmlns='http://www.w3.org/2000/svg'%3E %3Cpath d='M240.384 74.5122L239.905 75.8589H239.728L239.249 74.5156V75.8589H238.941V74.0234H239.324L239.816 75.3872L240.309 74.0234H240.691V75.8589H240.384V74.5122ZM238.671 74.3003H238.169V75.8589H237.858V74.3003H237.352V74.0234H238.671V74.3003Z' fill='%23262A38'/%3E %3Cpath d='M154.123 13.915V75.3527H141.672V69.0868C140.37 71.2839 138.499 73.0742 136.22 74.2134C133.779 75.434 131.012 76.085 128.246 76.085C124.828 76.1664 121.41 75.1899 118.562 73.2369C115.633 71.2839 113.354 68.5986 111.889 65.425C110.262 61.7631 109.448 57.8572 109.529 53.8698C109.448 49.8825 110.262 45.9765 111.889 42.3961C113.354 39.3038 115.633 36.6185 118.481 34.7469C121.41 32.8753 124.828 31.9801 128.246 32.0615C130.931 32.0615 133.616 32.6311 135.976 33.8517C138.255 34.991 140.126 36.6999 141.428 38.8156V18.0651L154.123 13.915ZM139.15 63.2279C140.777 61.1121 141.672 58.0199 141.672 54.0326C141.672 50.0452 140.859 47.0344 139.15 44.9187C137.441 42.8029 134.755 41.5823 131.989 41.6637C129.222 41.5009 126.537 42.7215 124.746 44.8373C123.038 46.953 122.142 49.9639 122.142 53.8698C122.142 57.8572 123.038 60.9494 124.746 63.1465C126.455 65.3436 129.222 66.5642 131.989 66.4828C135.081 66.4828 137.522 65.3436 139.15 63.2279Z' fill='%23262A38'/%3E %3Cpath d='M198.635 34.6655C201.564 36.5371 203.843 39.2225 205.226 42.3147C206.853 45.8952 207.667 49.8011 207.586 53.7885C207.667 57.7758 206.853 61.7632 205.226 65.3436C203.761 68.5172 201.483 71.2026 198.553 73.1556C195.705 75.0272 192.287 76.0037 188.87 75.9223C186.103 76.0037 183.336 75.3527 180.895 74.0507C178.617 72.9114 176.745 71.1212 175.524 68.9241V75.2713H162.993V18.0651L175.606 13.915V38.9783C176.826 36.7812 178.698 34.991 180.976 33.8517C183.418 32.5498 186.103 31.8988 188.87 31.9801C192.287 31.8988 195.705 32.8753 198.635 34.6655ZM192.45 63.1465C194.159 60.9494 194.973 57.8572 194.973 53.7885C194.973 49.8825 194.159 46.8716 192.45 44.7559C190.741 42.6402 188.381 41.5823 185.289 41.5823C182.523 41.4196 179.837 42.6402 178.047 44.8373C176.338 47.0344 175.524 50.0452 175.524 53.9512C175.524 57.9386 176.338 61.0308 178.047 63.1465C179.756 65.3436 182.441 66.5642 185.289 66.4015C188.056 66.5642 190.741 65.3436 192.45 63.1465Z' fill='%23262A38'/%3E %3Cpath d='M225 42.4774V58.915C225 61.2749 225.651 62.9838 226.791 64.0416C228.093 65.1809 229.801 65.7505 231.592 65.6691C232.975 65.6691 234.44 65.425 235.742 65.0995V74.8644C233.382 75.6782 230.941 76.085 228.499 76.0037C223.292 76.0037 219.304 74.5389 216.537 71.6094C213.771 68.68 212.387 64.5299 212.387 59.1592V23.1103L225 19.0416V33.038H235.742V42.4774H225Z' fill='%23262A38'/%3E %3Cpath d='M86.1754 3.74322C88.2911 5.77758 89.6745 8.46293 90 11.3924C90 12.613 89.6745 13.4268 88.9421 14.9729C88.2098 16.519 79.1772 32.1429 76.4919 36.4557C74.9458 38.9783 74.132 41.9892 74.132 44.9186C74.132 47.9295 74.9458 50.859 76.4919 53.3816C79.1772 57.6944 88.2098 73.3996 88.9421 74.9457C89.6745 76.4919 90 77.2242 90 78.4448C89.6745 81.3743 88.3725 84.0597 86.2568 86.0127C84.2224 88.1284 81.5371 89.5118 78.689 89.7559C77.4684 89.7559 76.6546 89.4304 75.1899 88.698C73.7251 87.9656 57.7758 79.1772 53.4629 76.4919C53.1374 76.3291 52.8119 76.085 52.4051 75.9222L31.085 63.3092C31.5732 67.3779 33.3635 71.2839 36.2929 74.132C36.8626 74.7016 37.4322 75.1899 38.0832 75.6781C37.5949 75.9222 37.0253 76.1664 36.5371 76.4919C32.2242 79.1772 16.519 88.2098 14.9729 88.9421C13.4268 89.6745 12.6944 90 11.3924 90C8.46293 89.6745 5.77758 88.3725 3.82459 86.2568C1.70886 84.2224 0.325497 81.5371 0 78.6076C0.0813743 77.387 0.406872 76.1664 1.05787 75.1085C1.79024 73.5624 10.8228 57.8571 13.5081 53.5443C15.0542 51.0217 15.868 48.0922 15.868 45.0814C15.868 42.0705 15.0542 39.141 13.5081 36.6184C10.8228 32.1429 1.70886 16.4376 1.05787 14.8915C0.406872 13.8336 0.0813743 12.613 0 11.3924C0.325497 8.46293 1.62749 5.77758 3.74322 3.74322C5.77758 1.62749 8.46293 0.325497 11.3924 0C12.613 0.0813743 13.8336 0.406872 14.9729 1.05787C16.2749 1.62749 27.7486 8.30018 33.8517 11.8807L35.2351 12.6944C35.7233 13.0199 36.1302 13.264 36.4557 13.4268L37.1067 13.8336L58.8336 26.6908C58.3454 21.8083 55.8228 17.3327 51.9168 14.3219C52.4051 14.0778 52.9747 13.8336 53.4629 13.5081C57.7758 10.8228 73.481 1.70886 75.0271 1.05787C76.085 0.406872 77.3056 0.0813743 78.6076 0C81.4557 0.325497 84.1411 1.62749 86.1754 3.74322ZM46.1392 50.7776L50.7776 46.1392C51.4286 45.4882 51.4286 44.5118 50.7776 43.8608L46.1392 39.2224C45.4882 38.5714 44.5118 38.5714 43.8608 39.2224L39.2224 43.8608C38.5714 44.5118 38.5714 45.4882 39.2224 46.1392L43.8608 50.7776C44.4304 51.3472 45.4882 51.3472 46.1392 50.7776Z' fill='%23FF694A'/%3E %3C/svg%3E"},function(e,t,n){"use strict";n.r(t);var r=n(63),i=n.n(r);n(460),n(461),n(462),n(463),n(465);const o=n(9),a=(n(31),n(21));window.Prism=i.a,o.module("dbt").factory("code",["$sce",function(e){var t={copied:!1,highlight:function(t,n="sql"){if("sql"==n)var r=i.a.highlight(t,i.a.languages.sql,"sql");else if("python"==n)r=i.a.highlight(t,i.a.languages.python,"python");return e.trustAsHtml(r)},copy_to_clipboard:function(e){var t=document.createElement("textarea");t.value=e,t.setAttribute("readonly",""),t.style.position="absolute",t.style.left="-9999px",document.body.appendChild(t),t.select(),document.execCommand("copy"),document.body.removeChild(t)},generateSourceSQL:function(e){var t=["select"],n=a.size(e.columns),r=a.keys(e.columns);a.each(r,(function(e,r){var i=" "+e;r+1!=n&&(i+=","),t.push(i)}));const i=(e.database?e.database+".":"")+e.schema+"."+e.identifier;return t.push("from "+i),t.join("\n")},generateMetricSQL:function(e){if("derived"==e.calculation_method)return"-- derived\n"+e.expression;const t=[`select ${e.calculation_method}(${e.expression})`,`from {{ ${e.model} }}`];if(e.filters.length>0){const n=e.filters.map(e=>`${e.field} ${e.operator} ${e.value}`).join(" AND ");t.push("where "+n)}return t.join("\n")}};return t}])},function(e,t){Prism.languages.sql={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/|#).*)/,lookbehind:!0},variable:[{pattern:/@(["'`])(?:\\[\s\S]|(?!\1)[^\\])+\1/,greedy:!0},/@[\w.$]+/],string:{pattern:/(^|[^@\\])("|')(?:\\[\s\S]|(?!\2)[^\\]|\2\2)*\2/,greedy:!0,lookbehind:!0},identifier:{pattern:/(^|[^@\\])`(?:\\[\s\S]|[^`\\]|``)*`/,greedy:!0,lookbehind:!0,inside:{punctuation:/^`|`$/}},function:/\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\s*\()/i,keyword:/\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:COL|_INSERT)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:ING|S)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\b/i,boolean:/\b(?:FALSE|NULL|TRUE)\b/i,number:/\b0x[\da-f]+\b|\b\d+(?:\.\d*)?|\B\.\d+\b/i,operator:/[-+*\/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i,punctuation:/[;[\]()`,.]/}},function(e,t){Prism.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0,greedy:!0},"string-interpolation":{pattern:/(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=\}$)/,lookbehind:!0},"conversion-option":{pattern:/![sra](?=[:}]$)/,alias:"punctuation"},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|br|rb)?("""|''')[\s\S]*?\1/i,greedy:!0,alias:"string"},string:{pattern:/(?:[rub]|br|rb)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^[\t ]*)@\w+(?:\.\w+)*/m,lookbehind:!0,alias:["annotation","punctuation"],inside:{punctuation:/\./}},keyword:/\b(?:_(?=\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:False|None|True)\b/,number:/\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?(?!\w)/i,operator:/[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},Prism.languages.python["string-interpolation"].inside.interpolation.inside.rest=Prism.languages.python,Prism.languages.py=Prism.languages.python},function(e,t){!function(){if("undefined"!=typeof Prism&&"undefined"!=typeof document){var e=/\n(?!$)/g,t=Prism.plugins.lineNumbers={getLine:function(e,t){if("PRE"===e.tagName&&e.classList.contains("line-numbers")){var n=e.querySelector(".line-numbers-rows");if(n){var r=parseInt(e.getAttribute("data-start"),10)||1,i=r+(n.children.length-1);ti&&(t=i);var o=t-r;return n.children[o]}}},resize:function(e){r([e])},assumeViewportIndependence:!0},n=void 0;window.addEventListener("resize",(function(){t.assumeViewportIndependence&&n===window.innerWidth||(n=window.innerWidth,r(Array.prototype.slice.call(document.querySelectorAll("pre.line-numbers"))))})),Prism.hooks.add("complete",(function(t){if(t.code){var n=t.element,i=n.parentNode;if(i&&/pre/i.test(i.nodeName)&&!n.querySelector(".line-numbers-rows")&&Prism.util.isActive(n,"line-numbers")){n.classList.remove("line-numbers"),i.classList.add("line-numbers");var o,a=t.code.match(e),s=a?a.length+1:1,l=new Array(s+1).join("");(o=document.createElement("span")).setAttribute("aria-hidden","true"),o.className="line-numbers-rows",o.innerHTML=l,i.hasAttribute("data-start")&&(i.style.counterReset="linenumber "+(parseInt(i.getAttribute("data-start"),10)-1)),t.element.appendChild(o),r([i]),Prism.hooks.run("line-numbers",t)}}})),Prism.hooks.add("line-numbers",(function(e){e.plugins=e.plugins||{},e.plugins.lineNumbers=!0}))}function r(t){if(0!=(t=t.filter((function(e){var t=function(e){if(!e)return null;return window.getComputedStyle?getComputedStyle(e):e.currentStyle||null}(e)["white-space"];return"pre-wrap"===t||"pre-line"===t}))).length){var n=t.map((function(t){var n=t.querySelector("code"),r=t.querySelector(".line-numbers-rows");if(n&&r){var i=t.querySelector(".line-numbers-sizer"),o=n.textContent.split(e);i||((i=document.createElement("span")).className="line-numbers-sizer",n.appendChild(i)),i.innerHTML="0",i.style.display="block";var a=i.getBoundingClientRect().height;return i.innerHTML="",{element:t,lines:o,lineHeights:[],oneLinerHeight:a,sizer:i}}})).filter(Boolean);n.forEach((function(e){var t=e.sizer,n=e.lines,r=e.lineHeights,i=e.oneLinerHeight;r[n.length-1]=void 0,n.forEach((function(e,n){if(e&&e.length>1){var o=t.appendChild(document.createElement("span"));o.style.display="block",o.textContent=e}else r[n]=i}))})),n.forEach((function(e){for(var t=e.sizer,n=e.lineHeights,r=0,i=0;i code {\n\tposition: relative;\n\twhite-space: inherit;\n}\n\n.line-numbers .line-numbers-rows {\n\tposition: absolute;\n\tpointer-events: none;\n\ttop: 0;\n\tfont-size: 100%;\n\tleft: -3.8em;\n\twidth: 3em; /* works for line-numbers below 1000 lines */\n\tletter-spacing: -1px;\n\tborder-right: 1px solid #999;\n\n\t-webkit-user-select: none;\n\t-moz-user-select: none;\n\t-ms-user-select: none;\n\tuser-select: none;\n\n}\n\n\t.line-numbers-rows > span {\n\t\tdisplay: block;\n\t\tcounter-increment: linenumber;\n\t}\n\n\t\t.line-numbers-rows > span:before {\n\t\t\tcontent: counter(linenumber);\n\t\t\tcolor: #999;\n\t\t\tdisplay: block;\n\t\t\tpadding-right: 0.8em;\n\t\t\ttext-align: right;\n\t\t}\n',""])},function(e,t,n){var r=n(466);"string"==typeof r&&(r=[[e.i,r,""]]);var i={hmr:!0,transform:void 0,insertInto:void 0};n(40)(r,i);r.locals&&(e.exports=r.locals)},function(e,t,n){(e.exports=n(39)(!1)).push([e.i,'/**\n * GHColors theme by Avi Aryan (http://aviaryan.in)\n * Inspired by Github syntax coloring\n */\n\ncode[class*="language-"],\npre[class*="language-"] {\n\tcolor: #393A34;\n\tfont-family: "Consolas", "Bitstream Vera Sans Mono", "Courier New", Courier, monospace;\n\tdirection: ltr;\n\ttext-align: left;\n\twhite-space: pre;\n\tword-spacing: normal;\n\tword-break: normal;\n\tfont-size: .9em;\n\tline-height: 1.2em;\n\n\t-moz-tab-size: 4;\n\t-o-tab-size: 4;\n\ttab-size: 4;\n\n\t-webkit-hyphens: none;\n\t-moz-hyphens: none;\n\t-ms-hyphens: none;\n\thyphens: none;\n}\n\npre > code[class*="language-"] {\n\tfont-size: 1em;\n}\n\npre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection,\ncode[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection {\n\tbackground: #b3d4fc;\n}\n\npre[class*="language-"]::selection, pre[class*="language-"] ::selection,\ncode[class*="language-"]::selection, code[class*="language-"] ::selection {\n\tbackground: #b3d4fc;\n}\n\n/* Code blocks */\npre[class*="language-"] {\n\tpadding: 1em;\n\tmargin: .5em 0;\n\toverflow: auto;\n\tborder: 1px solid #dddddd;\n\tbackground-color: white;\n}\n\n/* Inline code */\n:not(pre) > code[class*="language-"] {\n\tpadding: .2em;\n\tpadding-top: 1px;\n\tpadding-bottom: 1px;\n\tbackground: #f8f8f8;\n\tborder: 1px solid #dddddd;\n}\n\n.token.comment,\n.token.prolog,\n.token.doctype,\n.token.cdata {\n\tcolor: #999988;\n\tfont-style: italic;\n}\n\n.token.namespace {\n\topacity: .7;\n}\n\n.token.string,\n.token.attr-value {\n\tcolor: #e3116c;\n}\n\n.token.punctuation,\n.token.operator {\n\tcolor: #393A34; /* no highlight */\n}\n\n.token.entity,\n.token.url,\n.token.symbol,\n.token.number,\n.token.boolean,\n.token.variable,\n.token.constant,\n.token.property,\n.token.regex,\n.token.inserted {\n\tcolor: #36acaa;\n}\n\n.token.atrule,\n.token.keyword,\n.token.attr-name,\n.language-autohotkey .token.selector {\n\tcolor: #00a4db;\n}\n\n.token.function,\n.token.deleted,\n.language-autohotkey .token.tag {\n\tcolor: #9a050f;\n}\n\n.token.tag,\n.token.selector,\n.language-autohotkey .token.keyword {\n\tcolor: #00009f;\n}\n\n.token.important,\n.token.function,\n.token.bold {\n\tfont-weight: bold;\n}\n\n.token.italic {\n\tfont-style: italic;\n}\n',""])},function(e,t,n){n(31);const r=n(21),i=n(148),o=n(203),a=n(468);angular.module("dbt").factory("graph",["$state","$window","$q","selectorService","project","locationService",function(e,t,n,s,l,c){var u={vertical:{userPanningEnabled:!1,boxSelectionEnabled:!1,maxZoom:1.5},horizontal:{userPanningEnabled:!0,boxSelectionEnabled:!1,maxZoom:1,minZoom:.05}},d={none:{name:"null"},left_right:{name:"dagre",rankDir:"LR",rankSep:200,edgeSep:30,nodeSep:50},top_down:{name:"preset",positions:function(t){var n=e.params.unique_id;if(!n)return{x:0,y:0};var a=f.graph.pristine.dag,s=r.sortBy(o.ancestorNodes(a,n,1)),l=r.sortBy(o.descendentNodes(a,n,1)),c=r.partial(r.includes,s),u=r.partial(r.includes,l),d=a.filterNodes(c),p=a.filterNodes(u);return function(e,t,n,i){console.log("Getting position for ",i,". Primary: ",e);var o,a=100/(1+Math.max(t.length,n.length));if(e==i)return{x:0,y:0};if(r.includes(t,i))o={set:t,index:r.indexOf(t,i),factor:-1,type:"parent"};else{if(!r.includes(n,i))return{x:0,y:0};o={set:n,index:r.indexOf(n,i),factor:1,type:"child"}}var s=o.set.length;if("parent"==o.type)var l={x:(0+o.index)*a,y:-200-100*(s-o.index-1)};else l={x:(0+o.index)*a,y:200+100*(s-o.index-1)};return l}(n,i.alg.topsort(d),i.alg.topsort(p).reverse(),t.data("id"))}}},f={loading:!0,loaded:n.defer(),graph_element:null,orientation:"sidebar",expanded:!1,graph:{options:u.vertical,pristine:{nodes:{},edges:{},dag:null},elements:[],layout:d.none,style:[{selector:"edge.vertical",style:{"curve-style":"unbundled-bezier","target-arrow-shape":"triangle-backcurve","target-arrow-color":"#027599","arrow-scale":1.5,"line-color":"#027599",width:3,"target-distance-from-node":"5px","source-endpoint":"0% 50%","target-endpoint":"0deg"}},{selector:"edge.horizontal",style:{"curve-style":"unbundled-bezier","target-arrow-shape":"triangle-backcurve","target-arrow-color":"#006f8a","arrow-scale":1.5,"target-distance-from-node":"10px","source-distance-from-node":"5px","line-color":"#006f8a",width:3,"source-endpoint":"50% 0%","target-endpoint":"270deg"}},{selector:"edge[selected=1]",style:{"line-color":"#bd6bb6","target-arrow-color":"#bd6bb6","z-index":1}},{selector:'node[display="none"]',style:{display:"none"}},{selector:"node.vertical",style:{"text-margin-x":"5px","background-color":"#0094b3","font-size":"16px",shape:"ellipse",color:"#fff",width:"5px",height:"5px",padding:"5px",content:"data(label)","font-weight":300,"text-valign":"center","text-halign":"right"}},{selector:"node.horizontal",style:{"background-color":"#0094b3","font-size":"24px",shape:"roundrectangle",color:"#fff",width:"label",height:"label",padding:"12px",content:"data(label)","font-weight":300,"font-family":'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", Helvetica, Arial, sans-serif',"text-valign":"center","text-halign":"center",ghost:"yes","ghost-offset-x":"2px","ghost-offset-y":"4px","ghost-opacity":.5,"text-outline-color":"#000","text-outline-width":"1px","text-outline-opacity":.2}},{selector:'node[resource_type="source"]',style:{"background-color":"#5fb825"}},{selector:'node[resource_type="exposure"]',style:{"background-color":"#ff694b"}},{selector:'node[resource_type="metric"]',style:{"background-color":"#ff5688"}},{selector:'node[language="python"]',style:{"background-color":"#6a5acd"}},{selector:"node[node_color]",style:{"background-color":"data(node_color)"}},{selector:"node[selected=1]",style:{"background-color":"#bd6bb6"}},{selector:"node.horizontal[selected=1]",style:{"background-color":"#88447d"}},{selector:"node.horizontal.dirty",style:{"background-color":"#919599"}},{selector:"node[hidden=1]",style:{"background-color":"#919599","background-opacity":.5}}],ready:function(e){console.log("graph ready")}}};function p(e,t,n){var i=r.map(e,(function(e){return f.graph.pristine.nodes[e]})),o=[];r.flatten(r.each(e,(function(t){var n=f.graph.pristine.edges[t];r.each(n,(function(t){r.includes(e,t.data.target)&&r.includes(e,t.data.source)&&o.push(t)}))})));var s=r.compact(i).concat(r.compact(o));return r.each(f.graph.elements,(function(e){e.data.display="none",e.data.selected=0,e.data.hidden=0,e.classes=n})),r.each(s,(function(e){e.data.display="element",e.classes=n,t&&r.includes(t,e.data.unique_id)&&(e.data.selected=1),r.get(e,["data","docs","show"],!0)||(e.data.hidden=1);var i=r.get(e,["data","docs","node_color"]);i&&a.isValidColor(i)&&(e.data.node_color=i)})),f.graph.elements=r.filter(s,(function(e){return"element"==e.data.display})),e}function h(e,t,n){var r=f.graph.pristine.dag;if(r){var i=f.graph.pristine.nodes,o=s.selectNodes(r,i,e),a=n?o.matched:[];return p(o.selected,a,t)}}return f.setGraphReady=function(e){f.loading=!1,f.loaded.resolve(),f.graph_element=e},f.ready=function(e){f.loaded.promise.then((function(){e(f)}))},f.manifest={},f.packages=[],f.selected_node=null,f.getCanvasHeight=function(){return.8*t.innerHeight+"px"},l.ready((function(e){f.manifest=e,f.packages=r.uniq(r.map(f.manifest.nodes,"package_name")),r.each(r.filter(f.manifest.nodes,(function(e){var t=r.includes(["model","seed","source","snapshot","analysis","exposure","metric","operation"],e.resource_type),n="test"==e.resource_type&&!e.hasOwnProperty("test_metadata");return t||n})),(function(e){var t={group:"nodes",data:r.assign(e,{parent:e.package_name,id:e.unique_id,is_group:"false"})};f.graph.pristine.nodes[e.unique_id]=t})),r.each(f.manifest.parent_map,(function(e,t){r.each(e,(function(e){var n=f.manifest.nodes[e],i=f.manifest.nodes[t];if(r.includes(["model","source","seed","snapshot","metric"],n.resource_type)&&("test"!=i.resource_type||!i.hasOwnProperty("test_metadata"))){var o=n.unique_id+"|"+i.unique_id,a={group:"edges",data:{source:n.unique_id,target:i.unique_id,unique_id:o}},s=i.unique_id;f.graph.pristine.edges[s]||(f.graph.pristine.edges[s]=[]),f.graph.pristine.edges[s].push(a)}}))}));var t=new i.Graph({directed:!0});r.each(f.graph.pristine.nodes,(function(e){t.setNode(e.data.unique_id,e.data.name)})),r.each(f.graph.pristine.edges,(function(e){r.each(e,(function(e){t.setEdge(e.data.source,e.data.target)}))})),f.graph.pristine.dag=t,f.graph.elements=r.flatten(r.values(f.graph.pristine.nodes).concat(r.values(f.graph.pristine.edges))),p(t.nodes())})),f.hideGraph=function(){f.orientation="sidebar",f.expanded=!1},f.showVerticalGraph=function(e,t){f.orientation="sidebar",t&&(f.expanded=!0);var n=h(r.assign({},s.options,{include:"+"+e+"+",exclude:"",hops:1}),"vertical",!0);return f.graph.layout=d.top_down,f.graph.options=u.vertical,n},f.showFullGraph=function(e){f.orientation="fullscreen",f.expanded=!0;var t=r.assign({},s.options);e?(t.include="+"+e+"+",t.exclude=""):(t.include="",t.exclude="");var n=h(t,"horizontal",!0);return f.graph.layout=d.left_right,f.graph.options=u.horizontal,c.setState(t),n},f.updateGraph=function(e){f.orientation="fullscreen",f.expanded=!0;var t=h(e,"horizontal",!1);return f.graph.layout=d.left_right,f.graph.options=u.horizontal,c.setState(e),t},f.deselectNodes=function(){"fullscreen"==f.orientation&&f.graph_element.elements().data("selected",0)},f.selectNode=function(e){if("fullscreen"==f.orientation){f.graph.pristine.nodes[e];var t=f.graph.pristine.dag,n=r.indexBy(o.ancestorNodes(t,e)),i=r.indexBy(o.descendentNodes(t,e));n[e]=e,i[e]=e;var a=f.graph_element;r.each(f.graph.elements,(function(t){var r=a.$id(t.data.id);n[t.data.source]&&n[t.data.target]||i[t.data.source]&&i[t.data.target]||t.data.unique_id==e?r.data("selected",1):r.data("selected",0)}))}},f.markDirty=function(e){f.markAllClean(),r.each(e,(function(e){f.graph_element.$id(e).addClass("dirty")}))},f.markAllClean=function(){f.graph_element&&f.graph_element.elements().removeClass("dirty")},f}])},function(e,t,n){"use strict";n.r(t),n.d(t,"isValidColor",(function(){return i}));const r=new Set(["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","ghostwhite","gold","goldenrod","gray","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightpink","lightsalmon","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"]);function i(e){if(!e)return!1;const t=e.trim().toLowerCase();if(""===t)return!1;const n=t.match(/^#([A-Fa-f0-9]{3}){1,2}$/),i=r.has(t);return Boolean(n)||i}},function(e,t,n){n(31);const r=n(21),i=n(470);angular.module("dbt").factory("selectorService",["$state",function(e){var t={include:"",exclude:"",packages:[],tags:[null],resource_types:["model","seed","snapshot","source","test","analysis","exposure","metric"],depth:1},n={view_node:null,selection:{clean:r.clone(t),dirty:r.clone(t)},options:{packages:[],tags:[null],resource_types:["model","seed","snapshot","source","test","analysis","exposure","metric"]},init:function(e){r.each(e,(function(e,r){n.options[r]=e,t[r]=e,n.selection.clean[r]=e,n.selection.dirty[r]=e}))},resetSelection:function(e){var i={include:e&&r.includes(["model","seed","snapshot"],e.resource_type)?"+"+e.name+"+":e&&"source"==e.resource_type?"+source:"+e.source_name+"."+e.name+"+":e&&"exposure"==e.resource_type?"+exposure:"+e.name:e&&"metric"==e.resource_type?"+metric:"+e.name:e&&r.includes(["analysis","test"],e.resource_type)?"+"+e.name:""},o=r.assign({},t,i);n.selection.clean=r.clone(o),n.selection.dirty=r.clone(o),n.view_node=e},getViewNode:function(){return n.view_node},excludeNode:function(e,t){var r,i=n.selection.dirty.exclude,o=t.parents?"+":"",a=t.children?"+":"",s=i.length>0?" ":"";"source"==e.resource_type?(o+="source:",r=e.source_name+"."+e.name):["exposure","metric"].indexOf(e.resource_type)>-1?(o+=e.resource_type+":",r=e.name):r=e.name;var l=i+s+o+r+a;return n.selection.dirty.exclude=l,n.updateSelection()},selectSource:function(e,t){var r="source:"+e+(t.children?"+":"");return n.selection.dirty.include=r,n.updateSelection()},clearViewNode:function(){n.view_node=null},isDirty:function(){return!r.isEqual(n.selection.clean,n.selection.dirty)},updateSelection:function(){return n.selection.clean=r.clone(n.selection.dirty),n.selection.clean},selectNodes:function(e,t,n){return i.selectNodes(e,t,n)}};return n}])},function(e,t,n){const r=n(21),i=n(471);function o(e,t){return t||(t=" "),r.filter(r.uniq(e.split(t)),(function(e){return e.length>0}))}function a(e){var t={raw:e,select_at:!1,select_children:!1,children_depth:null,select_parents:!1,parents_depth:null};const n=new RegExp(""+/^/.source+/(?(\@))?/.source+/(?((?(\d*))\+))?/.source+/((?([\w.]+)):)?/.source+/(?(.*?))/.source+/(?(\+(?(\d*))))?/.source+/$/.source).exec(e).groups;t.select_at="@"==n.childs_parents,t.select_parents=!!n.parents,t.select_children=!!n.children,n.parents_depth&&(t.parents_depth=parseInt(n.parents_depth)),n.children_depth&&(t.children_depth=parseInt(n.children_depth));var r=n.method,i=n.value;return r?-1!=r.indexOf(".")&&([r,selector_modifier]=r.split(".",2),i={config:selector_modifier,value:i}):r="implicit",t.selector_type=r,t.selector_value=i,t}function s(e){var t=o(e," ");return r.map(t,(function(e){var t=o(e,",");return t.length>1?{method:"intersect",selectors:r.map(t,a)}:{method:"none",selectors:r.map([e],a)}}))}function l(e,t){var n=s(e),i=null,o=null;return r.each(n,(function(e){var n="intersect"==e.method?r.intersection:r.union;r.each(e.selectors,(function(e){var r=t(e);null===i?(i=r.matched,o=r.selected):(i=n(i,r.matched),o=n(o,r.selected))}))})),{matched:i||[],selected:o||[]}}e.exports={splitSpecs:o,parseSpec:a,parseSpecs:s,buildSpec:function(e,t,n){return{include:s(e),exclude:s(t),hops:n}},applySpec:l,selectNodes:function(e,t,n){n.include,n.exclude;var o,a=r.partial(i.getNodesFromSpec,e,t,n.hops);r.values(t),o=0==n.include.trim().length?{selected:e.nodes(),matched:[]}:l(n.include,a);var s=l(n.exclude,a),c=o.selected,u=o.matched;c=r.difference(c,s.selected),u=r.difference(u,s.matched);var d=[];return r.each(c,(function(e){var i=t[e];i.data.tags||(i.data.tags=[]);var o=r.includes(n.packages,i.data.package_name),a=r.intersection(n.tags,i.data.tags).length>0,s=r.includes(n.tags,null)&&0==i.data.tags.length,l=r.includes(n.resource_types,i.data.resource_type);o&&(a||s)&&l||d.push(i.data.unique_id)})),{selected:r.difference(c,d),matched:r.difference(u,d)}}}},function(e,t,n){const r=n(21),i=n(203);var o="fqn",a="tag",s="source",l="exposure",c="metric",u="path",d="file",f="package",p="config",h="test_name",g="test_type",m={};function v(e,t){if(t===r.last(e))return!0;var n=e.reduce((e,t)=>e.concat(t.split(".")),[]),i=t.split(".");if(n.length-1||!r.hasOwnProperty("test_metadata")&&["data","singular"].indexOf(t)>-1)&&n.push(r)})),n}function $(e,t){var n=[];return r.each(e,(function(e){var r=e.data;if("source"==r.resource_type){var i,o,a=r.source_name,s=r.name;-1!=t.indexOf(".")?[i,o]=t.split(".",2):(i=t,o=null),("*"==i||i==a&&"*"===o||i==a&&o===s||i==a&&null===o)&&n.push(e.data)}})),n}m["implicit"]=function(e,t){var n=b(e,t),i=y(e,t),o=[];t.toLowerCase().endsWith(".sql")&&(o=x(e,t));var a=r.uniq([].concat(r.map(n,"unique_id"),r.map(i,"unique_id"),r.map(o,"unique_id")));return r.map(a,t=>e[t].data)},m[o]=b,m[a]=w,m[s]=$,m[l]=function(e,t){var n=[];return r.each(e,(function(e){var r=e.data;if("exposure"==r.resource_type){var i=r.name;("*"==t||t==i)&&n.push(e.data)}})),n},m[c]=function(e,t){var n=[];return r.each(e,(function(e){var r=e.data;if("metric"==r.resource_type){var i=r.name;("*"==t||t==i)&&n.push(e.data)}})),n},m[u]=y,m[d]=x,m[f]=k,m[p]=A,m[h]=E,m[g]=S,e.exports={isFQNMatch:v,getNodesByFQN:b,getNodesByTag:w,getNodesBySource:$,getNodesByPath:y,getNodesByPackage:k,getNodesByConfig:A,getNodesByTestName:E,getNodesByTestType:S,getNodesFromSpec:function(e,t,n,o){const a=m[o.selector_type];if(!a)return console.log("Node matcher for selector",o.selector_type,"is invalid"),{selected:[],matched:[]};var s=a(t,o.selector_value),l=[],c=[];return r.each(s,(function(t){var a=t.unique_id;c.push(t.unique_id);var s=[],u=[],d=[];if(o.select_at&&(d=r.union(i.selectAt(e,a))),o.select_parents){var f=n||o.parents_depth;s=i.ancestorNodes(e,a,f)}if(o.select_children){f=n||o.children_depth;u=i.descendentNodes(e,a,f)}l=r.union([a],l,u,s,d)})),{selected:l,matched:c}}}},function(e,t,n){const r=n(9);n(473);r.module("dbt").factory("trackingService",["$location","selectorService","$rootScope",function(e,t,n){var r={initialized:!1,snowplow:null,project_id:null,init:function(e){r.initialized||(r.initialized=!0,r.project_id=e.project_id,!0===e.track&&r.turn_on_tracking())},isHosted:function(){return window.location.hostname.indexOf(".getdbt.com")>-1},turn_on_tracking:function(){var e,t,n,i,o,a;e=window,t=document,n="script",e[i="snowplow"]||(e.GlobalSnowplowNamespace=e.GlobalSnowplowNamespace||[],e.GlobalSnowplowNamespace.push(i),e[i]=function(){(e[i].q=e[i].q||[]).push(arguments)},e[i].q=e[i].q||[],o=t.createElement(n),a=t.getElementsByTagName(n)[0],o.async=1,o.src="//d1fc8wv8zag5ca.cloudfront.net/2.9.0/sp.js",a.parentNode.insertBefore(o,a));var s={appId:"dbt-docs",forceSecureTracker:!0,respectDoNotTrack:!0,userFingerprint:!1,contexts:{webPage:!0}};r.isHosted()&&(s.cookieDomain=".getdbt.com"),r.snowplow=window.snowplow,r.snowplow("newTracker","sp","fishtownanalytics.sinter-collect.com",s),r.snowplow("enableActivityTracking",30,30),r.track_pageview()},fuzzUrls:function(){r.isHosted()||(r.snowplow("setCustomUrl","https://fuzzed.getdbt.com/"),r.snowplow("setReferrerUrl","https://fuzzed.getdbt.com/"))},getContext:function(){return[{schema:"iglu:com.dbt/dbt_docs/jsonschema/1-0-0",data:{is_cloud_hosted:r.isHosted(),core_project_id:r.project_id}}]},track_pageview:function(){if(r.snowplow){r.fuzzUrls();r.snowplow("trackPageView",null,r.getContext())}},track_event:function(e,t,n,i){r.snowplow&&(r.fuzzUrls(),r.snowplow("trackStructEvent","dbt-docs",e,t,n,i,r.getContext()))},track_graph_interaction:function(e,t){r.snowplow&&(r.fuzzUrls(),r.track_event("graph","interact",e,t))}};return r}])},function(e,t,n){var r,i,o,a,s;r=n(474),i=n(204).utf8,o=n(475),a=n(204).bin,(s=function(e,t){e.constructor==String?e=t&&"binary"===t.encoding?a.stringToBytes(e):i.stringToBytes(e):o(e)?e=Array.prototype.slice.call(e,0):Array.isArray(e)||e.constructor===Uint8Array||(e=e.toString());for(var n=r.bytesToWords(e),l=8*e.length,c=1732584193,u=-271733879,d=-1732584194,f=271733878,p=0;p>>24)|4278255360&(n[p]<<24|n[p]>>>8);n[l>>>5]|=128<>>9<<4)]=l;var h=s._ff,g=s._gg,m=s._hh,v=s._ii;for(p=0;p>>0,u=u+y>>>0,d=d+x>>>0,f=f+w>>>0}return r.endian([c,u,d,f])})._ff=function(e,t,n,r,i,o,a){var s=e+(t&n|~t&r)+(i>>>0)+a;return(s<>>32-o)+t},s._gg=function(e,t,n,r,i,o,a){var s=e+(t&r|n&~r)+(i>>>0)+a;return(s<>>32-o)+t},s._hh=function(e,t,n,r,i,o,a){var s=e+(t^n^r)+(i>>>0)+a;return(s<>>32-o)+t},s._ii=function(e,t,n,r,i,o,a){var s=e+(n^(t|~r))+(i>>>0)+a;return(s<>>32-o)+t},s._blocksize=16,s._digestsize=16,e.exports=function(e,t){if(null==e)throw new Error("Illegal argument "+e);var n=r.wordsToBytes(s(e,t));return t&&t.asBytes?n:t&&t.asString?a.bytesToString(n):r.bytesToHex(n)}},function(e,t){var n,r;n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",r={rotl:function(e,t){return e<>>32-t},rotr:function(e,t){return e<<32-t|e>>>t},endian:function(e){if(e.constructor==Number)return 16711935&r.rotl(e,8)|4278255360&r.rotl(e,24);for(var t=0;t0;e--)t.push(Math.floor(256*Math.random()));return t},bytesToWords:function(e){for(var t=[],n=0,r=0;n>>5]|=e[n]<<24-r%32;return t},wordsToBytes:function(e){for(var t=[],n=0;n<32*e.length;n+=8)t.push(e[n>>>5]>>>24-n%32&255);return t},bytesToHex:function(e){for(var t=[],n=0;n>>4).toString(16)),t.push((15&e[n]).toString(16));return t.join("")},hexToBytes:function(e){for(var t=[],n=0;n>>6*(3-o)&63)):t.push("=");return t.join("")},base64ToBytes:function(e){e=e.replace(/[^A-Z0-9+\/]/gi,"");for(var t=[],r=0,i=0;r>>6-2*i);return t}},e.exports=r},function(e,t){function n(e){return!!e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)} /*! * Determine if an object is a Buffer * * @author Feross Aboukhadijeh * @license MIT */ -e.exports=function(e){return null!=e&&(n(e)||function(e){return"function"==typeof e.readFloatLE&&"function"==typeof e.slice&&n(e.slice(0,0))}(e)||!!e._isBuffer)}},function(e,t,n){n(9).module("dbt").factory("locationService",["$state",function(e){var t={};return t.parseState=function(e){return function(e){return{selected:{include:e.g_i||"",exclude:e.g_e||""},show_graph:!!e.g_v}}(e)},t.setState=function(t){var n=function(e){var t={g_v:1};return t.g_i=e.include,t.g_e=e.exclude,t}(t),r=e.current.name;e.go(r,n)},t.clearState=function(){var t=e.current.name;e.go(t,{g_i:null,g_e:null,g_v:null})},t}])},function(e,t,n){"use strict";const r=n(9),i=n(202);r.module("dbt").controller("OverviewCtrl",["$scope","$state","project",function(e,t,n){e.overview_md="(loading)",n.ready((function(n){let r=t.params.project_name?t.params.project_name:null;var o=n.docs["dbt.__overview__"],a=i.filter(n.docs,{name:"__overview__"});if(i.each(a,(function(e){"dbt"!=e.package_name&&(o=e)})),null!==r){o=n.docs[`${r}.__${r}__`]||o;let e=i.filter(n.docs,{name:`__${r}__`});i.each(e,e=>{e.package_name!==r&&(o=e)})}e.overview_md=o.block_contents}))}])},function(e,t,n){"use strict";n(9).module("dbt").controller("SourceListCtrl",["$scope","$state","project",function(e,t,n){e.source=t.params.source,e.model={},e.extra_table_fields=[],e.has_more_info=function(e){return(e.description||"").length},e.toggle_source_expanded=function(t){e.has_more_info(t)&&(t.expanded=!t.expanded)},n.ready((function(t){var n=_.filter(t.nodes,(function(t){return t.source_name==e.source}));if(0!=n.length){n.sort((e,t)=>e.name.localeCompare(t.name));var r=n[0];e.model={name:e.source,source_description:r.source_description,sources:n};var i=_.uniq(_.map(n,"metadata.owner")),o=_.uniq(_.map(n,"database")),a=_.uniq(_.map(n,"schema"));e.extra_table_fields=[{name:"Loader",value:r.loader},{name:1==i.length?"Owner":"Owners",value:i.join(", ")},{name:1==o.length?"Database":"Databases",value:o.join(", ")},{name:1==a.length?"Schema":"Schemas",value:a.join(", ")},{name:"Tables",value:n.length}]}}))}])},function(e,t,n){const r=n(9),i={main:n(480),overview:n(481),graph:n(482),source:n(205),source_list:n(483),model:n(484),source:n(205),snapshot:n(485),seed:n(486),test:n(487),analysis:n(488),macro:n(489),exposure:n(490),metric:n(491),operation:n(492)};r.module("dbt").config(["$stateProvider","$urlRouterProvider",function(e,t){var n="g_v&g_i&g_e&g_p&g_n";t.otherwise("/overview"),e.state("dbt",{url:"/",abstract:!0,controller:"MainController",templateUrl:i.main}).state("dbt.overview",{url:"overview?"+n,controller:"OverviewCtrl",templateUrl:i.overview}).state("dbt.project_overview",{url:"overview/:project_name?"+n,controller:"OverviewCtrl",templateUrl:i.overview,params:{project_name:{type:"string"}}}).state("dbt.graph",{url:"graph",controller:"GraphCtrl",templateUrl:i.graph}).state("dbt.model",{url:"model/:unique_id?section&"+n,controller:"ModelCtrl",templateUrl:i.model,params:{unique_id:{type:"string"}}}).state("dbt.seed",{url:"seed/:unique_id?section&"+n,controller:"SeedCtrl",templateUrl:i.seed,params:{unique_id:{type:"string"}}}).state("dbt.snapshot",{url:"snapshot/:unique_id?section&"+n,controller:"SnapshotCtrl",templateUrl:i.snapshot,params:{unique_id:{type:"string"}}}).state("dbt.test",{url:"test/:unique_id?section&"+n,controller:"TestCtrl",templateUrl:i.test,params:{unique_id:{type:"string"}}}).state("dbt.analysis",{url:"analysis/:unique_id?section&"+n,controller:"AnalysisCtrl",templateUrl:i.analysis,params:{unique_id:{type:"string"}}}).state("dbt.source",{url:"source/:unique_id?section&"+n,controller:"SourceCtrl",templateUrl:i.source,params:{unique_id:{type:"string"}}}).state("dbt.source_list",{url:"source_list/:source?section&"+n,controller:"SourceListCtrl",templateUrl:i.source_list,params:{source:{type:"string"}}}).state("dbt.macro",{url:"macro/:unique_id?section",controller:"MacroCtrl",templateUrl:i.macro,params:{unique_id:{type:"string"}}}).state("dbt.exposure",{url:"exposure/:unique_id?section&"+n,controller:"ExposureCtrl",templateUrl:i.exposure,params:{unique_id:{type:"string"}}}).state("dbt.metric",{url:"metric/:unique_id?section&"+n,controller:"MetricCtrl",templateUrl:i.metric,params:{unique_id:{type:"string"}}}).state("dbt.operation",{url:"operation/:unique_id?section&"+n,controller:"OperationCtrl",templateUrl:i.operation,params:{unique_id:{type:"string"}}})}])},function(e,t){var n="/main/main.html";window.angular.module("ng").run(["$templateCache",function(e){e.put(n,'\n\n
    \n \n\n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n')}]),e.exports=n},function(e,t){var n="/overview/overview.html";window.angular.module("ng").run(["$templateCache",function(e){e.put(n,'
    \n \n
    \n
    \n

    \n
    \n
    \n
    \n
    \n')}]),e.exports=n},function(e,t){var n="/graph/graph.html";window.angular.module("ng").run(["$templateCache",function(e){e.put(n,'
    \n
    \n
    \n
    \n
    \n
    \n
    \n')}]),e.exports=n},function(e,t){var n="/sources/source_list.html";window.angular.module("ng").run(["$templateCache",function(e){e.put(n,'\n\n
    \n \n
    \n
    \n
    \n
    \n \n
    \n\n
    \n
    \n
    \n
    Description
    \n
    \n
    \n
    \n
    This {{ model.resource_type }} is not currently documented
    \n
    \n
    \n
    \n
    \n\n\n
    \n
    \n
    \n
    Source Tables
    \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    SourceTableDescriptionLinkMore?
    \n
    \n {{ source.source_name }}\n
    \n
    \n {{ source.name }}

    \n
    \n {{ source.description }}\n \n View docs\n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    Description
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n')}]),e.exports=n},function(e,t){var n="/docs/model.html";window.angular.module("ng").run(["$templateCache",function(e){e.put(n,'\n\n
    \n \n
    \n
    \n
    \n
    \n \n
    \n\n
    \n
    \n
    \n
    Description
    \n
    \n
    \n
    \n
    This {{ model.resource_type }} is not currently documented
    \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    Columns
    \n \n
    \n
    \n\n
    \n
    \n
    \n
    Referenced By
    \n \n
    \n
    \n\n
    \n
    \n
    \n
    Depends On
    \n \n
    \n
    \n\n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n')}]),e.exports=n},function(e,t){var n="/docs/snapshot.html";window.angular.module("ng").run(["$templateCache",function(e){e.put(n,'\n\n
    \n \n
    \n
    \n
    \n
    \n \n
    \n\n
    \n
    \n
    \n
    Description
    \n
    \n
    \n
    \n
    This {{ model.resource_type }} is not currently documented
    \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    Columns
    \n \n
    \n
    \n\n
    \n
    \n
    \n
    Referenced By
    \n \n
    \n
    \n\n
    \n
    \n
    \n
    Depends On
    \n \n
    \n
    \n\n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n')}]),e.exports=n},function(e,t){var n="/docs/seed.html";window.angular.module("ng").run(["$templateCache",function(e){e.put(n,'\n\n
    \n \n
    \n
    \n
    \n
    \n \n
    \n\n
    \n
    \n
    \n
    Description
    \n
    \n
    \n
    \n
    This {{ model.resource_type }} is not currently documented
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    Columns
    \n \n
    \n
    \n\n
    \n
    \n
    \n
    Referenced By
    \n \n
    \n
    \n\n
    \n
    \n
    \n
    Depends On
    \n \n
    \n
    \n\n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n')}]),e.exports=n},function(e,t){var n="/docs/test.html";window.angular.module("ng").run(["$templateCache",function(e){e.put(n,'\n\n
    \n \n
    \n
    \n
    \n
    \n
    \n
    Description
    \n
    \n
    \n
    \n
    This {{ model.resource_type }} is not currently documented
    \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    Depends On
    \n \n
    \n
    \n\n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n')}]),e.exports=n},function(e,t){var n="/docs/analysis.html";window.angular.module("ng").run(["$templateCache",function(e){e.put(n,'\n\n
    \n \n
    \n
    \n\n
    \n
    \n
    \n
    Description
    \n
    \n
    \n
    \n
    This {{ model.resource_type }} is not currently documented
    \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    Depends On
    \n \n
    \n
    \n\n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n')}]),e.exports=n},function(e,t){var n="/docs/macro.html";window.angular.module("ng").run(["$templateCache",function(e){e.put(n,'\n\n
    \n \n
    \n
    \n
    \n
    \n
    \n
    Description
    \n
    \n
    \n
    \n
    This {{ macro.resource_type }} is not currently documented
    \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    Arguments
    \n \n
    \n
    \n\n
    \n
    \n
    \n
    Referenced By
    \n \n
    \n
    \n\n
    \n
    \n
    \n
    Depends On
    \n \n
    \n
    \n\n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n')}]),e.exports=n},function(e,t){var n="/docs/exposure.html";window.angular.module("ng").run(["$templateCache",function(e){e.put(n,'\n\n
    \n \n
    \n
    \n\n
    \n
    \n \n
    \n\n
    \n
    \n
    \n
    Description
    \n
    \n
    \n
    \n
    This {{ exposure.resource_type }} is not currently documented
    \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    Depends On
    \n \n
    \n
    \n\n
    \n
    \n
    \n')}]),e.exports=n},function(e,t){var n="/docs/metric.html";window.angular.module("ng").run(["$templateCache",function(e){e.put(n,'\n\n
    \n \n
    \n
    \n\n
    \n
    \n \n
    \n\n
    \n
    \n
    \n
    Description
    \n
    \n
    \n
    \n
    This {{ metric.resource_type }} is not currently documented
    \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    Depends On
    \n \n
    \n
    \n\n\n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n')}]),e.exports=n},function(e,t){var n="/docs/operation.html";window.angular.module("ng").run(["$templateCache",function(e){e.put(n,'\n\n
    \n \n
    \n
    \n
    \n
    \n
    \n
    Description
    \n
    \n
    \n
    \n
    This {{ model.resource_type }} is not currently documented
    \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    Depends On
    \n \n
    \n
    \n\n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n')}]),e.exports=n}]); +e.exports=function(e){return null!=e&&(n(e)||function(e){return"function"==typeof e.readFloatLE&&"function"==typeof e.slice&&n(e.slice(0,0))}(e)||!!e._isBuffer)}},function(e,t,n){n(9).module("dbt").factory("locationService",["$state",function(e){var t={};return t.parseState=function(e){return function(e){return{selected:{include:e.g_i||"",exclude:e.g_e||""},show_graph:!!e.g_v}}(e)},t.setState=function(t){var n=function(e){var t={g_v:1};return t.g_i=e.include,t.g_e=e.exclude,t}(t),r=e.current.name;e.go(r,n)},t.clearState=function(){var t=e.current.name;e.go(t,{g_i:null,g_e:null,g_v:null})},t}])},function(e,t,n){"use strict";const r=n(9),i=n(202);r.module("dbt").controller("OverviewCtrl",["$scope","$state","project",function(e,t,n){e.overview_md="(loading)",n.ready((function(n){let r=t.params.project_name?t.params.project_name:null;var o=n.docs["doc.dbt.__overview__"],a=i.filter(n.docs,{name:"__overview__"});if(i.each(a,(function(e){"dbt"!=e.package_name&&(o=e)})),null!==r){o=n.docs[`doc.${r}.__${r}__`]||o;let e=i.filter(n.docs,{name:`__${r}__`});i.each(e,e=>{e.package_name!==r&&(o=e)})}e.overview_md=o.block_contents}))}])},function(e,t,n){"use strict";n(9).module("dbt").controller("SourceListCtrl",["$scope","$state","project",function(e,t,n){e.source=t.params.source,e.model={},e.extra_table_fields=[],e.has_more_info=function(e){return(e.description||"").length},e.toggle_source_expanded=function(t){e.has_more_info(t)&&(t.expanded=!t.expanded)},n.ready((function(t){var n=_.filter(t.nodes,(function(t){return t.source_name==e.source}));if(0!=n.length){n.sort((e,t)=>e.name.localeCompare(t.name));var r=n[0];e.model={name:e.source,source_description:r.source_description,sources:n};var i=_.uniq(_.map(n,"metadata.owner")),o=_.uniq(_.map(n,"database")),a=_.uniq(_.map(n,"schema"));e.extra_table_fields=[{name:"Loader",value:r.loader},{name:1==i.length?"Owner":"Owners",value:i.join(", ")},{name:1==o.length?"Database":"Databases",value:o.join(", ")},{name:1==a.length?"Schema":"Schemas",value:a.join(", ")},{name:"Tables",value:n.length}]}}))}])},function(e,t,n){const r=n(9),i={main:n(480),overview:n(481),graph:n(482),source:n(205),source_list:n(483),model:n(484),source:n(205),snapshot:n(485),seed:n(486),test:n(487),analysis:n(488),macro:n(489),exposure:n(490),metric:n(491),operation:n(492)};r.module("dbt").config(["$stateProvider","$urlRouterProvider",function(e,t){var n="g_v&g_i&g_e&g_p&g_n";t.otherwise("/overview"),e.state("dbt",{url:"/",abstract:!0,controller:"MainController",templateUrl:i.main}).state("dbt.overview",{url:"overview?"+n,controller:"OverviewCtrl",templateUrl:i.overview}).state("dbt.project_overview",{url:"overview/:project_name?"+n,controller:"OverviewCtrl",templateUrl:i.overview,params:{project_name:{type:"string"}}}).state("dbt.graph",{url:"graph",controller:"GraphCtrl",templateUrl:i.graph}).state("dbt.model",{url:"model/:unique_id?section&"+n,controller:"ModelCtrl",templateUrl:i.model,params:{unique_id:{type:"string"}}}).state("dbt.seed",{url:"seed/:unique_id?section&"+n,controller:"SeedCtrl",templateUrl:i.seed,params:{unique_id:{type:"string"}}}).state("dbt.snapshot",{url:"snapshot/:unique_id?section&"+n,controller:"SnapshotCtrl",templateUrl:i.snapshot,params:{unique_id:{type:"string"}}}).state("dbt.test",{url:"test/:unique_id?section&"+n,controller:"TestCtrl",templateUrl:i.test,params:{unique_id:{type:"string"}}}).state("dbt.analysis",{url:"analysis/:unique_id?section&"+n,controller:"AnalysisCtrl",templateUrl:i.analysis,params:{unique_id:{type:"string"}}}).state("dbt.source",{url:"source/:unique_id?section&"+n,controller:"SourceCtrl",templateUrl:i.source,params:{unique_id:{type:"string"}}}).state("dbt.source_list",{url:"source_list/:source?section&"+n,controller:"SourceListCtrl",templateUrl:i.source_list,params:{source:{type:"string"}}}).state("dbt.macro",{url:"macro/:unique_id?section",controller:"MacroCtrl",templateUrl:i.macro,params:{unique_id:{type:"string"}}}).state("dbt.exposure",{url:"exposure/:unique_id?section&"+n,controller:"ExposureCtrl",templateUrl:i.exposure,params:{unique_id:{type:"string"}}}).state("dbt.metric",{url:"metric/:unique_id?section&"+n,controller:"MetricCtrl",templateUrl:i.metric,params:{unique_id:{type:"string"}}}).state("dbt.operation",{url:"operation/:unique_id?section&"+n,controller:"OperationCtrl",templateUrl:i.operation,params:{unique_id:{type:"string"}}})}])},function(e,t){var n="/main/main.html";window.angular.module("ng").run(["$templateCache",function(e){e.put(n,'\n\n
    \n \n\n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n')}]),e.exports=n},function(e,t){var n="/overview/overview.html";window.angular.module("ng").run(["$templateCache",function(e){e.put(n,'
    \n \n
    \n
    \n

    \n
    \n
    \n
    \n
    \n')}]),e.exports=n},function(e,t){var n="/graph/graph.html";window.angular.module("ng").run(["$templateCache",function(e){e.put(n,'
    \n
    \n
    \n
    \n
    \n
    \n
    \n')}]),e.exports=n},function(e,t){var n="/sources/source_list.html";window.angular.module("ng").run(["$templateCache",function(e){e.put(n,'\n\n
    \n \n
    \n
    \n
    \n
    \n \n
    \n\n
    \n
    \n
    \n
    Description
    \n
    \n
    \n
    \n
    This {{ model.resource_type }} is not currently documented
    \n
    \n
    \n
    \n
    \n\n\n
    \n
    \n
    \n
    Source Tables
    \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    SourceTableDescriptionLinkMore?
    \n
    \n {{ source.source_name }}\n
    \n
    \n {{ source.name }}

    \n
    \n {{ source.description }}\n \n View docs\n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    Description
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n')}]),e.exports=n},function(e,t){var n="/docs/model.html";window.angular.module("ng").run(["$templateCache",function(e){e.put(n,'\n\n
    \n \n
    \n
    \n
    \n
    \n \n
    \n\n
    \n
    \n
    \n
    Description
    \n
    \n
    \n
    \n
    This {{ model.resource_type }} is not currently documented
    \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    Columns
    \n \n
    \n
    \n\n
    \n
    \n
    \n
    Referenced By
    \n \n
    \n
    \n\n
    \n
    \n
    \n
    Depends On
    \n \n
    \n
    \n\n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n')}]),e.exports=n},function(e,t){var n="/docs/snapshot.html";window.angular.module("ng").run(["$templateCache",function(e){e.put(n,'\n\n
    \n \n
    \n
    \n
    \n
    \n \n
    \n\n
    \n
    \n
    \n
    Description
    \n
    \n
    \n
    \n
    This {{ model.resource_type }} is not currently documented
    \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    Columns
    \n \n
    \n
    \n\n
    \n
    \n
    \n
    Referenced By
    \n \n
    \n
    \n\n
    \n
    \n
    \n
    Depends On
    \n \n
    \n
    \n\n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n')}]),e.exports=n},function(e,t){var n="/docs/seed.html";window.angular.module("ng").run(["$templateCache",function(e){e.put(n,'\n\n
    \n \n
    \n
    \n
    \n
    \n \n
    \n\n
    \n
    \n
    \n
    Description
    \n
    \n
    \n
    \n
    This {{ model.resource_type }} is not currently documented
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    Columns
    \n \n
    \n
    \n\n
    \n
    \n
    \n
    Referenced By
    \n \n
    \n
    \n\n
    \n
    \n
    \n
    Depends On
    \n \n
    \n
    \n\n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n')}]),e.exports=n},function(e,t){var n="/docs/test.html";window.angular.module("ng").run(["$templateCache",function(e){e.put(n,'\n\n
    \n \n
    \n
    \n
    \n
    \n
    \n
    Description
    \n
    \n
    \n
    \n
    This {{ model.resource_type }} is not currently documented
    \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    Depends On
    \n \n
    \n
    \n\n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n')}]),e.exports=n},function(e,t){var n="/docs/analysis.html";window.angular.module("ng").run(["$templateCache",function(e){e.put(n,'\n\n
    \n \n
    \n
    \n\n
    \n
    \n
    \n
    Description
    \n
    \n
    \n
    \n
    This {{ model.resource_type }} is not currently documented
    \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    Depends On
    \n \n
    \n
    \n\n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n')}]),e.exports=n},function(e,t){var n="/docs/macro.html";window.angular.module("ng").run(["$templateCache",function(e){e.put(n,'\n\n
    \n \n
    \n
    \n
    \n
    \n
    \n
    Description
    \n
    \n
    \n
    \n
    This {{ macro.resource_type }} is not currently documented
    \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    Arguments
    \n \n
    \n
    \n\n
    \n
    \n
    \n
    Referenced By
    \n \n
    \n
    \n\n
    \n
    \n
    \n
    Depends On
    \n \n
    \n
    \n\n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n')}]),e.exports=n},function(e,t){var n="/docs/exposure.html";window.angular.module("ng").run(["$templateCache",function(e){e.put(n,'\n\n
    \n \n
    \n
    \n\n
    \n
    \n \n
    \n\n
    \n
    \n
    \n
    Description
    \n
    \n
    \n
    \n
    This {{ exposure.resource_type }} is not currently documented
    \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    Depends On
    \n \n
    \n
    \n\n
    \n
    \n
    \n')}]),e.exports=n},function(e,t){var n="/docs/metric.html";window.angular.module("ng").run(["$templateCache",function(e){e.put(n,'\n\n
    \n \n
    \n
    \n\n
    \n
    \n \n
    \n\n
    \n
    \n
    \n
    Description
    \n
    \n
    \n
    \n
    This {{ metric.resource_type }} is not currently documented
    \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    Depends On
    \n \n
    \n
    \n\n\n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n')}]),e.exports=n},function(e,t){var n="/docs/operation.html";window.angular.module("ng").run(["$templateCache",function(e){e.put(n,'\n\n
    \n \n
    \n
    \n
    \n
    \n
    \n
    Description
    \n
    \n
    \n
    \n
    This {{ model.resource_type }} is not currently documented
    \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    Depends On
    \n \n
    \n
    \n\n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n')}]),e.exports=n}]); //# sourceMappingURL=main.js.map diff --git a/docs/manifest.json b/docs/manifest.json index c170296..6eea5c5 100644 --- a/docs/manifest.json +++ b/docs/manifest.json @@ -1 +1 @@ -{"metadata": {"dbt_schema_version": "https://schemas.getdbt.com/dbt/manifest/v7.json", "dbt_version": "1.3.0", "generated_at": "2022-12-20T03:04:49.522270Z", "invocation_id": "813fddce-ccfb-4c9e-be0f-4fb5725e66b7", "env": {}, "project_id": "b8a2464c562afb40124f0d47d8c7adc5", "user_id": "8929baf0-9bc1-477e-9a57-eb8b0db4da62", "send_anonymous_usage_stats": true, "adapter_type": "postgres"}, "nodes": {"seed.apple_search_ads_integration_tests.ad_group_report_data": {"compiled": true, "resource_type": "seed", "depends_on": {"macros": [], "nodes": []}, "config": {"enabled": true, "alias": null, "schema": null, "database": null, "tags": [], "meta": {}, "materialized": "seed", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {"modification_time": "timestamp", "start_time": "timestamp", "end_time": "timestamp", "creation_time": "timestamp", "_fivetran_synced": "timestamp"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "quote_columns": false, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "apple_search_ads_integration_tests", "fqn": ["apple_search_ads_integration_tests", "ad_group_report_data"], "unique_id": "seed.apple_search_ads_integration_tests.ad_group_report_data", "raw_code": "", "language": "sql", "package_name": "apple_search_ads_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests", "path": "ad_group_report_data.csv", "original_file_path": "seeds/ad_group_report_data.csv", "name": "ad_group_report_data", "alias": "ad_group_report_data", "checksum": {"name": "sha256", "checksum": "135ee77ac9c3aa146d4f0281b04312c1034c271276f215b27145bb99f83534f5"}, "tags": [], "refs": [], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type == 'redshift' else false }}", "column_types": {"modification_time": "timestamp", "start_time": "timestamp", "end_time": "timestamp", "creation_time": "timestamp", "_fivetran_synced": "timestamp"}}, "created_at": 1671505473.207413, "compiled_code": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"apple_search_ads_integration_tests\".\"ad_group_report_data\""}, "seed.apple_search_ads_integration_tests.ad_report_data": {"compiled": true, "resource_type": "seed", "depends_on": {"macros": [], "nodes": []}, "config": {"enabled": true, "alias": null, "schema": null, "database": null, "tags": [], "meta": {}, "materialized": "seed", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {"modification_time": "timestamp", "start_time": "timestamp", "end_time": "timestamp", "creation_time": "timestamp", "_fivetran_synced": "timestamp"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "quote_columns": false, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "apple_search_ads_integration_tests", "fqn": ["apple_search_ads_integration_tests", "ad_report_data"], "unique_id": "seed.apple_search_ads_integration_tests.ad_report_data", "raw_code": "", "language": "sql", "package_name": "apple_search_ads_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests", "path": "ad_report_data.csv", "original_file_path": "seeds/ad_report_data.csv", "name": "ad_report_data", "alias": "ad_report_data", "checksum": {"name": "sha256", "checksum": "beef859bd11dd339082a3e8d23414c5da7e30ae75ade28736a3dbdf292627708"}, "tags": [], "refs": [], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type == 'redshift' else false }}", "column_types": {"modification_time": "timestamp", "start_time": "timestamp", "end_time": "timestamp", "creation_time": "timestamp", "_fivetran_synced": "timestamp"}}, "created_at": 1671505473.213254, "compiled_code": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"apple_search_ads_integration_tests\".\"ad_report_data\""}, "seed.apple_search_ads_integration_tests.keyword_report_data": {"compiled": true, "resource_type": "seed", "depends_on": {"macros": [], "nodes": []}, "config": {"enabled": true, "alias": null, "schema": null, "database": null, "tags": [], "meta": {}, "materialized": "seed", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {"modification_time": "timestamp", "start_time": "timestamp", "end_time": "timestamp", "creation_time": "timestamp", "_fivetran_synced": "timestamp"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "quote_columns": false, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "apple_search_ads_integration_tests", "fqn": ["apple_search_ads_integration_tests", "keyword_report_data"], "unique_id": "seed.apple_search_ads_integration_tests.keyword_report_data", "raw_code": "", "language": "sql", "package_name": "apple_search_ads_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests", "path": "keyword_report_data.csv", "original_file_path": "seeds/keyword_report_data.csv", "name": "keyword_report_data", "alias": "keyword_report_data", "checksum": {"name": "sha256", "checksum": "6aafe7098ea6f18764856a6631b190de106462f83f8bb1d3c8fb91e2d3cfffee"}, "tags": [], "refs": [], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type == 'redshift' else false }}", "column_types": {"modification_time": "timestamp", "start_time": "timestamp", "end_time": "timestamp", "creation_time": "timestamp", "_fivetran_synced": "timestamp"}}, "created_at": 1671505473.2145128, "compiled_code": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"apple_search_ads_integration_tests\".\"keyword_report_data\""}, "seed.apple_search_ads_integration_tests.ad_history_data": {"compiled": true, "resource_type": "seed", "depends_on": {"macros": [], "nodes": []}, "config": {"enabled": true, "alias": null, "schema": null, "database": null, "tags": [], "meta": {}, "materialized": "seed", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {"modification_time": "timestamp", "start_time": "timestamp", "end_time": "timestamp", "creation_time": "timestamp", "_fivetran_synced": "timestamp"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "quote_columns": false, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "apple_search_ads_integration_tests", "fqn": ["apple_search_ads_integration_tests", "ad_history_data"], "unique_id": "seed.apple_search_ads_integration_tests.ad_history_data", "raw_code": "", "language": "sql", "package_name": "apple_search_ads_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests", "path": "ad_history_data.csv", "original_file_path": "seeds/ad_history_data.csv", "name": "ad_history_data", "alias": "ad_history_data", "checksum": {"name": "sha256", "checksum": "6b7e388b2b1ac23dd3f2e0cc1a781099a525e921a36da2fe83f52bd207066ea8"}, "tags": [], "refs": [], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type == 'redshift' else false }}", "column_types": {"modification_time": "timestamp", "start_time": "timestamp", "end_time": "timestamp", "creation_time": "timestamp", "_fivetran_synced": "timestamp"}}, "created_at": 1671505473.215811, "compiled_code": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"apple_search_ads_integration_tests\".\"ad_history_data\""}, "seed.apple_search_ads_integration_tests.ad_group_history_data": {"compiled": true, "resource_type": "seed", "depends_on": {"macros": [], "nodes": []}, "config": {"enabled": true, "alias": null, "schema": null, "database": null, "tags": [], "meta": {}, "materialized": "seed", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {"modification_time": "timestamp", "start_time": "timestamp", "end_time": "timestamp", "creation_time": "timestamp", "_fivetran_synced": "timestamp"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "quote_columns": false, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "apple_search_ads_integration_tests", "fqn": ["apple_search_ads_integration_tests", "ad_group_history_data"], "unique_id": "seed.apple_search_ads_integration_tests.ad_group_history_data", "raw_code": "", "language": "sql", "package_name": "apple_search_ads_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests", "path": "ad_group_history_data.csv", "original_file_path": "seeds/ad_group_history_data.csv", "name": "ad_group_history_data", "alias": "ad_group_history_data", "checksum": {"name": "sha256", "checksum": "a9cfeb9cc85210420753798963e582f647bc3fe966ef725b7d3cd061f65325c4"}, "tags": [], "refs": [], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type == 'redshift' else false }}", "column_types": {"modification_time": "timestamp", "start_time": "timestamp", "end_time": "timestamp", "creation_time": "timestamp", "_fivetran_synced": "timestamp"}}, "created_at": 1671505473.217005, "compiled_code": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"apple_search_ads_integration_tests\".\"ad_group_history_data\""}, "seed.apple_search_ads_integration_tests.campaign_history_data": {"compiled": true, "resource_type": "seed", "depends_on": {"macros": [], "nodes": []}, "config": {"enabled": true, "alias": null, "schema": null, "database": null, "tags": [], "meta": {}, "materialized": "seed", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {"modification_time": "timestamp", "start_time": "timestamp", "end_time": "timestamp", "creation_time": "timestamp", "_fivetran_synced": "timestamp"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "quote_columns": false, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "apple_search_ads_integration_tests", "fqn": ["apple_search_ads_integration_tests", "campaign_history_data"], "unique_id": "seed.apple_search_ads_integration_tests.campaign_history_data", "raw_code": "", "language": "sql", "package_name": "apple_search_ads_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests", "path": "campaign_history_data.csv", "original_file_path": "seeds/campaign_history_data.csv", "name": "campaign_history_data", "alias": "campaign_history_data", "checksum": {"name": "sha256", "checksum": "56fa1720930e88d590eb11b16d93d5c7e28e5f9bec57866047040a1a183ad3f3"}, "tags": [], "refs": [], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type == 'redshift' else false }}", "column_types": {"modification_time": "timestamp", "start_time": "timestamp", "end_time": "timestamp", "creation_time": "timestamp", "_fivetran_synced": "timestamp"}}, "created_at": 1671505473.2182, "compiled_code": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"apple_search_ads_integration_tests\".\"campaign_history_data\""}, "seed.apple_search_ads_integration_tests.campaign_report_data": {"compiled": true, "resource_type": "seed", "depends_on": {"macros": [], "nodes": []}, "config": {"enabled": true, "alias": null, "schema": null, "database": null, "tags": [], "meta": {}, "materialized": "seed", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {"modification_time": "timestamp", "start_time": "timestamp", "end_time": "timestamp", "creation_time": "timestamp", "_fivetran_synced": "timestamp"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "quote_columns": false, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "apple_search_ads_integration_tests", "fqn": ["apple_search_ads_integration_tests", "campaign_report_data"], "unique_id": "seed.apple_search_ads_integration_tests.campaign_report_data", "raw_code": "", "language": "sql", "package_name": "apple_search_ads_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests", "path": "campaign_report_data.csv", "original_file_path": "seeds/campaign_report_data.csv", "name": "campaign_report_data", "alias": "campaign_report_data", "checksum": {"name": "sha256", "checksum": "a4a374475156eb8d9ddc40c43cadbcc843efcf7a55180346d2d4b875c2791ab1"}, "tags": [], "refs": [], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type == 'redshift' else false }}", "column_types": {"modification_time": "timestamp", "start_time": "timestamp", "end_time": "timestamp", "creation_time": "timestamp", "_fivetran_synced": "timestamp"}}, "created_at": 1671505473.21952, "compiled_code": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"apple_search_ads_integration_tests\".\"campaign_report_data\""}, "seed.apple_search_ads_integration_tests.keyword_history_data": {"compiled": true, "resource_type": "seed", "depends_on": {"macros": [], "nodes": []}, "config": {"enabled": true, "alias": null, "schema": null, "database": null, "tags": [], "meta": {}, "materialized": "seed", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {"modification_time": "timestamp", "start_time": "timestamp", "end_time": "timestamp", "creation_time": "timestamp", "_fivetran_synced": "timestamp"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "quote_columns": false, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "apple_search_ads_integration_tests", "fqn": ["apple_search_ads_integration_tests", "keyword_history_data"], "unique_id": "seed.apple_search_ads_integration_tests.keyword_history_data", "raw_code": "", "language": "sql", "package_name": "apple_search_ads_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests", "path": "keyword_history_data.csv", "original_file_path": "seeds/keyword_history_data.csv", "name": "keyword_history_data", "alias": "keyword_history_data", "checksum": {"name": "sha256", "checksum": "9ad23801ae95fc44211fac6c893f67825e34df0e6ba4e967eeb4fe5c3391b86b"}, "tags": [], "refs": [], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type == 'redshift' else false }}", "column_types": {"modification_time": "timestamp", "start_time": "timestamp", "end_time": "timestamp", "creation_time": "timestamp", "_fivetran_synced": "timestamp"}}, "created_at": 1671505473.2206872, "compiled_code": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"apple_search_ads_integration_tests\".\"keyword_history_data\""}, "seed.apple_search_ads_integration_tests.search_term_report_data": {"compiled": true, "resource_type": "seed", "depends_on": {"macros": [], "nodes": []}, "config": {"enabled": true, "alias": null, "schema": null, "database": null, "tags": [], "meta": {}, "materialized": "seed", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {"modification_time": "timestamp", "start_time": "timestamp", "end_time": "timestamp", "creation_time": "timestamp", "_fivetran_synced": "timestamp"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "quote_columns": false, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "apple_search_ads_integration_tests", "fqn": ["apple_search_ads_integration_tests", "search_term_report_data"], "unique_id": "seed.apple_search_ads_integration_tests.search_term_report_data", "raw_code": "", "language": "sql", "package_name": "apple_search_ads_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests", "path": "search_term_report_data.csv", "original_file_path": "seeds/search_term_report_data.csv", "name": "search_term_report_data", "alias": "search_term_report_data", "checksum": {"name": "sha256", "checksum": "6add75b68a0f9a6f153a9fb83a682387a76a5b89d6dcd14fdbbcb5b418bb3b5a"}, "tags": [], "refs": [], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type == 'redshift' else false }}", "column_types": {"modification_time": "timestamp", "start_time": "timestamp", "end_time": "timestamp", "creation_time": "timestamp", "_fivetran_synced": "timestamp"}}, "created_at": 1671505473.22184, "compiled_code": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"apple_search_ads_integration_tests\".\"search_term_report_data\""}, "seed.apple_search_ads_integration_tests.organization_data": {"compiled": true, "resource_type": "seed", "depends_on": {"macros": [], "nodes": []}, "config": {"enabled": true, "alias": null, "schema": null, "database": null, "tags": [], "meta": {}, "materialized": "seed", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {"modification_time": "timestamp", "start_time": "timestamp", "end_time": "timestamp", "creation_time": "timestamp", "_fivetran_synced": "timestamp"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "quote_columns": false, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "apple_search_ads_integration_tests", "fqn": ["apple_search_ads_integration_tests", "organization_data"], "unique_id": "seed.apple_search_ads_integration_tests.organization_data", "raw_code": "", "language": "sql", "package_name": "apple_search_ads_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests", "path": "organization_data.csv", "original_file_path": "seeds/organization_data.csv", "name": "organization_data", "alias": "organization_data", "checksum": {"name": "sha256", "checksum": "bbb5878ab9c07bd1f391181a8321ea50476f37d25f36fd1d66e58d513336699c"}, "tags": [], "refs": [], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type == 'redshift' else false }}", "column_types": {"modification_time": "timestamp", "start_time": "timestamp", "end_time": "timestamp", "creation_time": "timestamp", "_fivetran_synced": "timestamp"}}, "created_at": 1671505473.223001, "compiled_code": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"apple_search_ads_integration_tests\".\"organization_data\""}, "model.apple_search_ads.apple_search_ads__ad_report": {"compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.fivetran_utils.persist_pass_through_columns", "macro.dbt_utils.group_by"], "nodes": ["model.apple_search_ads_source.stg_apple_search_ads__ad_report", "model.apple_search_ads_source.stg_apple_search_ads__ad_history", "model.apple_search_ads_source.stg_apple_search_ads__ad_group_history", "model.apple_search_ads_source.stg_apple_search_ads__campaign_history", "model.apple_search_ads_source.stg_apple_search_ads__organization"]}, "config": {"enabled": true, "alias": null, "schema": "apple_search_ads", "database": null, "tags": [], "meta": {}, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "apple_search_ads_integration_tests_apple_search_ads", "fqn": ["apple_search_ads", "apple_search_ads__ad_report"], "unique_id": "model.apple_search_ads.apple_search_ads__ad_report", "raw_code": "{{ config(enabled=var('ad_reporting__apple_search_ads_enabled', True)) }}\n\nwith report as (\n\n select *\n from {{ var('ad_report') }}\n), \n\nad as (\n\n select * \n from {{ var('ad_history') }}\n where is_most_recent_record = True\n), \n\nad_group as (\n\n select * \n from {{ var('ad_group_history') }}\n where is_most_recent_record = True\n), \n\ncampaign as (\n\n select *\n from {{ var('campaign_history') }}\n where is_most_recent_record = True\n), \n\norganization as (\n\n select * \n from {{ var('organization') }}\n), \n\njoined as (\n\n select \n report.date_day,\n organization.organization_id,\n organization.organization_name,\n campaign.campaign_id, \n campaign.campaign_name, \n ad_group.ad_group_id,\n ad_group.ad_group_name,\n ad.ad_id,\n ad.ad_name,\n report.currency,\n ad.ad_status,\n sum(report.taps) as taps,\n sum(report.new_downloads) as new_downloads,\n sum(report.redownloads) as redownloads,\n sum(report.new_downloads + report.redownloads) as total_downloads,\n sum(report.impressions) as impressions,\n sum(report.spend) as spend\n\n {{ fivetran_utils.persist_pass_through_columns(pass_through_variable='apple_search_ads__ad_passthrough_metrics', transform = 'sum') }}\n from report\n join ad \n on report.ad_id = ad.ad_id\n join ad_group \n on report.ad_group_id = ad_group.ad_group_id\n join campaign \n on report.campaign_id = campaign.campaign_id\n join organization \n on ad.organization_id = organization.organization_id\n {{ dbt_utils.group_by(11) }}\n)\n\nselect * \nfrom joined", "language": "sql", "package_name": "apple_search_ads", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/apple_search_ads", "path": "apple_search_ads__ad_report.sql", "original_file_path": "models/apple_search_ads__ad_report.sql", "name": "apple_search_ads__ad_report", "alias": "apple_search_ads__ad_report", "checksum": {"name": "sha256", "checksum": "9be99b8581d2c85b4b11327ae3eef34d26121ed866e5762ff7f627b2c24b63a9"}, "tags": [], "refs": [["stg_apple_search_ads__ad_report"], ["stg_apple_search_ads__ad_history"], ["stg_apple_search_ads__ad_group_history"], ["stg_apple_search_ads__campaign_history"], ["stg_apple_search_ads__organization"]], "sources": [], "metrics": [], "description": "Each record represents the daily ad performance of each ad.", "columns": {"organization_id": {"name": "organization_id", "description": "Organization ID associated with this record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "organization_name": {"name": "organization_name", "description": "Organization name associated with this record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_id": {"name": "campaign_id", "description": "Campaign ID associated with this record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_name": {"name": "campaign_name", "description": "Campaign name associated with this record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "Ad group ID associated with this record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_name": {"name": "ad_group_name", "description": "Ad group name associated with this record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_id": {"name": "ad_id", "description": "Ad ID associated with this record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_name": {"name": "ad_name", "description": "Ad name associated with this record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_status": {"name": "ad_status", "description": "The status of the ad associated with this record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "date_day": {"name": "date_day", "description": "Date of the report.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "currency": {"name": "currency", "description": "This currency value should match the respective organization's currency value.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "taps": {"name": "taps", "description": "Number of taps on ad group on given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "new_downloads": {"name": "new_downloads", "description": "App downloads from new users who have never before installed app of ad group in a given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "redownloads": {"name": "redownloads", "description": "Number of user downloads where user deletes app and downloads the same app again following a tap on an ad on the App Store, or downloads the same app to an additional device of ad group in a given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "total_downloads": {"name": "total_downloads", "description": "The sum of new_downloads and redownloads.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "The number of impressions of ad group in a given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The spend on ad group in the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": "apple_search_ads://models/apple_search_ads.yml", "compiled_path": "target/compiled/apple_search_ads/models/apple_search_ads__ad_report.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "apple_search_ads", "materialized": "table", "enabled": true}, "created_at": 1671505473.458657, "compiled_code": "\n\nwith report as (\n\n select *\n from \"postgres\".\"apple_search_ads_integration_tests_apple_search_ads_source\".\"stg_apple_search_ads__ad_report\"\n), \n\nad as (\n\n select * \n from \"postgres\".\"apple_search_ads_integration_tests_apple_search_ads_source\".\"stg_apple_search_ads__ad_history\"\n where is_most_recent_record = True\n), \n\nad_group as (\n\n select * \n from \"postgres\".\"apple_search_ads_integration_tests_apple_search_ads_source\".\"stg_apple_search_ads__ad_group_history\"\n where is_most_recent_record = True\n), \n\ncampaign as (\n\n select *\n from \"postgres\".\"apple_search_ads_integration_tests_apple_search_ads_source\".\"stg_apple_search_ads__campaign_history\"\n where is_most_recent_record = True\n), \n\norganization as (\n\n select * \n from \"postgres\".\"apple_search_ads_integration_tests_apple_search_ads_source\".\"stg_apple_search_ads__organization\"\n), \n\njoined as (\n\n select \n report.date_day,\n organization.organization_id,\n organization.organization_name,\n campaign.campaign_id, \n campaign.campaign_name, \n ad_group.ad_group_id,\n ad_group.ad_group_name,\n ad.ad_id,\n ad.ad_name,\n report.currency,\n ad.ad_status,\n sum(report.taps) as taps,\n sum(report.new_downloads) as new_downloads,\n sum(report.redownloads) as redownloads,\n sum(report.new_downloads + report.redownloads) as total_downloads,\n sum(report.impressions) as impressions,\n sum(report.spend) as spend\n\n \n\n\n\n\n from report\n join ad \n on report.ad_id = ad.ad_id\n join ad_group \n on report.ad_group_id = ad_group.ad_group_id\n join campaign \n on report.campaign_id = campaign.campaign_id\n join organization \n on ad.organization_id = organization.organization_id\n group by 1,2,3,4,5,6,7,8,9,10,11\n)\n\nselect * \nfrom joined", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"apple_search_ads_integration_tests_apple_search_ads\".\"apple_search_ads__ad_report\""}, "model.apple_search_ads.apple_search_ads__ad_group_report": {"compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.fivetran_utils.persist_pass_through_columns", "macro.dbt_utils.group_by"], "nodes": ["model.apple_search_ads_source.stg_apple_search_ads__ad_group_report", "model.apple_search_ads_source.stg_apple_search_ads__ad_group_history", "model.apple_search_ads_source.stg_apple_search_ads__campaign_history", "model.apple_search_ads_source.stg_apple_search_ads__organization"]}, "config": {"enabled": true, "alias": null, "schema": "apple_search_ads", "database": null, "tags": [], "meta": {}, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "apple_search_ads_integration_tests_apple_search_ads", "fqn": ["apple_search_ads", "apple_search_ads__ad_group_report"], "unique_id": "model.apple_search_ads.apple_search_ads__ad_group_report", "raw_code": "{{ config(enabled=var('ad_reporting__apple_search_ads_enabled', True)) }}\n\nwith report as (\n\n select *\n from {{ var('ad_group_report') }}\n), \n\nad_group as (\n\n select * \n from {{ var('ad_group_history') }}\n where is_most_recent_record = True\n), \n\ncampaign as (\n\n select *\n from {{ var('campaign_history') }}\n where is_most_recent_record = True\n), \n\norganization as (\n\n select * \n from {{ var('organization') }}\n), \n\njoined as (\n\n select \n report.date_day,\n organization.organization_id,\n organization.organization_name,\n campaign.campaign_id, \n campaign.campaign_name, \n ad_group.ad_group_id,\n ad_group.ad_group_name,\n report.currency,\n ad_group.ad_group_status,\n ad_group.start_at, \n ad_group.end_at,\n sum(report.taps) as taps,\n sum(report.new_downloads) as new_downloads,\n sum(report.redownloads) as redownloads,\n sum(report.new_downloads + report.redownloads) as total_downloads,\n sum(report.impressions) as impressions,\n sum(report.spend) as spend\n\n {{ fivetran_utils.persist_pass_through_columns(pass_through_variable='apple_search_ads__ad_group_passthrough_metrics', transform = 'sum') }}\n from report\n join ad_group \n on report.ad_group_id = ad_group.ad_group_id\n join campaign \n on ad_group.campaign_id = campaign.campaign_id\n join organization \n on ad_group.organization_id = organization.organization_id\n {{ dbt_utils.group_by(11) }}\n)\n\nselect * \nfrom joined", "language": "sql", "package_name": "apple_search_ads", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/apple_search_ads", "path": "apple_search_ads__ad_group_report.sql", "original_file_path": "models/apple_search_ads__ad_group_report.sql", "name": "apple_search_ads__ad_group_report", "alias": "apple_search_ads__ad_group_report", "checksum": {"name": "sha256", "checksum": "a1edd5d4e81de3dadca268c67fc1bee311cab1edc7efe48a494c7017c7acdc80"}, "tags": [], "refs": [["stg_apple_search_ads__ad_group_report"], ["stg_apple_search_ads__ad_group_history"], ["stg_apple_search_ads__campaign_history"], ["stg_apple_search_ads__organization"]], "sources": [], "metrics": [], "description": "Each record represents the daily ad performance of each ad group.", "columns": {"organization_id": {"name": "organization_id", "description": "Organization ID associated with this record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "organization_name": {"name": "organization_name", "description": "Organization name associated with this record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_id": {"name": "campaign_id", "description": "Campaign ID associated with this record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_name": {"name": "campaign_name", "description": "Campaign name associated with this record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "Ad group ID associated with this record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_name": {"name": "ad_group_name", "description": "Ad group name associated with this record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_status": {"name": "ad_group_status", "description": "The status of the ad group associated with this record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "start_at": {"name": "start_at", "description": "The start timestamp for this ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "end_at": {"name": "end_at", "description": "The end timestamp for this ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "date_day": {"name": "date_day", "description": "Date of the report.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "currency": {"name": "currency", "description": "This currency value should match the respective organization's currency value.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "taps": {"name": "taps", "description": "Number of taps on ad group on given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "new_downloads": {"name": "new_downloads", "description": "App downloads from new users who have never before installed app of ad group in a given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "redownloads": {"name": "redownloads", "description": "Number of user downloads where user deletes app and downloads the same app again following a tap on an ad on the App Store, or downloads the same app to an additional device of ad group in a given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "total_downloads": {"name": "total_downloads", "description": "The sum of new_downloads and redownloads.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "The number of impressions of ad group in a given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The spend on ad group in the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": "apple_search_ads://models/apple_search_ads.yml", "compiled_path": "target/compiled/apple_search_ads/models/apple_search_ads__ad_group_report.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "apple_search_ads", "materialized": "table", "enabled": true}, "created_at": 1671505473.455909, "compiled_code": "\n\nwith report as (\n\n select *\n from \"postgres\".\"apple_search_ads_integration_tests_apple_search_ads_source\".\"stg_apple_search_ads__ad_group_report\"\n), \n\nad_group as (\n\n select * \n from \"postgres\".\"apple_search_ads_integration_tests_apple_search_ads_source\".\"stg_apple_search_ads__ad_group_history\"\n where is_most_recent_record = True\n), \n\ncampaign as (\n\n select *\n from \"postgres\".\"apple_search_ads_integration_tests_apple_search_ads_source\".\"stg_apple_search_ads__campaign_history\"\n where is_most_recent_record = True\n), \n\norganization as (\n\n select * \n from \"postgres\".\"apple_search_ads_integration_tests_apple_search_ads_source\".\"stg_apple_search_ads__organization\"\n), \n\njoined as (\n\n select \n report.date_day,\n organization.organization_id,\n organization.organization_name,\n campaign.campaign_id, \n campaign.campaign_name, \n ad_group.ad_group_id,\n ad_group.ad_group_name,\n report.currency,\n ad_group.ad_group_status,\n ad_group.start_at, \n ad_group.end_at,\n sum(report.taps) as taps,\n sum(report.new_downloads) as new_downloads,\n sum(report.redownloads) as redownloads,\n sum(report.new_downloads + report.redownloads) as total_downloads,\n sum(report.impressions) as impressions,\n sum(report.spend) as spend\n\n \n\n\n\n\n from report\n join ad_group \n on report.ad_group_id = ad_group.ad_group_id\n join campaign \n on ad_group.campaign_id = campaign.campaign_id\n join organization \n on ad_group.organization_id = organization.organization_id\n group by 1,2,3,4,5,6,7,8,9,10,11\n)\n\nselect * \nfrom joined", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"apple_search_ads_integration_tests_apple_search_ads\".\"apple_search_ads__ad_group_report\""}, "model.apple_search_ads.apple_search_ads__keyword_report": {"compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.fivetran_utils.persist_pass_through_columns", "macro.dbt_utils.group_by"], "nodes": ["model.apple_search_ads_source.stg_apple_search_ads__keyword_report", "model.apple_search_ads_source.stg_apple_search_ads__keyword_history", "model.apple_search_ads_source.stg_apple_search_ads__ad_group_history", "model.apple_search_ads_source.stg_apple_search_ads__campaign_history", "model.apple_search_ads_source.stg_apple_search_ads__organization"]}, "config": {"enabled": true, "alias": null, "schema": "apple_search_ads", "database": null, "tags": [], "meta": {}, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "apple_search_ads_integration_tests_apple_search_ads", "fqn": ["apple_search_ads", "apple_search_ads__keyword_report"], "unique_id": "model.apple_search_ads.apple_search_ads__keyword_report", "raw_code": "{{ config(enabled=var('ad_reporting__apple_search_ads_enabled', True)) }}\n\nwith report as (\n\n select *\n from {{ var('keyword_report') }}\n), \n\nkeyword as (\n\n select *\n from {{ var('keyword_history') }}\n where is_most_recent_record = True\n), \n\nad_group as (\n\n select *\n from {{ var('ad_group_history') }}\n where is_most_recent_record = True\n), \n\ncampaign as (\n\n select *\n from {{ var('campaign_history') }}\n where is_most_recent_record = True\n), \n\norganization as (\n\n select * \n from {{ var('organization') }}\n), \n\njoined as (\n\n select \n report.date_day,\n organization.organization_id,\n organization.organization_name,\n campaign.campaign_id, \n campaign.campaign_name, \n ad_group.ad_group_id,\n ad_group.ad_group_name,\n keyword.keyword_id,\n keyword.keyword_text,\n keyword.match_type,\n report.currency,\n keyword.keyword_status,\n sum(report.taps) as taps,\n sum(report.new_downloads) as new_downloads,\n sum(report.redownloads) as redownloads,\n sum(report.new_downloads + report.redownloads) as total_downloads,\n sum(report.impressions) as impressions,\n sum(report.spend) as spend\n\n {{ fivetran_utils.persist_pass_through_columns(pass_through_variable='apple_search_ads__keyword_passthrough_metrics', transform = 'sum') }}\n from report\n join keyword \n on report.keyword_id = keyword.keyword_id\n join ad_group \n on keyword.ad_group_id = ad_group.ad_group_id\n join campaign \n on ad_group.campaign_id = campaign.campaign_id\n join organization \n on ad_group.organization_id = organization.organization_id\n {{ dbt_utils.group_by(12) }}\n)\n\nselect * \nfrom joined", "language": "sql", "package_name": "apple_search_ads", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/apple_search_ads", "path": "apple_search_ads__keyword_report.sql", "original_file_path": "models/apple_search_ads__keyword_report.sql", "name": "apple_search_ads__keyword_report", "alias": "apple_search_ads__keyword_report", "checksum": {"name": "sha256", "checksum": "91250ca8167dc8fee98582ff093d56a498b854e5c66a51325076191016bfb0e7"}, "tags": [], "refs": [["stg_apple_search_ads__keyword_report"], ["stg_apple_search_ads__keyword_history"], ["stg_apple_search_ads__ad_group_history"], ["stg_apple_search_ads__campaign_history"], ["stg_apple_search_ads__organization"]], "sources": [], "metrics": [], "description": "Each record represents the daily ad performance of each creative set.", "columns": {"organization_id": {"name": "organization_id", "description": "Organization ID associated with this record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "organization_name": {"name": "organization_name", "description": "Organization name associated with this record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_id": {"name": "campaign_id", "description": "Campaign ID associated with this record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_name": {"name": "campaign_name", "description": "Campaign name associated with this record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "Ad group ID associated with this record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_name": {"name": "ad_group_name", "description": "Ad group name associated with this record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "keyword_id": {"name": "keyword_id", "description": "Creative set name associatd with this record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "keyword_text": {"name": "keyword_text", "description": "Creative set ID associated with this record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "match_type": {"name": "match_type", "description": "Controls how ads are matched to user searches; EXACT or BROAD.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "date_day": {"name": "date_day", "description": "Date of the report.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "currency": {"name": "currency", "description": "This currency value should match the respective organization's currency value.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "keyword_status": {"name": "keyword_status", "description": "The status of the keyword associated with this record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "taps": {"name": "taps", "description": "Number of taps on keyword on given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "new_downloads": {"name": "new_downloads", "description": "App downloads from new users who have never before installed app of keyword in a given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "redownloads": {"name": "redownloads", "description": "Number of user downloads where user deletes app and downloads the same app again following a tap on an ad on the App Store, or downloads the same app to an additional device of keyword in a given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "total_downloads": {"name": "total_downloads", "description": "The sum of new_downloads and redownloads.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "The number of impressions of keyword in a given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The spend on keyword in the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": "apple_search_ads://models/apple_search_ads.yml", "compiled_path": "target/compiled/apple_search_ads/models/apple_search_ads__keyword_report.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "apple_search_ads", "materialized": "table", "enabled": true}, "created_at": 1671505473.46432, "compiled_code": "\n\nwith report as (\n\n select *\n from \"postgres\".\"apple_search_ads_integration_tests_apple_search_ads_source\".\"stg_apple_search_ads__keyword_report\"\n), \n\nkeyword as (\n\n select *\n from \"postgres\".\"apple_search_ads_integration_tests_apple_search_ads_source\".\"stg_apple_search_ads__keyword_history\"\n where is_most_recent_record = True\n), \n\nad_group as (\n\n select *\n from \"postgres\".\"apple_search_ads_integration_tests_apple_search_ads_source\".\"stg_apple_search_ads__ad_group_history\"\n where is_most_recent_record = True\n), \n\ncampaign as (\n\n select *\n from \"postgres\".\"apple_search_ads_integration_tests_apple_search_ads_source\".\"stg_apple_search_ads__campaign_history\"\n where is_most_recent_record = True\n), \n\norganization as (\n\n select * \n from \"postgres\".\"apple_search_ads_integration_tests_apple_search_ads_source\".\"stg_apple_search_ads__organization\"\n), \n\njoined as (\n\n select \n report.date_day,\n organization.organization_id,\n organization.organization_name,\n campaign.campaign_id, \n campaign.campaign_name, \n ad_group.ad_group_id,\n ad_group.ad_group_name,\n keyword.keyword_id,\n keyword.keyword_text,\n keyword.match_type,\n report.currency,\n keyword.keyword_status,\n sum(report.taps) as taps,\n sum(report.new_downloads) as new_downloads,\n sum(report.redownloads) as redownloads,\n sum(report.new_downloads + report.redownloads) as total_downloads,\n sum(report.impressions) as impressions,\n sum(report.spend) as spend\n\n \n\n\n\n\n from report\n join keyword \n on report.keyword_id = keyword.keyword_id\n join ad_group \n on keyword.ad_group_id = ad_group.ad_group_id\n join campaign \n on ad_group.campaign_id = campaign.campaign_id\n join organization \n on ad_group.organization_id = organization.organization_id\n group by 1,2,3,4,5,6,7,8,9,10,11,12\n)\n\nselect * \nfrom joined", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"apple_search_ads_integration_tests_apple_search_ads\".\"apple_search_ads__keyword_report\""}, "model.apple_search_ads.apple_search_ads__search_term_report": {"compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.fivetran_utils.enabled_vars", "macro.fivetran_utils.persist_pass_through_columns", "macro.dbt_utils.group_by"], "nodes": ["model.apple_search_ads_source.stg_apple_search_ads__search_term_report", "model.apple_search_ads_source.stg_apple_search_ads__campaign_history", "model.apple_search_ads_source.stg_apple_search_ads__organization"]}, "config": {"enabled": true, "alias": null, "schema": "apple_search_ads", "database": null, "tags": [], "meta": {}, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "apple_search_ads_integration_tests_apple_search_ads", "fqn": ["apple_search_ads", "apple_search_ads__search_term_report"], "unique_id": "model.apple_search_ads.apple_search_ads__search_term_report", "raw_code": "{{ config(enabled=fivetran_utils.enabled_vars(['ad_reporting__apple_search_ads_enabled','apple_search_ads__using_search_terms'])) }}\n\nwith report as (\n\n select *\n from {{ var('search_term_report') }}\n), \n\ncampaign as (\n\n select *\n from {{ var('campaign_history') }}\n where is_most_recent_record = True\n), \n\norganization as (\n\n select * \n from {{ var('organization') }}\n), \n\njoined as (\n\n select \n report.date_day,\n organization.organization_id,\n organization.organization_name,\n campaign.campaign_id, \n campaign.campaign_name, \n report.ad_group_id,\n report.ad_group_name,\n report.keyword_id,\n report.keyword_text,\n report.search_term_text,\n report.match_type,\n report.currency,\n sum(report.taps) as taps,\n sum(report.new_downloads) as new_downloads,\n sum(report.redownloads) as redownloads,\n sum(report.new_downloads + report.redownloads) as total_downloads,\n sum(report.impressions) as impressions,\n sum(report.spend) as spend\n\n {{ fivetran_utils.persist_pass_through_columns(pass_through_variable='apple_search_ads__search_term_passthrough_metrics', transform = 'sum') }}\n from report\n join campaign \n on report.campaign_id = campaign.campaign_id\n join organization \n on campaign.organization_id = organization.organization_id\n where report.search_term_text is not null\n {{ dbt_utils.group_by(12) }}\n)\n\nselect * \nfrom joined", "language": "sql", "package_name": "apple_search_ads", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/apple_search_ads", "path": "apple_search_ads__search_term_report.sql", "original_file_path": "models/apple_search_ads__search_term_report.sql", "name": "apple_search_ads__search_term_report", "alias": "apple_search_ads__search_term_report", "checksum": {"name": "sha256", "checksum": "4827d710dac6b2e632dcf3ba421a8166d719d1ae59e98128736b8689cf4039a1"}, "tags": [], "refs": [["stg_apple_search_ads__search_term_report"], ["stg_apple_search_ads__campaign_history"], ["stg_apple_search_ads__organization"]], "sources": [], "metrics": [], "description": "Each record represents the daily ad performance of each search term, only includes records with search term values.", "columns": {"organization_id": {"name": "organization_id", "description": "Organization ID associated with this record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "organization_name": {"name": "organization_name", "description": "Organization name associated with this record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_id": {"name": "campaign_id", "description": "Campaign ID associated with this record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_name": {"name": "campaign_name", "description": "Campaign name associated with this record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "Ad group ID associated with this record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_name": {"name": "ad_group_name", "description": "Ad group name associated with this record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "match_type": {"name": "match_type", "description": "Controls how ads are matched to user searches; EXACT or BROAD.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "date_day": {"name": "date_day", "description": "Date of the report.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "search_term_text": {"name": "search_term_text", "description": "Search term text.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "currency": {"name": "currency", "description": "This currency value should match the respective organization's currency value.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "taps": {"name": "taps", "description": "Number of taps on organization on given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "new_downloads": {"name": "new_downloads", "description": "App downloads from new users who have never before installed app of organization in a given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "redownloads": {"name": "redownloads", "description": "Number of user downloads where user deletes app and downloads the same app again following a tap on an ad on the App Store, or downloads the same app to an additional device of organization in a given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "total_downloads": {"name": "total_downloads", "description": "The sum of new_downloads and redownloads.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "The number of impressions of organization in a given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The spend on organization in the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": "apple_search_ads://models/apple_search_ads.yml", "compiled_path": "target/compiled/apple_search_ads/models/apple_search_ads__search_term_report.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "apple_search_ads", "materialized": "table", "enabled": true}, "created_at": 1671505473.468446, "compiled_code": "\n\nwith report as (\n\n select *\n from \"postgres\".\"apple_search_ads_integration_tests_apple_search_ads_source\".\"stg_apple_search_ads__search_term_report\"\n), \n\ncampaign as (\n\n select *\n from \"postgres\".\"apple_search_ads_integration_tests_apple_search_ads_source\".\"stg_apple_search_ads__campaign_history\"\n where is_most_recent_record = True\n), \n\norganization as (\n\n select * \n from \"postgres\".\"apple_search_ads_integration_tests_apple_search_ads_source\".\"stg_apple_search_ads__organization\"\n), \n\njoined as (\n\n select \n report.date_day,\n organization.organization_id,\n organization.organization_name,\n campaign.campaign_id, \n campaign.campaign_name, \n report.ad_group_id,\n report.ad_group_name,\n report.keyword_id,\n report.keyword_text,\n report.search_term_text,\n report.match_type,\n report.currency,\n sum(report.taps) as taps,\n sum(report.new_downloads) as new_downloads,\n sum(report.redownloads) as redownloads,\n sum(report.new_downloads + report.redownloads) as total_downloads,\n sum(report.impressions) as impressions,\n sum(report.spend) as spend\n\n \n\n\n\n\n from report\n join campaign \n on report.campaign_id = campaign.campaign_id\n join organization \n on campaign.organization_id = organization.organization_id\n where report.search_term_text is not null\n group by 1,2,3,4,5,6,7,8,9,10,11,12\n)\n\nselect * \nfrom joined", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"apple_search_ads_integration_tests_apple_search_ads\".\"apple_search_ads__search_term_report\""}, "model.apple_search_ads.apple_search_ads__campaign_report": {"compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.fivetran_utils.persist_pass_through_columns", "macro.dbt_utils.group_by"], "nodes": ["model.apple_search_ads_source.stg_apple_search_ads__campaign_report", "model.apple_search_ads_source.stg_apple_search_ads__campaign_history", "model.apple_search_ads_source.stg_apple_search_ads__organization"]}, "config": {"enabled": true, "alias": null, "schema": "apple_search_ads", "database": null, "tags": [], "meta": {}, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "apple_search_ads_integration_tests_apple_search_ads", "fqn": ["apple_search_ads", "apple_search_ads__campaign_report"], "unique_id": "model.apple_search_ads.apple_search_ads__campaign_report", "raw_code": "{{ config(enabled=var('ad_reporting__apple_search_ads_enabled', True)) }}\n\nwith report as (\n \n select *\n from {{ var('campaign_report') }}\n\n), \n\ncampaign as (\n\n select *\n from {{ var('campaign_history') }}\n where is_most_recent_record = True\n), \n\norganization as (\n\n select * \n from {{ var('organization') }}\n\n), \n\njoined as (\n\n select \n report.date_day,\n campaign.organization_id,\n organization.organization_name,\n campaign.campaign_id, \n campaign.campaign_name, \n report.currency,\n campaign.campaign_status,\n campaign.start_at,\n campaign.end_at,\n sum(report.taps) as taps,\n sum(report.new_downloads) as new_downloads,\n sum(report.redownloads) as redownloads,\n sum(report.new_downloads + report.redownloads) as total_downloads,\n sum(report.impressions) as impressions,\n sum(report.spend) as spend\n\n {{ fivetran_utils.persist_pass_through_columns(pass_through_variable='apple_search_ads__campaign_passthrough_metrics', transform = 'sum') }}\n from report\n join campaign \n on report.campaign_id = campaign.campaign_id\n join organization \n on campaign.organization_id = organization.organization_id\n {{ dbt_utils.group_by(9) }}\n)\n\nselect * \nfrom joined", "language": "sql", "package_name": "apple_search_ads", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/apple_search_ads", "path": "apple_search_ads__campaign_report.sql", "original_file_path": "models/apple_search_ads__campaign_report.sql", "name": "apple_search_ads__campaign_report", "alias": "apple_search_ads__campaign_report", "checksum": {"name": "sha256", "checksum": "d555ffbfe1f914afd50ba592ab961f1ebdb40a4d4315c0696f1c80738930080f"}, "tags": [], "refs": [["stg_apple_search_ads__campaign_report"], ["stg_apple_search_ads__campaign_history"], ["stg_apple_search_ads__organization"]], "sources": [], "metrics": [], "description": "Each record represents the daily ad performance of each campaign.", "columns": {"organization_id": {"name": "organization_id", "description": "Organization ID associated with this record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "organization_name": {"name": "organization_name", "description": "Organization name associated with this record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_id": {"name": "campaign_id", "description": "Campaign ID associated with this record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_name": {"name": "campaign_name", "description": "Campaign name associated with this record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_status": {"name": "campaign_status", "description": "The status of the campaign associted with this record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "start_at": {"name": "start_at", "description": "The start timestamp of this campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "end_at": {"name": "end_at", "description": "The end timestamp of this campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "date_day": {"name": "date_day", "description": "Date of the report.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "currency": {"name": "currency", "description": "This currency value should match the respective organization's currency value.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "taps": {"name": "taps", "description": "Number of taps on campaign on given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "new_downloads": {"name": "new_downloads", "description": "App downloads from new users who have never before installed app of campaign in a given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "redownloads": {"name": "redownloads", "description": "Number of user downloads where user deletes app and downloads the same app again following a tap on an ad on the App Store, or downloads the same app to an additional device of campaign in a given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "total_downloads": {"name": "total_downloads", "description": "The sum of new_downloads and redownloads.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "The number of impressions of campaign in a given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The spend on campaign in the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": "apple_search_ads://models/apple_search_ads.yml", "compiled_path": "target/compiled/apple_search_ads/models/apple_search_ads__campaign_report.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "apple_search_ads", "materialized": "table", "enabled": true}, "created_at": 1671505473.461026, "compiled_code": "\n\nwith report as (\n \n select *\n from \"postgres\".\"apple_search_ads_integration_tests_apple_search_ads_source\".\"stg_apple_search_ads__campaign_report\"\n\n), \n\ncampaign as (\n\n select *\n from \"postgres\".\"apple_search_ads_integration_tests_apple_search_ads_source\".\"stg_apple_search_ads__campaign_history\"\n where is_most_recent_record = True\n), \n\norganization as (\n\n select * \n from \"postgres\".\"apple_search_ads_integration_tests_apple_search_ads_source\".\"stg_apple_search_ads__organization\"\n\n), \n\njoined as (\n\n select \n report.date_day,\n campaign.organization_id,\n organization.organization_name,\n campaign.campaign_id, \n campaign.campaign_name, \n report.currency,\n campaign.campaign_status,\n campaign.start_at,\n campaign.end_at,\n sum(report.taps) as taps,\n sum(report.new_downloads) as new_downloads,\n sum(report.redownloads) as redownloads,\n sum(report.new_downloads + report.redownloads) as total_downloads,\n sum(report.impressions) as impressions,\n sum(report.spend) as spend\n\n \n\n\n\n\n from report\n join campaign \n on report.campaign_id = campaign.campaign_id\n join organization \n on campaign.organization_id = organization.organization_id\n group by 1,2,3,4,5,6,7,8,9\n)\n\nselect * \nfrom joined", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"apple_search_ads_integration_tests_apple_search_ads\".\"apple_search_ads__campaign_report\""}, "model.apple_search_ads.apple_search_ads__organization_report": {"compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.fivetran_utils.persist_pass_through_columns", "macro.dbt_utils.group_by"], "nodes": ["model.apple_search_ads_source.stg_apple_search_ads__campaign_report", "model.apple_search_ads_source.stg_apple_search_ads__campaign_history", "model.apple_search_ads_source.stg_apple_search_ads__organization"]}, "config": {"enabled": true, "alias": null, "schema": "apple_search_ads", "database": null, "tags": [], "meta": {}, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "apple_search_ads_integration_tests_apple_search_ads", "fqn": ["apple_search_ads", "apple_search_ads__organization_report"], "unique_id": "model.apple_search_ads.apple_search_ads__organization_report", "raw_code": "{{ config(enabled=var('ad_reporting__apple_search_ads_enabled', True)) }}\n\nwith report as (\n \n select *\n from {{ var('campaign_report') }}\n), \n\ncampaign as (\n\n select *\n from {{ var('campaign_history') }}\n where is_most_recent_record = True\n), \n\norganization as (\n\n select * \n from {{ var('organization') }}\n), \n\njoined as (\n\n select \n report.date_day,\n organization.organization_id,\n organization.organization_name,\n organization.currency,\n sum(report.taps) as taps,\n sum(report.new_downloads) as new_downloads,\n sum(report.redownloads) as redownloads,\n sum(report.new_downloads + report.redownloads) as total_downloads,\n sum(report.impressions) as impressions,\n sum(report.spend) as spend\n\n {{ fivetran_utils.persist_pass_through_columns(pass_through_variable='apple_search_ads__campaign_passthrough_metrics', transform = 'sum') }}\n from report\n join campaign \n on report.campaign_id = campaign.campaign_id\n join organization \n on campaign.organization_id = organization.organization_id\n {{ dbt_utils.group_by(4) }}\n)\n\nselect * \nfrom joined", "language": "sql", "package_name": "apple_search_ads", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/apple_search_ads", "path": "apple_search_ads__organization_report.sql", "original_file_path": "models/apple_search_ads__organization_report.sql", "name": "apple_search_ads__organization_report", "alias": "apple_search_ads__organization_report", "checksum": {"name": "sha256", "checksum": "47084fe8809edaeeda722e20590b19c6488687d05ad654b8fef4a0021088e0a2"}, "tags": [], "refs": [["stg_apple_search_ads__campaign_report"], ["stg_apple_search_ads__campaign_history"], ["stg_apple_search_ads__organization"]], "sources": [], "metrics": [], "description": "Each record represents the daily ad performance of each organization.", "columns": {"organization_id": {"name": "organization_id", "description": "Organization ID associated with this record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "organization_name": {"name": "organization_name", "description": "Organization name associated with this record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "date_day": {"name": "date_day", "description": "Date of the report.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "currency": {"name": "currency", "description": "This currency value should match the respective organization's currency value.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "taps": {"name": "taps", "description": "Number of taps on organization on given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "new_downloads": {"name": "new_downloads", "description": "App downloads from new users who have never before installed app of organization in a given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "redownloads": {"name": "redownloads", "description": "Number of user downloads where user deletes app and downloads the same app again following a tap on an ad on the App Store, or downloads the same app to an additional device of organization in a given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "total_downloads": {"name": "total_downloads", "description": "The sum of new_downloads and redownloads.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "The number of impressions of organization in a given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The spend on organization in the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": "apple_search_ads://models/apple_search_ads.yml", "compiled_path": "target/compiled/apple_search_ads/models/apple_search_ads__organization_report.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "apple_search_ads", "materialized": "table", "enabled": true}, "created_at": 1671505473.465953, "compiled_code": "\n\nwith report as (\n \n select *\n from \"postgres\".\"apple_search_ads_integration_tests_apple_search_ads_source\".\"stg_apple_search_ads__campaign_report\"\n), \n\ncampaign as (\n\n select *\n from \"postgres\".\"apple_search_ads_integration_tests_apple_search_ads_source\".\"stg_apple_search_ads__campaign_history\"\n where is_most_recent_record = True\n), \n\norganization as (\n\n select * \n from \"postgres\".\"apple_search_ads_integration_tests_apple_search_ads_source\".\"stg_apple_search_ads__organization\"\n), \n\njoined as (\n\n select \n report.date_day,\n organization.organization_id,\n organization.organization_name,\n organization.currency,\n sum(report.taps) as taps,\n sum(report.new_downloads) as new_downloads,\n sum(report.redownloads) as redownloads,\n sum(report.new_downloads + report.redownloads) as total_downloads,\n sum(report.impressions) as impressions,\n sum(report.spend) as spend\n\n \n\n\n\n\n from report\n join campaign \n on report.campaign_id = campaign.campaign_id\n join organization \n on campaign.organization_id = organization.organization_id\n group by 1,2,3,4\n)\n\nselect * \nfrom joined", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"apple_search_ads_integration_tests_apple_search_ads\".\"apple_search_ads__organization_report\""}, "model.apple_search_ads_source.stg_apple_search_ads__campaign_history": {"compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.apple_search_ads_source.get_campaign_history_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.apple_search_ads_source.stg_apple_search_ads__campaign_history_tmp", "model.apple_search_ads_source.stg_apple_search_ads__campaign_history_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "apple_search_ads_source", "database": null, "tags": [], "meta": {}, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "apple_search_ads_integration_tests_apple_search_ads_source", "fqn": ["apple_search_ads_source", "stg_apple_search_ads__campaign_history"], "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__campaign_history", "raw_code": "{{ config(enabled=var('ad_reporting__apple_search_ads_enabled', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_apple_search_ads__campaign_history_tmp') }}\n),\n\nfields as (\n\n select\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_apple_search_ads__campaign_history_tmp')),\n staging_columns=get_campaign_history_columns()\n )\n }}\n \n from base\n),\n\nfinal as (\n \n select\n modification_time as modified_at,\n organization_id,\n name as campaign_name,\n id as campaign_id,\n status as campaign_status,\n start_time as start_at,\n end_time as end_at,\n row_number() over (partition by id order by modification_time desc) = 1 as is_most_recent_record\n from fields\n)\n\nselect * \nfrom final", "language": "sql", "package_name": "apple_search_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/apple_search_ads_source", "path": "stg_apple_search_ads__campaign_history.sql", "original_file_path": "models/stg_apple_search_ads__campaign_history.sql", "name": "stg_apple_search_ads__campaign_history", "alias": "stg_apple_search_ads__campaign_history", "checksum": {"name": "sha256", "checksum": "294e54bc10f47e44786be1c445e764b49464643d75c0bf7a4fc3a38f3868e0de"}, "tags": [], "refs": [["stg_apple_search_ads__campaign_history_tmp"], ["stg_apple_search_ads__campaign_history_tmp"]], "sources": [], "metrics": [], "description": "Each record represents a version of a campaign in Apple Search Ads.", "columns": {"modified_at": {"name": "modified_at", "description": "Timestamp of when the campaign object was last modified.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_most_recent_record": {"name": "is_most_recent_record", "description": "Boolean representing whether a record is the most recent version of that record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_id": {"name": "campaign_id", "description": "Campaign ID associated with the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "start_at": {"name": "start_at", "description": "The designated ad group start time (ad group with the earliest start time associated with this campaign).", "meta": {}, "data_type": null, "quote": null, "tags": []}, "end_at": {"name": "end_at", "description": "The designated campaign end time (ad group with the latest start time associated with this campaign).", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_name": {"name": "campaign_name", "description": "Campaign name for the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "organization_id": {"name": "organization_id", "description": "Organization ID associated with the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status": {"name": "status", "description": "The current status of the campaign, values include ENABLED and PAUSED.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": "apple_search_ads_source://models/stg_apple_search_ads.yml", "compiled_path": "target/compiled/apple_search_ads_source/models/stg_apple_search_ads__campaign_history.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "apple_search_ads_source", "materialized": "table", "enabled": true}, "created_at": 1671505473.541017, "compiled_code": "\n\nwith base as (\n\n select * \n from \"postgres\".\"apple_search_ads_integration_tests_apple_search_ads_source\".\"stg_apple_search_ads__campaign_history_tmp\"\n),\n\nfields as (\n\n select\n \n \n \n end_time\n \n as \n \n end_time\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n modification_time\n \n as \n \n modification_time\n \n, \n \n \n name\n \n as \n \n name\n \n, \n \n \n organization_id\n \n as \n \n organization_id\n \n, \n \n \n start_time\n \n as \n \n start_time\n \n, \n \n \n status\n \n as \n \n status\n \n\n\n\n \n from base\n),\n\nfinal as (\n \n select\n modification_time as modified_at,\n organization_id,\n name as campaign_name,\n id as campaign_id,\n status as campaign_status,\n start_time as start_at,\n end_time as end_at,\n row_number() over (partition by id order by modification_time desc) = 1 as is_most_recent_record\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"apple_search_ads_integration_tests_apple_search_ads_source\".\"stg_apple_search_ads__campaign_history\""}, "model.apple_search_ads_source.stg_apple_search_ads__ad_report": {"compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.apple_search_ads_source.get_ad_level_report_columns", "macro.fivetran_utils.fill_staging_columns", "macro.fivetran_utils.fill_pass_through_columns"], "nodes": ["model.apple_search_ads_source.stg_apple_search_ads__ad_report_tmp", "model.apple_search_ads_source.stg_apple_search_ads__ad_report_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "apple_search_ads_source", "database": null, "tags": [], "meta": {}, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "apple_search_ads_integration_tests_apple_search_ads_source", "fqn": ["apple_search_ads_source", "stg_apple_search_ads__ad_report"], "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__ad_report", "raw_code": "{{ config(enabled=var('ad_reporting__apple_search_ads_enabled', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_apple_search_ads__ad_report_tmp') }}\n),\n\nfields as (\n\n select\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_apple_search_ads__ad_report_tmp')),\n staging_columns=get_ad_level_report_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n date as date_day,\n campaign_id,\n ad_group_id,\n ad_id,\n impressions,\n local_spend_amount as spend,\n local_spend_currency as currency,\n new_downloads,\n redownloads,\n taps\n\n {{ fivetran_utils.fill_pass_through_columns('apple_search_ads__ad_passthrough_metrics') }}\n from fields\n)\n\nselect *\nfrom final", "language": "sql", "package_name": "apple_search_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/apple_search_ads_source", "path": "stg_apple_search_ads__ad_report.sql", "original_file_path": "models/stg_apple_search_ads__ad_report.sql", "name": "stg_apple_search_ads__ad_report", "alias": "stg_apple_search_ads__ad_report", "checksum": {"name": "sha256", "checksum": "45019dc2d949eecadbbd9d4a052049a60dca00c32f726da678972fa8bdadd1f6"}, "tags": [], "refs": [["stg_apple_search_ads__ad_report_tmp"], ["stg_apple_search_ads__ad_report_tmp"]], "sources": [], "metrics": [], "description": "Each record represents the daily performance of an ad in Apple Search Ads.", "columns": {"date_day": {"name": "date_day", "description": "Date for daily report aggregation.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_id": {"name": "campaign_id", "description": "Campaign ID associated with the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "Ad group ID associated with the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_id": {"name": "ad_id", "description": "Ad ID associated with the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "Number of times your ad appeared in App Store search results.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The sum of costs associated with the number of impressions served; Spend is measured in the currency used in the campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "currency": {"name": "currency", "description": "This currency value should match the respective organization's currency value.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "new_downloads": {"name": "new_downloads", "description": "App downloads from new users who have never before installed the respective app.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "redownloads": {"name": "redownloads", "description": "Occurs when a user downloads respective app, deletes it, and downloads the same app again following a tap on an ad on the App Store, or downloads the same app to an additional device.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "taps": {"name": "taps", "description": "The number of times ad was tapped by users within the reporting time period.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": "apple_search_ads_source://models/stg_apple_search_ads.yml", "compiled_path": "target/compiled/apple_search_ads_source/models/stg_apple_search_ads__ad_report.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "apple_search_ads_source", "materialized": "table", "enabled": true}, "created_at": 1671505473.5395572, "compiled_code": "\n\nwith base as (\n\n select * \n from \"postgres\".\"apple_search_ads_integration_tests_apple_search_ads_source\".\"stg_apple_search_ads__ad_report_tmp\"\n),\n\nfields as (\n\n select\n \n \n \n ad_group_id\n \n as \n \n ad_group_id\n \n, \n \n \n ad_id\n \n as \n \n ad_id\n \n, \n \n \n campaign_id\n \n as \n \n campaign_id\n \n, \n \n \n date\n \n as \n \n date\n \n, \n \n \n impressions\n \n as \n \n impressions\n \n, \n \n \n local_spend_amount\n \n as \n \n local_spend_amount\n \n, \n \n \n local_spend_currency\n \n as \n \n local_spend_currency\n \n, \n \n \n new_downloads\n \n as \n \n new_downloads\n \n, \n \n \n redownloads\n \n as \n \n redownloads\n \n, \n \n \n taps\n \n as \n \n taps\n \n\n\n\n from base\n),\n\nfinal as (\n \n select \n date as date_day,\n campaign_id,\n ad_group_id,\n ad_id,\n impressions,\n local_spend_amount as spend,\n local_spend_currency as currency,\n new_downloads,\n redownloads,\n taps\n\n \n\n\n\n\n from fields\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"apple_search_ads_integration_tests_apple_search_ads_source\".\"stg_apple_search_ads__ad_report\""}, "model.apple_search_ads_source.stg_apple_search_ads__campaign_report": {"compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.apple_search_ads_source.get_campaign_report_columns", "macro.fivetran_utils.fill_staging_columns", "macro.fivetran_utils.fill_pass_through_columns"], "nodes": ["model.apple_search_ads_source.stg_apple_search_ads__campaign_report_tmp", "model.apple_search_ads_source.stg_apple_search_ads__campaign_report_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "apple_search_ads_source", "database": null, "tags": [], "meta": {}, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "apple_search_ads_integration_tests_apple_search_ads_source", "fqn": ["apple_search_ads_source", "stg_apple_search_ads__campaign_report"], "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__campaign_report", "raw_code": "{{ config(enabled=var('ad_reporting__apple_search_ads_enabled', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_apple_search_ads__campaign_report_tmp') }}\n),\n\nfields as (\n\n select\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_apple_search_ads__campaign_report_tmp')),\n staging_columns=get_campaign_report_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n date as date_day,\n id as campaign_id,\n impressions,\n local_spend_amount as spend,\n local_spend_currency as currency,\n new_downloads,\n redownloads,\n taps\n\n {{ fivetran_utils.fill_pass_through_columns('apple_search_ads__campaign_passthrough_metrics') }}\n from fields\n)\n\nselect * \nfrom final", "language": "sql", "package_name": "apple_search_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/apple_search_ads_source", "path": "stg_apple_search_ads__campaign_report.sql", "original_file_path": "models/stg_apple_search_ads__campaign_report.sql", "name": "stg_apple_search_ads__campaign_report", "alias": "stg_apple_search_ads__campaign_report", "checksum": {"name": "sha256", "checksum": "c4681d203c58d68501b9d2d3a84fc28598e9705eb4cc7f4496be52e3209768d3"}, "tags": [], "refs": [["stg_apple_search_ads__campaign_report_tmp"], ["stg_apple_search_ads__campaign_report_tmp"]], "sources": [], "metrics": [], "description": "Each record represents the daily performance of a campaign in Apple Search Ads.", "columns": {"campaign_id": {"name": "campaign_id", "description": "Campaign ID associated with the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "date_day": {"name": "date_day", "description": "Date for daily report aggregation.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "Number of times your ad appeared in App Store search results.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The sum of costs associated with the number of impressions served; Spend is measured in the currency used in the campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "currency": {"name": "currency", "description": "This currency value should match the respective organization's currency value.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "new_downloads": {"name": "new_downloads", "description": "App downloads from new users who have never before installed the respective app.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "redownloads": {"name": "redownloads", "description": "Occurs when a user downloads respective app, deletes it, and downloads the same app again following a tap on an ad on the App Store, or downloads the same app to an additional device.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "taps": {"name": "taps", "description": "The number of times ad was tapped by users within the reporting time period.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": "apple_search_ads_source://models/stg_apple_search_ads.yml", "compiled_path": "target/compiled/apple_search_ads_source/models/stg_apple_search_ads__campaign_report.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "apple_search_ads_source", "materialized": "table", "enabled": true}, "created_at": 1671505473.5425029, "compiled_code": "\n\nwith base as (\n\n select * \n from \"postgres\".\"apple_search_ads_integration_tests_apple_search_ads_source\".\"stg_apple_search_ads__campaign_report_tmp\"\n),\n\nfields as (\n\n select\n \n \n \n date\n \n as \n \n date\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n impressions\n \n as \n \n impressions\n \n, \n \n \n local_spend_amount\n \n as \n \n local_spend_amount\n \n, \n \n \n local_spend_currency\n \n as \n \n local_spend_currency\n \n, \n \n \n new_downloads\n \n as \n \n new_downloads\n \n, \n \n \n redownloads\n \n as \n \n redownloads\n \n, \n \n \n taps\n \n as \n \n taps\n \n\n\n\n from base\n),\n\nfinal as (\n \n select \n date as date_day,\n id as campaign_id,\n impressions,\n local_spend_amount as spend,\n local_spend_currency as currency,\n new_downloads,\n redownloads,\n taps\n\n \n\n\n\n\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"apple_search_ads_integration_tests_apple_search_ads_source\".\"stg_apple_search_ads__campaign_report\""}, "model.apple_search_ads_source.stg_apple_search_ads__organization": {"compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.apple_search_ads_source.get_organization_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.apple_search_ads_source.stg_apple_search_ads__organization_tmp", "model.apple_search_ads_source.stg_apple_search_ads__organization_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "apple_search_ads_source", "database": null, "tags": [], "meta": {}, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "apple_search_ads_integration_tests_apple_search_ads_source", "fqn": ["apple_search_ads_source", "stg_apple_search_ads__organization"], "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__organization", "raw_code": "{{ config(enabled=var('ad_reporting__apple_search_ads_enabled', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_apple_search_ads__organization_tmp') }}\n),\n\nfields as (\n\n select\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_apple_search_ads__organization_tmp')),\n staging_columns=get_organization_columns()\n )\n }}\n \n from base\n),\n\nfinal as (\n \n select \n id as organization_id,\n currency,\n payment_model,\n name as organization_name,\n time_zone\n from fields\n)\n\nselect * \nfrom final", "language": "sql", "package_name": "apple_search_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/apple_search_ads_source", "path": "stg_apple_search_ads__organization.sql", "original_file_path": "models/stg_apple_search_ads__organization.sql", "name": "stg_apple_search_ads__organization", "alias": "stg_apple_search_ads__organization", "checksum": {"name": "sha256", "checksum": "24d3ee4e2d050e8ade0b3222ea535ed1837d2ea4265f00cf3f3b7b67a7a30dab"}, "tags": [], "refs": [["stg_apple_search_ads__organization_tmp"], ["stg_apple_search_ads__organization_tmp"]], "sources": [], "metrics": [], "description": "Each record represents an organization in Apple Search Ads.", "columns": {"organization_id": {"name": "organization_id", "description": "Organization ID associated with the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "currency": {"name": "currency", "description": "Specified currency for respective organization.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "payment_model": {"name": "payment_model", "description": "Values include 'LOC', 'PAYG' or (payment method hasn't been set).", "meta": {}, "data_type": null, "quote": null, "tags": []}, "organization_name": {"name": "organization_name", "description": "Name of organization.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "time_zone": {"name": "time_zone", "description": "Organization default timezone; values can be ORTZ or UTC.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": "apple_search_ads_source://models/stg_apple_search_ads.yml", "compiled_path": "target/compiled/apple_search_ads_source/models/stg_apple_search_ads__organization.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "apple_search_ads_source", "materialized": "table", "enabled": true}, "created_at": 1671505473.546509, "compiled_code": "\n\nwith base as (\n\n select * \n from \"postgres\".\"apple_search_ads_integration_tests_apple_search_ads_source\".\"stg_apple_search_ads__organization_tmp\"\n),\n\nfields as (\n\n select\n \n \n \n currency\n \n as \n \n currency\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n name\n \n as \n \n name\n \n, \n \n \n payment_model\n \n as \n \n payment_model\n \n, \n \n \n time_zone\n \n as \n \n time_zone\n \n\n\n\n \n from base\n),\n\nfinal as (\n \n select \n id as organization_id,\n currency,\n payment_model,\n name as organization_name,\n time_zone\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"apple_search_ads_integration_tests_apple_search_ads_source\".\"stg_apple_search_ads__organization\""}, "model.apple_search_ads_source.stg_apple_search_ads__keyword_report": {"compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.apple_search_ads_source.get_keyword_report_columns", "macro.fivetran_utils.fill_staging_columns", "macro.fivetran_utils.fill_pass_through_columns"], "nodes": ["model.apple_search_ads_source.stg_apple_search_ads__keyword_report_tmp", "model.apple_search_ads_source.stg_apple_search_ads__keyword_report_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "apple_search_ads_source", "database": null, "tags": [], "meta": {}, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "apple_search_ads_integration_tests_apple_search_ads_source", "fqn": ["apple_search_ads_source", "stg_apple_search_ads__keyword_report"], "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__keyword_report", "raw_code": "{{ config(enabled=var('ad_reporting__apple_search_ads_enabled', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_apple_search_ads__keyword_report_tmp') }}\n),\n\nfields as (\n\n select\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_apple_search_ads__keyword_report_tmp')),\n staging_columns=get_keyword_report_columns()\n )\n }} \n from base\n),\n\nfinal as (\n \n select \n date as date_day,\n id as keyword_id,\n impressions,\n local_spend_amount as spend,\n local_spend_currency as currency,\n new_downloads,\n redownloads,\n taps\n\n {{ fivetran_utils.fill_pass_through_columns('apple_search_ads__keyword_passthrough_metrics') }}\n from fields\n)\n\nselect * \nfrom final", "language": "sql", "package_name": "apple_search_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/apple_search_ads_source", "path": "stg_apple_search_ads__keyword_report.sql", "original_file_path": "models/stg_apple_search_ads__keyword_report.sql", "name": "stg_apple_search_ads__keyword_report", "alias": "stg_apple_search_ads__keyword_report", "checksum": {"name": "sha256", "checksum": "087cf73b201edc946f1b30c28096f4d513aca817fc3e510cac05f28dc781c665"}, "tags": [], "refs": [["stg_apple_search_ads__keyword_report_tmp"], ["stg_apple_search_ads__keyword_report_tmp"]], "sources": [], "metrics": [], "description": "Each record represents the daily performance of a keyword in Apple Search Ads.", "columns": {"keyword_id": {"name": "keyword_id", "description": "Keyword ID associated with the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "date_day": {"name": "date_day", "description": "Date for daily report aggregation.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "Number of times your ad appeared in App Store search results.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The sum of costs associated with the number of impressions served; Spend is measured in the currency used in the campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "currency": {"name": "currency", "description": "This currency value should match the respective organization's currency value.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "new_downloads": {"name": "new_downloads", "description": "App downloads from new users who have never before installed the respective app.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "redownloads": {"name": "redownloads", "description": "Occurs when a user downloads respective app, deletes it, and downloads the same app again following a tap on an ad on the App Store, or downloads the same app to an additional device.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "taps": {"name": "taps", "description": "The number of times ad was tapped by users within the reporting time period.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": "apple_search_ads_source://models/stg_apple_search_ads.yml", "compiled_path": "target/compiled/apple_search_ads_source/models/stg_apple_search_ads__keyword_report.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "apple_search_ads_source", "materialized": "table", "enabled": true}, "created_at": 1671505473.545569, "compiled_code": "\n\nwith base as (\n\n select * \n from \"postgres\".\"apple_search_ads_integration_tests_apple_search_ads_source\".\"stg_apple_search_ads__keyword_report_tmp\"\n),\n\nfields as (\n\n select\n \n \n \n date\n \n as \n \n date\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n impressions\n \n as \n \n impressions\n \n, \n \n \n local_spend_amount\n \n as \n \n local_spend_amount\n \n, \n \n \n local_spend_currency\n \n as \n \n local_spend_currency\n \n, \n \n \n new_downloads\n \n as \n \n new_downloads\n \n, \n \n \n redownloads\n \n as \n \n redownloads\n \n, \n \n \n taps\n \n as \n \n taps\n \n\n\n \n from base\n),\n\nfinal as (\n \n select \n date as date_day,\n id as keyword_id,\n impressions,\n local_spend_amount as spend,\n local_spend_currency as currency,\n new_downloads,\n redownloads,\n taps\n\n \n\n\n\n\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"apple_search_ads_integration_tests_apple_search_ads_source\".\"stg_apple_search_ads__keyword_report\""}, "model.apple_search_ads_source.stg_apple_search_ads__keyword_history": {"compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.apple_search_ads_source.get_keyword_history_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.apple_search_ads_source.stg_apple_search_ads__keyword_history_tmp", "model.apple_search_ads_source.stg_apple_search_ads__keyword_history_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "apple_search_ads_source", "database": null, "tags": [], "meta": {}, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "apple_search_ads_integration_tests_apple_search_ads_source", "fqn": ["apple_search_ads_source", "stg_apple_search_ads__keyword_history"], "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__keyword_history", "raw_code": "{{ config(enabled=var('ad_reporting__apple_search_ads_enabled', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_apple_search_ads__keyword_history_tmp') }}\n),\n\nfields as (\n\n select\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_apple_search_ads__keyword_history_tmp')),\n staging_columns=get_keyword_history_columns()\n )\n }}\n \n from base\n),\n\nfinal as (\n \n select \n modification_time as modified_at,\n campaign_id,\n ad_group_id,\n id as keyword_id,\n bid_amount, \n bid_currency,\n match_type,\n status as keyword_status,\n text as keyword_text,\n row_number() over (partition by id order by modification_time desc) = 1 as is_most_recent_record\n from fields\n)\n\nselect * \nfrom final", "language": "sql", "package_name": "apple_search_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/apple_search_ads_source", "path": "stg_apple_search_ads__keyword_history.sql", "original_file_path": "models/stg_apple_search_ads__keyword_history.sql", "name": "stg_apple_search_ads__keyword_history", "alias": "stg_apple_search_ads__keyword_history", "checksum": {"name": "sha256", "checksum": "5ee576e97a5fffaf97916376ca747fcb9389b6733d268f9b42308a8f244ade8e"}, "tags": [], "refs": [["stg_apple_search_ads__keyword_history_tmp"], ["stg_apple_search_ads__keyword_history_tmp"]], "sources": [], "metrics": [], "description": "Each record represents a version of a keyword in Apple Search Ads.", "columns": {"modified_at": {"name": "modified_at", "description": "Timestamp of when the keyword object was last modified.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_most_recent_record": {"name": "is_most_recent_record", "description": "Boolean representing whether a record is the most recent version of that record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "keyword_id": {"name": "keyword_id", "description": "Keyword ID associated with the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_id": {"name": "campaign_id", "description": "Campaign ID associated with the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "Ad group ID associated with the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "bid_amount": {"name": "bid_amount", "description": "The bid amount to display your ad for the matching text value.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "bid_currency": {"name": "bid_currency", "description": "This currency value should match the respective organization's currency value.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "match_type": {"name": "match_type", "description": "Controls how ads are matched to user searches; EXACT or BROAD.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status": {"name": "status", "description": "The current status of the keyword, values include ENABLED and PAUSED.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "keyword_text": {"name": "keyword_text", "description": "The word or phrase to match in user searches, to show respective ad.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": "apple_search_ads_source://models/stg_apple_search_ads.yml", "compiled_path": "target/compiled/apple_search_ads_source/models/stg_apple_search_ads__keyword_history.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "apple_search_ads_source", "materialized": "table", "enabled": true}, "created_at": 1671505473.544138, "compiled_code": "\n\nwith base as (\n\n select * \n from \"postgres\".\"apple_search_ads_integration_tests_apple_search_ads_source\".\"stg_apple_search_ads__keyword_history_tmp\"\n),\n\nfields as (\n\n select\n \n \n \n ad_group_id\n \n as \n \n ad_group_id\n \n, \n \n \n bid_amount\n \n as \n \n bid_amount\n \n, \n \n \n bid_currency\n \n as \n \n bid_currency\n \n, \n \n \n campaign_id\n \n as \n \n campaign_id\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n match_type\n \n as \n \n match_type\n \n, \n \n \n modification_time\n \n as \n \n modification_time\n \n, \n \n \n status\n \n as \n \n status\n \n, \n \n \n text\n \n as \n \n text\n \n\n\n\n \n from base\n),\n\nfinal as (\n \n select \n modification_time as modified_at,\n campaign_id,\n ad_group_id,\n id as keyword_id,\n bid_amount, \n bid_currency,\n match_type,\n status as keyword_status,\n text as keyword_text,\n row_number() over (partition by id order by modification_time desc) = 1 as is_most_recent_record\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"apple_search_ads_integration_tests_apple_search_ads_source\".\"stg_apple_search_ads__keyword_history\""}, "model.apple_search_ads_source.stg_apple_search_ads__search_term_report": {"compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.fivetran_utils.enabled_vars", "macro.apple_search_ads_source.get_search_term_report_columns", "macro.fivetran_utils.fill_staging_columns", "macro.fivetran_utils.fill_pass_through_columns"], "nodes": ["model.apple_search_ads_source.stg_apple_search_ads__search_term_report_tmp", "model.apple_search_ads_source.stg_apple_search_ads__search_term_report_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "apple_search_ads_source", "database": null, "tags": [], "meta": {}, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "apple_search_ads_integration_tests_apple_search_ads_source", "fqn": ["apple_search_ads_source", "stg_apple_search_ads__search_term_report"], "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__search_term_report", "raw_code": "{{ config(enabled=fivetran_utils.enabled_vars(['ad_reporting__apple_search_ads_enabled','apple_search_ads__using_search_terms'])) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_apple_search_ads__search_term_report_tmp') }}\n),\n\nfields as (\n\n select\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_apple_search_ads__search_term_report_tmp')),\n staging_columns=get_search_term_report_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n date as date_day,\n _fivetran_id,\n campaign_id,\n ad_group_id,\n ad_group_name,\n bid_amount_amount as bid_amount,\n bid_amount_currency as bid_currency,\n keyword as keyword_text,\n keyword_display_status,\n keyword_id,\n local_spend_amount as spend,\n local_spend_currency as currency,\n match_type,\n search_term_source,\n search_term_text,\n impressions,\n taps,\n new_downloads,\n redownloads\n\n {{ fivetran_utils.fill_pass_through_columns('apple_search_ads__search_term_passthrough_metrics') }}\n from fields\n)\n\nselect * \nfrom final", "language": "sql", "package_name": "apple_search_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/apple_search_ads_source", "path": "stg_apple_search_ads__search_term_report.sql", "original_file_path": "models/stg_apple_search_ads__search_term_report.sql", "name": "stg_apple_search_ads__search_term_report", "alias": "stg_apple_search_ads__search_term_report", "checksum": {"name": "sha256", "checksum": "6345a092b669f3283eb8b09b8590cdcf4e89da7ac486c18bb626315fac6db0e0"}, "tags": [], "refs": [["stg_apple_search_ads__search_term_report_tmp"], ["stg_apple_search_ads__search_term_report_tmp"]], "sources": [], "metrics": [], "description": "Each record represents the daily performance of a search term in Apple Search Ads.", "columns": {"_fivetran_id": {"name": "_fivetran_id", "description": "A Fivetran internal unique id that helps us avoid duplicate rows in primary keyless tables.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "Ad group ID associated with the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_format": {"name": "ad_format", "description": "Format of creative set.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_id": {"name": "campaign_id", "description": "Campaign ID associated with the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "date_day": {"name": "date_day", "description": "Date for daily report aggregation.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_name": {"name": "ad_group_name", "description": "Ad group name.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "bid_amount": {"name": "bid_amount", "description": "The bid amount to display your ad for the matching text value.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "bid_currency": {"name": "bid_currency", "description": "This currency value should match the respective organization's currency value.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "keyword_text": {"name": "keyword_text", "description": "The word or phrase to match in user searches, to show respective ad.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "keyword_display_status": {"name": "keyword_display_status", "description": "The keyword display status can either be ACTIVE or PAUSED.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "keyword_id": {"name": "keyword_id", "description": "Keyword ID associated with the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The sum of costs associated with the number of impressions served; Spend is measured in the currency used in the campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "currency": {"name": "currency", "description": "This currency value should match the respective organization's currency value.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "match_type": {"name": "match_type", "description": "Controls how ads are matched to user searches; values include EXACT, BROAD or AUTO.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "search_term_source": {"name": "search_term_source", "description": "The search term source can either be TARGETED or AUTO; if this value is AUTO so will match_type.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "search_term_text": {"name": "search_term_text", "description": "The word or phrase to match of user searches.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "Number of times your ad appeared in App Store search results.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "taps": {"name": "taps", "description": "The number of times ad was tapped by users within the reporting time period.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "new_downloads": {"name": "new_downloads", "description": "App downloads from new users who have never before installed the respective app.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "redownloads": {"name": "redownloads", "description": "Occurs when a user downloads respective app, deletes it, and downloads the same app again following a tap on an ad on the App Store, or downloads the same app to an additional device.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": "apple_search_ads_source://models/stg_apple_search_ads.yml", "compiled_path": "target/compiled/apple_search_ads_source/models/stg_apple_search_ads__search_term_report.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "apple_search_ads_source", "materialized": "table", "enabled": true}, "created_at": 1671505473.549597, "compiled_code": "\n\nwith base as (\n\n select * \n from \"postgres\".\"apple_search_ads_integration_tests_apple_search_ads_source\".\"stg_apple_search_ads__search_term_report_tmp\"\n),\n\nfields as (\n\n select\n \n \n \n _fivetran_id\n \n as \n \n _fivetran_id\n \n, \n \n \n ad_group_deleted\n \n as \n \n ad_group_deleted\n \n, \n \n \n ad_group_id\n \n as \n \n ad_group_id\n \n, \n \n \n ad_group_name\n \n as \n \n ad_group_name\n \n, \n \n \n bid_amount_amount\n \n as \n \n bid_amount_amount\n \n, \n \n \n bid_amount_currency\n \n as \n \n bid_amount_currency\n \n, \n \n \n campaign_id\n \n as \n \n campaign_id\n \n, \n \n \n date\n \n as \n \n date\n \n, \n \n \n deleted\n \n as \n \n deleted\n \n, \n \n \n impressions\n \n as \n \n impressions\n \n, \n \n \n keyword\n \n as \n \n keyword\n \n, \n \n \n keyword_display_status\n \n as \n \n keyword_display_status\n \n, \n \n \n keyword_id\n \n as \n \n keyword_id\n \n, \n \n \n local_spend_amount\n \n as \n \n local_spend_amount\n \n, \n \n \n local_spend_currency\n \n as \n \n local_spend_currency\n \n, \n \n \n match_type\n \n as \n \n match_type\n \n, \n \n \n new_downloads\n \n as \n \n new_downloads\n \n, \n \n \n redownloads\n \n as \n \n redownloads\n \n, \n \n \n search_term_source\n \n as \n \n search_term_source\n \n, \n \n \n search_term_text\n \n as \n \n search_term_text\n \n, \n \n \n taps\n \n as \n \n taps\n \n\n\n\n from base\n),\n\nfinal as (\n \n select \n date as date_day,\n _fivetran_id,\n campaign_id,\n ad_group_id,\n ad_group_name,\n bid_amount_amount as bid_amount,\n bid_amount_currency as bid_currency,\n keyword as keyword_text,\n keyword_display_status,\n keyword_id,\n local_spend_amount as spend,\n local_spend_currency as currency,\n match_type,\n search_term_source,\n search_term_text,\n impressions,\n taps,\n new_downloads,\n redownloads\n\n \n\n\n\n\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"apple_search_ads_integration_tests_apple_search_ads_source\".\"stg_apple_search_ads__search_term_report\""}, "model.apple_search_ads_source.stg_apple_search_ads__ad_group_history": {"compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.apple_search_ads_source.get_ad_group_history_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.apple_search_ads_source.stg_apple_search_ads__ad_group_history_tmp", "model.apple_search_ads_source.stg_apple_search_ads__ad_group_history_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "apple_search_ads_source", "database": null, "tags": [], "meta": {}, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "apple_search_ads_integration_tests_apple_search_ads_source", "fqn": ["apple_search_ads_source", "stg_apple_search_ads__ad_group_history"], "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__ad_group_history", "raw_code": "{{ config(enabled=var('ad_reporting__apple_search_ads_enabled', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_apple_search_ads__ad_group_history_tmp') }}\n),\n\nfields as (\n\n select\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_apple_search_ads__ad_group_history_tmp')),\n staging_columns=get_ad_group_history_columns()\n )\n }}\n \n from base\n),\n\nfinal as (\n select \n modification_time as modified_at,\n organization_id,\n campaign_id,\n name as ad_group_name,\n id as ad_group_id,\n status as ad_group_status,\n start_time as start_at,\n end_time as end_at,\n row_number() over (partition by id order by modification_time desc) = 1 as is_most_recent_record\n from fields\n)\n\nselect * \nfrom final", "language": "sql", "package_name": "apple_search_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/apple_search_ads_source", "path": "stg_apple_search_ads__ad_group_history.sql", "original_file_path": "models/stg_apple_search_ads__ad_group_history.sql", "name": "stg_apple_search_ads__ad_group_history", "alias": "stg_apple_search_ads__ad_group_history", "checksum": {"name": "sha256", "checksum": "b2081179706957545ca7818fd65e298a3948051372426039e2ecffd091fef371"}, "tags": [], "refs": [["stg_apple_search_ads__ad_group_history_tmp"], ["stg_apple_search_ads__ad_group_history_tmp"]], "sources": [], "metrics": [], "description": "Each record represents a version of an ad group in Apple Search Ads.", "columns": {"modified_at": {"name": "modified_at", "description": "Timestamp of when the ad group object was last modified.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_most_recent_record": {"name": "is_most_recent_record", "description": "Boolean indicating whether record was the most recent instance.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "Ad group ID associated with the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_id": {"name": "campaign_id", "description": "Campaign ID associated with the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "start_at": {"name": "start_at", "description": "The designated ad group start time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "end_at": {"name": "end_at", "description": "The designated ad group end time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_name": {"name": "ad_group_name", "description": "Ad group name.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "organization_id": {"name": "organization_id", "description": "Organization ID associated with the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status": {"name": "status", "description": "The current status of the ad group, values include ENABLED and PAUSED.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": "apple_search_ads_source://models/stg_apple_search_ads.yml", "compiled_path": "target/compiled/apple_search_ads_source/models/stg_apple_search_ads__ad_group_history.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "apple_search_ads_source", "materialized": "table", "enabled": true}, "created_at": 1671505473.5350132, "compiled_code": "\n\nwith base as (\n\n select * \n from \"postgres\".\"apple_search_ads_integration_tests_apple_search_ads_source\".\"stg_apple_search_ads__ad_group_history_tmp\"\n),\n\nfields as (\n\n select\n \n \n \n campaign_id\n \n as \n \n campaign_id\n \n, \n \n \n end_time\n \n as \n \n end_time\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n modification_time\n \n as \n \n modification_time\n \n, \n \n \n name\n \n as \n \n name\n \n, \n \n \n organization_id\n \n as \n \n organization_id\n \n, \n \n \n start_time\n \n as \n \n start_time\n \n, \n \n \n status\n \n as \n \n status\n \n\n\n\n \n from base\n),\n\nfinal as (\n select \n modification_time as modified_at,\n organization_id,\n campaign_id,\n name as ad_group_name,\n id as ad_group_id,\n status as ad_group_status,\n start_time as start_at,\n end_time as end_at,\n row_number() over (partition by id order by modification_time desc) = 1 as is_most_recent_record\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"apple_search_ads_integration_tests_apple_search_ads_source\".\"stg_apple_search_ads__ad_group_history\""}, "model.apple_search_ads_source.stg_apple_search_ads__ad_history": {"compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.apple_search_ads_source.get_ad_history_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.apple_search_ads_source.stg_apple_search_ads__ad_history_tmp", "model.apple_search_ads_source.stg_apple_search_ads__ad_history_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "apple_search_ads_source", "database": null, "tags": [], "meta": {}, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "apple_search_ads_integration_tests_apple_search_ads_source", "fqn": ["apple_search_ads_source", "stg_apple_search_ads__ad_history"], "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__ad_history", "raw_code": "{{ config(enabled=var('ad_reporting__apple_search_ads_enabled', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_apple_search_ads__ad_history_tmp') }}\n),\n\nfields as (\n\n select\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_apple_search_ads__ad_history_tmp')),\n staging_columns=get_ad_history_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n creation_time as created_at,\n modification_time as modified_at,\n org_id as organization_id,\n campaign_id,\n ad_group_id,\n name as ad_name,\n id as ad_id,\n status as ad_status, \n row_number() over (partition by id order by modification_time desc) = 1 as is_most_recent_record\n from fields\n)\n\nselect *\nfrom final", "language": "sql", "package_name": "apple_search_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/apple_search_ads_source", "path": "stg_apple_search_ads__ad_history.sql", "original_file_path": "models/stg_apple_search_ads__ad_history.sql", "name": "stg_apple_search_ads__ad_history", "alias": "stg_apple_search_ads__ad_history", "checksum": {"name": "sha256", "checksum": "4abb76f80d87af32ba976747bb0accf3b1641854a41a3e9d8ebec94533405d23"}, "tags": [], "refs": [["stg_apple_search_ads__ad_history_tmp"], ["stg_apple_search_ads__ad_history_tmp"]], "sources": [], "metrics": [], "description": "Each record represents a version of an ad in Apple Search Ads.", "columns": {"created_at": {"name": "created_at", "description": "Timestamp of when ad was created.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "modified_at": {"name": "modified_at", "description": "Timestamp of when the ad object was last modified.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "organization_id": {"name": "organization_id", "description": "Organization ID associated with the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_id": {"name": "campaign_id", "description": "Campaign ID associated with the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "Ad group ID associated with the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_name": {"name": "ad_name", "description": "Ad name associated with the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_id": {"name": "ad_id", "description": "Ad ID associated with the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_status": {"name": "ad_status", "description": "The current status of the ad, values include ENABLED and PAUSED.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": "apple_search_ads_source://models/stg_apple_search_ads.yml", "compiled_path": "target/compiled/apple_search_ads_source/models/stg_apple_search_ads__ad_history.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "apple_search_ads_source", "materialized": "table", "enabled": true}, "created_at": 1671505473.5378802, "compiled_code": "\n\nwith base as (\n\n select * \n from \"postgres\".\"apple_search_ads_integration_tests_apple_search_ads_source\".\"stg_apple_search_ads__ad_history_tmp\"\n),\n\nfields as (\n\n select\n \n \n \n ad_group_id\n \n as \n \n ad_group_id\n \n, \n \n \n campaign_id\n \n as \n \n campaign_id\n \n, \n \n \n creation_time\n \n as \n \n creation_time\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n modification_time\n \n as \n \n modification_time\n \n, \n \n \n name\n \n as \n \n name\n \n, \n \n \n org_id\n \n as \n \n org_id\n \n, \n \n \n status\n \n as \n \n status\n \n\n\n\n from base\n),\n\nfinal as (\n \n select \n creation_time as created_at,\n modification_time as modified_at,\n org_id as organization_id,\n campaign_id,\n ad_group_id,\n name as ad_name,\n id as ad_id,\n status as ad_status, \n row_number() over (partition by id order by modification_time desc) = 1 as is_most_recent_record\n from fields\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"apple_search_ads_integration_tests_apple_search_ads_source\".\"stg_apple_search_ads__ad_history\""}, "model.apple_search_ads_source.stg_apple_search_ads__ad_group_report": {"compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.apple_search_ads_source.get_ad_group_report_columns", "macro.fivetran_utils.fill_staging_columns", "macro.fivetran_utils.fill_pass_through_columns"], "nodes": ["model.apple_search_ads_source.stg_apple_search_ads__ad_group_report_tmp", "model.apple_search_ads_source.stg_apple_search_ads__ad_group_report_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "apple_search_ads_source", "database": null, "tags": [], "meta": {}, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "apple_search_ads_integration_tests_apple_search_ads_source", "fqn": ["apple_search_ads_source", "stg_apple_search_ads__ad_group_report"], "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__ad_group_report", "raw_code": "{{ config(enabled=var('ad_reporting__apple_search_ads_enabled', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_apple_search_ads__ad_group_report_tmp') }}\n),\n\nfields as (\n\n select\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_apple_search_ads__ad_group_report_tmp')),\n staging_columns=get_ad_group_report_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select\n date as date_day, \n ad_group_id,\n impressions,\n local_spend_amount as spend,\n local_spend_currency as currency,\n new_downloads,\n redownloads,\n taps\n\n {{ fivetran_utils.fill_pass_through_columns('apple_search_ads__ad_group_passthrough_metrics') }}\n from fields\n)\n\nselect * \nfrom final", "language": "sql", "package_name": "apple_search_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/apple_search_ads_source", "path": "stg_apple_search_ads__ad_group_report.sql", "original_file_path": "models/stg_apple_search_ads__ad_group_report.sql", "name": "stg_apple_search_ads__ad_group_report", "alias": "stg_apple_search_ads__ad_group_report", "checksum": {"name": "sha256", "checksum": "a6f8f1e79e88e2512acd90e2768436ef73939e82acd46b79c0775ba19865147d"}, "tags": [], "refs": [["stg_apple_search_ads__ad_group_report_tmp"], ["stg_apple_search_ads__ad_group_report_tmp"]], "sources": [], "metrics": [], "description": "Each record represents the daily performance of an ad group in Apple Search Ads.", "columns": {"ad_group_id": {"name": "ad_group_id", "description": "Ad group ID associated with the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "date_day": {"name": "date_day", "description": "Date for daily report aggregation.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "Number of times your ad appeared in App Store search results.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The sum of costs associated with the number of impressions served. Spend is measured in the currency used in the campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "currency": {"name": "currency", "description": "This currency value should match the respective organization's currency value.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "new_downloads": {"name": "new_downloads", "description": "App downloads from new users who have never before installed the respective app.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "redownloads": {"name": "redownloads", "description": "Occurs when a user downloads respective app, deletes it, and downloads the same app again following a tap on an ad on the App Store, or downloads the same app to an additional device.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "taps": {"name": "taps", "description": "The number of times ad was tapped by users within the reporting time period.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": "apple_search_ads_source://models/stg_apple_search_ads.yml", "compiled_path": "target/compiled/apple_search_ads_source/models/stg_apple_search_ads__ad_group_report.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "apple_search_ads_source", "materialized": "table", "enabled": true}, "created_at": 1671505473.536444, "compiled_code": "\n\nwith base as (\n\n select * \n from \"postgres\".\"apple_search_ads_integration_tests_apple_search_ads_source\".\"stg_apple_search_ads__ad_group_report_tmp\"\n),\n\nfields as (\n\n select\n \n \n \n ad_group_id\n \n as \n \n ad_group_id\n \n, \n \n \n date\n \n as \n \n date\n \n, \n \n \n impressions\n \n as \n \n impressions\n \n, \n \n \n local_spend_amount\n \n as \n \n local_spend_amount\n \n, \n \n \n local_spend_currency\n \n as \n \n local_spend_currency\n \n, \n \n \n new_downloads\n \n as \n \n new_downloads\n \n, \n \n \n redownloads\n \n as \n \n redownloads\n \n, \n \n \n taps\n \n as \n \n taps\n \n\n\n\n from base\n),\n\nfinal as (\n \n select\n date as date_day, \n ad_group_id,\n impressions,\n local_spend_amount as spend,\n local_spend_currency as currency,\n new_downloads,\n redownloads,\n taps\n\n \n\n\n\n\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"apple_search_ads_integration_tests_apple_search_ads_source\".\"stg_apple_search_ads__ad_group_report\""}, "model.apple_search_ads_source.stg_apple_search_ads__search_term_report_tmp": {"compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.fivetran_utils.enabled_vars"], "nodes": ["source.apple_search_ads_source.apple_search_ads.search_term_report"]}, "config": {"enabled": true, "alias": null, "schema": "apple_search_ads_source", "database": null, "tags": [], "meta": {}, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "apple_search_ads_integration_tests_apple_search_ads_source", "fqn": ["apple_search_ads_source", "tmp", "stg_apple_search_ads__search_term_report_tmp"], "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__search_term_report_tmp", "raw_code": "{{ config(enabled=fivetran_utils.enabled_vars(['ad_reporting__apple_search_ads_enabled','apple_search_ads__using_search_terms'])) }}\n\nselect * \nfrom {{ var('search_term_report') }}", "language": "sql", "package_name": "apple_search_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/apple_search_ads_source", "path": "tmp/stg_apple_search_ads__search_term_report_tmp.sql", "original_file_path": "models/tmp/stg_apple_search_ads__search_term_report_tmp.sql", "name": "stg_apple_search_ads__search_term_report_tmp", "alias": "stg_apple_search_ads__search_term_report_tmp", "checksum": {"name": "sha256", "checksum": "86f6e99ff5c0373cf5ec106d4011966278601cb5350d588466564e2dca2fa951"}, "tags": [], "refs": [], "sources": [["apple_search_ads", "search_term_report"]], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/apple_search_ads_source/models/tmp/stg_apple_search_ads__search_term_report_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "apple_search_ads_source", "materialized": "view", "enabled": true}, "created_at": 1671505473.406634, "compiled_code": "\n\nselect * \nfrom \"postgres\".\"apple_search_ads_integration_tests\".\"search_term_report_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"apple_search_ads_integration_tests_apple_search_ads_source\".\"stg_apple_search_ads__search_term_report_tmp\""}, "model.apple_search_ads_source.stg_apple_search_ads__campaign_history_tmp": {"compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.apple_search_ads_source.apple_search_ads.campaign_history"]}, "config": {"enabled": true, "alias": null, "schema": "apple_search_ads_source", "database": null, "tags": [], "meta": {}, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "apple_search_ads_integration_tests_apple_search_ads_source", "fqn": ["apple_search_ads_source", "tmp", "stg_apple_search_ads__campaign_history_tmp"], "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__campaign_history_tmp", "raw_code": "{{ config(enabled=var('ad_reporting__apple_search_ads_enabled', True)) }}\n\nselect * \nfrom {{ var('campaign_history') }}", "language": "sql", "package_name": "apple_search_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/apple_search_ads_source", "path": "tmp/stg_apple_search_ads__campaign_history_tmp.sql", "original_file_path": "models/tmp/stg_apple_search_ads__campaign_history_tmp.sql", "name": "stg_apple_search_ads__campaign_history_tmp", "alias": "stg_apple_search_ads__campaign_history_tmp", "checksum": {"name": "sha256", "checksum": "e23c062d3d75b890a717ab4047e5a0dccf7c098b3927935df02f76c17acb3ea7"}, "tags": [], "refs": [], "sources": [["apple_search_ads", "campaign_history"]], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/apple_search_ads_source/models/tmp/stg_apple_search_ads__campaign_history_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "apple_search_ads_source", "materialized": "view", "enabled": true}, "created_at": 1671505473.41035, "compiled_code": "\n\nselect * \nfrom \"postgres\".\"apple_search_ads_integration_tests\".\"campaign_history_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"apple_search_ads_integration_tests_apple_search_ads_source\".\"stg_apple_search_ads__campaign_history_tmp\""}, "model.apple_search_ads_source.stg_apple_search_ads__keyword_history_tmp": {"compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.apple_search_ads_source.apple_search_ads.keyword_history"]}, "config": {"enabled": true, "alias": null, "schema": "apple_search_ads_source", "database": null, "tags": [], "meta": {}, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "apple_search_ads_integration_tests_apple_search_ads_source", "fqn": ["apple_search_ads_source", "tmp", "stg_apple_search_ads__keyword_history_tmp"], "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__keyword_history_tmp", "raw_code": "{{ config(enabled=var('ad_reporting__apple_search_ads_enabled', True)) }}\n\nselect * \nfrom {{ var('keyword_history') }}", "language": "sql", "package_name": "apple_search_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/apple_search_ads_source", "path": "tmp/stg_apple_search_ads__keyword_history_tmp.sql", "original_file_path": "models/tmp/stg_apple_search_ads__keyword_history_tmp.sql", "name": "stg_apple_search_ads__keyword_history_tmp", "alias": "stg_apple_search_ads__keyword_history_tmp", "checksum": {"name": "sha256", "checksum": "852fa9ece91c72dd36f654ce0d71f2af4a1707385c0fa00e3d68e206e4ac456b"}, "tags": [], "refs": [], "sources": [["apple_search_ads", "keyword_history"]], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/apple_search_ads_source/models/tmp/stg_apple_search_ads__keyword_history_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "apple_search_ads_source", "materialized": "view", "enabled": true}, "created_at": 1671505473.4146812, "compiled_code": "\n\nselect * \nfrom \"postgres\".\"apple_search_ads_integration_tests\".\"keyword_history_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"apple_search_ads_integration_tests_apple_search_ads_source\".\"stg_apple_search_ads__keyword_history_tmp\""}, "model.apple_search_ads_source.stg_apple_search_ads__ad_group_history_tmp": {"compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.apple_search_ads_source.apple_search_ads.ad_group_history"]}, "config": {"enabled": true, "alias": null, "schema": "apple_search_ads_source", "database": null, "tags": [], "meta": {}, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "apple_search_ads_integration_tests_apple_search_ads_source", "fqn": ["apple_search_ads_source", "tmp", "stg_apple_search_ads__ad_group_history_tmp"], "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__ad_group_history_tmp", "raw_code": "{{ config(enabled=var('ad_reporting__apple_search_ads_enabled', True)) }}\n\nselect * \nfrom {{ var('ad_group_history') }}", "language": "sql", "package_name": "apple_search_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/apple_search_ads_source", "path": "tmp/stg_apple_search_ads__ad_group_history_tmp.sql", "original_file_path": "models/tmp/stg_apple_search_ads__ad_group_history_tmp.sql", "name": "stg_apple_search_ads__ad_group_history_tmp", "alias": "stg_apple_search_ads__ad_group_history_tmp", "checksum": {"name": "sha256", "checksum": "69317b26b7a3c109c0e5e61d7fdad053cb0549479a0dfdacd0d67ff0757cc97e"}, "tags": [], "refs": [], "sources": [["apple_search_ads", "ad_group_history"]], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/apple_search_ads_source/models/tmp/stg_apple_search_ads__ad_group_history_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "apple_search_ads_source", "materialized": "view", "enabled": true}, "created_at": 1671505473.418135, "compiled_code": "\n\nselect * \nfrom \"postgres\".\"apple_search_ads_integration_tests\".\"ad_group_history_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"apple_search_ads_integration_tests_apple_search_ads_source\".\"stg_apple_search_ads__ad_group_history_tmp\""}, "model.apple_search_ads_source.stg_apple_search_ads__ad_group_report_tmp": {"compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.apple_search_ads_source.apple_search_ads.ad_group_report"]}, "config": {"enabled": true, "alias": null, "schema": "apple_search_ads_source", "database": null, "tags": [], "meta": {}, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "apple_search_ads_integration_tests_apple_search_ads_source", "fqn": ["apple_search_ads_source", "tmp", "stg_apple_search_ads__ad_group_report_tmp"], "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__ad_group_report_tmp", "raw_code": "{{ config(enabled=var('ad_reporting__apple_search_ads_enabled', True)) }}\n\nselect * \nfrom {{ var('ad_group_report') }}", "language": "sql", "package_name": "apple_search_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/apple_search_ads_source", "path": "tmp/stg_apple_search_ads__ad_group_report_tmp.sql", "original_file_path": "models/tmp/stg_apple_search_ads__ad_group_report_tmp.sql", "name": "stg_apple_search_ads__ad_group_report_tmp", "alias": "stg_apple_search_ads__ad_group_report_tmp", "checksum": {"name": "sha256", "checksum": "91089253c95dee7d0aea3f9b8cc49cf343c2d06acf0de36641ebaef03e1d2b1b"}, "tags": [], "refs": [], "sources": [["apple_search_ads", "ad_group_report"]], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/apple_search_ads_source/models/tmp/stg_apple_search_ads__ad_group_report_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "apple_search_ads_source", "materialized": "view", "enabled": true}, "created_at": 1671505473.4215622, "compiled_code": "\n\nselect * \nfrom \"postgres\".\"apple_search_ads_integration_tests\".\"ad_group_report_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"apple_search_ads_integration_tests_apple_search_ads_source\".\"stg_apple_search_ads__ad_group_report_tmp\""}, "model.apple_search_ads_source.stg_apple_search_ads__ad_history_tmp": {"compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.apple_search_ads_source.apple_search_ads.ad_history"]}, "config": {"enabled": true, "alias": null, "schema": "apple_search_ads_source", "database": null, "tags": [], "meta": {}, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "apple_search_ads_integration_tests_apple_search_ads_source", "fqn": ["apple_search_ads_source", "tmp", "stg_apple_search_ads__ad_history_tmp"], "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__ad_history_tmp", "raw_code": "{{ config(enabled=var('ad_reporting__apple_search_ads_enabled', True)) }}\n\nselect * \nfrom {{ var('ad_history') }}", "language": "sql", "package_name": "apple_search_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/apple_search_ads_source", "path": "tmp/stg_apple_search_ads__ad_history_tmp.sql", "original_file_path": "models/tmp/stg_apple_search_ads__ad_history_tmp.sql", "name": "stg_apple_search_ads__ad_history_tmp", "alias": "stg_apple_search_ads__ad_history_tmp", "checksum": {"name": "sha256", "checksum": "7b184af2299b7d42defa4606467cf9bf379e10cec768bf1e5825c040dbdfacb8"}, "tags": [], "refs": [], "sources": [["apple_search_ads", "ad_history"]], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/apple_search_ads_source/models/tmp/stg_apple_search_ads__ad_history_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "apple_search_ads_source", "materialized": "view", "enabled": true}, "created_at": 1671505473.4259908, "compiled_code": "\n\nselect * \nfrom \"postgres\".\"apple_search_ads_integration_tests\".\"ad_history_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"apple_search_ads_integration_tests_apple_search_ads_source\".\"stg_apple_search_ads__ad_history_tmp\""}, "model.apple_search_ads_source.stg_apple_search_ads__campaign_report_tmp": {"compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.apple_search_ads_source.apple_search_ads.campaign_report"]}, "config": {"enabled": true, "alias": null, "schema": "apple_search_ads_source", "database": null, "tags": [], "meta": {}, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "apple_search_ads_integration_tests_apple_search_ads_source", "fqn": ["apple_search_ads_source", "tmp", "stg_apple_search_ads__campaign_report_tmp"], "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__campaign_report_tmp", "raw_code": "{{ config(enabled=var('ad_reporting__apple_search_ads_enabled', True)) }}\n\nselect * \nfrom {{ var('campaign_report') }}", "language": "sql", "package_name": "apple_search_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/apple_search_ads_source", "path": "tmp/stg_apple_search_ads__campaign_report_tmp.sql", "original_file_path": "models/tmp/stg_apple_search_ads__campaign_report_tmp.sql", "name": "stg_apple_search_ads__campaign_report_tmp", "alias": "stg_apple_search_ads__campaign_report_tmp", "checksum": {"name": "sha256", "checksum": "ae8d95be0097305356d0ba251d324d35bbe367edcf342c958f69fea9f89625f2"}, "tags": [], "refs": [], "sources": [["apple_search_ads", "campaign_report"]], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/apple_search_ads_source/models/tmp/stg_apple_search_ads__campaign_report_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "apple_search_ads_source", "materialized": "view", "enabled": true}, "created_at": 1671505473.430115, "compiled_code": "\n\nselect * \nfrom \"postgres\".\"apple_search_ads_integration_tests\".\"campaign_report_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"apple_search_ads_integration_tests_apple_search_ads_source\".\"stg_apple_search_ads__campaign_report_tmp\""}, "model.apple_search_ads_source.stg_apple_search_ads__organization_tmp": {"compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.apple_search_ads_source.apple_search_ads.organization"]}, "config": {"enabled": true, "alias": null, "schema": "apple_search_ads_source", "database": null, "tags": [], "meta": {}, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "apple_search_ads_integration_tests_apple_search_ads_source", "fqn": ["apple_search_ads_source", "tmp", "stg_apple_search_ads__organization_tmp"], "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__organization_tmp", "raw_code": "{{ config(enabled=var('ad_reporting__apple_search_ads_enabled', True)) }}\n\nselect * \nfrom {{ var('organization') }}", "language": "sql", "package_name": "apple_search_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/apple_search_ads_source", "path": "tmp/stg_apple_search_ads__organization_tmp.sql", "original_file_path": "models/tmp/stg_apple_search_ads__organization_tmp.sql", "name": "stg_apple_search_ads__organization_tmp", "alias": "stg_apple_search_ads__organization_tmp", "checksum": {"name": "sha256", "checksum": "4a62af784e819ec6034aa89fe16019f027c9994b192426e70bcf18bda3d117a9"}, "tags": [], "refs": [], "sources": [["apple_search_ads", "organization"]], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/apple_search_ads_source/models/tmp/stg_apple_search_ads__organization_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "apple_search_ads_source", "materialized": "view", "enabled": true}, "created_at": 1671505473.435835, "compiled_code": "\n\nselect * \nfrom \"postgres\".\"apple_search_ads_integration_tests\".\"organization_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"apple_search_ads_integration_tests_apple_search_ads_source\".\"stg_apple_search_ads__organization_tmp\""}, "model.apple_search_ads_source.stg_apple_search_ads__keyword_report_tmp": {"compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.apple_search_ads_source.apple_search_ads.keyword_report"]}, "config": {"enabled": true, "alias": null, "schema": "apple_search_ads_source", "database": null, "tags": [], "meta": {}, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "apple_search_ads_integration_tests_apple_search_ads_source", "fqn": ["apple_search_ads_source", "tmp", "stg_apple_search_ads__keyword_report_tmp"], "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__keyword_report_tmp", "raw_code": "{{ config(enabled=var('ad_reporting__apple_search_ads_enabled', True)) }}\n\nselect * \nfrom {{ var('keyword_report') }}", "language": "sql", "package_name": "apple_search_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/apple_search_ads_source", "path": "tmp/stg_apple_search_ads__keyword_report_tmp.sql", "original_file_path": "models/tmp/stg_apple_search_ads__keyword_report_tmp.sql", "name": "stg_apple_search_ads__keyword_report_tmp", "alias": "stg_apple_search_ads__keyword_report_tmp", "checksum": {"name": "sha256", "checksum": "5009b770850f4f2648d5498a78b1491e6a44250d9ac2d7c08c249e8624f517f2"}, "tags": [], "refs": [], "sources": [["apple_search_ads", "keyword_report"]], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/apple_search_ads_source/models/tmp/stg_apple_search_ads__keyword_report_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "apple_search_ads_source", "materialized": "view", "enabled": true}, "created_at": 1671505473.439306, "compiled_code": "\n\nselect * \nfrom \"postgres\".\"apple_search_ads_integration_tests\".\"keyword_report_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"apple_search_ads_integration_tests_apple_search_ads_source\".\"stg_apple_search_ads__keyword_report_tmp\""}, "model.apple_search_ads_source.stg_apple_search_ads__ad_report_tmp": {"compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.apple_search_ads_source.apple_search_ads.ad_level_report"]}, "config": {"enabled": true, "alias": null, "schema": "apple_search_ads_source", "database": null, "tags": [], "meta": {}, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "apple_search_ads_integration_tests_apple_search_ads_source", "fqn": ["apple_search_ads_source", "tmp", "stg_apple_search_ads__ad_report_tmp"], "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__ad_report_tmp", "raw_code": "{{ config(enabled=var('ad_reporting__apple_search_ads_enabled', True)) }}\n\nselect * \nfrom {{ var('ad_report') }}", "language": "sql", "package_name": "apple_search_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/apple_search_ads_source", "path": "tmp/stg_apple_search_ads__ad_report_tmp.sql", "original_file_path": "models/tmp/stg_apple_search_ads__ad_report_tmp.sql", "name": "stg_apple_search_ads__ad_report_tmp", "alias": "stg_apple_search_ads__ad_report_tmp", "checksum": {"name": "sha256", "checksum": "1744a47e20045a53726079456f5aba358e0292dd8a14d670e6ab7b2c30ece7ee"}, "tags": [], "refs": [], "sources": [["apple_search_ads", "ad_level_report"]], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/apple_search_ads_source/models/tmp/stg_apple_search_ads__ad_report_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "apple_search_ads_source", "materialized": "view", "enabled": true}, "created_at": 1671505473.442803, "compiled_code": "\n\nselect * \nfrom \"postgres\".\"apple_search_ads_integration_tests\".\"ad_report_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"apple_search_ads_integration_tests_apple_search_ads_source\".\"stg_apple_search_ads__ad_report_tmp\""}, "test.apple_search_ads.not_null_apple_search_ads__ad_group_report_ad_group_id.60febec6b5": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "ad_group_id", "model": "{{ get_where_subquery(ref('apple_search_ads__ad_group_report')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.apple_search_ads.apple_search_ads__ad_group_report"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "apple_search_ads_integration_tests_dbt_test__audit", "fqn": ["apple_search_ads", "not_null_apple_search_ads__ad_group_report_ad_group_id"], "unique_id": "test.apple_search_ads.not_null_apple_search_ads__ad_group_report_ad_group_id.60febec6b5", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "apple_search_ads", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/apple_search_ads", "path": "not_null_apple_search_ads__ad_group_report_ad_group_id.sql", "original_file_path": "models/apple_search_ads.yml", "name": "not_null_apple_search_ads__ad_group_report_ad_group_id", "alias": "not_null_apple_search_ads__ad_group_report_ad_group_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["apple_search_ads__ad_group_report"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/apple_search_ads/models/apple_search_ads.yml/not_null_apple_search_ads__ad_group_report_ad_group_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1671505473.472697, "compiled_code": "\n \n \n\n\n\nselect ad_group_id\nfrom \"postgres\".\"apple_search_ads_integration_tests_apple_search_ads\".\"apple_search_ads__ad_group_report\"\nwhere ad_group_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "ad_group_id", "file_key_name": "models.apple_search_ads__ad_group_report"}, "test.apple_search_ads.not_null_apple_search_ads__ad_group_report_date_day.e6ffb30b3c": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "date_day", "model": "{{ get_where_subquery(ref('apple_search_ads__ad_group_report')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.apple_search_ads.apple_search_ads__ad_group_report"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "apple_search_ads_integration_tests_dbt_test__audit", "fqn": ["apple_search_ads", "not_null_apple_search_ads__ad_group_report_date_day"], "unique_id": "test.apple_search_ads.not_null_apple_search_ads__ad_group_report_date_day.e6ffb30b3c", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "apple_search_ads", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/apple_search_ads", "path": "not_null_apple_search_ads__ad_group_report_date_day.sql", "original_file_path": "models/apple_search_ads.yml", "name": "not_null_apple_search_ads__ad_group_report_date_day", "alias": "not_null_apple_search_ads__ad_group_report_date_day", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["apple_search_ads__ad_group_report"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/apple_search_ads/models/apple_search_ads.yml/not_null_apple_search_ads__ad_group_report_date_day.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1671505473.473963, "compiled_code": "\n \n \n\n\n\nselect date_day\nfrom \"postgres\".\"apple_search_ads_integration_tests_apple_search_ads\".\"apple_search_ads__ad_group_report\"\nwhere date_day is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "date_day", "file_key_name": "models.apple_search_ads__ad_group_report"}, "test.apple_search_ads.dbt_utils_unique_combination_of_columns_apple_search_ads__ad_group_report_organization_id__campaign_id__ad_group_id__date_day.19d180bab9": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["organization_id", "campaign_id", "ad_group_id", "date_day"], "model": "{{ get_where_subquery(ref('apple_search_ads__ad_group_report')) }}"}, "namespace": "dbt_utils"}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.apple_search_ads.apple_search_ads__ad_group_report"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_36b2ef766b4fc10b364ed4744c94afb2", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "apple_search_ads_integration_tests_dbt_test__audit", "fqn": ["apple_search_ads", "dbt_utils_unique_combination_of_columns_apple_search_ads__ad_group_report_organization_id__campaign_id__ad_group_id__date_day"], "unique_id": "test.apple_search_ads.dbt_utils_unique_combination_of_columns_apple_search_ads__ad_group_report_organization_id__campaign_id__ad_group_id__date_day.19d180bab9", "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_36b2ef766b4fc10b364ed4744c94afb2\") }}", "language": "sql", "package_name": "apple_search_ads", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/apple_search_ads", "path": "dbt_utils_unique_combination_o_36b2ef766b4fc10b364ed4744c94afb2.sql", "original_file_path": "models/apple_search_ads.yml", "name": "dbt_utils_unique_combination_of_columns_apple_search_ads__ad_group_report_organization_id__campaign_id__ad_group_id__date_day", "alias": "dbt_utils_unique_combination_o_36b2ef766b4fc10b364ed4744c94afb2", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["apple_search_ads__ad_group_report"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/apple_search_ads/models/apple_search_ads.yml/dbt_utils_unique_combination_o_36b2ef766b4fc10b364ed4744c94afb2.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_36b2ef766b4fc10b364ed4744c94afb2"}, "created_at": 1671505473.475101, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n organization_id, campaign_id, ad_group_id, date_day\n from \"postgres\".\"apple_search_ads_integration_tests_apple_search_ads\".\"apple_search_ads__ad_group_report\"\n group by organization_id, campaign_id, ad_group_id, date_day\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": null, "file_key_name": "models.apple_search_ads__ad_group_report"}, "test.apple_search_ads.not_null_apple_search_ads__ad_report_ad_id.0ab2c5075c": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "ad_id", "model": "{{ get_where_subquery(ref('apple_search_ads__ad_report')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.apple_search_ads.apple_search_ads__ad_report"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "apple_search_ads_integration_tests_dbt_test__audit", "fqn": ["apple_search_ads", "not_null_apple_search_ads__ad_report_ad_id"], "unique_id": "test.apple_search_ads.not_null_apple_search_ads__ad_report_ad_id.0ab2c5075c", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "apple_search_ads", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/apple_search_ads", "path": "not_null_apple_search_ads__ad_report_ad_id.sql", "original_file_path": "models/apple_search_ads.yml", "name": "not_null_apple_search_ads__ad_report_ad_id", "alias": "not_null_apple_search_ads__ad_report_ad_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["apple_search_ads__ad_report"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/apple_search_ads/models/apple_search_ads.yml/not_null_apple_search_ads__ad_report_ad_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1671505473.4826071, "compiled_code": "\n \n \n\n\n\nselect ad_id\nfrom \"postgres\".\"apple_search_ads_integration_tests_apple_search_ads\".\"apple_search_ads__ad_report\"\nwhere ad_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "ad_id", "file_key_name": "models.apple_search_ads__ad_report"}, "test.apple_search_ads.not_null_apple_search_ads__ad_report_date_day.b86c049e17": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "date_day", "model": "{{ get_where_subquery(ref('apple_search_ads__ad_report')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.apple_search_ads.apple_search_ads__ad_report"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "apple_search_ads_integration_tests_dbt_test__audit", "fqn": ["apple_search_ads", "not_null_apple_search_ads__ad_report_date_day"], "unique_id": "test.apple_search_ads.not_null_apple_search_ads__ad_report_date_day.b86c049e17", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "apple_search_ads", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/apple_search_ads", "path": "not_null_apple_search_ads__ad_report_date_day.sql", "original_file_path": "models/apple_search_ads.yml", "name": "not_null_apple_search_ads__ad_report_date_day", "alias": "not_null_apple_search_ads__ad_report_date_day", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["apple_search_ads__ad_report"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/apple_search_ads/models/apple_search_ads.yml/not_null_apple_search_ads__ad_report_date_day.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1671505473.4836109, "compiled_code": "\n \n \n\n\n\nselect date_day\nfrom \"postgres\".\"apple_search_ads_integration_tests_apple_search_ads\".\"apple_search_ads__ad_report\"\nwhere date_day is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "date_day", "file_key_name": "models.apple_search_ads__ad_report"}, "test.apple_search_ads.dbt_utils_unique_combination_of_columns_apple_search_ads__ad_report_organization_id__campaign_id__ad_group_id__ad_id__date_day.54e27817a1": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["organization_id", "campaign_id", "ad_group_id", "ad_id", "date_day"], "model": "{{ get_where_subquery(ref('apple_search_ads__ad_report')) }}"}, "namespace": "dbt_utils"}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.apple_search_ads.apple_search_ads__ad_report"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_bd72aacf9db10be434541a5eb54a963c", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "apple_search_ads_integration_tests_dbt_test__audit", "fqn": ["apple_search_ads", "dbt_utils_unique_combination_of_columns_apple_search_ads__ad_report_organization_id__campaign_id__ad_group_id__ad_id__date_day"], "unique_id": "test.apple_search_ads.dbt_utils_unique_combination_of_columns_apple_search_ads__ad_report_organization_id__campaign_id__ad_group_id__ad_id__date_day.54e27817a1", "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_bd72aacf9db10be434541a5eb54a963c\") }}", "language": "sql", "package_name": "apple_search_ads", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/apple_search_ads", "path": "dbt_utils_unique_combination_o_bd72aacf9db10be434541a5eb54a963c.sql", "original_file_path": "models/apple_search_ads.yml", "name": "dbt_utils_unique_combination_of_columns_apple_search_ads__ad_report_organization_id__campaign_id__ad_group_id__ad_id__date_day", "alias": "dbt_utils_unique_combination_o_bd72aacf9db10be434541a5eb54a963c", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["apple_search_ads__ad_report"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/apple_search_ads/models/apple_search_ads.yml/dbt_utils_unique_combination_o_bd72aacf9db10be434541a5eb54a963c.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_bd72aacf9db10be434541a5eb54a963c"}, "created_at": 1671505473.4847639, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n organization_id, campaign_id, ad_group_id, ad_id, date_day\n from \"postgres\".\"apple_search_ads_integration_tests_apple_search_ads\".\"apple_search_ads__ad_report\"\n group by organization_id, campaign_id, ad_group_id, ad_id, date_day\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": null, "file_key_name": "models.apple_search_ads__ad_report"}, "test.apple_search_ads.not_null_apple_search_ads__campaign_report_campaign_id.e26ed1e146": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "campaign_id", "model": "{{ get_where_subquery(ref('apple_search_ads__campaign_report')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.apple_search_ads.apple_search_ads__campaign_report"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "apple_search_ads_integration_tests_dbt_test__audit", "fqn": ["apple_search_ads", "not_null_apple_search_ads__campaign_report_campaign_id"], "unique_id": "test.apple_search_ads.not_null_apple_search_ads__campaign_report_campaign_id.e26ed1e146", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "apple_search_ads", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/apple_search_ads", "path": "not_null_apple_search_ads__campaign_report_campaign_id.sql", "original_file_path": "models/apple_search_ads.yml", "name": "not_null_apple_search_ads__campaign_report_campaign_id", "alias": "not_null_apple_search_ads__campaign_report_campaign_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["apple_search_ads__campaign_report"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/apple_search_ads/models/apple_search_ads.yml/not_null_apple_search_ads__campaign_report_campaign_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1671505473.48793, "compiled_code": "\n \n \n\n\n\nselect campaign_id\nfrom \"postgres\".\"apple_search_ads_integration_tests_apple_search_ads\".\"apple_search_ads__campaign_report\"\nwhere campaign_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "campaign_id", "file_key_name": "models.apple_search_ads__campaign_report"}, "test.apple_search_ads.not_null_apple_search_ads__campaign_report_date_day.35652b8d1a": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "date_day", "model": "{{ get_where_subquery(ref('apple_search_ads__campaign_report')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.apple_search_ads.apple_search_ads__campaign_report"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "apple_search_ads_integration_tests_dbt_test__audit", "fqn": ["apple_search_ads", "not_null_apple_search_ads__campaign_report_date_day"], "unique_id": "test.apple_search_ads.not_null_apple_search_ads__campaign_report_date_day.35652b8d1a", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "apple_search_ads", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/apple_search_ads", "path": "not_null_apple_search_ads__campaign_report_date_day.sql", "original_file_path": "models/apple_search_ads.yml", "name": "not_null_apple_search_ads__campaign_report_date_day", "alias": "not_null_apple_search_ads__campaign_report_date_day", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["apple_search_ads__campaign_report"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/apple_search_ads/models/apple_search_ads.yml/not_null_apple_search_ads__campaign_report_date_day.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1671505473.4889338, "compiled_code": "\n \n \n\n\n\nselect date_day\nfrom \"postgres\".\"apple_search_ads_integration_tests_apple_search_ads\".\"apple_search_ads__campaign_report\"\nwhere date_day is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "date_day", "file_key_name": "models.apple_search_ads__campaign_report"}, "test.apple_search_ads.dbt_utils_unique_combination_of_columns_apple_search_ads__campaign_report_organization_id__campaign_id__date_day.647e56213f": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["organization_id", "campaign_id", "date_day"], "model": "{{ get_where_subquery(ref('apple_search_ads__campaign_report')) }}"}, "namespace": "dbt_utils"}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.apple_search_ads.apple_search_ads__campaign_report"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_3acbf89c4e0b6809bc53bfa9067d89c5", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "apple_search_ads_integration_tests_dbt_test__audit", "fqn": ["apple_search_ads", "dbt_utils_unique_combination_of_columns_apple_search_ads__campaign_report_organization_id__campaign_id__date_day"], "unique_id": "test.apple_search_ads.dbt_utils_unique_combination_of_columns_apple_search_ads__campaign_report_organization_id__campaign_id__date_day.647e56213f", "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_3acbf89c4e0b6809bc53bfa9067d89c5\") }}", "language": "sql", "package_name": "apple_search_ads", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/apple_search_ads", "path": "dbt_utils_unique_combination_o_3acbf89c4e0b6809bc53bfa9067d89c5.sql", "original_file_path": "models/apple_search_ads.yml", "name": "dbt_utils_unique_combination_of_columns_apple_search_ads__campaign_report_organization_id__campaign_id__date_day", "alias": "dbt_utils_unique_combination_o_3acbf89c4e0b6809bc53bfa9067d89c5", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["apple_search_ads__campaign_report"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/apple_search_ads/models/apple_search_ads.yml/dbt_utils_unique_combination_o_3acbf89c4e0b6809bc53bfa9067d89c5.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_3acbf89c4e0b6809bc53bfa9067d89c5"}, "created_at": 1671505473.489928, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n organization_id, campaign_id, date_day\n from \"postgres\".\"apple_search_ads_integration_tests_apple_search_ads\".\"apple_search_ads__campaign_report\"\n group by organization_id, campaign_id, date_day\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": null, "file_key_name": "models.apple_search_ads__campaign_report"}, "test.apple_search_ads.not_null_apple_search_ads__keyword_report_keyword_id.ea493710db": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "keyword_id", "model": "{{ get_where_subquery(ref('apple_search_ads__keyword_report')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.apple_search_ads.apple_search_ads__keyword_report"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "apple_search_ads_integration_tests_dbt_test__audit", "fqn": ["apple_search_ads", "not_null_apple_search_ads__keyword_report_keyword_id"], "unique_id": "test.apple_search_ads.not_null_apple_search_ads__keyword_report_keyword_id.ea493710db", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "apple_search_ads", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/apple_search_ads", "path": "not_null_apple_search_ads__keyword_report_keyword_id.sql", "original_file_path": "models/apple_search_ads.yml", "name": "not_null_apple_search_ads__keyword_report_keyword_id", "alias": "not_null_apple_search_ads__keyword_report_keyword_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["apple_search_ads__keyword_report"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/apple_search_ads/models/apple_search_ads.yml/not_null_apple_search_ads__keyword_report_keyword_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1671505473.4927528, "compiled_code": "\n \n \n\n\n\nselect keyword_id\nfrom \"postgres\".\"apple_search_ads_integration_tests_apple_search_ads\".\"apple_search_ads__keyword_report\"\nwhere keyword_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "keyword_id", "file_key_name": "models.apple_search_ads__keyword_report"}, "test.apple_search_ads.not_null_apple_search_ads__keyword_report_date_day.3dec8d0e82": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "date_day", "model": "{{ get_where_subquery(ref('apple_search_ads__keyword_report')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.apple_search_ads.apple_search_ads__keyword_report"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "apple_search_ads_integration_tests_dbt_test__audit", "fqn": ["apple_search_ads", "not_null_apple_search_ads__keyword_report_date_day"], "unique_id": "test.apple_search_ads.not_null_apple_search_ads__keyword_report_date_day.3dec8d0e82", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "apple_search_ads", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/apple_search_ads", "path": "not_null_apple_search_ads__keyword_report_date_day.sql", "original_file_path": "models/apple_search_ads.yml", "name": "not_null_apple_search_ads__keyword_report_date_day", "alias": "not_null_apple_search_ads__keyword_report_date_day", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["apple_search_ads__keyword_report"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/apple_search_ads/models/apple_search_ads.yml/not_null_apple_search_ads__keyword_report_date_day.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1671505473.493771, "compiled_code": "\n \n \n\n\n\nselect date_day\nfrom \"postgres\".\"apple_search_ads_integration_tests_apple_search_ads\".\"apple_search_ads__keyword_report\"\nwhere date_day is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "date_day", "file_key_name": "models.apple_search_ads__keyword_report"}, "test.apple_search_ads.dbt_utils_unique_combination_of_columns_apple_search_ads__keyword_report_organization_id__campaign_id__ad_group_id__keyword_id__date_day.78fb033a13": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["organization_id", "campaign_id", "ad_group_id", "keyword_id", "date_day"], "model": "{{ get_where_subquery(ref('apple_search_ads__keyword_report')) }}"}, "namespace": "dbt_utils"}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.apple_search_ads.apple_search_ads__keyword_report"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_533c8551a101baa56c397525cb8a9246", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "apple_search_ads_integration_tests_dbt_test__audit", "fqn": ["apple_search_ads", "dbt_utils_unique_combination_of_columns_apple_search_ads__keyword_report_organization_id__campaign_id__ad_group_id__keyword_id__date_day"], "unique_id": "test.apple_search_ads.dbt_utils_unique_combination_of_columns_apple_search_ads__keyword_report_organization_id__campaign_id__ad_group_id__keyword_id__date_day.78fb033a13", "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_533c8551a101baa56c397525cb8a9246\") }}", "language": "sql", "package_name": "apple_search_ads", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/apple_search_ads", "path": "dbt_utils_unique_combination_o_533c8551a101baa56c397525cb8a9246.sql", "original_file_path": "models/apple_search_ads.yml", "name": "dbt_utils_unique_combination_of_columns_apple_search_ads__keyword_report_organization_id__campaign_id__ad_group_id__keyword_id__date_day", "alias": "dbt_utils_unique_combination_o_533c8551a101baa56c397525cb8a9246", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["apple_search_ads__keyword_report"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/apple_search_ads/models/apple_search_ads.yml/dbt_utils_unique_combination_o_533c8551a101baa56c397525cb8a9246.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_533c8551a101baa56c397525cb8a9246"}, "created_at": 1671505473.4949162, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n organization_id, campaign_id, ad_group_id, keyword_id, date_day\n from \"postgres\".\"apple_search_ads_integration_tests_apple_search_ads\".\"apple_search_ads__keyword_report\"\n group by organization_id, campaign_id, ad_group_id, keyword_id, date_day\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": null, "file_key_name": "models.apple_search_ads__keyword_report"}, "test.apple_search_ads.not_null_apple_search_ads__organization_report_organization_id.b6cf7d69f8": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "organization_id", "model": "{{ get_where_subquery(ref('apple_search_ads__organization_report')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.apple_search_ads.apple_search_ads__organization_report"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "apple_search_ads_integration_tests_dbt_test__audit", "fqn": ["apple_search_ads", "not_null_apple_search_ads__organization_report_organization_id"], "unique_id": "test.apple_search_ads.not_null_apple_search_ads__organization_report_organization_id.b6cf7d69f8", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "apple_search_ads", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/apple_search_ads", "path": "not_null_apple_search_ads__organization_report_organization_id.sql", "original_file_path": "models/apple_search_ads.yml", "name": "not_null_apple_search_ads__organization_report_organization_id", "alias": "not_null_apple_search_ads__organization_report_organization_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["apple_search_ads__organization_report"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/apple_search_ads/models/apple_search_ads.yml/not_null_apple_search_ads__organization_report_organization_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1671505473.49805, "compiled_code": "\n \n \n\n\n\nselect organization_id\nfrom \"postgres\".\"apple_search_ads_integration_tests_apple_search_ads\".\"apple_search_ads__organization_report\"\nwhere organization_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "organization_id", "file_key_name": "models.apple_search_ads__organization_report"}, "test.apple_search_ads.not_null_apple_search_ads__organization_report_date_day.5784fed523": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "date_day", "model": "{{ get_where_subquery(ref('apple_search_ads__organization_report')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.apple_search_ads.apple_search_ads__organization_report"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "apple_search_ads_integration_tests_dbt_test__audit", "fqn": ["apple_search_ads", "not_null_apple_search_ads__organization_report_date_day"], "unique_id": "test.apple_search_ads.not_null_apple_search_ads__organization_report_date_day.5784fed523", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "apple_search_ads", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/apple_search_ads", "path": "not_null_apple_search_ads__organization_report_date_day.sql", "original_file_path": "models/apple_search_ads.yml", "name": "not_null_apple_search_ads__organization_report_date_day", "alias": "not_null_apple_search_ads__organization_report_date_day", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["apple_search_ads__organization_report"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/apple_search_ads/models/apple_search_ads.yml/not_null_apple_search_ads__organization_report_date_day.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1671505473.499035, "compiled_code": "\n \n \n\n\n\nselect date_day\nfrom \"postgres\".\"apple_search_ads_integration_tests_apple_search_ads\".\"apple_search_ads__organization_report\"\nwhere date_day is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "date_day", "file_key_name": "models.apple_search_ads__organization_report"}, "test.apple_search_ads.dbt_utils_unique_combination_of_columns_apple_search_ads__organization_report_organization_id__date_day.8bc84fccc3": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["organization_id", "date_day"], "model": "{{ get_where_subquery(ref('apple_search_ads__organization_report')) }}"}, "namespace": "dbt_utils"}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.apple_search_ads.apple_search_ads__organization_report"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_f2f453668a8bb7c0387ed85fc7bfaf2d", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "apple_search_ads_integration_tests_dbt_test__audit", "fqn": ["apple_search_ads", "dbt_utils_unique_combination_of_columns_apple_search_ads__organization_report_organization_id__date_day"], "unique_id": "test.apple_search_ads.dbt_utils_unique_combination_of_columns_apple_search_ads__organization_report_organization_id__date_day.8bc84fccc3", "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_f2f453668a8bb7c0387ed85fc7bfaf2d\") }}", "language": "sql", "package_name": "apple_search_ads", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/apple_search_ads", "path": "dbt_utils_unique_combination_o_f2f453668a8bb7c0387ed85fc7bfaf2d.sql", "original_file_path": "models/apple_search_ads.yml", "name": "dbt_utils_unique_combination_of_columns_apple_search_ads__organization_report_organization_id__date_day", "alias": "dbt_utils_unique_combination_o_f2f453668a8bb7c0387ed85fc7bfaf2d", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["apple_search_ads__organization_report"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/apple_search_ads/models/apple_search_ads.yml/dbt_utils_unique_combination_o_f2f453668a8bb7c0387ed85fc7bfaf2d.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_f2f453668a8bb7c0387ed85fc7bfaf2d"}, "created_at": 1671505473.500013, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n organization_id, date_day\n from \"postgres\".\"apple_search_ads_integration_tests_apple_search_ads\".\"apple_search_ads__organization_report\"\n group by organization_id, date_day\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": null, "file_key_name": "models.apple_search_ads__organization_report"}, "test.apple_search_ads.not_null_apple_search_ads__search_term_report_date_day.1bc3b0d57c": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "date_day", "model": "{{ get_where_subquery(ref('apple_search_ads__search_term_report')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.apple_search_ads.apple_search_ads__search_term_report"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "apple_search_ads_integration_tests_dbt_test__audit", "fqn": ["apple_search_ads", "not_null_apple_search_ads__search_term_report_date_day"], "unique_id": "test.apple_search_ads.not_null_apple_search_ads__search_term_report_date_day.1bc3b0d57c", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "apple_search_ads", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/apple_search_ads", "path": "not_null_apple_search_ads__search_term_report_date_day.sql", "original_file_path": "models/apple_search_ads.yml", "name": "not_null_apple_search_ads__search_term_report_date_day", "alias": "not_null_apple_search_ads__search_term_report_date_day", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["apple_search_ads__search_term_report"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/apple_search_ads/models/apple_search_ads.yml/not_null_apple_search_ads__search_term_report_date_day.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1671505473.502753, "compiled_code": "\n \n \n\n\n\nselect date_day\nfrom \"postgres\".\"apple_search_ads_integration_tests_apple_search_ads\".\"apple_search_ads__search_term_report\"\nwhere date_day is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "date_day", "file_key_name": "models.apple_search_ads__search_term_report"}, "test.apple_search_ads.not_null_apple_search_ads__search_term_report_search_term_text.aecc7447f7": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "search_term_text", "model": "{{ get_where_subquery(ref('apple_search_ads__search_term_report')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.apple_search_ads.apple_search_ads__search_term_report"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "apple_search_ads_integration_tests_dbt_test__audit", "fqn": ["apple_search_ads", "not_null_apple_search_ads__search_term_report_search_term_text"], "unique_id": "test.apple_search_ads.not_null_apple_search_ads__search_term_report_search_term_text.aecc7447f7", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "apple_search_ads", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/apple_search_ads", "path": "not_null_apple_search_ads__search_term_report_search_term_text.sql", "original_file_path": "models/apple_search_ads.yml", "name": "not_null_apple_search_ads__search_term_report_search_term_text", "alias": "not_null_apple_search_ads__search_term_report_search_term_text", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["apple_search_ads__search_term_report"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/apple_search_ads/models/apple_search_ads.yml/not_null_apple_search_ads__search_term_report_search_term_text.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1671505473.503733, "compiled_code": "\n \n \n\n\n\nselect search_term_text\nfrom \"postgres\".\"apple_search_ads_integration_tests_apple_search_ads\".\"apple_search_ads__search_term_report\"\nwhere search_term_text is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "search_term_text", "file_key_name": "models.apple_search_ads__search_term_report"}, "test.apple_search_ads.dbt_utils_unique_combination_of_columns_apple_search_ads__search_term_report_search_term_text__date_day.e60fe79ec4": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["search_term_text", "date_day"], "model": "{{ get_where_subquery(ref('apple_search_ads__search_term_report')) }}"}, "namespace": "dbt_utils"}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.apple_search_ads.apple_search_ads__search_term_report"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_7c3690db5ce751fbf1f2dff07b3a8690", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "apple_search_ads_integration_tests_dbt_test__audit", "fqn": ["apple_search_ads", "dbt_utils_unique_combination_of_columns_apple_search_ads__search_term_report_search_term_text__date_day"], "unique_id": "test.apple_search_ads.dbt_utils_unique_combination_of_columns_apple_search_ads__search_term_report_search_term_text__date_day.e60fe79ec4", "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_7c3690db5ce751fbf1f2dff07b3a8690\") }}", "language": "sql", "package_name": "apple_search_ads", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/apple_search_ads", "path": "dbt_utils_unique_combination_o_7c3690db5ce751fbf1f2dff07b3a8690.sql", "original_file_path": "models/apple_search_ads.yml", "name": "dbt_utils_unique_combination_of_columns_apple_search_ads__search_term_report_search_term_text__date_day", "alias": "dbt_utils_unique_combination_o_7c3690db5ce751fbf1f2dff07b3a8690", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["apple_search_ads__search_term_report"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/apple_search_ads/models/apple_search_ads.yml/dbt_utils_unique_combination_o_7c3690db5ce751fbf1f2dff07b3a8690.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_7c3690db5ce751fbf1f2dff07b3a8690"}, "created_at": 1671505473.505158, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n search_term_text, date_day\n from \"postgres\".\"apple_search_ads_integration_tests_apple_search_ads\".\"apple_search_ads__search_term_report\"\n group by search_term_text, date_day\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": null, "file_key_name": "models.apple_search_ads__search_term_report"}, "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_group_history_modified_at.e5d65fa28f": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "modified_at", "model": "{{ get_where_subquery(ref('stg_apple_search_ads__ad_group_history')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.apple_search_ads_source.stg_apple_search_ads__ad_group_history"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "apple_search_ads_integration_tests_dbt_test__audit", "fqn": ["apple_search_ads_source", "not_null_stg_apple_search_ads__ad_group_history_modified_at"], "unique_id": "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_group_history_modified_at.e5d65fa28f", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "apple_search_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/apple_search_ads_source", "path": "not_null_stg_apple_search_ads__ad_group_history_modified_at.sql", "original_file_path": "models/stg_apple_search_ads.yml", "name": "not_null_stg_apple_search_ads__ad_group_history_modified_at", "alias": "not_null_stg_apple_search_ads__ad_group_history_modified_at", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_apple_search_ads__ad_group_history"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/apple_search_ads_source/models/stg_apple_search_ads.yml/not_null_stg_apple_search_ads__ad_group_history_modified_at.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1671505473.550115, "compiled_code": "\n \n \n\n\n\nselect modified_at\nfrom \"postgres\".\"apple_search_ads_integration_tests_apple_search_ads_source\".\"stg_apple_search_ads__ad_group_history\"\nwhere modified_at is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "modified_at", "file_key_name": "models.stg_apple_search_ads__ad_group_history"}, "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_group_history_ad_group_id.dc128eecb7": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "ad_group_id", "model": "{{ get_where_subquery(ref('stg_apple_search_ads__ad_group_history')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.apple_search_ads_source.stg_apple_search_ads__ad_group_history"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "apple_search_ads_integration_tests_dbt_test__audit", "fqn": ["apple_search_ads_source", "not_null_stg_apple_search_ads__ad_group_history_ad_group_id"], "unique_id": "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_group_history_ad_group_id.dc128eecb7", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "apple_search_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/apple_search_ads_source", "path": "not_null_stg_apple_search_ads__ad_group_history_ad_group_id.sql", "original_file_path": "models/stg_apple_search_ads.yml", "name": "not_null_stg_apple_search_ads__ad_group_history_ad_group_id", "alias": "not_null_stg_apple_search_ads__ad_group_history_ad_group_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_apple_search_ads__ad_group_history"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/apple_search_ads_source/models/stg_apple_search_ads.yml/not_null_stg_apple_search_ads__ad_group_history_ad_group_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1671505473.5512068, "compiled_code": "\n \n \n\n\n\nselect ad_group_id\nfrom \"postgres\".\"apple_search_ads_integration_tests_apple_search_ads_source\".\"stg_apple_search_ads__ad_group_history\"\nwhere ad_group_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "ad_group_id", "file_key_name": "models.stg_apple_search_ads__ad_group_history"}, "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__ad_group_history_ad_group_id__modified_at.84af14c83b": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["ad_group_id", "modified_at"], "model": "{{ get_where_subquery(ref('stg_apple_search_ads__ad_group_history')) }}"}, "namespace": "dbt_utils"}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.apple_search_ads_source.stg_apple_search_ads__ad_group_history"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_d82553a0f3b4daa8d59460c85a542d4f", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "apple_search_ads_integration_tests_dbt_test__audit", "fqn": ["apple_search_ads_source", "dbt_utils_unique_combination_of_columns_stg_apple_search_ads__ad_group_history_ad_group_id__modified_at"], "unique_id": "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__ad_group_history_ad_group_id__modified_at.84af14c83b", "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_d82553a0f3b4daa8d59460c85a542d4f\") }}", "language": "sql", "package_name": "apple_search_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/apple_search_ads_source", "path": "dbt_utils_unique_combination_o_d82553a0f3b4daa8d59460c85a542d4f.sql", "original_file_path": "models/stg_apple_search_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_apple_search_ads__ad_group_history_ad_group_id__modified_at", "alias": "dbt_utils_unique_combination_o_d82553a0f3b4daa8d59460c85a542d4f", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_apple_search_ads__ad_group_history"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/apple_search_ads_source/models/stg_apple_search_ads.yml/dbt_utils_unique_combination_o_d82553a0f3b4daa8d59460c85a542d4f.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_d82553a0f3b4daa8d59460c85a542d4f"}, "created_at": 1671505473.552304, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n ad_group_id, modified_at\n from \"postgres\".\"apple_search_ads_integration_tests_apple_search_ads_source\".\"stg_apple_search_ads__ad_group_history\"\n group by ad_group_id, modified_at\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": null, "file_key_name": "models.stg_apple_search_ads__ad_group_history"}, "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_group_report_ad_group_id.a115f9cfc1": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "ad_group_id", "model": "{{ get_where_subquery(ref('stg_apple_search_ads__ad_group_report')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.apple_search_ads_source.stg_apple_search_ads__ad_group_report"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "apple_search_ads_integration_tests_dbt_test__audit", "fqn": ["apple_search_ads_source", "not_null_stg_apple_search_ads__ad_group_report_ad_group_id"], "unique_id": "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_group_report_ad_group_id.a115f9cfc1", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "apple_search_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/apple_search_ads_source", "path": "not_null_stg_apple_search_ads__ad_group_report_ad_group_id.sql", "original_file_path": "models/stg_apple_search_ads.yml", "name": "not_null_stg_apple_search_ads__ad_group_report_ad_group_id", "alias": "not_null_stg_apple_search_ads__ad_group_report_ad_group_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_apple_search_ads__ad_group_report"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/apple_search_ads_source/models/stg_apple_search_ads.yml/not_null_stg_apple_search_ads__ad_group_report_ad_group_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1671505473.55516, "compiled_code": "\n \n \n\n\n\nselect ad_group_id\nfrom \"postgres\".\"apple_search_ads_integration_tests_apple_search_ads_source\".\"stg_apple_search_ads__ad_group_report\"\nwhere ad_group_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "ad_group_id", "file_key_name": "models.stg_apple_search_ads__ad_group_report"}, "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_group_report_date_day.4dfd46a43b": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "date_day", "model": "{{ get_where_subquery(ref('stg_apple_search_ads__ad_group_report')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.apple_search_ads_source.stg_apple_search_ads__ad_group_report"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "apple_search_ads_integration_tests_dbt_test__audit", "fqn": ["apple_search_ads_source", "not_null_stg_apple_search_ads__ad_group_report_date_day"], "unique_id": "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_group_report_date_day.4dfd46a43b", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "apple_search_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/apple_search_ads_source", "path": "not_null_stg_apple_search_ads__ad_group_report_date_day.sql", "original_file_path": "models/stg_apple_search_ads.yml", "name": "not_null_stg_apple_search_ads__ad_group_report_date_day", "alias": "not_null_stg_apple_search_ads__ad_group_report_date_day", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_apple_search_ads__ad_group_report"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/apple_search_ads_source/models/stg_apple_search_ads.yml/not_null_stg_apple_search_ads__ad_group_report_date_day.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1671505473.5561512, "compiled_code": "\n \n \n\n\n\nselect date_day\nfrom \"postgres\".\"apple_search_ads_integration_tests_apple_search_ads_source\".\"stg_apple_search_ads__ad_group_report\"\nwhere date_day is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "date_day", "file_key_name": "models.stg_apple_search_ads__ad_group_report"}, "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__ad_group_report_ad_group_id__date_day.a0fcc4e33c": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["ad_group_id", "date_day"], "model": "{{ get_where_subquery(ref('stg_apple_search_ads__ad_group_report')) }}"}, "namespace": "dbt_utils"}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.apple_search_ads_source.stg_apple_search_ads__ad_group_report"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_107a9492c163887581fde6b34131e42d", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "apple_search_ads_integration_tests_dbt_test__audit", "fqn": ["apple_search_ads_source", "dbt_utils_unique_combination_of_columns_stg_apple_search_ads__ad_group_report_ad_group_id__date_day"], "unique_id": "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__ad_group_report_ad_group_id__date_day.a0fcc4e33c", "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_107a9492c163887581fde6b34131e42d\") }}", "language": "sql", "package_name": "apple_search_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/apple_search_ads_source", "path": "dbt_utils_unique_combination_o_107a9492c163887581fde6b34131e42d.sql", "original_file_path": "models/stg_apple_search_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_apple_search_ads__ad_group_report_ad_group_id__date_day", "alias": "dbt_utils_unique_combination_o_107a9492c163887581fde6b34131e42d", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_apple_search_ads__ad_group_report"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/apple_search_ads_source/models/stg_apple_search_ads.yml/dbt_utils_unique_combination_o_107a9492c163887581fde6b34131e42d.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_107a9492c163887581fde6b34131e42d"}, "created_at": 1671505473.557277, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n ad_group_id, date_day\n from \"postgres\".\"apple_search_ads_integration_tests_apple_search_ads_source\".\"stg_apple_search_ads__ad_group_report\"\n group by ad_group_id, date_day\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": null, "file_key_name": "models.stg_apple_search_ads__ad_group_report"}, "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_history_modified_at.2eea7e006d": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "modified_at", "model": "{{ get_where_subquery(ref('stg_apple_search_ads__ad_history')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.apple_search_ads_source.stg_apple_search_ads__ad_history"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "apple_search_ads_integration_tests_dbt_test__audit", "fqn": ["apple_search_ads_source", "not_null_stg_apple_search_ads__ad_history_modified_at"], "unique_id": "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_history_modified_at.2eea7e006d", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "apple_search_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/apple_search_ads_source", "path": "not_null_stg_apple_search_ads__ad_history_modified_at.sql", "original_file_path": "models/stg_apple_search_ads.yml", "name": "not_null_stg_apple_search_ads__ad_history_modified_at", "alias": "not_null_stg_apple_search_ads__ad_history_modified_at", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_apple_search_ads__ad_history"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/apple_search_ads_source/models/stg_apple_search_ads.yml/not_null_stg_apple_search_ads__ad_history_modified_at.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1671505473.559915, "compiled_code": "\n \n \n\n\n\nselect modified_at\nfrom \"postgres\".\"apple_search_ads_integration_tests_apple_search_ads_source\".\"stg_apple_search_ads__ad_history\"\nwhere modified_at is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "modified_at", "file_key_name": "models.stg_apple_search_ads__ad_history"}, "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_history_ad_id.4ad3bde32a": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "ad_id", "model": "{{ get_where_subquery(ref('stg_apple_search_ads__ad_history')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.apple_search_ads_source.stg_apple_search_ads__ad_history"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "apple_search_ads_integration_tests_dbt_test__audit", "fqn": ["apple_search_ads_source", "not_null_stg_apple_search_ads__ad_history_ad_id"], "unique_id": "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_history_ad_id.4ad3bde32a", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "apple_search_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/apple_search_ads_source", "path": "not_null_stg_apple_search_ads__ad_history_ad_id.sql", "original_file_path": "models/stg_apple_search_ads.yml", "name": "not_null_stg_apple_search_ads__ad_history_ad_id", "alias": "not_null_stg_apple_search_ads__ad_history_ad_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_apple_search_ads__ad_history"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/apple_search_ads_source/models/stg_apple_search_ads.yml/not_null_stg_apple_search_ads__ad_history_ad_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1671505473.561076, "compiled_code": "\n \n \n\n\n\nselect ad_id\nfrom \"postgres\".\"apple_search_ads_integration_tests_apple_search_ads_source\".\"stg_apple_search_ads__ad_history\"\nwhere ad_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "ad_id", "file_key_name": "models.stg_apple_search_ads__ad_history"}, "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__ad_history_ad_id__modified_at.38599b8cba": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["ad_id", "modified_at"], "model": "{{ get_where_subquery(ref('stg_apple_search_ads__ad_history')) }}"}, "namespace": "dbt_utils"}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.apple_search_ads_source.stg_apple_search_ads__ad_history"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_ed0f61b146739c836defcf2fb6005d31", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "apple_search_ads_integration_tests_dbt_test__audit", "fqn": ["apple_search_ads_source", "dbt_utils_unique_combination_of_columns_stg_apple_search_ads__ad_history_ad_id__modified_at"], "unique_id": "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__ad_history_ad_id__modified_at.38599b8cba", "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_ed0f61b146739c836defcf2fb6005d31\") }}", "language": "sql", "package_name": "apple_search_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/apple_search_ads_source", "path": "dbt_utils_unique_combination_o_ed0f61b146739c836defcf2fb6005d31.sql", "original_file_path": "models/stg_apple_search_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_apple_search_ads__ad_history_ad_id__modified_at", "alias": "dbt_utils_unique_combination_o_ed0f61b146739c836defcf2fb6005d31", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_apple_search_ads__ad_history"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/apple_search_ads_source/models/stg_apple_search_ads.yml/dbt_utils_unique_combination_o_ed0f61b146739c836defcf2fb6005d31.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_ed0f61b146739c836defcf2fb6005d31"}, "created_at": 1671505473.562075, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n ad_id, modified_at\n from \"postgres\".\"apple_search_ads_integration_tests_apple_search_ads_source\".\"stg_apple_search_ads__ad_history\"\n group by ad_id, modified_at\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": null, "file_key_name": "models.stg_apple_search_ads__ad_history"}, "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_report_date_day.e6252346d8": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "date_day", "model": "{{ get_where_subquery(ref('stg_apple_search_ads__ad_report')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.apple_search_ads_source.stg_apple_search_ads__ad_report"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "apple_search_ads_integration_tests_dbt_test__audit", "fqn": ["apple_search_ads_source", "not_null_stg_apple_search_ads__ad_report_date_day"], "unique_id": "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_report_date_day.e6252346d8", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "apple_search_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/apple_search_ads_source", "path": "not_null_stg_apple_search_ads__ad_report_date_day.sql", "original_file_path": "models/stg_apple_search_ads.yml", "name": "not_null_stg_apple_search_ads__ad_report_date_day", "alias": "not_null_stg_apple_search_ads__ad_report_date_day", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_apple_search_ads__ad_report"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/apple_search_ads_source/models/stg_apple_search_ads.yml/not_null_stg_apple_search_ads__ad_report_date_day.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1671505473.564951, "compiled_code": "\n \n \n\n\n\nselect date_day\nfrom \"postgres\".\"apple_search_ads_integration_tests_apple_search_ads_source\".\"stg_apple_search_ads__ad_report\"\nwhere date_day is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "date_day", "file_key_name": "models.stg_apple_search_ads__ad_report"}, "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_report_ad_group_id.a397755e9f": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "ad_group_id", "model": "{{ get_where_subquery(ref('stg_apple_search_ads__ad_report')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.apple_search_ads_source.stg_apple_search_ads__ad_report"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "apple_search_ads_integration_tests_dbt_test__audit", "fqn": ["apple_search_ads_source", "not_null_stg_apple_search_ads__ad_report_ad_group_id"], "unique_id": "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_report_ad_group_id.a397755e9f", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "apple_search_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/apple_search_ads_source", "path": "not_null_stg_apple_search_ads__ad_report_ad_group_id.sql", "original_file_path": "models/stg_apple_search_ads.yml", "name": "not_null_stg_apple_search_ads__ad_report_ad_group_id", "alias": "not_null_stg_apple_search_ads__ad_report_ad_group_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_apple_search_ads__ad_report"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/apple_search_ads_source/models/stg_apple_search_ads.yml/not_null_stg_apple_search_ads__ad_report_ad_group_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1671505473.5659342, "compiled_code": "\n \n \n\n\n\nselect ad_group_id\nfrom \"postgres\".\"apple_search_ads_integration_tests_apple_search_ads_source\".\"stg_apple_search_ads__ad_report\"\nwhere ad_group_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "ad_group_id", "file_key_name": "models.stg_apple_search_ads__ad_report"}, "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_report_ad_id.d08e760c58": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "ad_id", "model": "{{ get_where_subquery(ref('stg_apple_search_ads__ad_report')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.apple_search_ads_source.stg_apple_search_ads__ad_report"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "apple_search_ads_integration_tests_dbt_test__audit", "fqn": ["apple_search_ads_source", "not_null_stg_apple_search_ads__ad_report_ad_id"], "unique_id": "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_report_ad_id.d08e760c58", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "apple_search_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/apple_search_ads_source", "path": "not_null_stg_apple_search_ads__ad_report_ad_id.sql", "original_file_path": "models/stg_apple_search_ads.yml", "name": "not_null_stg_apple_search_ads__ad_report_ad_id", "alias": "not_null_stg_apple_search_ads__ad_report_ad_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_apple_search_ads__ad_report"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/apple_search_ads_source/models/stg_apple_search_ads.yml/not_null_stg_apple_search_ads__ad_report_ad_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1671505473.5669062, "compiled_code": "\n \n \n\n\n\nselect ad_id\nfrom \"postgres\".\"apple_search_ads_integration_tests_apple_search_ads_source\".\"stg_apple_search_ads__ad_report\"\nwhere ad_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "ad_id", "file_key_name": "models.stg_apple_search_ads__ad_report"}, "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__ad_report_ad_id__date_day__ad_group_id.0d8d23c516": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["ad_id", "date_day", "ad_group_id"], "model": "{{ get_where_subquery(ref('stg_apple_search_ads__ad_report')) }}"}, "namespace": "dbt_utils"}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.apple_search_ads_source.stg_apple_search_ads__ad_report"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_9ce5e828ce9fa0987b5e86cbcb1207b9", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "apple_search_ads_integration_tests_dbt_test__audit", "fqn": ["apple_search_ads_source", "dbt_utils_unique_combination_of_columns_stg_apple_search_ads__ad_report_ad_id__date_day__ad_group_id"], "unique_id": "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__ad_report_ad_id__date_day__ad_group_id.0d8d23c516", "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_9ce5e828ce9fa0987b5e86cbcb1207b9\") }}", "language": "sql", "package_name": "apple_search_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/apple_search_ads_source", "path": "dbt_utils_unique_combination_o_9ce5e828ce9fa0987b5e86cbcb1207b9.sql", "original_file_path": "models/stg_apple_search_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_apple_search_ads__ad_report_ad_id__date_day__ad_group_id", "alias": "dbt_utils_unique_combination_o_9ce5e828ce9fa0987b5e86cbcb1207b9", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_apple_search_ads__ad_report"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/apple_search_ads_source/models/stg_apple_search_ads.yml/dbt_utils_unique_combination_o_9ce5e828ce9fa0987b5e86cbcb1207b9.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_9ce5e828ce9fa0987b5e86cbcb1207b9"}, "created_at": 1671505473.568012, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n ad_id, date_day, ad_group_id\n from \"postgres\".\"apple_search_ads_integration_tests_apple_search_ads_source\".\"stg_apple_search_ads__ad_report\"\n group by ad_id, date_day, ad_group_id\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": null, "file_key_name": "models.stg_apple_search_ads__ad_report"}, "test.apple_search_ads_source.not_null_stg_apple_search_ads__campaign_history_modified_at.f34a7a97c9": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "modified_at", "model": "{{ get_where_subquery(ref('stg_apple_search_ads__campaign_history')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.apple_search_ads_source.stg_apple_search_ads__campaign_history"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "apple_search_ads_integration_tests_dbt_test__audit", "fqn": ["apple_search_ads_source", "not_null_stg_apple_search_ads__campaign_history_modified_at"], "unique_id": "test.apple_search_ads_source.not_null_stg_apple_search_ads__campaign_history_modified_at.f34a7a97c9", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "apple_search_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/apple_search_ads_source", "path": "not_null_stg_apple_search_ads__campaign_history_modified_at.sql", "original_file_path": "models/stg_apple_search_ads.yml", "name": "not_null_stg_apple_search_ads__campaign_history_modified_at", "alias": "not_null_stg_apple_search_ads__campaign_history_modified_at", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_apple_search_ads__campaign_history"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/apple_search_ads_source/models/stg_apple_search_ads.yml/not_null_stg_apple_search_ads__campaign_history_modified_at.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1671505473.570766, "compiled_code": "\n \n \n\n\n\nselect modified_at\nfrom \"postgres\".\"apple_search_ads_integration_tests_apple_search_ads_source\".\"stg_apple_search_ads__campaign_history\"\nwhere modified_at is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "modified_at", "file_key_name": "models.stg_apple_search_ads__campaign_history"}, "test.apple_search_ads_source.not_null_stg_apple_search_ads__campaign_history_campaign_id.3f0f7502b8": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "campaign_id", "model": "{{ get_where_subquery(ref('stg_apple_search_ads__campaign_history')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.apple_search_ads_source.stg_apple_search_ads__campaign_history"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "apple_search_ads_integration_tests_dbt_test__audit", "fqn": ["apple_search_ads_source", "not_null_stg_apple_search_ads__campaign_history_campaign_id"], "unique_id": "test.apple_search_ads_source.not_null_stg_apple_search_ads__campaign_history_campaign_id.3f0f7502b8", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "apple_search_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/apple_search_ads_source", "path": "not_null_stg_apple_search_ads__campaign_history_campaign_id.sql", "original_file_path": "models/stg_apple_search_ads.yml", "name": "not_null_stg_apple_search_ads__campaign_history_campaign_id", "alias": "not_null_stg_apple_search_ads__campaign_history_campaign_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_apple_search_ads__campaign_history"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/apple_search_ads_source/models/stg_apple_search_ads.yml/not_null_stg_apple_search_ads__campaign_history_campaign_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1671505473.571882, "compiled_code": "\n \n \n\n\n\nselect campaign_id\nfrom \"postgres\".\"apple_search_ads_integration_tests_apple_search_ads_source\".\"stg_apple_search_ads__campaign_history\"\nwhere campaign_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "campaign_id", "file_key_name": "models.stg_apple_search_ads__campaign_history"}, "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__campaign_history_campaign_id__modified_at.317f970af9": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["campaign_id", "modified_at"], "model": "{{ get_where_subquery(ref('stg_apple_search_ads__campaign_history')) }}"}, "namespace": "dbt_utils"}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.apple_search_ads_source.stg_apple_search_ads__campaign_history"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_055fa7e8a6c292e0f56d1feec61284a9", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "apple_search_ads_integration_tests_dbt_test__audit", "fqn": ["apple_search_ads_source", "dbt_utils_unique_combination_of_columns_stg_apple_search_ads__campaign_history_campaign_id__modified_at"], "unique_id": "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__campaign_history_campaign_id__modified_at.317f970af9", "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_055fa7e8a6c292e0f56d1feec61284a9\") }}", "language": "sql", "package_name": "apple_search_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/apple_search_ads_source", "path": "dbt_utils_unique_combination_o_055fa7e8a6c292e0f56d1feec61284a9.sql", "original_file_path": "models/stg_apple_search_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_apple_search_ads__campaign_history_campaign_id__modified_at", "alias": "dbt_utils_unique_combination_o_055fa7e8a6c292e0f56d1feec61284a9", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_apple_search_ads__campaign_history"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/apple_search_ads_source/models/stg_apple_search_ads.yml/dbt_utils_unique_combination_o_055fa7e8a6c292e0f56d1feec61284a9.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_055fa7e8a6c292e0f56d1feec61284a9"}, "created_at": 1671505473.572866, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n campaign_id, modified_at\n from \"postgres\".\"apple_search_ads_integration_tests_apple_search_ads_source\".\"stg_apple_search_ads__campaign_history\"\n group by campaign_id, modified_at\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": null, "file_key_name": "models.stg_apple_search_ads__campaign_history"}, "test.apple_search_ads_source.not_null_stg_apple_search_ads__campaign_report_campaign_id.b83941e728": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "campaign_id", "model": "{{ get_where_subquery(ref('stg_apple_search_ads__campaign_report')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.apple_search_ads_source.stg_apple_search_ads__campaign_report"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "apple_search_ads_integration_tests_dbt_test__audit", "fqn": ["apple_search_ads_source", "not_null_stg_apple_search_ads__campaign_report_campaign_id"], "unique_id": "test.apple_search_ads_source.not_null_stg_apple_search_ads__campaign_report_campaign_id.b83941e728", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "apple_search_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/apple_search_ads_source", "path": "not_null_stg_apple_search_ads__campaign_report_campaign_id.sql", "original_file_path": "models/stg_apple_search_ads.yml", "name": "not_null_stg_apple_search_ads__campaign_report_campaign_id", "alias": "not_null_stg_apple_search_ads__campaign_report_campaign_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_apple_search_ads__campaign_report"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/apple_search_ads_source/models/stg_apple_search_ads.yml/not_null_stg_apple_search_ads__campaign_report_campaign_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1671505473.575673, "compiled_code": "\n \n \n\n\n\nselect campaign_id\nfrom \"postgres\".\"apple_search_ads_integration_tests_apple_search_ads_source\".\"stg_apple_search_ads__campaign_report\"\nwhere campaign_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "campaign_id", "file_key_name": "models.stg_apple_search_ads__campaign_report"}, "test.apple_search_ads_source.not_null_stg_apple_search_ads__campaign_report_date_day.c8dc10a6f3": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "date_day", "model": "{{ get_where_subquery(ref('stg_apple_search_ads__campaign_report')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.apple_search_ads_source.stg_apple_search_ads__campaign_report"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "apple_search_ads_integration_tests_dbt_test__audit", "fqn": ["apple_search_ads_source", "not_null_stg_apple_search_ads__campaign_report_date_day"], "unique_id": "test.apple_search_ads_source.not_null_stg_apple_search_ads__campaign_report_date_day.c8dc10a6f3", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "apple_search_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/apple_search_ads_source", "path": "not_null_stg_apple_search_ads__campaign_report_date_day.sql", "original_file_path": "models/stg_apple_search_ads.yml", "name": "not_null_stg_apple_search_ads__campaign_report_date_day", "alias": "not_null_stg_apple_search_ads__campaign_report_date_day", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_apple_search_ads__campaign_report"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/apple_search_ads_source/models/stg_apple_search_ads.yml/not_null_stg_apple_search_ads__campaign_report_date_day.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1671505473.57671, "compiled_code": "\n \n \n\n\n\nselect date_day\nfrom \"postgres\".\"apple_search_ads_integration_tests_apple_search_ads_source\".\"stg_apple_search_ads__campaign_report\"\nwhere date_day is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "date_day", "file_key_name": "models.stg_apple_search_ads__campaign_report"}, "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__campaign_report_campaign_id__date_day.bad41b0481": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["campaign_id", "date_day"], "model": "{{ get_where_subquery(ref('stg_apple_search_ads__campaign_report')) }}"}, "namespace": "dbt_utils"}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.apple_search_ads_source.stg_apple_search_ads__campaign_report"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_d8bdb244aa45cb237ef5189371733c07", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "apple_search_ads_integration_tests_dbt_test__audit", "fqn": ["apple_search_ads_source", "dbt_utils_unique_combination_of_columns_stg_apple_search_ads__campaign_report_campaign_id__date_day"], "unique_id": "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__campaign_report_campaign_id__date_day.bad41b0481", "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_d8bdb244aa45cb237ef5189371733c07\") }}", "language": "sql", "package_name": "apple_search_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/apple_search_ads_source", "path": "dbt_utils_unique_combination_o_d8bdb244aa45cb237ef5189371733c07.sql", "original_file_path": "models/stg_apple_search_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_apple_search_ads__campaign_report_campaign_id__date_day", "alias": "dbt_utils_unique_combination_o_d8bdb244aa45cb237ef5189371733c07", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_apple_search_ads__campaign_report"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/apple_search_ads_source/models/stg_apple_search_ads.yml/dbt_utils_unique_combination_o_d8bdb244aa45cb237ef5189371733c07.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_d8bdb244aa45cb237ef5189371733c07"}, "created_at": 1671505473.5777102, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n campaign_id, date_day\n from \"postgres\".\"apple_search_ads_integration_tests_apple_search_ads_source\".\"stg_apple_search_ads__campaign_report\"\n group by campaign_id, date_day\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": null, "file_key_name": "models.stg_apple_search_ads__campaign_report"}, "test.apple_search_ads_source.not_null_stg_apple_search_ads__keyword_history_modified_at.42fde5a287": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "modified_at", "model": "{{ get_where_subquery(ref('stg_apple_search_ads__keyword_history')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.apple_search_ads_source.stg_apple_search_ads__keyword_history"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "apple_search_ads_integration_tests_dbt_test__audit", "fqn": ["apple_search_ads_source", "not_null_stg_apple_search_ads__keyword_history_modified_at"], "unique_id": "test.apple_search_ads_source.not_null_stg_apple_search_ads__keyword_history_modified_at.42fde5a287", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "apple_search_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/apple_search_ads_source", "path": "not_null_stg_apple_search_ads__keyword_history_modified_at.sql", "original_file_path": "models/stg_apple_search_ads.yml", "name": "not_null_stg_apple_search_ads__keyword_history_modified_at", "alias": "not_null_stg_apple_search_ads__keyword_history_modified_at", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_apple_search_ads__keyword_history"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/apple_search_ads_source/models/stg_apple_search_ads.yml/not_null_stg_apple_search_ads__keyword_history_modified_at.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1671505473.58043, "compiled_code": "\n \n \n\n\n\nselect modified_at\nfrom \"postgres\".\"apple_search_ads_integration_tests_apple_search_ads_source\".\"stg_apple_search_ads__keyword_history\"\nwhere modified_at is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "modified_at", "file_key_name": "models.stg_apple_search_ads__keyword_history"}, "test.apple_search_ads_source.not_null_stg_apple_search_ads__keyword_history_keyword_id.889f83cfd2": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "keyword_id", "model": "{{ get_where_subquery(ref('stg_apple_search_ads__keyword_history')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.apple_search_ads_source.stg_apple_search_ads__keyword_history"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "apple_search_ads_integration_tests_dbt_test__audit", "fqn": ["apple_search_ads_source", "not_null_stg_apple_search_ads__keyword_history_keyword_id"], "unique_id": "test.apple_search_ads_source.not_null_stg_apple_search_ads__keyword_history_keyword_id.889f83cfd2", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "apple_search_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/apple_search_ads_source", "path": "not_null_stg_apple_search_ads__keyword_history_keyword_id.sql", "original_file_path": "models/stg_apple_search_ads.yml", "name": "not_null_stg_apple_search_ads__keyword_history_keyword_id", "alias": "not_null_stg_apple_search_ads__keyword_history_keyword_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_apple_search_ads__keyword_history"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/apple_search_ads_source/models/stg_apple_search_ads.yml/not_null_stg_apple_search_ads__keyword_history_keyword_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1671505473.581402, "compiled_code": "\n \n \n\n\n\nselect keyword_id\nfrom \"postgres\".\"apple_search_ads_integration_tests_apple_search_ads_source\".\"stg_apple_search_ads__keyword_history\"\nwhere keyword_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "keyword_id", "file_key_name": "models.stg_apple_search_ads__keyword_history"}, "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__keyword_history_keyword_id__modified_at.7b06162d24": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["keyword_id", "modified_at"], "model": "{{ get_where_subquery(ref('stg_apple_search_ads__keyword_history')) }}"}, "namespace": "dbt_utils"}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.apple_search_ads_source.stg_apple_search_ads__keyword_history"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_26b09b2f81a50b0ba84b566cd7df85b5", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "apple_search_ads_integration_tests_dbt_test__audit", "fqn": ["apple_search_ads_source", "dbt_utils_unique_combination_of_columns_stg_apple_search_ads__keyword_history_keyword_id__modified_at"], "unique_id": "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__keyword_history_keyword_id__modified_at.7b06162d24", "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_26b09b2f81a50b0ba84b566cd7df85b5\") }}", "language": "sql", "package_name": "apple_search_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/apple_search_ads_source", "path": "dbt_utils_unique_combination_o_26b09b2f81a50b0ba84b566cd7df85b5.sql", "original_file_path": "models/stg_apple_search_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_apple_search_ads__keyword_history_keyword_id__modified_at", "alias": "dbt_utils_unique_combination_o_26b09b2f81a50b0ba84b566cd7df85b5", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_apple_search_ads__keyword_history"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/apple_search_ads_source/models/stg_apple_search_ads.yml/dbt_utils_unique_combination_o_26b09b2f81a50b0ba84b566cd7df85b5.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_26b09b2f81a50b0ba84b566cd7df85b5"}, "created_at": 1671505473.5825121, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n keyword_id, modified_at\n from \"postgres\".\"apple_search_ads_integration_tests_apple_search_ads_source\".\"stg_apple_search_ads__keyword_history\"\n group by keyword_id, modified_at\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": null, "file_key_name": "models.stg_apple_search_ads__keyword_history"}, "test.apple_search_ads_source.not_null_stg_apple_search_ads__keyword_report_keyword_id.501725b09e": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "keyword_id", "model": "{{ get_where_subquery(ref('stg_apple_search_ads__keyword_report')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.apple_search_ads_source.stg_apple_search_ads__keyword_report"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "apple_search_ads_integration_tests_dbt_test__audit", "fqn": ["apple_search_ads_source", "not_null_stg_apple_search_ads__keyword_report_keyword_id"], "unique_id": "test.apple_search_ads_source.not_null_stg_apple_search_ads__keyword_report_keyword_id.501725b09e", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "apple_search_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/apple_search_ads_source", "path": "not_null_stg_apple_search_ads__keyword_report_keyword_id.sql", "original_file_path": "models/stg_apple_search_ads.yml", "name": "not_null_stg_apple_search_ads__keyword_report_keyword_id", "alias": "not_null_stg_apple_search_ads__keyword_report_keyword_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_apple_search_ads__keyword_report"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/apple_search_ads_source/models/stg_apple_search_ads.yml/not_null_stg_apple_search_ads__keyword_report_keyword_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1671505473.585362, "compiled_code": "\n \n \n\n\n\nselect keyword_id\nfrom \"postgres\".\"apple_search_ads_integration_tests_apple_search_ads_source\".\"stg_apple_search_ads__keyword_report\"\nwhere keyword_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "keyword_id", "file_key_name": "models.stg_apple_search_ads__keyword_report"}, "test.apple_search_ads_source.not_null_stg_apple_search_ads__keyword_report_date_day.16098db928": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "date_day", "model": "{{ get_where_subquery(ref('stg_apple_search_ads__keyword_report')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.apple_search_ads_source.stg_apple_search_ads__keyword_report"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "apple_search_ads_integration_tests_dbt_test__audit", "fqn": ["apple_search_ads_source", "not_null_stg_apple_search_ads__keyword_report_date_day"], "unique_id": "test.apple_search_ads_source.not_null_stg_apple_search_ads__keyword_report_date_day.16098db928", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "apple_search_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/apple_search_ads_source", "path": "not_null_stg_apple_search_ads__keyword_report_date_day.sql", "original_file_path": "models/stg_apple_search_ads.yml", "name": "not_null_stg_apple_search_ads__keyword_report_date_day", "alias": "not_null_stg_apple_search_ads__keyword_report_date_day", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_apple_search_ads__keyword_report"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/apple_search_ads_source/models/stg_apple_search_ads.yml/not_null_stg_apple_search_ads__keyword_report_date_day.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1671505473.586375, "compiled_code": "\n \n \n\n\n\nselect date_day\nfrom \"postgres\".\"apple_search_ads_integration_tests_apple_search_ads_source\".\"stg_apple_search_ads__keyword_report\"\nwhere date_day is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "date_day", "file_key_name": "models.stg_apple_search_ads__keyword_report"}, "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__keyword_report_keyword_id__date_day.9f0099cff8": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["keyword_id", "date_day"], "model": "{{ get_where_subquery(ref('stg_apple_search_ads__keyword_report')) }}"}, "namespace": "dbt_utils"}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.apple_search_ads_source.stg_apple_search_ads__keyword_report"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_2ec7f68205f05a3b68cfa7324135a1a5", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "apple_search_ads_integration_tests_dbt_test__audit", "fqn": ["apple_search_ads_source", "dbt_utils_unique_combination_of_columns_stg_apple_search_ads__keyword_report_keyword_id__date_day"], "unique_id": "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__keyword_report_keyword_id__date_day.9f0099cff8", "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_2ec7f68205f05a3b68cfa7324135a1a5\") }}", "language": "sql", "package_name": "apple_search_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/apple_search_ads_source", "path": "dbt_utils_unique_combination_o_2ec7f68205f05a3b68cfa7324135a1a5.sql", "original_file_path": "models/stg_apple_search_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_apple_search_ads__keyword_report_keyword_id__date_day", "alias": "dbt_utils_unique_combination_o_2ec7f68205f05a3b68cfa7324135a1a5", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_apple_search_ads__keyword_report"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/apple_search_ads_source/models/stg_apple_search_ads.yml/dbt_utils_unique_combination_o_2ec7f68205f05a3b68cfa7324135a1a5.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_2ec7f68205f05a3b68cfa7324135a1a5"}, "created_at": 1671505473.5873668, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n keyword_id, date_day\n from \"postgres\".\"apple_search_ads_integration_tests_apple_search_ads_source\".\"stg_apple_search_ads__keyword_report\"\n group by keyword_id, date_day\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": null, "file_key_name": "models.stg_apple_search_ads__keyword_report"}, "test.apple_search_ads_source.not_null_stg_apple_search_ads__organization_organization_id.b013ce33cb": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "organization_id", "model": "{{ get_where_subquery(ref('stg_apple_search_ads__organization')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.apple_search_ads_source.stg_apple_search_ads__organization"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "apple_search_ads_integration_tests_dbt_test__audit", "fqn": ["apple_search_ads_source", "not_null_stg_apple_search_ads__organization_organization_id"], "unique_id": "test.apple_search_ads_source.not_null_stg_apple_search_ads__organization_organization_id.b013ce33cb", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "apple_search_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/apple_search_ads_source", "path": "not_null_stg_apple_search_ads__organization_organization_id.sql", "original_file_path": "models/stg_apple_search_ads.yml", "name": "not_null_stg_apple_search_ads__organization_organization_id", "alias": "not_null_stg_apple_search_ads__organization_organization_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_apple_search_ads__organization"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/apple_search_ads_source/models/stg_apple_search_ads.yml/not_null_stg_apple_search_ads__organization_organization_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1671505473.590063, "compiled_code": "\n \n \n\n\n\nselect organization_id\nfrom \"postgres\".\"apple_search_ads_integration_tests_apple_search_ads_source\".\"stg_apple_search_ads__organization\"\nwhere organization_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "organization_id", "file_key_name": "models.stg_apple_search_ads__organization"}, "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__organization_organization_id.8647048f7a": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["organization_id"], "model": "{{ get_where_subquery(ref('stg_apple_search_ads__organization')) }}"}, "namespace": "dbt_utils"}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.apple_search_ads_source.stg_apple_search_ads__organization"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_53ded9060f9d3981217ae23e5d2ba89b", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "apple_search_ads_integration_tests_dbt_test__audit", "fqn": ["apple_search_ads_source", "dbt_utils_unique_combination_of_columns_stg_apple_search_ads__organization_organization_id"], "unique_id": "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__organization_organization_id.8647048f7a", "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_53ded9060f9d3981217ae23e5d2ba89b\") }}", "language": "sql", "package_name": "apple_search_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/apple_search_ads_source", "path": "dbt_utils_unique_combination_o_53ded9060f9d3981217ae23e5d2ba89b.sql", "original_file_path": "models/stg_apple_search_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_apple_search_ads__organization_organization_id", "alias": "dbt_utils_unique_combination_o_53ded9060f9d3981217ae23e5d2ba89b", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_apple_search_ads__organization"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/apple_search_ads_source/models/stg_apple_search_ads.yml/dbt_utils_unique_combination_o_53ded9060f9d3981217ae23e5d2ba89b.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_53ded9060f9d3981217ae23e5d2ba89b"}, "created_at": 1671505473.591072, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n organization_id\n from \"postgres\".\"apple_search_ads_integration_tests_apple_search_ads_source\".\"stg_apple_search_ads__organization\"\n group by organization_id\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": null, "file_key_name": "models.stg_apple_search_ads__organization"}, "test.apple_search_ads_source.not_null_stg_apple_search_ads__search_term_report__fivetran_id.aa430d1dad": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "_fivetran_id", "model": "{{ get_where_subquery(ref('stg_apple_search_ads__search_term_report')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.apple_search_ads_source.stg_apple_search_ads__search_term_report"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "apple_search_ads_integration_tests_dbt_test__audit", "fqn": ["apple_search_ads_source", "not_null_stg_apple_search_ads__search_term_report__fivetran_id"], "unique_id": "test.apple_search_ads_source.not_null_stg_apple_search_ads__search_term_report__fivetran_id.aa430d1dad", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "apple_search_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/apple_search_ads_source", "path": "not_null_stg_apple_search_ads__search_term_report__fivetran_id.sql", "original_file_path": "models/stg_apple_search_ads.yml", "name": "not_null_stg_apple_search_ads__search_term_report__fivetran_id", "alias": "not_null_stg_apple_search_ads__search_term_report__fivetran_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_apple_search_ads__search_term_report"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/apple_search_ads_source/models/stg_apple_search_ads.yml/not_null_stg_apple_search_ads__search_term_report__fivetran_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1671505473.593668, "compiled_code": "\n \n \n\n\n\nselect _fivetran_id\nfrom \"postgres\".\"apple_search_ads_integration_tests_apple_search_ads_source\".\"stg_apple_search_ads__search_term_report\"\nwhere _fivetran_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "_fivetran_id", "file_key_name": "models.stg_apple_search_ads__search_term_report"}, "test.apple_search_ads_source.not_null_stg_apple_search_ads__search_term_report_date_day.fd93df3302": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "date_day", "model": "{{ get_where_subquery(ref('stg_apple_search_ads__search_term_report')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.apple_search_ads_source.stg_apple_search_ads__search_term_report"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "apple_search_ads_integration_tests_dbt_test__audit", "fqn": ["apple_search_ads_source", "not_null_stg_apple_search_ads__search_term_report_date_day"], "unique_id": "test.apple_search_ads_source.not_null_stg_apple_search_ads__search_term_report_date_day.fd93df3302", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "apple_search_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/apple_search_ads_source", "path": "not_null_stg_apple_search_ads__search_term_report_date_day.sql", "original_file_path": "models/stg_apple_search_ads.yml", "name": "not_null_stg_apple_search_ads__search_term_report_date_day", "alias": "not_null_stg_apple_search_ads__search_term_report_date_day", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_apple_search_ads__search_term_report"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/apple_search_ads_source/models/stg_apple_search_ads.yml/not_null_stg_apple_search_ads__search_term_report_date_day.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1671505473.5946581, "compiled_code": "\n \n \n\n\n\nselect date_day\nfrom \"postgres\".\"apple_search_ads_integration_tests_apple_search_ads_source\".\"stg_apple_search_ads__search_term_report\"\nwhere date_day is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "date_day", "file_key_name": "models.stg_apple_search_ads__search_term_report"}, "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__search_term_report__fivetran_id__date_day.aad2a48344": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["_fivetran_id", "date_day"], "model": "{{ get_where_subquery(ref('stg_apple_search_ads__search_term_report')) }}"}, "namespace": "dbt_utils"}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.apple_search_ads_source.stg_apple_search_ads__search_term_report"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_4b957c6b8a75dcd1a6055884f71d71c1", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "apple_search_ads_integration_tests_dbt_test__audit", "fqn": ["apple_search_ads_source", "dbt_utils_unique_combination_of_columns_stg_apple_search_ads__search_term_report__fivetran_id__date_day"], "unique_id": "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__search_term_report__fivetran_id__date_day.aad2a48344", "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_4b957c6b8a75dcd1a6055884f71d71c1\") }}", "language": "sql", "package_name": "apple_search_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/apple_search_ads_source", "path": "dbt_utils_unique_combination_o_4b957c6b8a75dcd1a6055884f71d71c1.sql", "original_file_path": "models/stg_apple_search_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_apple_search_ads__search_term_report__fivetran_id__date_day", "alias": "dbt_utils_unique_combination_o_4b957c6b8a75dcd1a6055884f71d71c1", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_apple_search_ads__search_term_report"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/apple_search_ads_source/models/stg_apple_search_ads.yml/dbt_utils_unique_combination_o_4b957c6b8a75dcd1a6055884f71d71c1.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_4b957c6b8a75dcd1a6055884f71d71c1"}, "created_at": 1671505473.595649, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n _fivetran_id, date_day\n from \"postgres\".\"apple_search_ads_integration_tests_apple_search_ads_source\".\"stg_apple_search_ads__search_term_report\"\n group by _fivetran_id, date_day\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": null, "file_key_name": "models.stg_apple_search_ads__search_term_report"}}, "sources": {"source.apple_search_ads_source.apple_search_ads.ad_group_history": {"fqn": ["apple_search_ads_source", "apple_search_ads", "ad_group_history"], "database": "postgres", "schema": "apple_search_ads_integration_tests", "unique_id": "source.apple_search_ads_source.apple_search_ads.ad_group_history", "package_name": "apple_search_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/apple_search_ads_source", "path": "models/src_apple_search_ads.yml", "original_file_path": "models/src_apple_search_ads.yml", "name": "ad_group_history", "source_name": "apple_search_ads", "source_description": "", "loader": "Fivetran", "identifier": "ad_group_history_data", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "Each record represents a version of an ad group in Apple Search Ads.", "columns": {"modification_time": {"name": "modification_time", "description": "Timestamp of when the ad group object was last modified.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "id": {"name": "id", "description": "Ad group ID associated with the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_id": {"name": "campaign_id", "description": "Campaign ID associated with the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "start_time": {"name": "start_time", "description": "Timestamp of designated ad group start time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "end_time": {"name": "end_time", "description": "The designated ad group end time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Ad group name.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "organization_id": {"name": "organization_id", "description": "Organization ID associated with the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status": {"name": "status", "description": "The current status of the ad group, values include ENABLED and PAUSED.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {"enabled": true}, "relation_name": "\"postgres\".\"apple_search_ads_integration_tests\".\"ad_group_history_data\"", "created_at": 1671505473.598175}, "source.apple_search_ads_source.apple_search_ads.ad_group_report": {"fqn": ["apple_search_ads_source", "apple_search_ads", "ad_group_report"], "database": "postgres", "schema": "apple_search_ads_integration_tests", "unique_id": "source.apple_search_ads_source.apple_search_ads.ad_group_report", "package_name": "apple_search_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/apple_search_ads_source", "path": "models/src_apple_search_ads.yml", "original_file_path": "models/src_apple_search_ads.yml", "name": "ad_group_report", "source_name": "apple_search_ads", "source_description": "", "loader": "Fivetran", "identifier": "ad_group_report_data", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "Each record represents the daily performance of an ad group in Apple Search Ads.", "columns": {"ad_group_id": {"name": "ad_group_id", "description": "Ad group ID associated with the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "date": {"name": "date", "description": "Date for daily report aggregation.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "Number of times your ad appeared in App Store search results.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "local_spend_amount": {"name": "local_spend_amount", "description": "The sum of costs associated with the number of impressions served; Spend is measured in the currency used in the campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "local_spend_currency": {"name": "local_spend_currency", "description": "This currency value should match the respective organization's currency value.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "new_downloads": {"name": "new_downloads", "description": "App downloads from new users who have never before installed the respective app.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "redownloads": {"name": "redownloads", "description": "Occurs when a user downloads respective app, deletes it, and downloads the same app again following a tap on an ad on the App Store, or downloads the same app to an additional device.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "taps": {"name": "taps", "description": "The number of times ad was tapped by users within the reporting time period.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {"enabled": true}, "relation_name": "\"postgres\".\"apple_search_ads_integration_tests\".\"ad_group_report_data\"", "created_at": 1671505473.598271}, "source.apple_search_ads_source.apple_search_ads.ad_history": {"fqn": ["apple_search_ads_source", "apple_search_ads", "ad_history"], "database": "postgres", "schema": "apple_search_ads_integration_tests", "unique_id": "source.apple_search_ads_source.apple_search_ads.ad_history", "package_name": "apple_search_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/apple_search_ads_source", "path": "models/src_apple_search_ads.yml", "original_file_path": "models/src_apple_search_ads.yml", "name": "ad_history", "source_name": "apple_search_ads", "source_description": "", "loader": "Fivetran", "identifier": "ad_history_data", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "Each record represents a version of an ad in Apple Search Ads.", "columns": {"creation_time": {"name": "creation_time", "description": "Timestamp of when ad was created.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "modification_time": {"name": "modification_time", "description": "Timestamp of when the ad object was last modified.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "org_id": {"name": "org_id", "description": "Organization ID associated with the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_id": {"name": "campaign_id", "description": "Campaign ID associated with the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "Ad group ID associated with the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Ad name associated with the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "id": {"name": "id", "description": "Ad ID associated with the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status": {"name": "status", "description": "The current status of the ad, values include ENABLED and PAUSED.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {"enabled": true}, "relation_name": "\"postgres\".\"apple_search_ads_integration_tests\".\"ad_history_data\"", "created_at": 1671505473.598351}, "source.apple_search_ads_source.apple_search_ads.ad_level_report": {"fqn": ["apple_search_ads_source", "apple_search_ads", "ad_level_report"], "database": "postgres", "schema": "apple_search_ads_integration_tests", "unique_id": "source.apple_search_ads_source.apple_search_ads.ad_level_report", "package_name": "apple_search_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/apple_search_ads_source", "path": "models/src_apple_search_ads.yml", "original_file_path": "models/src_apple_search_ads.yml", "name": "ad_level_report", "source_name": "apple_search_ads", "source_description": "", "loader": "Fivetran", "identifier": "ad_report_data", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "Each record represents the daily performance of an ad in Apple Search Ads.", "columns": {"date": {"name": "date", "description": "Date for daily report aggregation.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_id": {"name": "campaign_id", "description": "Campaign ID associated with the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "Ad group ID associated with the record", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_id": {"name": "ad_id", "description": "Ad ID associated with the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "Number of times your ad appeared in App Store search results.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "local_spend_amount": {"name": "local_spend_amount", "description": "The sum of costs associated with the number of impressions served; Spend is measured in the currency used in the campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "local_spend_currency": {"name": "local_spend_currency", "description": "This currency value should match the respective organization's currency value.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "new_downloads": {"name": "new_downloads", "description": "App downloads from new users who have never before installed the respective app.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "redownloads": {"name": "redownloads", "description": "Occurs when a user downloads respective app, deletes it, and downloads the same app again following a tap on an ad on the App Store, or downloads the same app to an additional device.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "taps": {"name": "taps", "description": "The number of times ad was tapped by users within the reporting time period.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {"enabled": true}, "relation_name": "\"postgres\".\"apple_search_ads_integration_tests\".\"ad_report_data\"", "created_at": 1671505473.5984268}, "source.apple_search_ads_source.apple_search_ads.campaign_history": {"fqn": ["apple_search_ads_source", "apple_search_ads", "campaign_history"], "database": "postgres", "schema": "apple_search_ads_integration_tests", "unique_id": "source.apple_search_ads_source.apple_search_ads.campaign_history", "package_name": "apple_search_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/apple_search_ads_source", "path": "models/src_apple_search_ads.yml", "original_file_path": "models/src_apple_search_ads.yml", "name": "campaign_history", "source_name": "apple_search_ads", "source_description": "", "loader": "Fivetran", "identifier": "campaign_history_data", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "Each record represents a version of a campaign in Apple Search Ads.", "columns": {"modification_time": {"name": "modification_time", "description": "Timestamp of when the campaign object was last modified.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "id": {"name": "id", "description": "Campaign ID associated with the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "start_time": {"name": "start_time", "description": "The designated ad group start time (ad group with the earliest start time associated with this campaign).", "meta": {}, "data_type": null, "quote": null, "tags": []}, "end_time": {"name": "end_time", "description": "The designated campaign end time (ad group with the latest start time associated with this campaign).", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Campaign name for the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "organization_id": {"name": "organization_id", "description": "Organization ID associated with the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status": {"name": "status", "description": "The current status of the campaign, values include ENABLED and PAUSED.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {"enabled": true}, "relation_name": "\"postgres\".\"apple_search_ads_integration_tests\".\"campaign_history_data\"", "created_at": 1671505473.5985}, "source.apple_search_ads_source.apple_search_ads.campaign_report": {"fqn": ["apple_search_ads_source", "apple_search_ads", "campaign_report"], "database": "postgres", "schema": "apple_search_ads_integration_tests", "unique_id": "source.apple_search_ads_source.apple_search_ads.campaign_report", "package_name": "apple_search_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/apple_search_ads_source", "path": "models/src_apple_search_ads.yml", "original_file_path": "models/src_apple_search_ads.yml", "name": "campaign_report", "source_name": "apple_search_ads", "source_description": "", "loader": "Fivetran", "identifier": "campaign_report_data", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "Each record represents the daily performance of a campaign in Apple Search Ads.", "columns": {"id": {"name": "id", "description": "Campaign ID associated with the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "date": {"name": "date", "description": "Date for daily report aggregation.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "Number of times your ad appeared in App Store search results.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "local_spend_amount": {"name": "local_spend_amount", "description": "The sum of costs associated with the number of impressions served; Spend is measured in the currency used in the campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "local_spend_currency": {"name": "local_spend_currency", "description": "This currency value should match the respective organization's currency value.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "new_downloads": {"name": "new_downloads", "description": "App downloads from new users who have never before installed the respective app.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "redownloads": {"name": "redownloads", "description": "Occurs when a user downloads respective app, deletes it, and downloads the same app again following a tap on an ad on the App Store, or downloads the same app to an additional device.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "taps": {"name": "taps", "description": "The number of times ad was tapped by users within the reporting time period.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {"enabled": true}, "relation_name": "\"postgres\".\"apple_search_ads_integration_tests\".\"campaign_report_data\"", "created_at": 1671505473.598575}, "source.apple_search_ads_source.apple_search_ads.keyword_history": {"fqn": ["apple_search_ads_source", "apple_search_ads", "keyword_history"], "database": "postgres", "schema": "apple_search_ads_integration_tests", "unique_id": "source.apple_search_ads_source.apple_search_ads.keyword_history", "package_name": "apple_search_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/apple_search_ads_source", "path": "models/src_apple_search_ads.yml", "original_file_path": "models/src_apple_search_ads.yml", "name": "keyword_history", "source_name": "apple_search_ads", "source_description": "", "loader": "Fivetran", "identifier": "keyword_history_data", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "Each record represents a version of a keyword in Apple Search Ads.", "columns": {"modification_time": {"name": "modification_time", "description": "Timestamp of when the keyword object was last modified.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "id": {"name": "id", "description": "Keyword ID associated with the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_id": {"name": "campaign_id", "description": "Campaign ID associated with the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "Ad group ID associated with the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "bid_amount": {"name": "bid_amount", "description": "The bid amount to display your ad for the matching text value.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "bid_currency": {"name": "bid_currency", "description": "This currency value should match the respective organization's currency value.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "match_type": {"name": "match_type", "description": "Controls how ads are matched to user searches; EXACT or BROAD.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status": {"name": "status", "description": "The current status of the keyword, values include ENABLED and PAUSED.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "text": {"name": "text", "description": "The word or phrase to match in user searches, to show respective ad.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {"enabled": true}, "relation_name": "\"postgres\".\"apple_search_ads_integration_tests\".\"keyword_history_data\"", "created_at": 1671505473.5986502}, "source.apple_search_ads_source.apple_search_ads.keyword_report": {"fqn": ["apple_search_ads_source", "apple_search_ads", "keyword_report"], "database": "postgres", "schema": "apple_search_ads_integration_tests", "unique_id": "source.apple_search_ads_source.apple_search_ads.keyword_report", "package_name": "apple_search_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/apple_search_ads_source", "path": "models/src_apple_search_ads.yml", "original_file_path": "models/src_apple_search_ads.yml", "name": "keyword_report", "source_name": "apple_search_ads", "source_description": "", "loader": "Fivetran", "identifier": "keyword_report_data", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "Each record represents the daily performance of a keyword in Apple Search Ads.", "columns": {"id": {"name": "id", "description": "Keyword ID associated with the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "date": {"name": "date", "description": "Date for daily report aggregation.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "Number of times your ad appeared in App Store search results.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "local_spend_amount": {"name": "local_spend_amount", "description": "The sum of costs associated with the number of impressions served; Spend is measured in the currency used in the campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "local_spend_currency": {"name": "local_spend_currency", "description": "This currency value should match the respective organization's currency value.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "new_downloads": {"name": "new_downloads", "description": "App downloads from new users who have never before installed the respective app.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "redownloads": {"name": "redownloads", "description": "Occurs when a user downloads respective app, deletes it, and downloads the same app again following a tap on an ad on the App Store, or downloads the same app to an additional device.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "taps": {"name": "taps", "description": "The number of times ad was tapped by users within the reporting time period.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {"enabled": true}, "relation_name": "\"postgres\".\"apple_search_ads_integration_tests\".\"keyword_report_data\"", "created_at": 1671505473.598722}, "source.apple_search_ads_source.apple_search_ads.organization": {"fqn": ["apple_search_ads_source", "apple_search_ads", "organization"], "database": "postgres", "schema": "apple_search_ads_integration_tests", "unique_id": "source.apple_search_ads_source.apple_search_ads.organization", "package_name": "apple_search_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/apple_search_ads_source", "path": "models/src_apple_search_ads.yml", "original_file_path": "models/src_apple_search_ads.yml", "name": "organization", "source_name": "apple_search_ads", "source_description": "", "loader": "Fivetran", "identifier": "organization_data", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "Each record represents an organization in Apple Search Ads.", "columns": {"organization_id": {"name": "organization_id", "description": "Organization ID associated with the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "currency": {"name": "currency", "description": "Specified currency for respective organization.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "payment_model": {"name": "payment_model", "description": "Values include 'LOC', 'PAYG' or (payment method hasn't been set).", "meta": {}, "data_type": null, "quote": null, "tags": []}, "organization_name": {"name": "organization_name", "description": "Name of organization.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "time_zone": {"name": "time_zone", "description": "Organization default timezone; values can be ORTZ or UTC.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {"enabled": true}, "relation_name": "\"postgres\".\"apple_search_ads_integration_tests\".\"organization_data\"", "created_at": 1671505473.59879}, "source.apple_search_ads_source.apple_search_ads.search_term_report": {"fqn": ["apple_search_ads_source", "apple_search_ads", "search_term_report"], "database": "postgres", "schema": "apple_search_ads_integration_tests", "unique_id": "source.apple_search_ads_source.apple_search_ads.search_term_report", "package_name": "apple_search_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/apple_search_ads_source", "path": "models/src_apple_search_ads.yml", "original_file_path": "models/src_apple_search_ads.yml", "name": "search_term_report", "source_name": "apple_search_ads", "source_description": "", "loader": "Fivetran", "identifier": "search_term_report_data", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "Each record represents the daily performance of a search term in Apple Search Ads.", "columns": {"_fivetran_id": {"name": "_fivetran_id", "description": "A Fivetran internal unique id that helps us avoid duplicate rows in primary keyless tables.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "Ad group ID associated with the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_id": {"name": "campaign_id", "description": "Campaign ID associated with the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "date": {"name": "date", "description": "Date for daily report aggregation.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_name": {"name": "ad_group_name", "description": "Ad group name.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "bid_amount_amount": {"name": "bid_amount_amount", "description": "The bid amount to display your ad for the matching text value.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "bid_amount_currency": {"name": "bid_amount_currency", "description": "This currency value should match the respective organization's currency value.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "keyword": {"name": "keyword", "description": "The word or phrase to match in user searches, to show respective ad.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "keyword_display_status": {"name": "keyword_display_status", "description": "The keyword display status can either be ACTIVE or PAUSED.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "keyword_id": {"name": "keyword_id", "description": "Keyword ID associated with the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "local_spend_amount": {"name": "local_spend_amount", "description": "The sum of costs associated with the number of impressions served; Spend is measured in the currency used in the campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "local_spend_currency": {"name": "local_spend_currency", "description": "This currency value should match the respective organization's currency value.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "match_type": {"name": "match_type", "description": "Controls how ads are matched to user searches; values include EXACT, BROAD or AUTO.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "search_term_source": {"name": "search_term_source", "description": "The search term source can either be TARGETED or AUTO; if this value is AUTO so will match_type.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "search_term_text": {"name": "search_term_text", "description": "The word or phrase to match of user searches.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "Number of times your ad appeared in App Store search results.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "taps": {"name": "taps", "description": "The number of times ad was tapped by users within the reporting time period.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "new_downloads": {"name": "new_downloads", "description": "App downloads from new users who have never before installed the respective app.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "redownloads": {"name": "redownloads", "description": "Occurs when a user downloads respective app, deletes it, and downloads the same app again following a tap on an ad on the App Store, or downloads the same app to an additional device.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": "True and True"}, "patch_path": null, "unrendered_config": {"enabled": "True and True"}, "relation_name": "\"postgres\".\"apple_search_ads_integration_tests\".\"search_term_report_data\"", "created_at": 1671505473.598874}}, "macros": {"macro.dbt_postgres.postgres__current_timestamp": {"unique_id": "macro.dbt_postgres.postgres__current_timestamp", "package_name": "dbt_postgres", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/postgres", "path": "macros/timestamps.sql", "original_file_path": "macros/timestamps.sql", "name": "postgres__current_timestamp", "macro_sql": "{% macro postgres__current_timestamp() -%}\n now()\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.658321, "supported_languages": null}, "macro.dbt_postgres.postgres__snapshot_string_as_time": {"unique_id": "macro.dbt_postgres.postgres__snapshot_string_as_time", "package_name": "dbt_postgres", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/postgres", "path": "macros/timestamps.sql", "original_file_path": "macros/timestamps.sql", "name": "postgres__snapshot_string_as_time", "macro_sql": "{% macro postgres__snapshot_string_as_time(timestamp) -%}\n {%- set result = \"'\" ~ timestamp ~ \"'::timestamp without time zone\" -%}\n {{ return(result) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.6585689, "supported_languages": null}, "macro.dbt_postgres.postgres__snapshot_get_time": {"unique_id": "macro.dbt_postgres.postgres__snapshot_get_time", "package_name": "dbt_postgres", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/postgres", "path": "macros/timestamps.sql", "original_file_path": "macros/timestamps.sql", "name": "postgres__snapshot_get_time", "macro_sql": "{% macro postgres__snapshot_get_time() -%}\n {{ current_timestamp() }}::timestamp without time zone\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.current_timestamp"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.65868, "supported_languages": null}, "macro.dbt_postgres.postgres__current_timestamp_backcompat": {"unique_id": "macro.dbt_postgres.postgres__current_timestamp_backcompat", "package_name": "dbt_postgres", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/postgres", "path": "macros/timestamps.sql", "original_file_path": "macros/timestamps.sql", "name": "postgres__current_timestamp_backcompat", "macro_sql": "{% macro postgres__current_timestamp_backcompat() %}\n current_timestamp::{{ type_timestamp() }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.type_timestamp"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.658795, "supported_languages": null}, "macro.dbt_postgres.postgres__current_timestamp_in_utc_backcompat": {"unique_id": "macro.dbt_postgres.postgres__current_timestamp_in_utc_backcompat", "package_name": "dbt_postgres", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/postgres", "path": "macros/timestamps.sql", "original_file_path": "macros/timestamps.sql", "name": "postgres__current_timestamp_in_utc_backcompat", "macro_sql": "{% macro postgres__current_timestamp_in_utc_backcompat() %}\n (current_timestamp at time zone 'utc')::{{ type_timestamp() }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.type_timestamp"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.658902, "supported_languages": null}, "macro.dbt_postgres.postgres__get_catalog": {"unique_id": "macro.dbt_postgres.postgres__get_catalog", "package_name": "dbt_postgres", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/postgres", "path": "macros/catalog.sql", "original_file_path": "macros/catalog.sql", "name": "postgres__get_catalog", "macro_sql": "{% macro postgres__get_catalog(information_schema, schemas) -%}\n\n {%- call statement('catalog', fetch_result=True) -%}\n {#\n If the user has multiple databases set and the first one is wrong, this will fail.\n But we won't fail in the case where there are multiple quoting-difference-only dbs, which is better.\n #}\n {% set database = information_schema.database %}\n {{ adapter.verify_database(database) }}\n\n select\n '{{ database }}' as table_database,\n sch.nspname as table_schema,\n tbl.relname as table_name,\n case tbl.relkind\n when 'v' then 'VIEW'\n else 'BASE TABLE'\n end as table_type,\n tbl_desc.description as table_comment,\n col.attname as column_name,\n col.attnum as column_index,\n pg_catalog.format_type(col.atttypid, col.atttypmod) as column_type,\n col_desc.description as column_comment,\n pg_get_userbyid(tbl.relowner) as table_owner\n\n from pg_catalog.pg_namespace sch\n join pg_catalog.pg_class tbl on tbl.relnamespace = sch.oid\n join pg_catalog.pg_attribute col on col.attrelid = tbl.oid\n left outer join pg_catalog.pg_description tbl_desc on (tbl_desc.objoid = tbl.oid and tbl_desc.objsubid = 0)\n left outer join pg_catalog.pg_description col_desc on (col_desc.objoid = tbl.oid and col_desc.objsubid = col.attnum)\n\n where (\n {%- for schema in schemas -%}\n upper(sch.nspname) = upper('{{ schema }}'){%- if not loop.last %} or {% endif -%}\n {%- endfor -%}\n )\n and not pg_is_other_temp_schema(sch.oid) -- not a temporary schema belonging to another session\n and tbl.relpersistence in ('p', 'u') -- [p]ermanent table or [u]nlogged table. Exclude [t]emporary tables\n and tbl.relkind in ('r', 'v', 'f', 'p') -- o[r]dinary table, [v]iew, [f]oreign table, [p]artitioned table. Other values are [i]ndex, [S]equence, [c]omposite type, [t]OAST table, [m]aterialized view\n and col.attnum > 0 -- negative numbers are used for system columns such as oid\n and not col.attisdropped -- column as not been dropped\n\n order by\n sch.nspname,\n tbl.relname,\n col.attnum\n\n {%- endcall -%}\n\n {{ return(load_result('catalog').table) }}\n\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.660067, "supported_languages": null}, "macro.dbt_postgres.postgres_get_relations": {"unique_id": "macro.dbt_postgres.postgres_get_relations", "package_name": "dbt_postgres", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/postgres", "path": "macros/relations.sql", "original_file_path": "macros/relations.sql", "name": "postgres_get_relations", "macro_sql": "{% macro postgres_get_relations () -%}\n\n {#\n -- in pg_depend, objid is the dependent, refobjid is the referenced object\n -- > a pg_depend entry indicates that the referenced object cannot be\n -- > dropped without also dropping the dependent object.\n #}\n\n {%- call statement('relations', fetch_result=True) -%}\n with relation as (\n select\n pg_rewrite.ev_class as class,\n pg_rewrite.oid as id\n from pg_rewrite\n ),\n class as (\n select\n oid as id,\n relname as name,\n relnamespace as schema,\n relkind as kind\n from pg_class\n ),\n dependency as (\n select distinct\n pg_depend.objid as id,\n pg_depend.refobjid as ref\n from pg_depend\n ),\n schema as (\n select\n pg_namespace.oid as id,\n pg_namespace.nspname as name\n from pg_namespace\n where nspname != 'information_schema' and nspname not like 'pg\\_%'\n ),\n referenced as (\n select\n relation.id AS id,\n referenced_class.name ,\n referenced_class.schema ,\n referenced_class.kind\n from relation\n join class as referenced_class on relation.class=referenced_class.id\n where referenced_class.kind in ('r', 'v')\n ),\n relationships as (\n select\n referenced.name as referenced_name,\n referenced.schema as referenced_schema_id,\n dependent_class.name as dependent_name,\n dependent_class.schema as dependent_schema_id,\n referenced.kind as kind\n from referenced\n join dependency on referenced.id=dependency.id\n join class as dependent_class on dependency.ref=dependent_class.id\n where\n (referenced.name != dependent_class.name or\n referenced.schema != dependent_class.schema)\n )\n\n select\n referenced_schema.name as referenced_schema,\n relationships.referenced_name as referenced_name,\n dependent_schema.name as dependent_schema,\n relationships.dependent_name as dependent_name\n from relationships\n join schema as dependent_schema on relationships.dependent_schema_id=dependent_schema.id\n join schema as referenced_schema on relationships.referenced_schema_id=referenced_schema.id\n group by referenced_schema, referenced_name, dependent_schema, dependent_name\n order by referenced_schema, referenced_name, dependent_schema, dependent_name;\n\n {%- endcall -%}\n\n {{ return(load_result('relations').table) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.66077, "supported_languages": null}, "macro.dbt_postgres.postgres__create_table_as": {"unique_id": "macro.dbt_postgres.postgres__create_table_as", "package_name": "dbt_postgres", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/postgres", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "postgres__create_table_as", "macro_sql": "{% macro postgres__create_table_as(temporary, relation, sql) -%}\n {%- set unlogged = config.get('unlogged', default=false) -%}\n {%- set sql_header = config.get('sql_header', none) -%}\n\n {{ sql_header if sql_header is not none }}\n\n create {% if temporary -%}\n temporary\n {%- elif unlogged -%}\n unlogged\n {%- endif %} table {{ relation }}\n as (\n {{ sql }}\n );\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.6661701, "supported_languages": null}, "macro.dbt_postgres.postgres__get_create_index_sql": {"unique_id": "macro.dbt_postgres.postgres__get_create_index_sql", "package_name": "dbt_postgres", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/postgres", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "postgres__get_create_index_sql", "macro_sql": "{% macro postgres__get_create_index_sql(relation, index_dict) -%}\n {%- set index_config = adapter.parse_index(index_dict) -%}\n {%- set comma_separated_columns = \", \".join(index_config.columns) -%}\n {%- set index_name = index_config.render(relation) -%}\n\n create {% if index_config.unique -%}\n unique\n {%- endif %} index if not exists\n \"{{ index_name }}\"\n on {{ relation }} {% if index_config.type -%}\n using {{ index_config.type }}\n {%- endif %}\n ({{ comma_separated_columns }});\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.66666, "supported_languages": null}, "macro.dbt_postgres.postgres__create_schema": {"unique_id": "macro.dbt_postgres.postgres__create_schema", "package_name": "dbt_postgres", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/postgres", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "postgres__create_schema", "macro_sql": "{% macro postgres__create_schema(relation) -%}\n {% if relation.database -%}\n {{ adapter.verify_database(relation.database) }}\n {%- endif -%}\n {%- call statement('create_schema') -%}\n create schema if not exists {{ relation.without_identifier().include(database=False) }}\n {%- endcall -%}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.666975, "supported_languages": null}, "macro.dbt_postgres.postgres__drop_schema": {"unique_id": "macro.dbt_postgres.postgres__drop_schema", "package_name": "dbt_postgres", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/postgres", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "postgres__drop_schema", "macro_sql": "{% macro postgres__drop_schema(relation) -%}\n {% if relation.database -%}\n {{ adapter.verify_database(relation.database) }}\n {%- endif -%}\n {%- call statement('drop_schema') -%}\n drop schema if exists {{ relation.without_identifier().include(database=False) }} cascade\n {%- endcall -%}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.667291, "supported_languages": null}, "macro.dbt_postgres.postgres__get_columns_in_relation": {"unique_id": "macro.dbt_postgres.postgres__get_columns_in_relation", "package_name": "dbt_postgres", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/postgres", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "postgres__get_columns_in_relation", "macro_sql": "{% macro postgres__get_columns_in_relation(relation) -%}\n {% call statement('get_columns_in_relation', fetch_result=True) %}\n select\n column_name,\n data_type,\n character_maximum_length,\n numeric_precision,\n numeric_scale\n\n from {{ relation.information_schema('columns') }}\n where table_name = '{{ relation.identifier }}'\n {% if relation.schema %}\n and table_schema = '{{ relation.schema }}'\n {% endif %}\n order by ordinal_position\n\n {% endcall %}\n {% set table = load_result('get_columns_in_relation').table %}\n {{ return(sql_convert_columns_in_relation(table)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.statement", "macro.dbt.sql_convert_columns_in_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.6677592, "supported_languages": null}, "macro.dbt_postgres.postgres__list_relations_without_caching": {"unique_id": "macro.dbt_postgres.postgres__list_relations_without_caching", "package_name": "dbt_postgres", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/postgres", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "postgres__list_relations_without_caching", "macro_sql": "{% macro postgres__list_relations_without_caching(schema_relation) %}\n {% call statement('list_relations_without_caching', fetch_result=True) -%}\n select\n '{{ schema_relation.database }}' as database,\n tablename as name,\n schemaname as schema,\n 'table' as type\n from pg_tables\n where schemaname ilike '{{ schema_relation.schema }}'\n union all\n select\n '{{ schema_relation.database }}' as database,\n viewname as name,\n schemaname as schema,\n 'view' as type\n from pg_views\n where schemaname ilike '{{ schema_relation.schema }}'\n {% endcall %}\n {{ return(load_result('list_relations_without_caching').table) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.668129, "supported_languages": null}, "macro.dbt_postgres.postgres__information_schema_name": {"unique_id": "macro.dbt_postgres.postgres__information_schema_name", "package_name": "dbt_postgres", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/postgres", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "postgres__information_schema_name", "macro_sql": "{% macro postgres__information_schema_name(database) -%}\n {% if database_name -%}\n {{ adapter.verify_database(database_name) }}\n {%- endif -%}\n information_schema\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.668299, "supported_languages": null}, "macro.dbt_postgres.postgres__list_schemas": {"unique_id": "macro.dbt_postgres.postgres__list_schemas", "package_name": "dbt_postgres", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/postgres", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "postgres__list_schemas", "macro_sql": "{% macro postgres__list_schemas(database) %}\n {% if database -%}\n {{ adapter.verify_database(database) }}\n {%- endif -%}\n {% call statement('list_schemas', fetch_result=True, auto_begin=False) %}\n select distinct nspname from pg_namespace\n {% endcall %}\n {{ return(load_result('list_schemas').table) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.6686568, "supported_languages": null}, "macro.dbt_postgres.postgres__check_schema_exists": {"unique_id": "macro.dbt_postgres.postgres__check_schema_exists", "package_name": "dbt_postgres", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/postgres", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "postgres__check_schema_exists", "macro_sql": "{% macro postgres__check_schema_exists(information_schema, schema) -%}\n {% if information_schema.database -%}\n {{ adapter.verify_database(information_schema.database) }}\n {%- endif -%}\n {% call statement('check_schema_exists', fetch_result=True, auto_begin=False) %}\n select count(*) from pg_namespace where nspname = '{{ schema }}'\n {% endcall %}\n {{ return(load_result('check_schema_exists').table) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.6691892, "supported_languages": null}, "macro.dbt_postgres.postgres__make_relation_with_suffix": {"unique_id": "macro.dbt_postgres.postgres__make_relation_with_suffix", "package_name": "dbt_postgres", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/postgres", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "postgres__make_relation_with_suffix", "macro_sql": "{% macro postgres__make_relation_with_suffix(base_relation, suffix, dstring) %}\n {% if dstring %}\n {% set dt = modules.datetime.datetime.now() %}\n {% set dtstring = dt.strftime(\"%H%M%S%f\") %}\n {% set suffix = suffix ~ dtstring %}\n {% endif %}\n {% set suffix_length = suffix|length %}\n {% set relation_max_name_length = base_relation.relation_max_name_length() %}\n {% if suffix_length > relation_max_name_length %}\n {% do exceptions.raise_compiler_error('Relation suffix is too long (' ~ suffix_length ~ ' characters). Maximum length is ' ~ relation_max_name_length ~ ' characters.') %}\n {% endif %}\n {% set identifier = base_relation.identifier[:relation_max_name_length - suffix_length] ~ suffix %}\n\n {{ return(base_relation.incorporate(path={\"identifier\": identifier })) }}\n\n {% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.67007, "supported_languages": null}, "macro.dbt_postgres.postgres__make_intermediate_relation": {"unique_id": "macro.dbt_postgres.postgres__make_intermediate_relation", "package_name": "dbt_postgres", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/postgres", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "postgres__make_intermediate_relation", "macro_sql": "{% macro postgres__make_intermediate_relation(base_relation, suffix) %}\n {{ return(postgres__make_relation_with_suffix(base_relation, suffix, dstring=False)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_postgres.postgres__make_relation_with_suffix"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.670273, "supported_languages": null}, "macro.dbt_postgres.postgres__make_temp_relation": {"unique_id": "macro.dbt_postgres.postgres__make_temp_relation", "package_name": "dbt_postgres", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/postgres", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "postgres__make_temp_relation", "macro_sql": "{% macro postgres__make_temp_relation(base_relation, suffix) %}\n {% set temp_relation = postgres__make_relation_with_suffix(base_relation, suffix, dstring=True) %}\n {{ return(temp_relation.incorporate(path={\"schema\": none,\n \"database\": none})) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_postgres.postgres__make_relation_with_suffix"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.670588, "supported_languages": null}, "macro.dbt_postgres.postgres__make_backup_relation": {"unique_id": "macro.dbt_postgres.postgres__make_backup_relation", "package_name": "dbt_postgres", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/postgres", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "postgres__make_backup_relation", "macro_sql": "{% macro postgres__make_backup_relation(base_relation, backup_relation_type, suffix) %}\n {% set backup_relation = postgres__make_relation_with_suffix(base_relation, suffix, dstring=False) %}\n {{ return(backup_relation.incorporate(type=backup_relation_type)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_postgres.postgres__make_relation_with_suffix"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.67086, "supported_languages": null}, "macro.dbt_postgres.postgres_escape_comment": {"unique_id": "macro.dbt_postgres.postgres_escape_comment", "package_name": "dbt_postgres", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/postgres", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "postgres_escape_comment", "macro_sql": "{% macro postgres_escape_comment(comment) -%}\n {% if comment is not string %}\n {% do exceptions.raise_compiler_error('cannot escape a non-string: ' ~ comment) %}\n {% endif %}\n {%- set magic = '$dbt_comment_literal_block$' -%}\n {%- if magic in comment -%}\n {%- do exceptions.raise_compiler_error('The string ' ~ magic ~ ' is not allowed in comments.') -%}\n {%- endif -%}\n {{ magic }}{{ comment }}{{ magic }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.671277, "supported_languages": null}, "macro.dbt_postgres.postgres__alter_relation_comment": {"unique_id": "macro.dbt_postgres.postgres__alter_relation_comment", "package_name": "dbt_postgres", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/postgres", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "postgres__alter_relation_comment", "macro_sql": "{% macro postgres__alter_relation_comment(relation, comment) %}\n {% set escaped_comment = postgres_escape_comment(comment) %}\n comment on {{ relation.type }} {{ relation }} is {{ escaped_comment }};\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_postgres.postgres_escape_comment"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.6715012, "supported_languages": null}, "macro.dbt_postgres.postgres__alter_column_comment": {"unique_id": "macro.dbt_postgres.postgres__alter_column_comment", "package_name": "dbt_postgres", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/postgres", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "postgres__alter_column_comment", "macro_sql": "{% macro postgres__alter_column_comment(relation, column_dict) %}\n {% set existing_columns = adapter.get_columns_in_relation(relation) | map(attribute=\"name\") | list %}\n {% for column_name in column_dict if (column_name in existing_columns) %}\n {% set comment = column_dict[column_name]['description'] %}\n {% set escaped_comment = postgres_escape_comment(comment) %}\n comment on column {{ relation }}.{{ adapter.quote(column_name) if column_dict[column_name]['quote'] else column_name }} is {{ escaped_comment }};\n {% endfor %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_postgres.postgres_escape_comment"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.67209, "supported_languages": null}, "macro.dbt_postgres.postgres__get_show_grant_sql": {"unique_id": "macro.dbt_postgres.postgres__get_show_grant_sql", "package_name": "dbt_postgres", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/postgres", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "postgres__get_show_grant_sql", "macro_sql": "\n\n{%- macro postgres__get_show_grant_sql(relation) -%}\n select grantee, privilege_type\n from {{ relation.information_schema('role_table_grants') }}\n where grantor = current_role\n and grantee != current_role\n and table_schema = '{{ relation.schema }}'\n and table_name = '{{ relation.identifier }}'\n{%- endmacro -%}\n\n", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.672296, "supported_languages": null}, "macro.dbt_postgres.postgres__copy_grants": {"unique_id": "macro.dbt_postgres.postgres__copy_grants", "package_name": "dbt_postgres", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/postgres", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "postgres__copy_grants", "macro_sql": "{% macro postgres__copy_grants() %}\n {{ return(False) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.6724129, "supported_languages": null}, "macro.dbt_postgres.postgres__get_incremental_default_sql": {"unique_id": "macro.dbt_postgres.postgres__get_incremental_default_sql", "package_name": "dbt_postgres", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/postgres", "path": "macros/materializations/incremental_strategies.sql", "original_file_path": "macros/materializations/incremental_strategies.sql", "name": "postgres__get_incremental_default_sql", "macro_sql": "{% macro postgres__get_incremental_default_sql(arg_dict) %}\n\n {% if arg_dict[\"unique_key\"] %}\n {% do return(get_incremental_delete_insert_sql(arg_dict)) %}\n {% else %}\n {% do return(get_incremental_append_sql(arg_dict)) %}\n {% endif %}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.get_incremental_delete_insert_sql", "macro.dbt.get_incremental_append_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.672941, "supported_languages": null}, "macro.dbt_postgres.postgres__snapshot_merge_sql": {"unique_id": "macro.dbt_postgres.postgres__snapshot_merge_sql", "package_name": "dbt_postgres", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/postgres", "path": "macros/materializations/snapshot_merge.sql", "original_file_path": "macros/materializations/snapshot_merge.sql", "name": "postgres__snapshot_merge_sql", "macro_sql": "{% macro postgres__snapshot_merge_sql(target, source, insert_cols) -%}\n {%- set insert_cols_csv = insert_cols | join(', ') -%}\n\n update {{ target }}\n set dbt_valid_to = DBT_INTERNAL_SOURCE.dbt_valid_to\n from {{ source }} as DBT_INTERNAL_SOURCE\n where DBT_INTERNAL_SOURCE.dbt_scd_id::text = {{ target }}.dbt_scd_id::text\n and DBT_INTERNAL_SOURCE.dbt_change_type::text in ('update'::text, 'delete'::text)\n and {{ target }}.dbt_valid_to is null;\n\n insert into {{ target }} ({{ insert_cols_csv }})\n select {% for column in insert_cols -%}\n DBT_INTERNAL_SOURCE.{{ column }} {%- if not loop.last %}, {%- endif %}\n {%- endfor %}\n from {{ source }} as DBT_INTERNAL_SOURCE\n where DBT_INTERNAL_SOURCE.dbt_change_type::text = 'insert'::text;\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.673729, "supported_languages": null}, "macro.dbt_postgres.postgres__dateadd": {"unique_id": "macro.dbt_postgres.postgres__dateadd", "package_name": "dbt_postgres", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/postgres", "path": "macros/utils/dateadd.sql", "original_file_path": "macros/utils/dateadd.sql", "name": "postgres__dateadd", "macro_sql": "{% macro postgres__dateadd(datepart, interval, from_date_or_timestamp) %}\n\n {{ from_date_or_timestamp }} + ((interval '1 {{ datepart }}') * ({{ interval }}))\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.674029, "supported_languages": null}, "macro.dbt_postgres.postgres__listagg": {"unique_id": "macro.dbt_postgres.postgres__listagg", "package_name": "dbt_postgres", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/postgres", "path": "macros/utils/listagg.sql", "original_file_path": "macros/utils/listagg.sql", "name": "postgres__listagg", "macro_sql": "{% macro postgres__listagg(measure, delimiter_text, order_by_clause, limit_num) -%}\n\n {% if limit_num -%}\n array_to_string(\n (array_agg(\n {{ measure }}\n {% if order_by_clause -%}\n {{ order_by_clause }}\n {%- endif %}\n ))[1:{{ limit_num }}],\n {{ delimiter_text }}\n )\n {%- else %}\n string_agg(\n {{ measure }},\n {{ delimiter_text }}\n {% if order_by_clause -%}\n {{ order_by_clause }}\n {%- endif %}\n )\n {%- endif %}\n\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.6747048, "supported_languages": null}, "macro.dbt_postgres.postgres__datediff": {"unique_id": "macro.dbt_postgres.postgres__datediff", "package_name": "dbt_postgres", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/postgres", "path": "macros/utils/datediff.sql", "original_file_path": "macros/utils/datediff.sql", "name": "postgres__datediff", "macro_sql": "{% macro postgres__datediff(first_date, second_date, datepart) -%}\n\n {% if datepart == 'year' %}\n (date_part('year', ({{second_date}})::date) - date_part('year', ({{first_date}})::date))\n {% elif datepart == 'quarter' %}\n ({{ datediff(first_date, second_date, 'year') }} * 4 + date_part('quarter', ({{second_date}})::date) - date_part('quarter', ({{first_date}})::date))\n {% elif datepart == 'month' %}\n ({{ datediff(first_date, second_date, 'year') }} * 12 + date_part('month', ({{second_date}})::date) - date_part('month', ({{first_date}})::date))\n {% elif datepart == 'day' %}\n (({{second_date}})::date - ({{first_date}})::date)\n {% elif datepart == 'week' %}\n ({{ datediff(first_date, second_date, 'day') }} / 7 + case\n when date_part('dow', ({{first_date}})::timestamp) <= date_part('dow', ({{second_date}})::timestamp) then\n case when {{first_date}} <= {{second_date}} then 0 else -1 end\n else\n case when {{first_date}} <= {{second_date}} then 1 else 0 end\n end)\n {% elif datepart == 'hour' %}\n ({{ datediff(first_date, second_date, 'day') }} * 24 + date_part('hour', ({{second_date}})::timestamp) - date_part('hour', ({{first_date}})::timestamp))\n {% elif datepart == 'minute' %}\n ({{ datediff(first_date, second_date, 'hour') }} * 60 + date_part('minute', ({{second_date}})::timestamp) - date_part('minute', ({{first_date}})::timestamp))\n {% elif datepart == 'second' %}\n ({{ datediff(first_date, second_date, 'minute') }} * 60 + floor(date_part('second', ({{second_date}})::timestamp)) - floor(date_part('second', ({{first_date}})::timestamp)))\n {% elif datepart == 'millisecond' %}\n ({{ datediff(first_date, second_date, 'minute') }} * 60000 + floor(date_part('millisecond', ({{second_date}})::timestamp)) - floor(date_part('millisecond', ({{first_date}})::timestamp)))\n {% elif datepart == 'microsecond' %}\n ({{ datediff(first_date, second_date, 'minute') }} * 60000000 + floor(date_part('microsecond', ({{second_date}})::timestamp)) - floor(date_part('microsecond', ({{first_date}})::timestamp)))\n {% else %}\n {{ exceptions.raise_compiler_error(\"Unsupported datepart for macro datediff in postgres: {!r}\".format(datepart)) }}\n {% endif %}\n\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.datediff"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.677981, "supported_languages": null}, "macro.dbt_postgres.postgres__any_value": {"unique_id": "macro.dbt_postgres.postgres__any_value", "package_name": "dbt_postgres", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/postgres", "path": "macros/utils/any_value.sql", "original_file_path": "macros/utils/any_value.sql", "name": "postgres__any_value", "macro_sql": "{% macro postgres__any_value(expression) -%}\n\n min({{ expression }})\n\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.6782742, "supported_languages": null}, "macro.dbt_postgres.postgres__last_day": {"unique_id": "macro.dbt_postgres.postgres__last_day", "package_name": "dbt_postgres", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/postgres", "path": "macros/utils/last_day.sql", "original_file_path": "macros/utils/last_day.sql", "name": "postgres__last_day", "macro_sql": "{% macro postgres__last_day(date, datepart) -%}\n\n {%- if datepart == 'quarter' -%}\n -- postgres dateadd does not support quarter interval.\n cast(\n {{dbt.dateadd('day', '-1',\n dbt.dateadd('month', '3', dbt.date_trunc(datepart, date))\n )}}\n as date)\n {%- else -%}\n {{dbt.default_last_day(date, datepart)}}\n {%- endif -%}\n\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.dateadd", "macro.dbt.date_trunc", "macro.dbt.default_last_day"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.6789608, "supported_languages": null}, "macro.dbt_postgres.postgres__split_part": {"unique_id": "macro.dbt_postgres.postgres__split_part", "package_name": "dbt_postgres", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/postgres", "path": "macros/utils/split_part.sql", "original_file_path": "macros/utils/split_part.sql", "name": "postgres__split_part", "macro_sql": "{% macro postgres__split_part(string_text, delimiter_text, part_number) %}\n\n {% if part_number >= 0 %}\n {{ dbt.default__split_part(string_text, delimiter_text, part_number) }}\n {% else %}\n {{ dbt._split_part_negative(string_text, delimiter_text, part_number) }}\n {% endif %}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__split_part", "macro.dbt._split_part_negative"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.679494, "supported_languages": null}, "macro.dbt.run_hooks": {"unique_id": "macro.dbt.run_hooks", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/hooks.sql", "original_file_path": "macros/materializations/hooks.sql", "name": "run_hooks", "macro_sql": "{% macro run_hooks(hooks, inside_transaction=True) %}\n {% for hook in hooks | selectattr('transaction', 'equalto', inside_transaction) %}\n {% if not inside_transaction and loop.first %}\n {% call statement(auto_begin=inside_transaction) %}\n commit;\n {% endcall %}\n {% endif %}\n {% set rendered = render(hook.get('sql')) | trim %}\n {% if (rendered | length) > 0 %}\n {% call statement(auto_begin=inside_transaction) %}\n {{ rendered }}\n {% endcall %}\n {% endif %}\n {% endfor %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.680636, "supported_languages": null}, "macro.dbt.make_hook_config": {"unique_id": "macro.dbt.make_hook_config", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/hooks.sql", "original_file_path": "macros/materializations/hooks.sql", "name": "make_hook_config", "macro_sql": "{% macro make_hook_config(sql, inside_transaction) %}\n {{ tojson({\"sql\": sql, \"transaction\": inside_transaction}) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.680834, "supported_languages": null}, "macro.dbt.before_begin": {"unique_id": "macro.dbt.before_begin", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/hooks.sql", "original_file_path": "macros/materializations/hooks.sql", "name": "before_begin", "macro_sql": "{% macro before_begin(sql) %}\n {{ make_hook_config(sql, inside_transaction=False) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.make_hook_config"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.6809769, "supported_languages": null}, "macro.dbt.in_transaction": {"unique_id": "macro.dbt.in_transaction", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/hooks.sql", "original_file_path": "macros/materializations/hooks.sql", "name": "in_transaction", "macro_sql": "{% macro in_transaction(sql) %}\n {{ make_hook_config(sql, inside_transaction=True) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.make_hook_config"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.6811168, "supported_languages": null}, "macro.dbt.after_commit": {"unique_id": "macro.dbt.after_commit", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/hooks.sql", "original_file_path": "macros/materializations/hooks.sql", "name": "after_commit", "macro_sql": "{% macro after_commit(sql) %}\n {{ make_hook_config(sql, inside_transaction=False) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.make_hook_config"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.6812549, "supported_languages": null}, "macro.dbt.set_sql_header": {"unique_id": "macro.dbt.set_sql_header", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/configs.sql", "original_file_path": "macros/materializations/configs.sql", "name": "set_sql_header", "macro_sql": "{% macro set_sql_header(config) -%}\n {{ config.set('sql_header', caller()) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.681707, "supported_languages": null}, "macro.dbt.should_full_refresh": {"unique_id": "macro.dbt.should_full_refresh", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/configs.sql", "original_file_path": "macros/materializations/configs.sql", "name": "should_full_refresh", "macro_sql": "{% macro should_full_refresh() %}\n {% set config_full_refresh = config.get('full_refresh') %}\n {% if config_full_refresh is none %}\n {% set config_full_refresh = flags.FULL_REFRESH %}\n {% endif %}\n {% do return(config_full_refresh) %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.682003, "supported_languages": null}, "macro.dbt.should_store_failures": {"unique_id": "macro.dbt.should_store_failures", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/configs.sql", "original_file_path": "macros/materializations/configs.sql", "name": "should_store_failures", "macro_sql": "{% macro should_store_failures() %}\n {% set config_store_failures = config.get('store_failures') %}\n {% if config_store_failures is none %}\n {% set config_store_failures = flags.STORE_FAILURES %}\n {% endif %}\n {% do return(config_store_failures) %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.6822999, "supported_languages": null}, "macro.dbt.snapshot_merge_sql": {"unique_id": "macro.dbt.snapshot_merge_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/snapshots/snapshot_merge.sql", "original_file_path": "macros/materializations/snapshots/snapshot_merge.sql", "name": "snapshot_merge_sql", "macro_sql": "{% macro snapshot_merge_sql(target, source, insert_cols) -%}\n {{ adapter.dispatch('snapshot_merge_sql', 'dbt')(target, source, insert_cols) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_postgres.postgres__snapshot_merge_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.682805, "supported_languages": null}, "macro.dbt.default__snapshot_merge_sql": {"unique_id": "macro.dbt.default__snapshot_merge_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/snapshots/snapshot_merge.sql", "original_file_path": "macros/materializations/snapshots/snapshot_merge.sql", "name": "default__snapshot_merge_sql", "macro_sql": "{% macro default__snapshot_merge_sql(target, source, insert_cols) -%}\n {%- set insert_cols_csv = insert_cols | join(', ') -%}\n\n merge into {{ target }} as DBT_INTERNAL_DEST\n using {{ source }} as DBT_INTERNAL_SOURCE\n on DBT_INTERNAL_SOURCE.dbt_scd_id = DBT_INTERNAL_DEST.dbt_scd_id\n\n when matched\n and DBT_INTERNAL_DEST.dbt_valid_to is null\n and DBT_INTERNAL_SOURCE.dbt_change_type in ('update', 'delete')\n then update\n set dbt_valid_to = DBT_INTERNAL_SOURCE.dbt_valid_to\n\n when not matched\n and DBT_INTERNAL_SOURCE.dbt_change_type = 'insert'\n then insert ({{ insert_cols_csv }})\n values ({{ insert_cols_csv }})\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.683071, "supported_languages": null}, "macro.dbt.strategy_dispatch": {"unique_id": "macro.dbt.strategy_dispatch", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/snapshots/strategies.sql", "original_file_path": "macros/materializations/snapshots/strategies.sql", "name": "strategy_dispatch", "macro_sql": "{% macro strategy_dispatch(name) -%}\n{% set original_name = name %}\n {% if '.' in name %}\n {% set package_name, name = name.split(\".\", 1) %}\n {% else %}\n {% set package_name = none %}\n {% endif %}\n\n {% if package_name is none %}\n {% set package_context = context %}\n {% elif package_name in context %}\n {% set package_context = context[package_name] %}\n {% else %}\n {% set error_msg %}\n Could not find package '{{package_name}}', called with '{{original_name}}'\n {% endset %}\n {{ exceptions.raise_compiler_error(error_msg | trim) }}\n {% endif %}\n\n {%- set search_name = 'snapshot_' ~ name ~ '_strategy' -%}\n\n {% if search_name not in package_context %}\n {% set error_msg %}\n The specified strategy macro '{{name}}' was not found in package '{{ package_name }}'\n {% endset %}\n {{ exceptions.raise_compiler_error(error_msg | trim) }}\n {% endif %}\n {{ return(package_context[search_name]) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.686483, "supported_languages": null}, "macro.dbt.snapshot_hash_arguments": {"unique_id": "macro.dbt.snapshot_hash_arguments", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/snapshots/strategies.sql", "original_file_path": "macros/materializations/snapshots/strategies.sql", "name": "snapshot_hash_arguments", "macro_sql": "{% macro snapshot_hash_arguments(args) -%}\n {{ adapter.dispatch('snapshot_hash_arguments', 'dbt')(args) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__snapshot_hash_arguments"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.686655, "supported_languages": null}, "macro.dbt.default__snapshot_hash_arguments": {"unique_id": "macro.dbt.default__snapshot_hash_arguments", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/snapshots/strategies.sql", "original_file_path": "macros/materializations/snapshots/strategies.sql", "name": "default__snapshot_hash_arguments", "macro_sql": "{% macro default__snapshot_hash_arguments(args) -%}\n md5({%- for arg in args -%}\n coalesce(cast({{ arg }} as varchar ), '')\n {% if not loop.last %} || '|' || {% endif %}\n {%- endfor -%})\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.6868732, "supported_languages": null}, "macro.dbt.snapshot_timestamp_strategy": {"unique_id": "macro.dbt.snapshot_timestamp_strategy", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/snapshots/strategies.sql", "original_file_path": "macros/materializations/snapshots/strategies.sql", "name": "snapshot_timestamp_strategy", "macro_sql": "{% macro snapshot_timestamp_strategy(node, snapshotted_rel, current_rel, config, target_exists) %}\n {% set primary_key = config['unique_key'] %}\n {% set updated_at = config['updated_at'] %}\n {% set invalidate_hard_deletes = config.get('invalidate_hard_deletes', false) %}\n\n {#/*\n The snapshot relation might not have an {{ updated_at }} value if the\n snapshot strategy is changed from `check` to `timestamp`. We\n should use a dbt-created column for the comparison in the snapshot\n table instead of assuming that the user-supplied {{ updated_at }}\n will be present in the historical data.\n\n See https://github.com/dbt-labs/dbt-core/issues/2350\n */ #}\n {% set row_changed_expr -%}\n ({{ snapshotted_rel }}.dbt_valid_from < {{ current_rel }}.{{ updated_at }})\n {%- endset %}\n\n {% set scd_id_expr = snapshot_hash_arguments([primary_key, updated_at]) %}\n\n {% do return({\n \"unique_key\": primary_key,\n \"updated_at\": updated_at,\n \"row_changed\": row_changed_expr,\n \"scd_id\": scd_id_expr,\n \"invalidate_hard_deletes\": invalidate_hard_deletes\n }) %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.snapshot_hash_arguments"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.6875782, "supported_languages": null}, "macro.dbt.snapshot_string_as_time": {"unique_id": "macro.dbt.snapshot_string_as_time", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/snapshots/strategies.sql", "original_file_path": "macros/materializations/snapshots/strategies.sql", "name": "snapshot_string_as_time", "macro_sql": "{% macro snapshot_string_as_time(timestamp) -%}\n {{ adapter.dispatch('snapshot_string_as_time', 'dbt')(timestamp) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_postgres.postgres__snapshot_string_as_time"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.687742, "supported_languages": null}, "macro.dbt.default__snapshot_string_as_time": {"unique_id": "macro.dbt.default__snapshot_string_as_time", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/snapshots/strategies.sql", "original_file_path": "macros/materializations/snapshots/strategies.sql", "name": "default__snapshot_string_as_time", "macro_sql": "{% macro default__snapshot_string_as_time(timestamp) %}\n {% do exceptions.raise_not_implemented(\n 'snapshot_string_as_time macro not implemented for adapter '+adapter.type()\n ) %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.687928, "supported_languages": null}, "macro.dbt.snapshot_check_all_get_existing_columns": {"unique_id": "macro.dbt.snapshot_check_all_get_existing_columns", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/snapshots/strategies.sql", "original_file_path": "macros/materializations/snapshots/strategies.sql", "name": "snapshot_check_all_get_existing_columns", "macro_sql": "{% macro snapshot_check_all_get_existing_columns(node, target_exists, check_cols_config) -%}\n {%- if not target_exists -%}\n {#-- no table yet -> return whatever the query does --#}\n {{ return((false, query_columns)) }}\n {%- endif -%}\n\n {#-- handle any schema changes --#}\n {%- set target_relation = adapter.get_relation(database=node.database, schema=node.schema, identifier=node.alias) -%}\n\n {% if check_cols_config == 'all' %}\n {%- set query_columns = get_columns_in_query(node['compiled_code']) -%}\n\n {% elif check_cols_config is iterable and (check_cols_config | length) > 0 %}\n {#-- query for proper casing/quoting, to support comparison below --#}\n {%- set select_check_cols_from_target -%}\n select {{ check_cols_config | join(', ') }} from ({{ node['compiled_code'] }}) subq\n {%- endset -%}\n {% set query_columns = get_columns_in_query(select_check_cols_from_target) %}\n\n {% else %}\n {% do exceptions.raise_compiler_error(\"Invalid value for 'check_cols': \" ~ check_cols_config) %}\n {% endif %}\n\n {%- set existing_cols = adapter.get_columns_in_relation(target_relation) | map(attribute = 'name') | list -%}\n {%- set ns = namespace() -%} {#-- handle for-loop scoping with a namespace --#}\n {%- set ns.column_added = false -%}\n\n {%- set intersection = [] -%}\n {%- for col in query_columns -%}\n {%- if col in existing_cols -%}\n {%- do intersection.append(adapter.quote(col)) -%}\n {%- else -%}\n {% set ns.column_added = true %}\n {%- endif -%}\n {%- endfor -%}\n {{ return((ns.column_added, intersection)) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.get_columns_in_query"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.689295, "supported_languages": null}, "macro.dbt.snapshot_check_strategy": {"unique_id": "macro.dbt.snapshot_check_strategy", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/snapshots/strategies.sql", "original_file_path": "macros/materializations/snapshots/strategies.sql", "name": "snapshot_check_strategy", "macro_sql": "{% macro snapshot_check_strategy(node, snapshotted_rel, current_rel, config, target_exists) %}\n {% set check_cols_config = config['check_cols'] %}\n {% set primary_key = config['unique_key'] %}\n {% set invalidate_hard_deletes = config.get('invalidate_hard_deletes', false) %}\n {% set updated_at = config.get('updated_at', snapshot_get_time()) %}\n\n {% set column_added = false %}\n\n {% set column_added, check_cols = snapshot_check_all_get_existing_columns(node, target_exists, check_cols_config) %}\n\n {%- set row_changed_expr -%}\n (\n {%- if column_added -%}\n {{ get_true_sql() }}\n {%- else -%}\n {%- for col in check_cols -%}\n {{ snapshotted_rel }}.{{ col }} != {{ current_rel }}.{{ col }}\n or\n (\n (({{ snapshotted_rel }}.{{ col }} is null) and not ({{ current_rel }}.{{ col }} is null))\n or\n ((not {{ snapshotted_rel }}.{{ col }} is null) and ({{ current_rel }}.{{ col }} is null))\n )\n {%- if not loop.last %} or {% endif -%}\n {%- endfor -%}\n {%- endif -%}\n )\n {%- endset %}\n\n {% set scd_id_expr = snapshot_hash_arguments([primary_key, updated_at]) %}\n\n {% do return({\n \"unique_key\": primary_key,\n \"updated_at\": updated_at,\n \"row_changed\": row_changed_expr,\n \"scd_id\": scd_id_expr,\n \"invalidate_hard_deletes\": invalidate_hard_deletes\n }) %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.snapshot_get_time", "macro.dbt.snapshot_check_all_get_existing_columns", "macro.dbt.get_true_sql", "macro.dbt.snapshot_hash_arguments"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.690666, "supported_languages": null}, "macro.dbt.create_columns": {"unique_id": "macro.dbt.create_columns", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/snapshots/helpers.sql", "original_file_path": "macros/materializations/snapshots/helpers.sql", "name": "create_columns", "macro_sql": "{% macro create_columns(relation, columns) %}\n {{ adapter.dispatch('create_columns', 'dbt')(relation, columns) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__create_columns"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.694481, "supported_languages": null}, "macro.dbt.default__create_columns": {"unique_id": "macro.dbt.default__create_columns", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/snapshots/helpers.sql", "original_file_path": "macros/materializations/snapshots/helpers.sql", "name": "default__create_columns", "macro_sql": "{% macro default__create_columns(relation, columns) %}\n {% for column in columns %}\n {% call statement() %}\n alter table {{ relation }} add column \"{{ column.name }}\" {{ column.data_type }};\n {% endcall %}\n {% endfor %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.694766, "supported_languages": null}, "macro.dbt.post_snapshot": {"unique_id": "macro.dbt.post_snapshot", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/snapshots/helpers.sql", "original_file_path": "macros/materializations/snapshots/helpers.sql", "name": "post_snapshot", "macro_sql": "{% macro post_snapshot(staging_relation) %}\n {{ adapter.dispatch('post_snapshot', 'dbt')(staging_relation) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__post_snapshot"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.694937, "supported_languages": null}, "macro.dbt.default__post_snapshot": {"unique_id": "macro.dbt.default__post_snapshot", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/snapshots/helpers.sql", "original_file_path": "macros/materializations/snapshots/helpers.sql", "name": "default__post_snapshot", "macro_sql": "{% macro default__post_snapshot(staging_relation) %}\n {# no-op #}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.695024, "supported_languages": null}, "macro.dbt.get_true_sql": {"unique_id": "macro.dbt.get_true_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/snapshots/helpers.sql", "original_file_path": "macros/materializations/snapshots/helpers.sql", "name": "get_true_sql", "macro_sql": "{% macro get_true_sql() %}\n {{ adapter.dispatch('get_true_sql', 'dbt')() }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__get_true_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.695174, "supported_languages": null}, "macro.dbt.default__get_true_sql": {"unique_id": "macro.dbt.default__get_true_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/snapshots/helpers.sql", "original_file_path": "macros/materializations/snapshots/helpers.sql", "name": "default__get_true_sql", "macro_sql": "{% macro default__get_true_sql() %}\n {{ return('TRUE') }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.6952891, "supported_languages": null}, "macro.dbt.snapshot_staging_table": {"unique_id": "macro.dbt.snapshot_staging_table", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/snapshots/helpers.sql", "original_file_path": "macros/materializations/snapshots/helpers.sql", "name": "snapshot_staging_table", "macro_sql": "{% macro snapshot_staging_table(strategy, source_sql, target_relation) -%}\n {{ adapter.dispatch('snapshot_staging_table', 'dbt')(strategy, source_sql, target_relation) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__snapshot_staging_table"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.6954901, "supported_languages": null}, "macro.dbt.default__snapshot_staging_table": {"unique_id": "macro.dbt.default__snapshot_staging_table", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/snapshots/helpers.sql", "original_file_path": "macros/materializations/snapshots/helpers.sql", "name": "default__snapshot_staging_table", "macro_sql": "{% macro default__snapshot_staging_table(strategy, source_sql, target_relation) -%}\n\n with snapshot_query as (\n\n {{ source_sql }}\n\n ),\n\n snapshotted_data as (\n\n select *,\n {{ strategy.unique_key }} as dbt_unique_key\n\n from {{ target_relation }}\n where dbt_valid_to is null\n\n ),\n\n insertions_source_data as (\n\n select\n *,\n {{ strategy.unique_key }} as dbt_unique_key,\n {{ strategy.updated_at }} as dbt_updated_at,\n {{ strategy.updated_at }} as dbt_valid_from,\n nullif({{ strategy.updated_at }}, {{ strategy.updated_at }}) as dbt_valid_to,\n {{ strategy.scd_id }} as dbt_scd_id\n\n from snapshot_query\n ),\n\n updates_source_data as (\n\n select\n *,\n {{ strategy.unique_key }} as dbt_unique_key,\n {{ strategy.updated_at }} as dbt_updated_at,\n {{ strategy.updated_at }} as dbt_valid_from,\n {{ strategy.updated_at }} as dbt_valid_to\n\n from snapshot_query\n ),\n\n {%- if strategy.invalidate_hard_deletes %}\n\n deletes_source_data as (\n\n select\n *,\n {{ strategy.unique_key }} as dbt_unique_key\n from snapshot_query\n ),\n {% endif %}\n\n insertions as (\n\n select\n 'insert' as dbt_change_type,\n source_data.*\n\n from insertions_source_data as source_data\n left outer join snapshotted_data on snapshotted_data.dbt_unique_key = source_data.dbt_unique_key\n where snapshotted_data.dbt_unique_key is null\n or (\n snapshotted_data.dbt_unique_key is not null\n and (\n {{ strategy.row_changed }}\n )\n )\n\n ),\n\n updates as (\n\n select\n 'update' as dbt_change_type,\n source_data.*,\n snapshotted_data.dbt_scd_id\n\n from updates_source_data as source_data\n join snapshotted_data on snapshotted_data.dbt_unique_key = source_data.dbt_unique_key\n where (\n {{ strategy.row_changed }}\n )\n )\n\n {%- if strategy.invalidate_hard_deletes -%}\n ,\n\n deletes as (\n\n select\n 'delete' as dbt_change_type,\n source_data.*,\n {{ snapshot_get_time() }} as dbt_valid_from,\n {{ snapshot_get_time() }} as dbt_updated_at,\n {{ snapshot_get_time() }} as dbt_valid_to,\n snapshotted_data.dbt_scd_id\n\n from snapshotted_data\n left join deletes_source_data as source_data on snapshotted_data.dbt_unique_key = source_data.dbt_unique_key\n where source_data.dbt_unique_key is null\n )\n {%- endif %}\n\n select * from insertions\n union all\n select * from updates\n {%- if strategy.invalidate_hard_deletes %}\n union all\n select * from deletes\n {%- endif %}\n\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.snapshot_get_time"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.696355, "supported_languages": null}, "macro.dbt.build_snapshot_table": {"unique_id": "macro.dbt.build_snapshot_table", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/snapshots/helpers.sql", "original_file_path": "macros/materializations/snapshots/helpers.sql", "name": "build_snapshot_table", "macro_sql": "{% macro build_snapshot_table(strategy, sql) -%}\n {{ adapter.dispatch('build_snapshot_table', 'dbt')(strategy, sql) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__build_snapshot_table"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.6965399, "supported_languages": null}, "macro.dbt.default__build_snapshot_table": {"unique_id": "macro.dbt.default__build_snapshot_table", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/snapshots/helpers.sql", "original_file_path": "macros/materializations/snapshots/helpers.sql", "name": "default__build_snapshot_table", "macro_sql": "{% macro default__build_snapshot_table(strategy, sql) %}\n\n select *,\n {{ strategy.scd_id }} as dbt_scd_id,\n {{ strategy.updated_at }} as dbt_updated_at,\n {{ strategy.updated_at }} as dbt_valid_from,\n nullif({{ strategy.updated_at }}, {{ strategy.updated_at }}) as dbt_valid_to\n from (\n {{ sql }}\n ) sbq\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.696785, "supported_languages": null}, "macro.dbt.build_snapshot_staging_table": {"unique_id": "macro.dbt.build_snapshot_staging_table", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/snapshots/helpers.sql", "original_file_path": "macros/materializations/snapshots/helpers.sql", "name": "build_snapshot_staging_table", "macro_sql": "{% macro build_snapshot_staging_table(strategy, sql, target_relation) %}\n {% set temp_relation = make_temp_relation(target_relation) %}\n\n {% set select = snapshot_staging_table(strategy, sql, target_relation) %}\n\n {% call statement('build_snapshot_staging_relation') %}\n {{ create_table_as(True, temp_relation, select) }}\n {% endcall %}\n\n {% do return(temp_relation) %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.make_temp_relation", "macro.dbt.snapshot_staging_table", "macro.dbt.statement", "macro.dbt.create_table_as"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.697212, "supported_languages": null}, "macro.dbt.materialization_snapshot_default": {"unique_id": "macro.dbt.materialization_snapshot_default", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/snapshots/snapshot.sql", "original_file_path": "macros/materializations/snapshots/snapshot.sql", "name": "materialization_snapshot_default", "macro_sql": "{% materialization snapshot, default %}\n {%- set config = model['config'] -%}\n\n {%- set target_table = model.get('alias', model.get('name')) -%}\n\n {%- set strategy_name = config.get('strategy') -%}\n {%- set unique_key = config.get('unique_key') %}\n -- grab current tables grants config for comparision later on\n {%- set grant_config = config.get('grants') -%}\n\n {% set target_relation_exists, target_relation = get_or_create_relation(\n database=model.database,\n schema=model.schema,\n identifier=target_table,\n type='table') -%}\n\n {%- if not target_relation.is_table -%}\n {% do exceptions.relation_wrong_type(target_relation, 'table') %}\n {%- endif -%}\n\n\n {{ run_hooks(pre_hooks, inside_transaction=False) }}\n\n {{ run_hooks(pre_hooks, inside_transaction=True) }}\n\n {% set strategy_macro = strategy_dispatch(strategy_name) %}\n {% set strategy = strategy_macro(model, \"snapshotted_data\", \"source_data\", config, target_relation_exists) %}\n\n {% if not target_relation_exists %}\n\n {% set build_sql = build_snapshot_table(strategy, model['compiled_code']) %}\n {% set final_sql = create_table_as(False, target_relation, build_sql) %}\n\n {% else %}\n\n {{ adapter.valid_snapshot_target(target_relation) }}\n\n {% set staging_table = build_snapshot_staging_table(strategy, sql, target_relation) %}\n\n -- this may no-op if the database does not require column expansion\n {% do adapter.expand_target_column_types(from_relation=staging_table,\n to_relation=target_relation) %}\n\n {% set missing_columns = adapter.get_missing_columns(staging_table, target_relation)\n | rejectattr('name', 'equalto', 'dbt_change_type')\n | rejectattr('name', 'equalto', 'DBT_CHANGE_TYPE')\n | rejectattr('name', 'equalto', 'dbt_unique_key')\n | rejectattr('name', 'equalto', 'DBT_UNIQUE_KEY')\n | list %}\n\n {% do create_columns(target_relation, missing_columns) %}\n\n {% set source_columns = adapter.get_columns_in_relation(staging_table)\n | rejectattr('name', 'equalto', 'dbt_change_type')\n | rejectattr('name', 'equalto', 'DBT_CHANGE_TYPE')\n | rejectattr('name', 'equalto', 'dbt_unique_key')\n | rejectattr('name', 'equalto', 'DBT_UNIQUE_KEY')\n | list %}\n\n {% set quoted_source_columns = [] %}\n {% for column in source_columns %}\n {% do quoted_source_columns.append(adapter.quote(column.name)) %}\n {% endfor %}\n\n {% set final_sql = snapshot_merge_sql(\n target = target_relation,\n source = staging_table,\n insert_cols = quoted_source_columns\n )\n %}\n\n {% endif %}\n\n {% call statement('main') %}\n {{ final_sql }}\n {% endcall %}\n\n {% set should_revoke = should_revoke(target_relation_exists, full_refresh_mode=False) %}\n {% do apply_grants(target_relation, grant_config, should_revoke=should_revoke) %}\n\n {% do persist_docs(target_relation, model) %}\n\n {% if not target_relation_exists %}\n {% do create_indexes(target_relation) %}\n {% endif %}\n\n {{ run_hooks(post_hooks, inside_transaction=True) }}\n\n {{ adapter.commit() }}\n\n {% if staging_table is defined %}\n {% do post_snapshot(staging_table) %}\n {% endif %}\n\n {{ run_hooks(post_hooks, inside_transaction=False) }}\n\n {{ return({'relations': [target_relation]}) }}\n\n{% endmaterialization %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.get_or_create_relation", "macro.dbt.run_hooks", "macro.dbt.strategy_dispatch", "macro.dbt.build_snapshot_table", "macro.dbt.create_table_as", "macro.dbt.build_snapshot_staging_table", "macro.dbt.create_columns", "macro.dbt.snapshot_merge_sql", "macro.dbt.statement", "macro.dbt.should_revoke", "macro.dbt.apply_grants", "macro.dbt.persist_docs", "macro.dbt.create_indexes", "macro.dbt.post_snapshot"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.726629, "supported_languages": ["sql"]}, "macro.dbt.materialization_test_default": {"unique_id": "macro.dbt.materialization_test_default", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/tests/test.sql", "original_file_path": "macros/materializations/tests/test.sql", "name": "materialization_test_default", "macro_sql": "{%- materialization test, default -%}\n\n {% set relations = [] %}\n\n {% if should_store_failures() %}\n\n {% set identifier = model['alias'] %}\n {% set old_relation = adapter.get_relation(database=database, schema=schema, identifier=identifier) %}\n {% set target_relation = api.Relation.create(\n identifier=identifier, schema=schema, database=database, type='table') -%} %}\n\n {% if old_relation %}\n {% do adapter.drop_relation(old_relation) %}\n {% endif %}\n\n {% call statement(auto_begin=True) %}\n {{ create_table_as(False, target_relation, sql) }}\n {% endcall %}\n\n {% do relations.append(target_relation) %}\n\n {% set main_sql %}\n select *\n from {{ target_relation }}\n {% endset %}\n\n {{ adapter.commit() }}\n\n {% else %}\n\n {% set main_sql = sql %}\n\n {% endif %}\n\n {% set limit = config.get('limit') %}\n {% set fail_calc = config.get('fail_calc') %}\n {% set warn_if = config.get('warn_if') %}\n {% set error_if = config.get('error_if') %}\n\n {% call statement('main', fetch_result=True) -%}\n\n {{ get_test_sql(main_sql, fail_calc, warn_if, error_if, limit)}}\n\n {%- endcall %}\n\n {{ return({'relations': relations}) }}\n\n{%- endmaterialization -%}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.should_store_failures", "macro.dbt.statement", "macro.dbt.create_table_as", "macro.dbt.get_test_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.728916, "supported_languages": ["sql"]}, "macro.dbt.get_test_sql": {"unique_id": "macro.dbt.get_test_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/tests/helpers.sql", "original_file_path": "macros/materializations/tests/helpers.sql", "name": "get_test_sql", "macro_sql": "{% macro get_test_sql(main_sql, fail_calc, warn_if, error_if, limit) -%}\n {{ adapter.dispatch('get_test_sql', 'dbt')(main_sql, fail_calc, warn_if, error_if, limit) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__get_test_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.729455, "supported_languages": null}, "macro.dbt.default__get_test_sql": {"unique_id": "macro.dbt.default__get_test_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/tests/helpers.sql", "original_file_path": "macros/materializations/tests/helpers.sql", "name": "default__get_test_sql", "macro_sql": "{% macro default__get_test_sql(main_sql, fail_calc, warn_if, error_if, limit) -%}\n select\n {{ fail_calc }} as failures,\n {{ fail_calc }} {{ warn_if }} as should_warn,\n {{ fail_calc }} {{ error_if }} as should_error\n from (\n {{ main_sql }}\n {{ \"limit \" ~ limit if limit != none }}\n ) dbt_internal_test\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.729763, "supported_languages": null}, "macro.dbt.get_where_subquery": {"unique_id": "macro.dbt.get_where_subquery", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/tests/where_subquery.sql", "original_file_path": "macros/materializations/tests/where_subquery.sql", "name": "get_where_subquery", "macro_sql": "{% macro get_where_subquery(relation) -%}\n {% do return(adapter.dispatch('get_where_subquery', 'dbt')(relation)) %}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__get_where_subquery"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.730211, "supported_languages": null}, "macro.dbt.default__get_where_subquery": {"unique_id": "macro.dbt.default__get_where_subquery", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/tests/where_subquery.sql", "original_file_path": "macros/materializations/tests/where_subquery.sql", "name": "default__get_where_subquery", "macro_sql": "{% macro default__get_where_subquery(relation) -%}\n {% set where = config.get('where', '') %}\n {% if where %}\n {%- set filtered -%}\n (select * from {{ relation }} where {{ where }}) dbt_subquery\n {%- endset -%}\n {% do return(filtered) %}\n {%- else -%}\n {% do return(relation) %}\n {%- endif -%}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.7305868, "supported_languages": null}, "macro.dbt.get_quoted_csv": {"unique_id": "macro.dbt.get_quoted_csv", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/models/incremental/column_helpers.sql", "original_file_path": "macros/materializations/models/incremental/column_helpers.sql", "name": "get_quoted_csv", "macro_sql": "{% macro get_quoted_csv(column_names) %}\n\n {% set quoted = [] %}\n {% for col in column_names -%}\n {%- do quoted.append(adapter.quote(col)) -%}\n {%- endfor %}\n\n {%- set dest_cols_csv = quoted | join(', ') -%}\n {{ return(dest_cols_csv) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.732136, "supported_languages": null}, "macro.dbt.diff_columns": {"unique_id": "macro.dbt.diff_columns", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/models/incremental/column_helpers.sql", "original_file_path": "macros/materializations/models/incremental/column_helpers.sql", "name": "diff_columns", "macro_sql": "{% macro diff_columns(source_columns, target_columns) %}\n\n {% set result = [] %}\n {% set source_names = source_columns | map(attribute = 'column') | list %}\n {% set target_names = target_columns | map(attribute = 'column') | list %}\n\n {# --check whether the name attribute exists in the target - this does not perform a data type check #}\n {% for sc in source_columns %}\n {% if sc.name not in target_names %}\n {{ result.append(sc) }}\n {% endif %}\n {% endfor %}\n\n {{ return(result) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.7326798, "supported_languages": null}, "macro.dbt.diff_column_data_types": {"unique_id": "macro.dbt.diff_column_data_types", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/models/incremental/column_helpers.sql", "original_file_path": "macros/materializations/models/incremental/column_helpers.sql", "name": "diff_column_data_types", "macro_sql": "{% macro diff_column_data_types(source_columns, target_columns) %}\n\n {% set result = [] %}\n {% for sc in source_columns %}\n {% set tc = target_columns | selectattr(\"name\", \"equalto\", sc.name) | list | first %}\n {% if tc %}\n {% if sc.data_type != tc.data_type and not sc.can_expand_to(other_column=tc) %}\n {{ result.append( { 'column_name': tc.name, 'new_type': sc.data_type } ) }}\n {% endif %}\n {% endif %}\n {% endfor %}\n\n {{ return(result) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.7333481, "supported_languages": null}, "macro.dbt.get_merge_update_columns": {"unique_id": "macro.dbt.get_merge_update_columns", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/models/incremental/column_helpers.sql", "original_file_path": "macros/materializations/models/incremental/column_helpers.sql", "name": "get_merge_update_columns", "macro_sql": "{% macro get_merge_update_columns(merge_update_columns, merge_exclude_columns, dest_columns) %}\n {{ return(adapter.dispatch('get_merge_update_columns', 'dbt')(merge_update_columns, merge_exclude_columns, dest_columns)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__get_merge_update_columns"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.733582, "supported_languages": null}, "macro.dbt.default__get_merge_update_columns": {"unique_id": "macro.dbt.default__get_merge_update_columns", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/models/incremental/column_helpers.sql", "original_file_path": "macros/materializations/models/incremental/column_helpers.sql", "name": "default__get_merge_update_columns", "macro_sql": "{% macro default__get_merge_update_columns(merge_update_columns, merge_exclude_columns, dest_columns) %}\n {%- set default_cols = dest_columns | map(attribute=\"quoted\") | list -%}\n\n {%- if merge_update_columns and merge_exclude_columns -%}\n {{ exceptions.raise_compiler_error(\n 'Model cannot specify merge_update_columns and merge_exclude_columns. Please update model to use only one config'\n )}}\n {%- elif merge_update_columns -%}\n {%- set update_columns = merge_update_columns -%}\n {%- elif merge_exclude_columns -%}\n {%- set update_columns = [] -%}\n {%- for column in dest_columns -%}\n {% if column.column | lower not in merge_exclude_columns | map(\"lower\") | list %}\n {%- do update_columns.append(column.quoted) -%}\n {% endif %}\n {%- endfor -%}\n {%- else -%}\n {%- set update_columns = default_cols -%}\n {%- endif -%}\n\n {{ return(update_columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.734277, "supported_languages": null}, "macro.dbt.get_merge_sql": {"unique_id": "macro.dbt.get_merge_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/models/incremental/merge.sql", "original_file_path": "macros/materializations/models/incremental/merge.sql", "name": "get_merge_sql", "macro_sql": "{% macro get_merge_sql(target, source, unique_key, dest_columns, predicates=none) -%}\n {{ adapter.dispatch('get_merge_sql', 'dbt')(target, source, unique_key, dest_columns, predicates) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__get_merge_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.738507, "supported_languages": null}, "macro.dbt.default__get_merge_sql": {"unique_id": "macro.dbt.default__get_merge_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/models/incremental/merge.sql", "original_file_path": "macros/materializations/models/incremental/merge.sql", "name": "default__get_merge_sql", "macro_sql": "{% macro default__get_merge_sql(target, source, unique_key, dest_columns, predicates) -%}\n {%- set predicates = [] if predicates is none else [] + predicates -%}\n {%- set dest_cols_csv = get_quoted_csv(dest_columns | map(attribute=\"name\")) -%}\n {%- set merge_update_columns = config.get('merge_update_columns') -%}\n {%- set merge_exclude_columns = config.get('merge_exclude_columns') -%}\n {%- set update_columns = get_merge_update_columns(merge_update_columns, merge_exclude_columns, dest_columns) -%}\n {%- set sql_header = config.get('sql_header', none) -%}\n\n {% if unique_key %}\n {% if unique_key is sequence and unique_key is not mapping and unique_key is not string %}\n {% for key in unique_key %}\n {% set this_key_match %}\n DBT_INTERNAL_SOURCE.{{ key }} = DBT_INTERNAL_DEST.{{ key }}\n {% endset %}\n {% do predicates.append(this_key_match) %}\n {% endfor %}\n {% else %}\n {% set unique_key_match %}\n DBT_INTERNAL_SOURCE.{{ unique_key }} = DBT_INTERNAL_DEST.{{ unique_key }}\n {% endset %}\n {% do predicates.append(unique_key_match) %}\n {% endif %}\n {% else %}\n {% do predicates.append('FALSE') %}\n {% endif %}\n\n {{ sql_header if sql_header is not none }}\n\n merge into {{ target }} as DBT_INTERNAL_DEST\n using {{ source }} as DBT_INTERNAL_SOURCE\n on {{ predicates | join(' and ') }}\n\n {% if unique_key %}\n when matched then update set\n {% for column_name in update_columns -%}\n {{ column_name }} = DBT_INTERNAL_SOURCE.{{ column_name }}\n {%- if not loop.last %}, {%- endif %}\n {%- endfor %}\n {% endif %}\n\n when not matched then insert\n ({{ dest_cols_csv }})\n values\n ({{ dest_cols_csv }})\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.get_quoted_csv", "macro.dbt.get_merge_update_columns"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.740128, "supported_languages": null}, "macro.dbt.get_delete_insert_merge_sql": {"unique_id": "macro.dbt.get_delete_insert_merge_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/models/incremental/merge.sql", "original_file_path": "macros/materializations/models/incremental/merge.sql", "name": "get_delete_insert_merge_sql", "macro_sql": "{% macro get_delete_insert_merge_sql(target, source, unique_key, dest_columns) -%}\n {{ adapter.dispatch('get_delete_insert_merge_sql', 'dbt')(target, source, unique_key, dest_columns) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__get_delete_insert_merge_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.740376, "supported_languages": null}, "macro.dbt.default__get_delete_insert_merge_sql": {"unique_id": "macro.dbt.default__get_delete_insert_merge_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/models/incremental/merge.sql", "original_file_path": "macros/materializations/models/incremental/merge.sql", "name": "default__get_delete_insert_merge_sql", "macro_sql": "{% macro default__get_delete_insert_merge_sql(target, source, unique_key, dest_columns) -%}\n\n {%- set dest_cols_csv = get_quoted_csv(dest_columns | map(attribute=\"name\")) -%}\n\n {% if unique_key %}\n {% if unique_key is sequence and unique_key is not string %}\n delete from {{target }}\n using {{ source }}\n where (\n {% for key in unique_key %}\n {{ source }}.{{ key }} = {{ target }}.{{ key }}\n {{ \"and \" if not loop.last }}\n {% endfor %}\n );\n {% else %}\n delete from {{ target }}\n where (\n {{ unique_key }}) in (\n select ({{ unique_key }})\n from {{ source }}\n );\n\n {% endif %}\n {% endif %}\n\n insert into {{ target }} ({{ dest_cols_csv }})\n (\n select {{ dest_cols_csv }}\n from {{ source }}\n )\n\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.get_quoted_csv"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.741112, "supported_languages": null}, "macro.dbt.get_insert_overwrite_merge_sql": {"unique_id": "macro.dbt.get_insert_overwrite_merge_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/models/incremental/merge.sql", "original_file_path": "macros/materializations/models/incremental/merge.sql", "name": "get_insert_overwrite_merge_sql", "macro_sql": "{% macro get_insert_overwrite_merge_sql(target, source, dest_columns, predicates, include_sql_header=false) -%}\n {{ adapter.dispatch('get_insert_overwrite_merge_sql', 'dbt')(target, source, dest_columns, predicates, include_sql_header) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__get_insert_overwrite_merge_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.741377, "supported_languages": null}, "macro.dbt.default__get_insert_overwrite_merge_sql": {"unique_id": "macro.dbt.default__get_insert_overwrite_merge_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/models/incremental/merge.sql", "original_file_path": "macros/materializations/models/incremental/merge.sql", "name": "default__get_insert_overwrite_merge_sql", "macro_sql": "{% macro default__get_insert_overwrite_merge_sql(target, source, dest_columns, predicates, include_sql_header) -%}\n {#-- The only time include_sql_header is True: --#}\n {#-- BigQuery + insert_overwrite strategy + \"static\" partitions config --#}\n {#-- We should consider including the sql header at the materialization level instead --#}\n\n {%- set predicates = [] if predicates is none else [] + predicates -%}\n {%- set dest_cols_csv = get_quoted_csv(dest_columns | map(attribute=\"name\")) -%}\n {%- set sql_header = config.get('sql_header', none) -%}\n\n {{ sql_header if sql_header is not none and include_sql_header }}\n\n merge into {{ target }} as DBT_INTERNAL_DEST\n using {{ source }} as DBT_INTERNAL_SOURCE\n on FALSE\n\n when not matched by source\n {% if predicates %} and {{ predicates | join(' and ') }} {% endif %}\n then delete\n\n when not matched then insert\n ({{ dest_cols_csv }})\n values\n ({{ dest_cols_csv }})\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.get_quoted_csv"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.742014, "supported_languages": null}, "macro.dbt.is_incremental": {"unique_id": "macro.dbt.is_incremental", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/models/incremental/is_incremental.sql", "original_file_path": "macros/materializations/models/incremental/is_incremental.sql", "name": "is_incremental", "macro_sql": "{% macro is_incremental() %}\n {#-- do not run introspective queries in parsing #}\n {% if not execute %}\n {{ return(False) }}\n {% else %}\n {% set relation = adapter.get_relation(this.database, this.schema, this.table) %}\n {{ return(relation is not none\n and relation.type == 'table'\n and model.config.materialized == 'incremental'\n and not should_full_refresh()) }}\n {% endif %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.should_full_refresh"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.742715, "supported_languages": null}, "macro.dbt.get_incremental_append_sql": {"unique_id": "macro.dbt.get_incremental_append_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/models/incremental/strategies.sql", "original_file_path": "macros/materializations/models/incremental/strategies.sql", "name": "get_incremental_append_sql", "macro_sql": "{% macro get_incremental_append_sql(arg_dict) %}\n\n {{ return(adapter.dispatch('get_incremental_append_sql', 'dbt')(arg_dict)) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__get_incremental_append_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.743627, "supported_languages": null}, "macro.dbt.default__get_incremental_append_sql": {"unique_id": "macro.dbt.default__get_incremental_append_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/models/incremental/strategies.sql", "original_file_path": "macros/materializations/models/incremental/strategies.sql", "name": "default__get_incremental_append_sql", "macro_sql": "{% macro default__get_incremental_append_sql(arg_dict) %}\n\n {% do return(get_insert_into_sql(arg_dict[\"target_relation\"], arg_dict[\"temp_relation\"], arg_dict[\"dest_columns\"])) %}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.get_insert_into_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.743863, "supported_languages": null}, "macro.dbt.get_incremental_delete_insert_sql": {"unique_id": "macro.dbt.get_incremental_delete_insert_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/models/incremental/strategies.sql", "original_file_path": "macros/materializations/models/incremental/strategies.sql", "name": "get_incremental_delete_insert_sql", "macro_sql": "{% macro get_incremental_delete_insert_sql(arg_dict) %}\n\n {{ return(adapter.dispatch('get_incremental_delete_insert_sql', 'dbt')(arg_dict)) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__get_incremental_delete_insert_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.7440472, "supported_languages": null}, "macro.dbt.default__get_incremental_delete_insert_sql": {"unique_id": "macro.dbt.default__get_incremental_delete_insert_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/models/incremental/strategies.sql", "original_file_path": "macros/materializations/models/incremental/strategies.sql", "name": "default__get_incremental_delete_insert_sql", "macro_sql": "{% macro default__get_incremental_delete_insert_sql(arg_dict) %}\n\n {% do return(get_delete_insert_merge_sql(arg_dict[\"target_relation\"], arg_dict[\"temp_relation\"], arg_dict[\"unique_key\"], arg_dict[\"dest_columns\"])) %}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.get_delete_insert_merge_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.744303, "supported_languages": null}, "macro.dbt.get_incremental_merge_sql": {"unique_id": "macro.dbt.get_incremental_merge_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/models/incremental/strategies.sql", "original_file_path": "macros/materializations/models/incremental/strategies.sql", "name": "get_incremental_merge_sql", "macro_sql": "{% macro get_incremental_merge_sql(arg_dict) %}\n\n {{ return(adapter.dispatch('get_incremental_merge_sql', 'dbt')(arg_dict)) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__get_incremental_merge_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.7444851, "supported_languages": null}, "macro.dbt.default__get_incremental_merge_sql": {"unique_id": "macro.dbt.default__get_incremental_merge_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/models/incremental/strategies.sql", "original_file_path": "macros/materializations/models/incremental/strategies.sql", "name": "default__get_incremental_merge_sql", "macro_sql": "{% macro default__get_incremental_merge_sql(arg_dict) %}\n\n {% do return(get_merge_sql(arg_dict[\"target_relation\"], arg_dict[\"temp_relation\"], arg_dict[\"unique_key\"], arg_dict[\"dest_columns\"])) %}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.get_merge_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.7447412, "supported_languages": null}, "macro.dbt.get_incremental_insert_overwrite_sql": {"unique_id": "macro.dbt.get_incremental_insert_overwrite_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/models/incremental/strategies.sql", "original_file_path": "macros/materializations/models/incremental/strategies.sql", "name": "get_incremental_insert_overwrite_sql", "macro_sql": "{% macro get_incremental_insert_overwrite_sql(arg_dict) %}\n\n {{ return(adapter.dispatch('get_incremental_insert_overwrite_sql', 'dbt')(arg_dict)) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__get_incremental_insert_overwrite_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.744928, "supported_languages": null}, "macro.dbt.default__get_incremental_insert_overwrite_sql": {"unique_id": "macro.dbt.default__get_incremental_insert_overwrite_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/models/incremental/strategies.sql", "original_file_path": "macros/materializations/models/incremental/strategies.sql", "name": "default__get_incremental_insert_overwrite_sql", "macro_sql": "{% macro default__get_incremental_insert_overwrite_sql(arg_dict) %}\n\n {% do return(get_insert_overwrite_merge_sql(arg_dict[\"target_relation\"], arg_dict[\"temp_relation\"], arg_dict[\"dest_columns\"], arg_dict[\"predicates\"])) %}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.get_insert_overwrite_merge_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.745197, "supported_languages": null}, "macro.dbt.get_incremental_default_sql": {"unique_id": "macro.dbt.get_incremental_default_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/models/incremental/strategies.sql", "original_file_path": "macros/materializations/models/incremental/strategies.sql", "name": "get_incremental_default_sql", "macro_sql": "{% macro get_incremental_default_sql(arg_dict) %}\n\n {{ return(adapter.dispatch('get_incremental_default_sql', 'dbt')(arg_dict)) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_postgres.postgres__get_incremental_default_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.745388, "supported_languages": null}, "macro.dbt.default__get_incremental_default_sql": {"unique_id": "macro.dbt.default__get_incremental_default_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/models/incremental/strategies.sql", "original_file_path": "macros/materializations/models/incremental/strategies.sql", "name": "default__get_incremental_default_sql", "macro_sql": "{% macro default__get_incremental_default_sql(arg_dict) %}\n\n {% do return(get_incremental_append_sql(arg_dict)) %}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.get_incremental_append_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.745536, "supported_languages": null}, "macro.dbt.get_insert_into_sql": {"unique_id": "macro.dbt.get_insert_into_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/models/incremental/strategies.sql", "original_file_path": "macros/materializations/models/incremental/strategies.sql", "name": "get_insert_into_sql", "macro_sql": "{% macro get_insert_into_sql(target_relation, temp_relation, dest_columns) %}\n\n {%- set dest_cols_csv = get_quoted_csv(dest_columns | map(attribute=\"name\")) -%}\n\n insert into {{ target_relation }} ({{ dest_cols_csv }})\n (\n select {{ dest_cols_csv }}\n from {{ temp_relation }}\n )\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.get_quoted_csv"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.745812, "supported_languages": null}, "macro.dbt.materialization_incremental_default": {"unique_id": "macro.dbt.materialization_incremental_default", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/models/incremental/incremental.sql", "original_file_path": "macros/materializations/models/incremental/incremental.sql", "name": "materialization_incremental_default", "macro_sql": "{% materialization incremental, default -%}\n\n -- relations\n {%- set existing_relation = load_cached_relation(this) -%}\n {%- set target_relation = this.incorporate(type='table') -%}\n {%- set temp_relation = make_temp_relation(target_relation)-%}\n {%- set intermediate_relation = make_intermediate_relation(target_relation)-%}\n {%- set backup_relation_type = 'table' if existing_relation is none else existing_relation.type -%}\n {%- set backup_relation = make_backup_relation(target_relation, backup_relation_type) -%}\n\n -- configs\n {%- set unique_key = config.get('unique_key') -%}\n {%- set full_refresh_mode = (should_full_refresh() or existing_relation.is_view) -%}\n {%- set on_schema_change = incremental_validate_on_schema_change(config.get('on_schema_change'), default='ignore') -%}\n\n -- the temp_ and backup_ relations should not already exist in the database; get_relation\n -- will return None in that case. Otherwise, we get a relation that we can drop\n -- later, before we try to use this name for the current operation. This has to happen before\n -- BEGIN, in a separate transaction\n {%- set preexisting_intermediate_relation = load_cached_relation(intermediate_relation)-%}\n {%- set preexisting_backup_relation = load_cached_relation(backup_relation) -%}\n -- grab current tables grants config for comparision later on\n {% set grant_config = config.get('grants') %}\n {{ drop_relation_if_exists(preexisting_intermediate_relation) }}\n {{ drop_relation_if_exists(preexisting_backup_relation) }}\n\n {{ run_hooks(pre_hooks, inside_transaction=False) }}\n\n -- `BEGIN` happens here:\n {{ run_hooks(pre_hooks, inside_transaction=True) }}\n\n {% set to_drop = [] %}\n\n {% if existing_relation is none %}\n {% set build_sql = get_create_table_as_sql(False, target_relation, sql) %}\n {% elif full_refresh_mode %}\n {% set build_sql = get_create_table_as_sql(False, intermediate_relation, sql) %}\n {% set need_swap = true %}\n {% else %}\n {% do run_query(get_create_table_as_sql(True, temp_relation, sql)) %}\n {% do adapter.expand_target_column_types(\n from_relation=temp_relation,\n to_relation=target_relation) %}\n {#-- Process schema changes. Returns dict of changes if successful. Use source columns for upserting/merging --#}\n {% set dest_columns = process_schema_changes(on_schema_change, temp_relation, existing_relation) %}\n {% if not dest_columns %}\n {% set dest_columns = adapter.get_columns_in_relation(existing_relation) %}\n {% endif %}\n\n {#-- Get the incremental_strategy, the macro to use for the strategy, and build the sql --#}\n {% set incremental_strategy = config.get('incremental_strategy') or 'default' %}\n {% set incremental_predicates = config.get('incremental_predicates', none) %}\n {% set strategy_sql_macro_func = adapter.get_incremental_strategy_macro(context, incremental_strategy) %}\n {% set strategy_arg_dict = ({'target_relation': target_relation, 'temp_relation': temp_relation, 'unique_key': unique_key, 'dest_columns': dest_columns, 'predicates': incremental_predicates }) %}\n {% set build_sql = strategy_sql_macro_func(strategy_arg_dict) %}\n\n {% endif %}\n\n {% call statement(\"main\") %}\n {{ build_sql }}\n {% endcall %}\n\n {% if need_swap %}\n {% do adapter.rename_relation(target_relation, backup_relation) %}\n {% do adapter.rename_relation(intermediate_relation, target_relation) %}\n {% do to_drop.append(backup_relation) %}\n {% endif %}\n\n {% set should_revoke = should_revoke(existing_relation, full_refresh_mode) %}\n {% do apply_grants(target_relation, grant_config, should_revoke=should_revoke) %}\n\n {% do persist_docs(target_relation, model) %}\n\n {% if existing_relation is none or existing_relation.is_view or should_full_refresh() %}\n {% do create_indexes(target_relation) %}\n {% endif %}\n\n {{ run_hooks(post_hooks, inside_transaction=True) }}\n\n -- `COMMIT` happens here\n {% do adapter.commit() %}\n\n {% for rel in to_drop %}\n {% do adapter.drop_relation(rel) %}\n {% endfor %}\n\n {{ run_hooks(post_hooks, inside_transaction=False) }}\n\n {{ return({'relations': [target_relation]}) }}\n\n{%- endmaterialization %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.load_cached_relation", "macro.dbt.make_temp_relation", "macro.dbt.make_intermediate_relation", "macro.dbt.make_backup_relation", "macro.dbt.should_full_refresh", "macro.dbt.incremental_validate_on_schema_change", "macro.dbt.drop_relation_if_exists", "macro.dbt.run_hooks", "macro.dbt.get_create_table_as_sql", "macro.dbt.run_query", "macro.dbt.process_schema_changes", "macro.dbt.statement", "macro.dbt.should_revoke", "macro.dbt.apply_grants", "macro.dbt.persist_docs", "macro.dbt.create_indexes"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.7506502, "supported_languages": ["sql"]}, "macro.dbt.incremental_validate_on_schema_change": {"unique_id": "macro.dbt.incremental_validate_on_schema_change", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/models/incremental/on_schema_change.sql", "original_file_path": "macros/materializations/models/incremental/on_schema_change.sql", "name": "incremental_validate_on_schema_change", "macro_sql": "{% macro incremental_validate_on_schema_change(on_schema_change, default='ignore') %}\n\n {% if on_schema_change not in ['sync_all_columns', 'append_new_columns', 'fail', 'ignore'] %}\n\n {% set log_message = 'Invalid value for on_schema_change (%s) specified. Setting default value of %s.' % (on_schema_change, default) %}\n {% do log(log_message) %}\n\n {{ return(default) }}\n\n {% else %}\n\n {{ return(on_schema_change) }}\n\n {% endif %}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.7558022, "supported_languages": null}, "macro.dbt.check_for_schema_changes": {"unique_id": "macro.dbt.check_for_schema_changes", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/models/incremental/on_schema_change.sql", "original_file_path": "macros/materializations/models/incremental/on_schema_change.sql", "name": "check_for_schema_changes", "macro_sql": "{% macro check_for_schema_changes(source_relation, target_relation) %}\n\n {% set schema_changed = False %}\n\n {%- set source_columns = adapter.get_columns_in_relation(source_relation) -%}\n {%- set target_columns = adapter.get_columns_in_relation(target_relation) -%}\n {%- set source_not_in_target = diff_columns(source_columns, target_columns) -%}\n {%- set target_not_in_source = diff_columns(target_columns, source_columns) -%}\n\n {% set new_target_types = diff_column_data_types(source_columns, target_columns) %}\n\n {% if source_not_in_target != [] %}\n {% set schema_changed = True %}\n {% elif target_not_in_source != [] or new_target_types != [] %}\n {% set schema_changed = True %}\n {% elif new_target_types != [] %}\n {% set schema_changed = True %}\n {% endif %}\n\n {% set changes_dict = {\n 'schema_changed': schema_changed,\n 'source_not_in_target': source_not_in_target,\n 'target_not_in_source': target_not_in_source,\n 'source_columns': source_columns,\n 'target_columns': target_columns,\n 'new_target_types': new_target_types\n } %}\n\n {% set msg %}\n In {{ target_relation }}:\n Schema changed: {{ schema_changed }}\n Source columns not in target: {{ source_not_in_target }}\n Target columns not in source: {{ target_not_in_source }}\n New column types: {{ new_target_types }}\n {% endset %}\n\n {% do log(msg) %}\n\n {{ return(changes_dict) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.diff_columns", "macro.dbt.diff_column_data_types"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.757011, "supported_languages": null}, "macro.dbt.sync_column_schemas": {"unique_id": "macro.dbt.sync_column_schemas", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/models/incremental/on_schema_change.sql", "original_file_path": "macros/materializations/models/incremental/on_schema_change.sql", "name": "sync_column_schemas", "macro_sql": "{% macro sync_column_schemas(on_schema_change, target_relation, schema_changes_dict) %}\n\n {%- set add_to_target_arr = schema_changes_dict['source_not_in_target'] -%}\n\n {%- if on_schema_change == 'append_new_columns'-%}\n {%- if add_to_target_arr | length > 0 -%}\n {%- do alter_relation_add_remove_columns(target_relation, add_to_target_arr, none) -%}\n {%- endif -%}\n\n {% elif on_schema_change == 'sync_all_columns' %}\n {%- set remove_from_target_arr = schema_changes_dict['target_not_in_source'] -%}\n {%- set new_target_types = schema_changes_dict['new_target_types'] -%}\n\n {% if add_to_target_arr | length > 0 or remove_from_target_arr | length > 0 %}\n {%- do alter_relation_add_remove_columns(target_relation, add_to_target_arr, remove_from_target_arr) -%}\n {% endif %}\n\n {% if new_target_types != [] %}\n {% for ntt in new_target_types %}\n {% set column_name = ntt['column_name'] %}\n {% set new_type = ntt['new_type'] %}\n {% do alter_column_type(target_relation, column_name, new_type) %}\n {% endfor %}\n {% endif %}\n\n {% endif %}\n\n {% set schema_change_message %}\n In {{ target_relation }}:\n Schema change approach: {{ on_schema_change }}\n Columns added: {{ add_to_target_arr }}\n Columns removed: {{ remove_from_target_arr }}\n Data types changed: {{ new_target_types }}\n {% endset %}\n\n {% do log(schema_change_message) %}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.alter_relation_add_remove_columns", "macro.dbt.alter_column_type"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.758191, "supported_languages": null}, "macro.dbt.process_schema_changes": {"unique_id": "macro.dbt.process_schema_changes", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/models/incremental/on_schema_change.sql", "original_file_path": "macros/materializations/models/incremental/on_schema_change.sql", "name": "process_schema_changes", "macro_sql": "{% macro process_schema_changes(on_schema_change, source_relation, target_relation) %}\n\n {% if on_schema_change == 'ignore' %}\n\n {{ return({}) }}\n\n {% else %}\n\n {% set schema_changes_dict = check_for_schema_changes(source_relation, target_relation) %}\n\n {% if schema_changes_dict['schema_changed'] %}\n\n {% if on_schema_change == 'fail' %}\n\n {% set fail_msg %}\n The source and target schemas on this incremental model are out of sync!\n They can be reconciled in several ways:\n - set the `on_schema_change` config to either append_new_columns or sync_all_columns, depending on your situation.\n - Re-run the incremental model with `full_refresh: True` to update the target schema.\n - update the schema manually and re-run the process.\n\n Additional troubleshooting context:\n Source columns not in target: {{ schema_changes_dict['source_not_in_target'] }}\n Target columns not in source: {{ schema_changes_dict['target_not_in_source'] }}\n New column types: {{ schema_changes_dict['new_target_types'] }}\n {% endset %}\n\n {% do exceptions.raise_compiler_error(fail_msg) %}\n\n {# -- unless we ignore, run the sync operation per the config #}\n {% else %}\n\n {% do sync_column_schemas(on_schema_change, target_relation, schema_changes_dict) %}\n\n {% endif %}\n\n {% endif %}\n\n {{ return(schema_changes_dict['source_columns']) }}\n\n {% endif %}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.check_for_schema_changes", "macro.dbt.sync_column_schemas"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.759042, "supported_languages": null}, "macro.dbt.materialization_table_default": {"unique_id": "macro.dbt.materialization_table_default", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/models/table/table.sql", "original_file_path": "macros/materializations/models/table/table.sql", "name": "materialization_table_default", "macro_sql": "{% materialization table, default %}\n\n {%- set existing_relation = load_cached_relation(this) -%}\n {%- set target_relation = this.incorporate(type='table') %}\n {%- set intermediate_relation = make_intermediate_relation(target_relation) -%}\n -- the intermediate_relation should not already exist in the database; get_relation\n -- will return None in that case. Otherwise, we get a relation that we can drop\n -- later, before we try to use this name for the current operation\n {%- set preexisting_intermediate_relation = load_cached_relation(intermediate_relation) -%}\n /*\n See ../view/view.sql for more information about this relation.\n */\n {%- set backup_relation_type = 'table' if existing_relation is none else existing_relation.type -%}\n {%- set backup_relation = make_backup_relation(target_relation, backup_relation_type) -%}\n -- as above, the backup_relation should not already exist\n {%- set preexisting_backup_relation = load_cached_relation(backup_relation) -%}\n -- grab current tables grants config for comparision later on\n {% set grant_config = config.get('grants') %}\n\n -- drop the temp relations if they exist already in the database\n {{ drop_relation_if_exists(preexisting_intermediate_relation) }}\n {{ drop_relation_if_exists(preexisting_backup_relation) }}\n\n {{ run_hooks(pre_hooks, inside_transaction=False) }}\n\n -- `BEGIN` happens here:\n {{ run_hooks(pre_hooks, inside_transaction=True) }}\n\n -- build model\n {% call statement('main') -%}\n {{ get_create_table_as_sql(False, intermediate_relation, sql) }}\n {%- endcall %}\n\n -- cleanup\n {% if existing_relation is not none %}\n {{ adapter.rename_relation(existing_relation, backup_relation) }}\n {% endif %}\n\n {{ adapter.rename_relation(intermediate_relation, target_relation) }}\n\n {% do create_indexes(target_relation) %}\n\n {{ run_hooks(post_hooks, inside_transaction=True) }}\n\n {% set should_revoke = should_revoke(existing_relation, full_refresh_mode=True) %}\n {% do apply_grants(target_relation, grant_config, should_revoke=should_revoke) %}\n\n {% do persist_docs(target_relation, model) %}\n\n -- `COMMIT` happens here\n {{ adapter.commit() }}\n\n -- finally, drop the existing/backup relation after the commit\n {{ drop_relation_if_exists(backup_relation) }}\n\n {{ run_hooks(post_hooks, inside_transaction=False) }}\n\n {{ return({'relations': [target_relation]}) }}\n{% endmaterialization %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.load_cached_relation", "macro.dbt.make_intermediate_relation", "macro.dbt.make_backup_relation", "macro.dbt.drop_relation_if_exists", "macro.dbt.run_hooks", "macro.dbt.statement", "macro.dbt.get_create_table_as_sql", "macro.dbt.create_indexes", "macro.dbt.should_revoke", "macro.dbt.apply_grants", "macro.dbt.persist_docs"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.761678, "supported_languages": ["sql"]}, "macro.dbt.get_create_table_as_sql": {"unique_id": "macro.dbt.get_create_table_as_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/models/table/create_table_as.sql", "original_file_path": "macros/materializations/models/table/create_table_as.sql", "name": "get_create_table_as_sql", "macro_sql": "{% macro get_create_table_as_sql(temporary, relation, sql) -%}\n {{ adapter.dispatch('get_create_table_as_sql', 'dbt')(temporary, relation, sql) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__get_create_table_as_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.762259, "supported_languages": null}, "macro.dbt.default__get_create_table_as_sql": {"unique_id": "macro.dbt.default__get_create_table_as_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/models/table/create_table_as.sql", "original_file_path": "macros/materializations/models/table/create_table_as.sql", "name": "default__get_create_table_as_sql", "macro_sql": "{% macro default__get_create_table_as_sql(temporary, relation, sql) -%}\n {{ return(create_table_as(temporary, relation, sql)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.create_table_as"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.7624478, "supported_languages": null}, "macro.dbt.create_table_as": {"unique_id": "macro.dbt.create_table_as", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/models/table/create_table_as.sql", "original_file_path": "macros/materializations/models/table/create_table_as.sql", "name": "create_table_as", "macro_sql": "{% macro create_table_as(temporary, relation, compiled_code, language='sql') -%}\n {# backward compatibility for create_table_as that does not support language #}\n {% if language == \"sql\" %}\n {{ adapter.dispatch('create_table_as', 'dbt')(temporary, relation, compiled_code)}}\n {% else %}\n {{ adapter.dispatch('create_table_as', 'dbt')(temporary, relation, compiled_code, language) }}\n {% endif %}\n\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_postgres.postgres__create_table_as"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.762878, "supported_languages": null}, "macro.dbt.default__create_table_as": {"unique_id": "macro.dbt.default__create_table_as", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/models/table/create_table_as.sql", "original_file_path": "macros/materializations/models/table/create_table_as.sql", "name": "default__create_table_as", "macro_sql": "{% macro default__create_table_as(temporary, relation, sql) -%}\n {%- set sql_header = config.get('sql_header', none) -%}\n\n {{ sql_header if sql_header is not none }}\n\n create {% if temporary: -%}temporary{%- endif %} table\n {{ relation.include(database=(not temporary), schema=(not temporary)) }}\n as (\n {{ sql }}\n );\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.7632902, "supported_languages": null}, "macro.dbt.materialization_view_default": {"unique_id": "macro.dbt.materialization_view_default", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/models/view/view.sql", "original_file_path": "macros/materializations/models/view/view.sql", "name": "materialization_view_default", "macro_sql": "{%- materialization view, default -%}\n\n {%- set existing_relation = load_cached_relation(this) -%}\n {%- set target_relation = this.incorporate(type='view') -%}\n {%- set intermediate_relation = make_intermediate_relation(target_relation) -%}\n\n -- the intermediate_relation should not already exist in the database; get_relation\n -- will return None in that case. Otherwise, we get a relation that we can drop\n -- later, before we try to use this name for the current operation\n {%- set preexisting_intermediate_relation = load_cached_relation(intermediate_relation) -%}\n /*\n This relation (probably) doesn't exist yet. If it does exist, it's a leftover from\n a previous run, and we're going to try to drop it immediately. At the end of this\n materialization, we're going to rename the \"existing_relation\" to this identifier,\n and then we're going to drop it. In order to make sure we run the correct one of:\n - drop view ...\n - drop table ...\n\n We need to set the type of this relation to be the type of the existing_relation, if it exists,\n or else \"view\" as a sane default if it does not. Note that if the existing_relation does not\n exist, then there is nothing to move out of the way and subsequentally drop. In that case,\n this relation will be effectively unused.\n */\n {%- set backup_relation_type = 'view' if existing_relation is none else existing_relation.type -%}\n {%- set backup_relation = make_backup_relation(target_relation, backup_relation_type) -%}\n -- as above, the backup_relation should not already exist\n {%- set preexisting_backup_relation = load_cached_relation(backup_relation) -%}\n -- grab current tables grants config for comparision later on\n {% set grant_config = config.get('grants') %}\n\n {{ run_hooks(pre_hooks, inside_transaction=False) }}\n\n -- drop the temp relations if they exist already in the database\n {{ drop_relation_if_exists(preexisting_intermediate_relation) }}\n {{ drop_relation_if_exists(preexisting_backup_relation) }}\n\n -- `BEGIN` happens here:\n {{ run_hooks(pre_hooks, inside_transaction=True) }}\n\n -- build model\n {% call statement('main') -%}\n {{ get_create_view_as_sql(intermediate_relation, sql) }}\n {%- endcall %}\n\n -- cleanup\n -- move the existing view out of the way\n {% if existing_relation is not none %}\n {{ adapter.rename_relation(existing_relation, backup_relation) }}\n {% endif %}\n {{ adapter.rename_relation(intermediate_relation, target_relation) }}\n\n {% set should_revoke = should_revoke(existing_relation, full_refresh_mode=True) %}\n {% do apply_grants(target_relation, grant_config, should_revoke=should_revoke) %}\n\n {% do persist_docs(target_relation, model) %}\n\n {{ run_hooks(post_hooks, inside_transaction=True) }}\n\n {{ adapter.commit() }}\n\n {{ drop_relation_if_exists(backup_relation) }}\n\n {{ run_hooks(post_hooks, inside_transaction=False) }}\n\n {{ return({'relations': [target_relation]}) }}\n\n{%- endmaterialization -%}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.load_cached_relation", "macro.dbt.make_intermediate_relation", "macro.dbt.make_backup_relation", "macro.dbt.run_hooks", "macro.dbt.drop_relation_if_exists", "macro.dbt.statement", "macro.dbt.get_create_view_as_sql", "macro.dbt.should_revoke", "macro.dbt.apply_grants", "macro.dbt.persist_docs"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.765886, "supported_languages": ["sql"]}, "macro.dbt.handle_existing_table": {"unique_id": "macro.dbt.handle_existing_table", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/models/view/helpers.sql", "original_file_path": "macros/materializations/models/view/helpers.sql", "name": "handle_existing_table", "macro_sql": "{% macro handle_existing_table(full_refresh, old_relation) %}\n {{ adapter.dispatch('handle_existing_table', 'dbt')(full_refresh, old_relation) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__handle_existing_table"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.766304, "supported_languages": null}, "macro.dbt.default__handle_existing_table": {"unique_id": "macro.dbt.default__handle_existing_table", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/models/view/helpers.sql", "original_file_path": "macros/materializations/models/view/helpers.sql", "name": "default__handle_existing_table", "macro_sql": "{% macro default__handle_existing_table(full_refresh, old_relation) %}\n {{ log(\"Dropping relation \" ~ old_relation ~ \" because it is of type \" ~ old_relation.type) }}\n {{ adapter.drop_relation(old_relation) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.7665339, "supported_languages": null}, "macro.dbt.create_or_replace_view": {"unique_id": "macro.dbt.create_or_replace_view", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/models/view/create_or_replace_view.sql", "original_file_path": "macros/materializations/models/view/create_or_replace_view.sql", "name": "create_or_replace_view", "macro_sql": "{% macro create_or_replace_view() %}\n {%- set identifier = model['alias'] -%}\n\n {%- set old_relation = adapter.get_relation(database=database, schema=schema, identifier=identifier) -%}\n {%- set exists_as_view = (old_relation is not none and old_relation.is_view) -%}\n\n {%- set target_relation = api.Relation.create(\n identifier=identifier, schema=schema, database=database,\n type='view') -%}\n {% set grant_config = config.get('grants') %}\n\n {{ run_hooks(pre_hooks) }}\n\n -- If there's a table with the same name and we weren't told to full refresh,\n -- that's an error. If we were told to full refresh, drop it. This behavior differs\n -- for Snowflake and BigQuery, so multiple dispatch is used.\n {%- if old_relation is not none and old_relation.is_table -%}\n {{ handle_existing_table(should_full_refresh(), old_relation) }}\n {%- endif -%}\n\n -- build model\n {% call statement('main') -%}\n {{ get_create_view_as_sql(target_relation, sql) }}\n {%- endcall %}\n\n {% set should_revoke = should_revoke(exists_as_view, full_refresh_mode=True) %}\n {% do apply_grants(target_relation, grant_config, should_revoke=True) %}\n\n {{ run_hooks(post_hooks) }}\n\n {{ return({'relations': [target_relation]}) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.run_hooks", "macro.dbt.handle_existing_table", "macro.dbt.should_full_refresh", "macro.dbt.statement", "macro.dbt.get_create_view_as_sql", "macro.dbt.should_revoke", "macro.dbt.apply_grants"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.768091, "supported_languages": null}, "macro.dbt.get_create_view_as_sql": {"unique_id": "macro.dbt.get_create_view_as_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/models/view/create_view_as.sql", "original_file_path": "macros/materializations/models/view/create_view_as.sql", "name": "get_create_view_as_sql", "macro_sql": "{% macro get_create_view_as_sql(relation, sql) -%}\n {{ adapter.dispatch('get_create_view_as_sql', 'dbt')(relation, sql) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__get_create_view_as_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.768548, "supported_languages": null}, "macro.dbt.default__get_create_view_as_sql": {"unique_id": "macro.dbt.default__get_create_view_as_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/models/view/create_view_as.sql", "original_file_path": "macros/materializations/models/view/create_view_as.sql", "name": "default__get_create_view_as_sql", "macro_sql": "{% macro default__get_create_view_as_sql(relation, sql) -%}\n {{ return(create_view_as(relation, sql)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.create_view_as"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.768725, "supported_languages": null}, "macro.dbt.create_view_as": {"unique_id": "macro.dbt.create_view_as", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/models/view/create_view_as.sql", "original_file_path": "macros/materializations/models/view/create_view_as.sql", "name": "create_view_as", "macro_sql": "{% macro create_view_as(relation, sql) -%}\n {{ adapter.dispatch('create_view_as', 'dbt')(relation, sql) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__create_view_as"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.768908, "supported_languages": null}, "macro.dbt.default__create_view_as": {"unique_id": "macro.dbt.default__create_view_as", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/models/view/create_view_as.sql", "original_file_path": "macros/materializations/models/view/create_view_as.sql", "name": "default__create_view_as", "macro_sql": "{% macro default__create_view_as(relation, sql) -%}\n {%- set sql_header = config.get('sql_header', none) -%}\n\n {{ sql_header if sql_header is not none }}\n create view {{ relation }} as (\n {{ sql }}\n );\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.769166, "supported_languages": null}, "macro.dbt.materialization_seed_default": {"unique_id": "macro.dbt.materialization_seed_default", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/seeds/seed.sql", "original_file_path": "macros/materializations/seeds/seed.sql", "name": "materialization_seed_default", "macro_sql": "{% materialization seed, default %}\n\n {%- set identifier = model['alias'] -%}\n {%- set full_refresh_mode = (should_full_refresh()) -%}\n\n {%- set old_relation = adapter.get_relation(database=database, schema=schema, identifier=identifier) -%}\n\n {%- set exists_as_table = (old_relation is not none and old_relation.is_table) -%}\n {%- set exists_as_view = (old_relation is not none and old_relation.is_view) -%}\n\n {%- set grant_config = config.get('grants') -%}\n {%- set agate_table = load_agate_table() -%}\n -- grab current tables grants config for comparision later on\n\n {%- do store_result('agate_table', response='OK', agate_table=agate_table) -%}\n\n {{ run_hooks(pre_hooks, inside_transaction=False) }}\n\n -- `BEGIN` happens here:\n {{ run_hooks(pre_hooks, inside_transaction=True) }}\n\n -- build model\n {% set create_table_sql = \"\" %}\n {% if exists_as_view %}\n {{ exceptions.raise_compiler_error(\"Cannot seed to '{}', it is a view\".format(old_relation)) }}\n {% elif exists_as_table %}\n {% set create_table_sql = reset_csv_table(model, full_refresh_mode, old_relation, agate_table) %}\n {% else %}\n {% set create_table_sql = create_csv_table(model, agate_table) %}\n {% endif %}\n\n {% set code = 'CREATE' if full_refresh_mode else 'INSERT' %}\n {% set rows_affected = (agate_table.rows | length) %}\n {% set sql = load_csv_rows(model, agate_table) %}\n\n {% call noop_statement('main', code ~ ' ' ~ rows_affected, code, rows_affected) %}\n {{ get_csv_sql(create_table_sql, sql) }};\n {% endcall %}\n\n {% set target_relation = this.incorporate(type='table') %}\n\n {% set should_revoke = should_revoke(old_relation, full_refresh_mode) %}\n {% do apply_grants(target_relation, grant_config, should_revoke=should_revoke) %}\n\n {% do persist_docs(target_relation, model) %}\n\n {% if full_refresh_mode or not exists_as_table %}\n {% do create_indexes(target_relation) %}\n {% endif %}\n\n {{ run_hooks(post_hooks, inside_transaction=True) }}\n\n -- `COMMIT` happens here\n {{ adapter.commit() }}\n\n {{ run_hooks(post_hooks, inside_transaction=False) }}\n\n {{ return({'relations': [target_relation]}) }}\n\n{% endmaterialization %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.should_full_refresh", "macro.dbt.run_hooks", "macro.dbt.reset_csv_table", "macro.dbt.create_csv_table", "macro.dbt.load_csv_rows", "macro.dbt.noop_statement", "macro.dbt.get_csv_sql", "macro.dbt.should_revoke", "macro.dbt.apply_grants", "macro.dbt.persist_docs", "macro.dbt.create_indexes"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.772436, "supported_languages": ["sql"]}, "macro.dbt.create_csv_table": {"unique_id": "macro.dbt.create_csv_table", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "name": "create_csv_table", "macro_sql": "{% macro create_csv_table(model, agate_table) -%}\n {{ adapter.dispatch('create_csv_table', 'dbt')(model, agate_table) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__create_csv_table"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.7770472, "supported_languages": null}, "macro.dbt.default__create_csv_table": {"unique_id": "macro.dbt.default__create_csv_table", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "name": "default__create_csv_table", "macro_sql": "{% macro default__create_csv_table(model, agate_table) %}\n {%- set column_override = model['config'].get('column_types', {}) -%}\n {%- set quote_seed_column = model['config'].get('quote_columns', None) -%}\n\n {% set sql %}\n create table {{ this.render() }} (\n {%- for col_name in agate_table.column_names -%}\n {%- set inferred_type = adapter.convert_type(agate_table, loop.index0) -%}\n {%- set type = column_override.get(col_name, inferred_type) -%}\n {%- set column_name = (col_name | string) -%}\n {{ adapter.quote_seed_column(column_name, quote_seed_column) }} {{ type }} {%- if not loop.last -%}, {%- endif -%}\n {%- endfor -%}\n )\n {% endset %}\n\n {% call statement('_') -%}\n {{ sql }}\n {%- endcall %}\n\n {{ return(sql) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.777935, "supported_languages": null}, "macro.dbt.reset_csv_table": {"unique_id": "macro.dbt.reset_csv_table", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "name": "reset_csv_table", "macro_sql": "{% macro reset_csv_table(model, full_refresh, old_relation, agate_table) -%}\n {{ adapter.dispatch('reset_csv_table', 'dbt')(model, full_refresh, old_relation, agate_table) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__reset_csv_table"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.778167, "supported_languages": null}, "macro.dbt.default__reset_csv_table": {"unique_id": "macro.dbt.default__reset_csv_table", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "name": "default__reset_csv_table", "macro_sql": "{% macro default__reset_csv_table(model, full_refresh, old_relation, agate_table) %}\n {% set sql = \"\" %}\n {% if full_refresh %}\n {{ adapter.drop_relation(old_relation) }}\n {% set sql = create_csv_table(model, agate_table) %}\n {% else %}\n {{ adapter.truncate_relation(old_relation) }}\n {% set sql = \"truncate table \" ~ old_relation %}\n {% endif %}\n\n {{ return(sql) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.create_csv_table"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.778641, "supported_languages": null}, "macro.dbt.get_csv_sql": {"unique_id": "macro.dbt.get_csv_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "name": "get_csv_sql", "macro_sql": "{% macro get_csv_sql(create_or_truncate_sql, insert_sql) %}\n {{ adapter.dispatch('get_csv_sql', 'dbt')(create_or_truncate_sql, insert_sql) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__get_csv_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.778831, "supported_languages": null}, "macro.dbt.default__get_csv_sql": {"unique_id": "macro.dbt.default__get_csv_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "name": "default__get_csv_sql", "macro_sql": "{% macro default__get_csv_sql(create_or_truncate_sql, insert_sql) %}\n {{ create_or_truncate_sql }};\n -- dbt seed --\n {{ insert_sql }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.77896, "supported_languages": null}, "macro.dbt.get_binding_char": {"unique_id": "macro.dbt.get_binding_char", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "name": "get_binding_char", "macro_sql": "{% macro get_binding_char() -%}\n {{ adapter.dispatch('get_binding_char', 'dbt')() }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__get_binding_char"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.779098, "supported_languages": null}, "macro.dbt.default__get_binding_char": {"unique_id": "macro.dbt.default__get_binding_char", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "name": "default__get_binding_char", "macro_sql": "{% macro default__get_binding_char() %}\n {{ return('%s') }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.779211, "supported_languages": null}, "macro.dbt.get_batch_size": {"unique_id": "macro.dbt.get_batch_size", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "name": "get_batch_size", "macro_sql": "{% macro get_batch_size() -%}\n {{ return(adapter.dispatch('get_batch_size', 'dbt')()) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__get_batch_size"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.77937, "supported_languages": null}, "macro.dbt.default__get_batch_size": {"unique_id": "macro.dbt.default__get_batch_size", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "name": "default__get_batch_size", "macro_sql": "{% macro default__get_batch_size() %}\n {{ return(10000) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.779486, "supported_languages": null}, "macro.dbt.get_seed_column_quoted_csv": {"unique_id": "macro.dbt.get_seed_column_quoted_csv", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "name": "get_seed_column_quoted_csv", "macro_sql": "{% macro get_seed_column_quoted_csv(model, column_names) %}\n {%- set quote_seed_column = model['config'].get('quote_columns', None) -%}\n {% set quoted = [] %}\n {% for col in column_names -%}\n {%- do quoted.append(adapter.quote_seed_column(col, quote_seed_column)) -%}\n {%- endfor %}\n\n {%- set dest_cols_csv = quoted | join(', ') -%}\n {{ return(dest_cols_csv) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.7799559, "supported_languages": null}, "macro.dbt.load_csv_rows": {"unique_id": "macro.dbt.load_csv_rows", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "name": "load_csv_rows", "macro_sql": "{% macro load_csv_rows(model, agate_table) -%}\n {{ adapter.dispatch('load_csv_rows', 'dbt')(model, agate_table) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__load_csv_rows"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.78014, "supported_languages": null}, "macro.dbt.default__load_csv_rows": {"unique_id": "macro.dbt.default__load_csv_rows", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "name": "default__load_csv_rows", "macro_sql": "{% macro default__load_csv_rows(model, agate_table) %}\n\n {% set batch_size = get_batch_size() %}\n\n {% set cols_sql = get_seed_column_quoted_csv(model, agate_table.column_names) %}\n {% set bindings = [] %}\n\n {% set statements = [] %}\n\n {% for chunk in agate_table.rows | batch(batch_size) %}\n {% set bindings = [] %}\n\n {% for row in chunk %}\n {% do bindings.extend(row) %}\n {% endfor %}\n\n {% set sql %}\n insert into {{ this.render() }} ({{ cols_sql }}) values\n {% for row in chunk -%}\n ({%- for column in agate_table.column_names -%}\n {{ get_binding_char() }}\n {%- if not loop.last%},{%- endif %}\n {%- endfor -%})\n {%- if not loop.last%},{%- endif %}\n {%- endfor %}\n {% endset %}\n\n {% do adapter.add_query(sql, bindings=bindings, abridge_sql_log=True) %}\n\n {% if loop.index0 == 0 %}\n {% do statements.append(sql) %}\n {% endif %}\n {% endfor %}\n\n {# Return SQL so we can render it out into the compiled files #}\n {{ return(statements[0]) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.get_batch_size", "macro.dbt.get_seed_column_quoted_csv", "macro.dbt.get_binding_char"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.7814279, "supported_languages": null}, "macro.dbt.generate_alias_name": {"unique_id": "macro.dbt.generate_alias_name", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/get_custom_name/get_custom_alias.sql", "original_file_path": "macros/get_custom_name/get_custom_alias.sql", "name": "generate_alias_name", "macro_sql": "{% macro generate_alias_name(custom_alias_name=none, node=none) -%}\n {% do return(adapter.dispatch('generate_alias_name', 'dbt')(custom_alias_name, node)) %}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__generate_alias_name"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.781919, "supported_languages": null}, "macro.dbt.default__generate_alias_name": {"unique_id": "macro.dbt.default__generate_alias_name", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/get_custom_name/get_custom_alias.sql", "original_file_path": "macros/get_custom_name/get_custom_alias.sql", "name": "default__generate_alias_name", "macro_sql": "{% macro default__generate_alias_name(custom_alias_name=none, node=none) -%}\n\n {%- if custom_alias_name is none -%}\n\n {{ node.name }}\n\n {%- else -%}\n\n {{ custom_alias_name | trim }}\n\n {%- endif -%}\n\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.7821472, "supported_languages": null}, "macro.dbt.generate_schema_name": {"unique_id": "macro.dbt.generate_schema_name", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/get_custom_name/get_custom_schema.sql", "original_file_path": "macros/get_custom_name/get_custom_schema.sql", "name": "generate_schema_name", "macro_sql": "{% macro generate_schema_name(custom_schema_name=none, node=none) -%}\n {{ return(adapter.dispatch('generate_schema_name', 'dbt')(custom_schema_name, node)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__generate_schema_name"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.782732, "supported_languages": null}, "macro.dbt.default__generate_schema_name": {"unique_id": "macro.dbt.default__generate_schema_name", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/get_custom_name/get_custom_schema.sql", "original_file_path": "macros/get_custom_name/get_custom_schema.sql", "name": "default__generate_schema_name", "macro_sql": "{% macro default__generate_schema_name(custom_schema_name, node) -%}\n\n {%- set default_schema = target.schema -%}\n {%- if custom_schema_name is none -%}\n\n {{ default_schema }}\n\n {%- else -%}\n\n {{ default_schema }}_{{ custom_schema_name | trim }}\n\n {%- endif -%}\n\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.782992, "supported_languages": null}, "macro.dbt.generate_schema_name_for_env": {"unique_id": "macro.dbt.generate_schema_name_for_env", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/get_custom_name/get_custom_schema.sql", "original_file_path": "macros/get_custom_name/get_custom_schema.sql", "name": "generate_schema_name_for_env", "macro_sql": "{% macro generate_schema_name_for_env(custom_schema_name, node) -%}\n\n {%- set default_schema = target.schema -%}\n {%- if target.name == 'prod' and custom_schema_name is not none -%}\n\n {{ custom_schema_name | trim }}\n\n {%- else -%}\n\n {{ default_schema }}\n\n {%- endif -%}\n\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.7832818, "supported_languages": null}, "macro.dbt.generate_database_name": {"unique_id": "macro.dbt.generate_database_name", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/get_custom_name/get_custom_database.sql", "original_file_path": "macros/get_custom_name/get_custom_database.sql", "name": "generate_database_name", "macro_sql": "{% macro generate_database_name(custom_database_name=none, node=none) -%}\n {% do return(adapter.dispatch('generate_database_name', 'dbt')(custom_database_name, node)) %}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__generate_database_name"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.783745, "supported_languages": null}, "macro.dbt.default__generate_database_name": {"unique_id": "macro.dbt.default__generate_database_name", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/get_custom_name/get_custom_database.sql", "original_file_path": "macros/get_custom_name/get_custom_database.sql", "name": "default__generate_database_name", "macro_sql": "{% macro default__generate_database_name(custom_database_name=none, node=none) -%}\n {%- set default_database = target.database -%}\n {%- if custom_database_name is none -%}\n\n {{ default_database }}\n\n {%- else -%}\n\n {{ custom_database_name }}\n\n {%- endif -%}\n\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.7839959, "supported_languages": null}, "macro.dbt.default__test_relationships": {"unique_id": "macro.dbt.default__test_relationships", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/generic_test_sql/relationships.sql", "original_file_path": "macros/generic_test_sql/relationships.sql", "name": "default__test_relationships", "macro_sql": "{% macro default__test_relationships(model, column_name, to, field) %}\n\nwith child as (\n select {{ column_name }} as from_field\n from {{ model }}\n where {{ column_name }} is not null\n),\n\nparent as (\n select {{ field }} as to_field\n from {{ to }}\n)\n\nselect\n from_field\n\nfrom child\nleft join parent\n on child.from_field = parent.to_field\n\nwhere parent.to_field is null\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.784412, "supported_languages": null}, "macro.dbt.default__test_not_null": {"unique_id": "macro.dbt.default__test_not_null", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/generic_test_sql/not_null.sql", "original_file_path": "macros/generic_test_sql/not_null.sql", "name": "default__test_not_null", "macro_sql": "{% macro default__test_not_null(model, column_name) %}\n\n{% set column_list = '*' if should_store_failures() else column_name %}\n\nselect {{ column_list }}\nfrom {{ model }}\nwhere {{ column_name }} is null\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.should_store_failures"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.784787, "supported_languages": null}, "macro.dbt.default__test_unique": {"unique_id": "macro.dbt.default__test_unique", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/generic_test_sql/unique.sql", "original_file_path": "macros/generic_test_sql/unique.sql", "name": "default__test_unique", "macro_sql": "{% macro default__test_unique(model, column_name) %}\n\nselect\n {{ column_name }} as unique_field,\n count(*) as n_records\n\nfrom {{ model }}\nwhere {{ column_name }} is not null\ngroup by {{ column_name }}\nhaving count(*) > 1\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.785103, "supported_languages": null}, "macro.dbt.default__test_accepted_values": {"unique_id": "macro.dbt.default__test_accepted_values", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/generic_test_sql/accepted_values.sql", "original_file_path": "macros/generic_test_sql/accepted_values.sql", "name": "default__test_accepted_values", "macro_sql": "{% macro default__test_accepted_values(model, column_name, values, quote=True) %}\n\nwith all_values as (\n\n select\n {{ column_name }} as value_field,\n count(*) as n_records\n\n from {{ model }}\n group by {{ column_name }}\n\n)\n\nselect *\nfrom all_values\nwhere value_field not in (\n {% for value in values -%}\n {% if quote -%}\n '{{ value }}'\n {%- else -%}\n {{ value }}\n {%- endif -%}\n {%- if not loop.last -%},{%- endif %}\n {%- endfor %}\n)\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.7857401, "supported_languages": null}, "macro.dbt.statement": {"unique_id": "macro.dbt.statement", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/etc/statement.sql", "original_file_path": "macros/etc/statement.sql", "name": "statement", "macro_sql": "\n{%- macro statement(name=None, fetch_result=False, auto_begin=True, language='sql') -%}\n {%- if execute: -%}\n {%- set compiled_code = caller() -%}\n\n {%- if name == 'main' -%}\n {{ log('Writing runtime {} for node \"{}\"'.format(language, model['unique_id'])) }}\n {{ write(compiled_code) }}\n {%- endif -%}\n {%- if language == 'sql'-%}\n {%- set res, table = adapter.execute(compiled_code, auto_begin=auto_begin, fetch=fetch_result) -%}\n {%- elif language == 'python' -%}\n {%- set res = submit_python_job(model, compiled_code) -%}\n {#-- TODO: What should table be for python models? --#}\n {%- set table = None -%}\n {%- else -%}\n {% do exceptions.raise_compiler_error(\"statement macro didn't get supported language\") %}\n {%- endif -%}\n\n {%- if name is not none -%}\n {{ store_result(name, response=res, agate_table=table) }}\n {%- endif -%}\n\n {%- endif -%}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.7872992, "supported_languages": null}, "macro.dbt.noop_statement": {"unique_id": "macro.dbt.noop_statement", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/etc/statement.sql", "original_file_path": "macros/etc/statement.sql", "name": "noop_statement", "macro_sql": "{% macro noop_statement(name=None, message=None, code=None, rows_affected=None, res=None) -%}\n {%- set sql = caller() -%}\n\n {%- if name == 'main' -%}\n {{ log('Writing runtime SQL for node \"{}\"'.format(model['unique_id'])) }}\n {{ write(sql) }}\n {%- endif -%}\n\n {%- if name is not none -%}\n {{ store_raw_result(name, message=message, code=code, rows_affected=rows_affected, agate_table=res) }}\n {%- endif -%}\n\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.787957, "supported_languages": null}, "macro.dbt.run_query": {"unique_id": "macro.dbt.run_query", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/etc/statement.sql", "original_file_path": "macros/etc/statement.sql", "name": "run_query", "macro_sql": "{% macro run_query(sql) %}\n {% call statement(\"run_query_statement\", fetch_result=true, auto_begin=false) %}\n {{ sql }}\n {% endcall %}\n\n {% do return(load_result(\"run_query_statement\").table) %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.7882502, "supported_languages": null}, "macro.dbt.convert_datetime": {"unique_id": "macro.dbt.convert_datetime", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/etc/datetime.sql", "original_file_path": "macros/etc/datetime.sql", "name": "convert_datetime", "macro_sql": "{% macro convert_datetime(date_str, date_fmt) %}\n\n {% set error_msg -%}\n The provided partition date '{{ date_str }}' does not match the expected format '{{ date_fmt }}'\n {%- endset %}\n\n {% set res = try_or_compiler_error(error_msg, modules.datetime.datetime.strptime, date_str.strip(), date_fmt) %}\n {{ return(res) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.7900522, "supported_languages": null}, "macro.dbt.dates_in_range": {"unique_id": "macro.dbt.dates_in_range", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/etc/datetime.sql", "original_file_path": "macros/etc/datetime.sql", "name": "dates_in_range", "macro_sql": "{% macro dates_in_range(start_date_str, end_date_str=none, in_fmt=\"%Y%m%d\", out_fmt=\"%Y%m%d\") %}\n {% set end_date_str = start_date_str if end_date_str is none else end_date_str %}\n\n {% set start_date = convert_datetime(start_date_str, in_fmt) %}\n {% set end_date = convert_datetime(end_date_str, in_fmt) %}\n\n {% set day_count = (end_date - start_date).days %}\n {% if day_count < 0 %}\n {% set msg -%}\n Partiton start date is after the end date ({{ start_date }}, {{ end_date }})\n {%- endset %}\n\n {{ exceptions.raise_compiler_error(msg, model) }}\n {% endif %}\n\n {% set date_list = [] %}\n {% for i in range(0, day_count + 1) %}\n {% set the_date = (modules.datetime.timedelta(days=i) + start_date) %}\n {% if not out_fmt %}\n {% set _ = date_list.append(the_date) %}\n {% else %}\n {% set _ = date_list.append(the_date.strftime(out_fmt)) %}\n {% endif %}\n {% endfor %}\n\n {{ return(date_list) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.convert_datetime"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.7912672, "supported_languages": null}, "macro.dbt.partition_range": {"unique_id": "macro.dbt.partition_range", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/etc/datetime.sql", "original_file_path": "macros/etc/datetime.sql", "name": "partition_range", "macro_sql": "{% macro partition_range(raw_partition_date, date_fmt='%Y%m%d') %}\n {% set partition_range = (raw_partition_date | string).split(\",\") %}\n\n {% if (partition_range | length) == 1 %}\n {% set start_date = partition_range[0] %}\n {% set end_date = none %}\n {% elif (partition_range | length) == 2 %}\n {% set start_date = partition_range[0] %}\n {% set end_date = partition_range[1] %}\n {% else %}\n {{ exceptions.raise_compiler_error(\"Invalid partition time. Expected format: {Start Date}[,{End Date}]. Got: \" ~ raw_partition_date) }}\n {% endif %}\n\n {{ return(dates_in_range(start_date, end_date, in_fmt=date_fmt)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.dates_in_range"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.792023, "supported_languages": null}, "macro.dbt.py_current_timestring": {"unique_id": "macro.dbt.py_current_timestring", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/etc/datetime.sql", "original_file_path": "macros/etc/datetime.sql", "name": "py_current_timestring", "macro_sql": "{% macro py_current_timestring() %}\n {% set dt = modules.datetime.datetime.now() %}\n {% do return(dt.strftime(\"%Y%m%d%H%M%S%f\")) %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.792256, "supported_languages": null}, "macro.dbt.except": {"unique_id": "macro.dbt.except", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/utils/except.sql", "original_file_path": "macros/utils/except.sql", "name": "except", "macro_sql": "{% macro except() %}\n {{ return(adapter.dispatch('except', 'dbt')()) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__except"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.792599, "supported_languages": null}, "macro.dbt.default__except": {"unique_id": "macro.dbt.default__except", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/utils/except.sql", "original_file_path": "macros/utils/except.sql", "name": "default__except", "macro_sql": "{% macro default__except() %}\n\n except\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.7926762, "supported_languages": null}, "macro.dbt.replace": {"unique_id": "macro.dbt.replace", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/utils/replace.sql", "original_file_path": "macros/utils/replace.sql", "name": "replace", "macro_sql": "{% macro replace(field, old_chars, new_chars) -%}\n {{ return(adapter.dispatch('replace', 'dbt') (field, old_chars, new_chars)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__replace"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.7930849, "supported_languages": null}, "macro.dbt.default__replace": {"unique_id": "macro.dbt.default__replace", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/utils/replace.sql", "original_file_path": "macros/utils/replace.sql", "name": "default__replace", "macro_sql": "{% macro default__replace(field, old_chars, new_chars) %}\n\n replace(\n {{ field }},\n {{ old_chars }},\n {{ new_chars }}\n )\n\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.793261, "supported_languages": null}, "macro.dbt.concat": {"unique_id": "macro.dbt.concat", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/utils/concat.sql", "original_file_path": "macros/utils/concat.sql", "name": "concat", "macro_sql": "{% macro concat(fields) -%}\n {{ return(adapter.dispatch('concat', 'dbt')(fields)) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__concat"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.7935832, "supported_languages": null}, "macro.dbt.default__concat": {"unique_id": "macro.dbt.default__concat", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/utils/concat.sql", "original_file_path": "macros/utils/concat.sql", "name": "default__concat", "macro_sql": "{% macro default__concat(fields) -%}\n {{ fields|join(' || ') }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.793705, "supported_languages": null}, "macro.dbt.length": {"unique_id": "macro.dbt.length", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/utils/length.sql", "original_file_path": "macros/utils/length.sql", "name": "length", "macro_sql": "{% macro length(expression) -%}\n {{ return(adapter.dispatch('length', 'dbt') (expression)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__length"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.7940211, "supported_languages": null}, "macro.dbt.default__length": {"unique_id": "macro.dbt.default__length", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/utils/length.sql", "original_file_path": "macros/utils/length.sql", "name": "default__length", "macro_sql": "{% macro default__length(expression) %}\n\n length(\n {{ expression }}\n )\n\n{%- endmacro -%}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.7941241, "supported_languages": null}, "macro.dbt.dateadd": {"unique_id": "macro.dbt.dateadd", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/utils/dateadd.sql", "original_file_path": "macros/utils/dateadd.sql", "name": "dateadd", "macro_sql": "{% macro dateadd(datepart, interval, from_date_or_timestamp) %}\n {{ return(adapter.dispatch('dateadd', 'dbt')(datepart, interval, from_date_or_timestamp)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_postgres.postgres__dateadd"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.794525, "supported_languages": null}, "macro.dbt.default__dateadd": {"unique_id": "macro.dbt.default__dateadd", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/utils/dateadd.sql", "original_file_path": "macros/utils/dateadd.sql", "name": "default__dateadd", "macro_sql": "{% macro default__dateadd(datepart, interval, from_date_or_timestamp) %}\n\n dateadd(\n {{ datepart }},\n {{ interval }},\n {{ from_date_or_timestamp }}\n )\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.7946858, "supported_languages": null}, "macro.dbt.intersect": {"unique_id": "macro.dbt.intersect", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/utils/intersect.sql", "original_file_path": "macros/utils/intersect.sql", "name": "intersect", "macro_sql": "{% macro intersect() %}\n {{ return(adapter.dispatch('intersect', 'dbt')()) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__intersect"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.7949781, "supported_languages": null}, "macro.dbt.default__intersect": {"unique_id": "macro.dbt.default__intersect", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/utils/intersect.sql", "original_file_path": "macros/utils/intersect.sql", "name": "default__intersect", "macro_sql": "{% macro default__intersect() %}\n\n intersect\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.7950552, "supported_languages": null}, "macro.dbt.escape_single_quotes": {"unique_id": "macro.dbt.escape_single_quotes", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/utils/escape_single_quotes.sql", "original_file_path": "macros/utils/escape_single_quotes.sql", "name": "escape_single_quotes", "macro_sql": "{% macro escape_single_quotes(expression) %}\n {{ return(adapter.dispatch('escape_single_quotes', 'dbt') (expression)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__escape_single_quotes"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.7953851, "supported_languages": null}, "macro.dbt.default__escape_single_quotes": {"unique_id": "macro.dbt.default__escape_single_quotes", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/utils/escape_single_quotes.sql", "original_file_path": "macros/utils/escape_single_quotes.sql", "name": "default__escape_single_quotes", "macro_sql": "{% macro default__escape_single_quotes(expression) -%}\n{{ expression | replace(\"'\",\"''\") }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.795527, "supported_languages": null}, "macro.dbt.right": {"unique_id": "macro.dbt.right", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/utils/right.sql", "original_file_path": "macros/utils/right.sql", "name": "right", "macro_sql": "{% macro right(string_text, length_expression) -%}\n {{ return(adapter.dispatch('right', 'dbt') (string_text, length_expression)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__right"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.7958899, "supported_languages": null}, "macro.dbt.default__right": {"unique_id": "macro.dbt.default__right", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/utils/right.sql", "original_file_path": "macros/utils/right.sql", "name": "default__right", "macro_sql": "{% macro default__right(string_text, length_expression) %}\n\n right(\n {{ string_text }},\n {{ length_expression }}\n )\n\n{%- endmacro -%}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.7960992, "supported_languages": null}, "macro.dbt.listagg": {"unique_id": "macro.dbt.listagg", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/utils/listagg.sql", "original_file_path": "macros/utils/listagg.sql", "name": "listagg", "macro_sql": "{% macro listagg(measure, delimiter_text=\"','\", order_by_clause=none, limit_num=none) -%}\n {{ return(adapter.dispatch('listagg', 'dbt') (measure, delimiter_text, order_by_clause, limit_num)) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_postgres.postgres__listagg"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.796767, "supported_languages": null}, "macro.dbt.default__listagg": {"unique_id": "macro.dbt.default__listagg", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/utils/listagg.sql", "original_file_path": "macros/utils/listagg.sql", "name": "default__listagg", "macro_sql": "{% macro default__listagg(measure, delimiter_text, order_by_clause, limit_num) -%}\n\n {% if limit_num -%}\n array_to_string(\n array_slice(\n array_agg(\n {{ measure }}\n ){% if order_by_clause -%}\n within group ({{ order_by_clause }})\n {%- endif %}\n ,0\n ,{{ limit_num }}\n ),\n {{ delimiter_text }}\n )\n {%- else %}\n listagg(\n {{ measure }},\n {{ delimiter_text }}\n )\n {% if order_by_clause -%}\n within group ({{ order_by_clause }})\n {%- endif %}\n {%- endif %}\n\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.7971709, "supported_languages": null}, "macro.dbt.datediff": {"unique_id": "macro.dbt.datediff", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/utils/datediff.sql", "original_file_path": "macros/utils/datediff.sql", "name": "datediff", "macro_sql": "{% macro datediff(first_date, second_date, datepart) %}\n {{ return(adapter.dispatch('datediff', 'dbt')(first_date, second_date, datepart)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_postgres.postgres__datediff"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.7975721, "supported_languages": null}, "macro.dbt.default__datediff": {"unique_id": "macro.dbt.default__datediff", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/utils/datediff.sql", "original_file_path": "macros/utils/datediff.sql", "name": "default__datediff", "macro_sql": "{% macro default__datediff(first_date, second_date, datepart) -%}\n\n datediff(\n {{ datepart }},\n {{ first_date }},\n {{ second_date }}\n )\n\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.797735, "supported_languages": null}, "macro.dbt.safe_cast": {"unique_id": "macro.dbt.safe_cast", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/utils/safe_cast.sql", "original_file_path": "macros/utils/safe_cast.sql", "name": "safe_cast", "macro_sql": "{% macro safe_cast(field, type) %}\n {{ return(adapter.dispatch('safe_cast', 'dbt') (field, type)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__safe_cast"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.798084, "supported_languages": null}, "macro.dbt.default__safe_cast": {"unique_id": "macro.dbt.default__safe_cast", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/utils/safe_cast.sql", "original_file_path": "macros/utils/safe_cast.sql", "name": "default__safe_cast", "macro_sql": "{% macro default__safe_cast(field, type) %}\n {# most databases don't support this function yet\n so we just need to use cast #}\n cast({{field}} as {{type}})\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.7982268, "supported_languages": null}, "macro.dbt.hash": {"unique_id": "macro.dbt.hash", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/utils/hash.sql", "original_file_path": "macros/utils/hash.sql", "name": "hash", "macro_sql": "{% macro hash(field) -%}\n {{ return(adapter.dispatch('hash', 'dbt') (field)) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__hash"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.798548, "supported_languages": null}, "macro.dbt.default__hash": {"unique_id": "macro.dbt.default__hash", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/utils/hash.sql", "original_file_path": "macros/utils/hash.sql", "name": "default__hash", "macro_sql": "{% macro default__hash(field) -%}\n md5(cast({{ field }} as {{ api.Column.translate_type('string') }}))\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.7987041, "supported_languages": null}, "macro.dbt.cast_bool_to_text": {"unique_id": "macro.dbt.cast_bool_to_text", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/utils/cast_bool_to_text.sql", "original_file_path": "macros/utils/cast_bool_to_text.sql", "name": "cast_bool_to_text", "macro_sql": "{% macro cast_bool_to_text(field) %}\n {{ adapter.dispatch('cast_bool_to_text', 'dbt') (field) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__cast_bool_to_text"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.79901, "supported_languages": null}, "macro.dbt.default__cast_bool_to_text": {"unique_id": "macro.dbt.default__cast_bool_to_text", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/utils/cast_bool_to_text.sql", "original_file_path": "macros/utils/cast_bool_to_text.sql", "name": "default__cast_bool_to_text", "macro_sql": "{% macro default__cast_bool_to_text(field) %}\n cast({{ field }} as {{ api.Column.translate_type('string') }})\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.799169, "supported_languages": null}, "macro.dbt.any_value": {"unique_id": "macro.dbt.any_value", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/utils/any_value.sql", "original_file_path": "macros/utils/any_value.sql", "name": "any_value", "macro_sql": "{% macro any_value(expression) -%}\n {{ return(adapter.dispatch('any_value', 'dbt') (expression)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_postgres.postgres__any_value"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.799478, "supported_languages": null}, "macro.dbt.default__any_value": {"unique_id": "macro.dbt.default__any_value", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/utils/any_value.sql", "original_file_path": "macros/utils/any_value.sql", "name": "default__any_value", "macro_sql": "{% macro default__any_value(expression) -%}\n\n any_value({{ expression }})\n\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.7995808, "supported_languages": null}, "macro.dbt.position": {"unique_id": "macro.dbt.position", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/utils/position.sql", "original_file_path": "macros/utils/position.sql", "name": "position", "macro_sql": "{% macro position(substring_text, string_text) -%}\n {{ return(adapter.dispatch('position', 'dbt') (substring_text, string_text)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__position"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.79994, "supported_languages": null}, "macro.dbt.default__position": {"unique_id": "macro.dbt.default__position", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/utils/position.sql", "original_file_path": "macros/utils/position.sql", "name": "default__position", "macro_sql": "{% macro default__position(substring_text, string_text) %}\n\n position(\n {{ substring_text }} in {{ string_text }}\n )\n\n{%- endmacro -%}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.8000698, "supported_languages": null}, "macro.dbt.string_literal": {"unique_id": "macro.dbt.string_literal", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/utils/literal.sql", "original_file_path": "macros/utils/literal.sql", "name": "string_literal", "macro_sql": "{%- macro string_literal(value) -%}\n {{ return(adapter.dispatch('string_literal', 'dbt') (value)) }}\n{%- endmacro -%}\n\n", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__string_literal"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.800381, "supported_languages": null}, "macro.dbt.default__string_literal": {"unique_id": "macro.dbt.default__string_literal", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/utils/literal.sql", "original_file_path": "macros/utils/literal.sql", "name": "default__string_literal", "macro_sql": "{% macro default__string_literal(value) -%}\n '{{ value }}'\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.800481, "supported_languages": null}, "macro.dbt.type_string": {"unique_id": "macro.dbt.type_string", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/utils/data_types.sql", "original_file_path": "macros/utils/data_types.sql", "name": "type_string", "macro_sql": "\n\n{%- macro type_string() -%}\n {{ return(adapter.dispatch('type_string', 'dbt')()) }}\n{%- endmacro -%}\n\n", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__type_string"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.801435, "supported_languages": null}, "macro.dbt.default__type_string": {"unique_id": "macro.dbt.default__type_string", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/utils/data_types.sql", "original_file_path": "macros/utils/data_types.sql", "name": "default__type_string", "macro_sql": "{% macro default__type_string() %}\n {{ return(api.Column.translate_type(\"string\")) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.801582, "supported_languages": null}, "macro.dbt.type_timestamp": {"unique_id": "macro.dbt.type_timestamp", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/utils/data_types.sql", "original_file_path": "macros/utils/data_types.sql", "name": "type_timestamp", "macro_sql": "\n\n{%- macro type_timestamp() -%}\n {{ return(adapter.dispatch('type_timestamp', 'dbt')()) }}\n{%- endmacro -%}\n\n", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__type_timestamp"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.80181, "supported_languages": null}, "macro.dbt.default__type_timestamp": {"unique_id": "macro.dbt.default__type_timestamp", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/utils/data_types.sql", "original_file_path": "macros/utils/data_types.sql", "name": "default__type_timestamp", "macro_sql": "{% macro default__type_timestamp() %}\n {{ return(api.Column.translate_type(\"timestamp\")) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.801965, "supported_languages": null}, "macro.dbt.type_float": {"unique_id": "macro.dbt.type_float", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/utils/data_types.sql", "original_file_path": "macros/utils/data_types.sql", "name": "type_float", "macro_sql": "\n\n{%- macro type_float() -%}\n {{ return(adapter.dispatch('type_float', 'dbt')()) }}\n{%- endmacro -%}\n\n", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__type_float"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.802123, "supported_languages": null}, "macro.dbt.default__type_float": {"unique_id": "macro.dbt.default__type_float", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/utils/data_types.sql", "original_file_path": "macros/utils/data_types.sql", "name": "default__type_float", "macro_sql": "{% macro default__type_float() %}\n {{ return(api.Column.translate_type(\"float\")) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.8022761, "supported_languages": null}, "macro.dbt.type_numeric": {"unique_id": "macro.dbt.type_numeric", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/utils/data_types.sql", "original_file_path": "macros/utils/data_types.sql", "name": "type_numeric", "macro_sql": "\n\n{%- macro type_numeric() -%}\n {{ return(adapter.dispatch('type_numeric', 'dbt')()) }}\n{%- endmacro -%}\n\n", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__type_numeric"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.8024452, "supported_languages": null}, "macro.dbt.default__type_numeric": {"unique_id": "macro.dbt.default__type_numeric", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/utils/data_types.sql", "original_file_path": "macros/utils/data_types.sql", "name": "default__type_numeric", "macro_sql": "{% macro default__type_numeric() %}\n {{ return(api.Column.numeric_type(\"numeric\", 28, 6)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.802631, "supported_languages": null}, "macro.dbt.type_bigint": {"unique_id": "macro.dbt.type_bigint", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/utils/data_types.sql", "original_file_path": "macros/utils/data_types.sql", "name": "type_bigint", "macro_sql": "\n\n{%- macro type_bigint() -%}\n {{ return(adapter.dispatch('type_bigint', 'dbt')()) }}\n{%- endmacro -%}\n\n", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__type_bigint"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.8027909, "supported_languages": null}, "macro.dbt.default__type_bigint": {"unique_id": "macro.dbt.default__type_bigint", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/utils/data_types.sql", "original_file_path": "macros/utils/data_types.sql", "name": "default__type_bigint", "macro_sql": "{% macro default__type_bigint() %}\n {{ return(api.Column.translate_type(\"bigint\")) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.8029408, "supported_languages": null}, "macro.dbt.type_int": {"unique_id": "macro.dbt.type_int", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/utils/data_types.sql", "original_file_path": "macros/utils/data_types.sql", "name": "type_int", "macro_sql": "\n\n{%- macro type_int() -%}\n {{ return(adapter.dispatch('type_int', 'dbt')()) }}\n{%- endmacro -%}\n\n", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__type_int"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.8031008, "supported_languages": null}, "macro.dbt.default__type_int": {"unique_id": "macro.dbt.default__type_int", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/utils/data_types.sql", "original_file_path": "macros/utils/data_types.sql", "name": "default__type_int", "macro_sql": "{%- macro default__type_int() -%}\n {{ return(api.Column.translate_type(\"integer\")) }}\n{%- endmacro -%}\n\n", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.803244, "supported_languages": null}, "macro.dbt.type_boolean": {"unique_id": "macro.dbt.type_boolean", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/utils/data_types.sql", "original_file_path": "macros/utils/data_types.sql", "name": "type_boolean", "macro_sql": "\n\n{%- macro type_boolean() -%}\n {{ return(adapter.dispatch('type_boolean', 'dbt')()) }}\n{%- endmacro -%}\n\n", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__type_boolean"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.803404, "supported_languages": null}, "macro.dbt.default__type_boolean": {"unique_id": "macro.dbt.default__type_boolean", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/utils/data_types.sql", "original_file_path": "macros/utils/data_types.sql", "name": "default__type_boolean", "macro_sql": "{%- macro default__type_boolean() -%}\n {{ return(api.Column.translate_type(\"boolean\")) }}\n{%- endmacro -%}\n\n", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.803547, "supported_languages": null}, "macro.dbt.array_concat": {"unique_id": "macro.dbt.array_concat", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/utils/array_concat.sql", "original_file_path": "macros/utils/array_concat.sql", "name": "array_concat", "macro_sql": "{% macro array_concat(array_1, array_2) -%}\n {{ return(adapter.dispatch('array_concat', 'dbt')(array_1, array_2)) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__array_concat"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.8039098, "supported_languages": null}, "macro.dbt.default__array_concat": {"unique_id": "macro.dbt.default__array_concat", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/utils/array_concat.sql", "original_file_path": "macros/utils/array_concat.sql", "name": "default__array_concat", "macro_sql": "{% macro default__array_concat(array_1, array_2) -%}\n array_cat({{ array_1 }}, {{ array_2 }})\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.804042, "supported_languages": null}, "macro.dbt.bool_or": {"unique_id": "macro.dbt.bool_or", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/utils/bool_or.sql", "original_file_path": "macros/utils/bool_or.sql", "name": "bool_or", "macro_sql": "{% macro bool_or(expression) -%}\n {{ return(adapter.dispatch('bool_or', 'dbt') (expression)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__bool_or"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.804358, "supported_languages": null}, "macro.dbt.default__bool_or": {"unique_id": "macro.dbt.default__bool_or", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/utils/bool_or.sql", "original_file_path": "macros/utils/bool_or.sql", "name": "default__bool_or", "macro_sql": "{% macro default__bool_or(expression) -%}\n\n bool_or({{ expression }})\n\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.804459, "supported_languages": null}, "macro.dbt.last_day": {"unique_id": "macro.dbt.last_day", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/utils/last_day.sql", "original_file_path": "macros/utils/last_day.sql", "name": "last_day", "macro_sql": "{% macro last_day(date, datepart) %}\n {{ return(adapter.dispatch('last_day', 'dbt') (date, datepart)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_postgres.postgres__last_day"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.80487, "supported_languages": null}, "macro.dbt.default_last_day": {"unique_id": "macro.dbt.default_last_day", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/utils/last_day.sql", "original_file_path": "macros/utils/last_day.sql", "name": "default_last_day", "macro_sql": "\n\n{%- macro default_last_day(date, datepart) -%}\n cast(\n {{dbt.dateadd('day', '-1',\n dbt.dateadd(datepart, '1', dbt.date_trunc(datepart, date))\n )}}\n as date)\n{%- endmacro -%}\n\n", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.dateadd", "macro.dbt.date_trunc"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.805134, "supported_languages": null}, "macro.dbt.default__last_day": {"unique_id": "macro.dbt.default__last_day", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/utils/last_day.sql", "original_file_path": "macros/utils/last_day.sql", "name": "default__last_day", "macro_sql": "{% macro default__last_day(date, datepart) -%}\n {{dbt.default_last_day(date, datepart)}}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default_last_day"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.805281, "supported_languages": null}, "macro.dbt.split_part": {"unique_id": "macro.dbt.split_part", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/utils/split_part.sql", "original_file_path": "macros/utils/split_part.sql", "name": "split_part", "macro_sql": "{% macro split_part(string_text, delimiter_text, part_number) %}\n {{ return(adapter.dispatch('split_part', 'dbt') (string_text, delimiter_text, part_number)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_postgres.postgres__split_part"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.80586, "supported_languages": null}, "macro.dbt.default__split_part": {"unique_id": "macro.dbt.default__split_part", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/utils/split_part.sql", "original_file_path": "macros/utils/split_part.sql", "name": "default__split_part", "macro_sql": "{% macro default__split_part(string_text, delimiter_text, part_number) %}\n\n split_part(\n {{ string_text }},\n {{ delimiter_text }},\n {{ part_number }}\n )\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.806026, "supported_languages": null}, "macro.dbt._split_part_negative": {"unique_id": "macro.dbt._split_part_negative", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/utils/split_part.sql", "original_file_path": "macros/utils/split_part.sql", "name": "_split_part_negative", "macro_sql": "{% macro _split_part_negative(string_text, delimiter_text, part_number) %}\n\n split_part(\n {{ string_text }},\n {{ delimiter_text }},\n length({{ string_text }})\n - length(\n replace({{ string_text }}, {{ delimiter_text }}, '')\n ) + 2 {{ part_number }}\n )\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.806318, "supported_languages": null}, "macro.dbt.date_trunc": {"unique_id": "macro.dbt.date_trunc", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/utils/date_trunc.sql", "original_file_path": "macros/utils/date_trunc.sql", "name": "date_trunc", "macro_sql": "{% macro date_trunc(datepart, date) -%}\n {{ return(adapter.dispatch('date_trunc', 'dbt') (datepart, date)) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__date_trunc"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.80669, "supported_languages": null}, "macro.dbt.default__date_trunc": {"unique_id": "macro.dbt.default__date_trunc", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/utils/date_trunc.sql", "original_file_path": "macros/utils/date_trunc.sql", "name": "default__date_trunc", "macro_sql": "{% macro default__date_trunc(datepart, date) -%}\n date_trunc('{{datepart}}', {{date}})\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.8068218, "supported_languages": null}, "macro.dbt.array_construct": {"unique_id": "macro.dbt.array_construct", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/utils/array_construct.sql", "original_file_path": "macros/utils/array_construct.sql", "name": "array_construct", "macro_sql": "{% macro array_construct(inputs=[], data_type=api.Column.translate_type('integer')) -%}\n {{ return(adapter.dispatch('array_construct', 'dbt')(inputs, data_type)) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__array_construct"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.807273, "supported_languages": null}, "macro.dbt.default__array_construct": {"unique_id": "macro.dbt.default__array_construct", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/utils/array_construct.sql", "original_file_path": "macros/utils/array_construct.sql", "name": "default__array_construct", "macro_sql": "{% macro default__array_construct(inputs, data_type) -%}\n {% if inputs|length > 0 %}\n array[ {{ inputs|join(' , ') }} ]\n {% else %}\n array[]::{{data_type}}[]\n {% endif %}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.807515, "supported_languages": null}, "macro.dbt.array_append": {"unique_id": "macro.dbt.array_append", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/utils/array_append.sql", "original_file_path": "macros/utils/array_append.sql", "name": "array_append", "macro_sql": "{% macro array_append(array, new_element) -%}\n {{ return(adapter.dispatch('array_append', 'dbt')(array, new_element)) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__array_append"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.8078651, "supported_languages": null}, "macro.dbt.default__array_append": {"unique_id": "macro.dbt.default__array_append", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/utils/array_append.sql", "original_file_path": "macros/utils/array_append.sql", "name": "default__array_append", "macro_sql": "{% macro default__array_append(array, new_element) -%}\n array_append({{ array }}, {{ new_element }})\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.807998, "supported_languages": null}, "macro.dbt.create_schema": {"unique_id": "macro.dbt.create_schema", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/schema.sql", "original_file_path": "macros/adapters/schema.sql", "name": "create_schema", "macro_sql": "{% macro create_schema(relation) -%}\n {{ adapter.dispatch('create_schema', 'dbt')(relation) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_postgres.postgres__create_schema"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.8084412, "supported_languages": null}, "macro.dbt.default__create_schema": {"unique_id": "macro.dbt.default__create_schema", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/schema.sql", "original_file_path": "macros/adapters/schema.sql", "name": "default__create_schema", "macro_sql": "{% macro default__create_schema(relation) -%}\n {%- call statement('create_schema') -%}\n create schema if not exists {{ relation.without_identifier() }}\n {% endcall %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.80862, "supported_languages": null}, "macro.dbt.drop_schema": {"unique_id": "macro.dbt.drop_schema", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/schema.sql", "original_file_path": "macros/adapters/schema.sql", "name": "drop_schema", "macro_sql": "{% macro drop_schema(relation) -%}\n {{ adapter.dispatch('drop_schema', 'dbt')(relation) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_postgres.postgres__drop_schema"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.808782, "supported_languages": null}, "macro.dbt.default__drop_schema": {"unique_id": "macro.dbt.default__drop_schema", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/schema.sql", "original_file_path": "macros/adapters/schema.sql", "name": "default__drop_schema", "macro_sql": "{% macro default__drop_schema(relation) -%}\n {%- call statement('drop_schema') -%}\n drop schema if exists {{ relation.without_identifier() }} cascade\n {% endcall %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.808963, "supported_languages": null}, "macro.dbt.current_timestamp": {"unique_id": "macro.dbt.current_timestamp", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/timestamps.sql", "original_file_path": "macros/adapters/timestamps.sql", "name": "current_timestamp", "macro_sql": "{%- macro current_timestamp() -%}\n {{ adapter.dispatch('current_timestamp', 'dbt')() }}\n{%- endmacro -%}\n\n", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_postgres.postgres__current_timestamp"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.8094962, "supported_languages": null}, "macro.dbt.default__current_timestamp": {"unique_id": "macro.dbt.default__current_timestamp", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/timestamps.sql", "original_file_path": "macros/adapters/timestamps.sql", "name": "default__current_timestamp", "macro_sql": "{% macro default__current_timestamp() -%}\n {{ exceptions.raise_not_implemented(\n 'current_timestamp macro not implemented for adapter ' + adapter.type()) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.809643, "supported_languages": null}, "macro.dbt.snapshot_get_time": {"unique_id": "macro.dbt.snapshot_get_time", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/timestamps.sql", "original_file_path": "macros/adapters/timestamps.sql", "name": "snapshot_get_time", "macro_sql": "\n\n{%- macro snapshot_get_time() -%}\n {{ adapter.dispatch('snapshot_get_time', 'dbt')() }}\n{%- endmacro -%}\n\n", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_postgres.postgres__snapshot_get_time"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.809783, "supported_languages": null}, "macro.dbt.default__snapshot_get_time": {"unique_id": "macro.dbt.default__snapshot_get_time", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/timestamps.sql", "original_file_path": "macros/adapters/timestamps.sql", "name": "default__snapshot_get_time", "macro_sql": "{% macro default__snapshot_get_time() %}\n {{ current_timestamp() }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.current_timestamp"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.80989, "supported_languages": null}, "macro.dbt.current_timestamp_backcompat": {"unique_id": "macro.dbt.current_timestamp_backcompat", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/timestamps.sql", "original_file_path": "macros/adapters/timestamps.sql", "name": "current_timestamp_backcompat", "macro_sql": "{% macro current_timestamp_backcompat() %}\n {{ return(adapter.dispatch('current_timestamp_backcompat', 'dbt')()) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_postgres.postgres__current_timestamp_backcompat"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.8100579, "supported_languages": null}, "macro.dbt.default__current_timestamp_backcompat": {"unique_id": "macro.dbt.default__current_timestamp_backcompat", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/timestamps.sql", "original_file_path": "macros/adapters/timestamps.sql", "name": "default__current_timestamp_backcompat", "macro_sql": "{% macro default__current_timestamp_backcompat() %}\n current_timestamp::timestamp\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.810136, "supported_languages": null}, "macro.dbt.current_timestamp_in_utc_backcompat": {"unique_id": "macro.dbt.current_timestamp_in_utc_backcompat", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/timestamps.sql", "original_file_path": "macros/adapters/timestamps.sql", "name": "current_timestamp_in_utc_backcompat", "macro_sql": "{% macro current_timestamp_in_utc_backcompat() %}\n {{ return(adapter.dispatch('current_timestamp_in_utc_backcompat', 'dbt')()) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_postgres.postgres__current_timestamp_in_utc_backcompat"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.810306, "supported_languages": null}, "macro.dbt.default__current_timestamp_in_utc_backcompat": {"unique_id": "macro.dbt.default__current_timestamp_in_utc_backcompat", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/timestamps.sql", "original_file_path": "macros/adapters/timestamps.sql", "name": "default__current_timestamp_in_utc_backcompat", "macro_sql": "{% macro default__current_timestamp_in_utc_backcompat() %}\n {{ return(adapter.dispatch('current_timestamp_backcompat', 'dbt')()) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.current_timestamp_backcompat", "macro.dbt_postgres.postgres__current_timestamp_backcompat"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.810477, "supported_languages": null}, "macro.dbt.get_create_index_sql": {"unique_id": "macro.dbt.get_create_index_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/indexes.sql", "original_file_path": "macros/adapters/indexes.sql", "name": "get_create_index_sql", "macro_sql": "{% macro get_create_index_sql(relation, index_dict) -%}\n {{ return(adapter.dispatch('get_create_index_sql', 'dbt')(relation, index_dict)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_postgres.postgres__get_create_index_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.8109949, "supported_languages": null}, "macro.dbt.default__get_create_index_sql": {"unique_id": "macro.dbt.default__get_create_index_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/indexes.sql", "original_file_path": "macros/adapters/indexes.sql", "name": "default__get_create_index_sql", "macro_sql": "{% macro default__get_create_index_sql(relation, index_dict) -%}\n {% do return(None) %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.8112, "supported_languages": null}, "macro.dbt.create_indexes": {"unique_id": "macro.dbt.create_indexes", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/indexes.sql", "original_file_path": "macros/adapters/indexes.sql", "name": "create_indexes", "macro_sql": "{% macro create_indexes(relation) -%}\n {{ adapter.dispatch('create_indexes', 'dbt')(relation) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__create_indexes"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.8113532, "supported_languages": null}, "macro.dbt.default__create_indexes": {"unique_id": "macro.dbt.default__create_indexes", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/indexes.sql", "original_file_path": "macros/adapters/indexes.sql", "name": "default__create_indexes", "macro_sql": "{% macro default__create_indexes(relation) -%}\n {%- set _indexes = config.get('indexes', default=[]) -%}\n\n {% for _index_dict in _indexes %}\n {% set create_index_sql = get_create_index_sql(relation, _index_dict) %}\n {% if create_index_sql %}\n {% do run_query(create_index_sql) %}\n {% endif %}\n {% endfor %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.get_create_index_sql", "macro.dbt.run_query"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.81175, "supported_languages": null}, "macro.dbt.make_intermediate_relation": {"unique_id": "macro.dbt.make_intermediate_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "name": "make_intermediate_relation", "macro_sql": "{% macro make_intermediate_relation(base_relation, suffix='__dbt_tmp') %}\n {{ return(adapter.dispatch('make_intermediate_relation', 'dbt')(base_relation, suffix)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_postgres.postgres__make_intermediate_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.814825, "supported_languages": null}, "macro.dbt.default__make_intermediate_relation": {"unique_id": "macro.dbt.default__make_intermediate_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "name": "default__make_intermediate_relation", "macro_sql": "{% macro default__make_intermediate_relation(base_relation, suffix) %}\n {{ return(default__make_temp_relation(base_relation, suffix)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__make_temp_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.814993, "supported_languages": null}, "macro.dbt.make_temp_relation": {"unique_id": "macro.dbt.make_temp_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "name": "make_temp_relation", "macro_sql": "{% macro make_temp_relation(base_relation, suffix='__dbt_tmp') %}\n {{ return(adapter.dispatch('make_temp_relation', 'dbt')(base_relation, suffix)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_postgres.postgres__make_temp_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.815207, "supported_languages": null}, "macro.dbt.default__make_temp_relation": {"unique_id": "macro.dbt.default__make_temp_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "name": "default__make_temp_relation", "macro_sql": "{% macro default__make_temp_relation(base_relation, suffix) %}\n {%- set temp_identifier = base_relation.identifier ~ suffix -%}\n {%- set temp_relation = base_relation.incorporate(\n path={\"identifier\": temp_identifier}) -%}\n\n {{ return(temp_relation) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.8154979, "supported_languages": null}, "macro.dbt.make_backup_relation": {"unique_id": "macro.dbt.make_backup_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "name": "make_backup_relation", "macro_sql": "{% macro make_backup_relation(base_relation, backup_relation_type, suffix='__dbt_backup') %}\n {{ return(adapter.dispatch('make_backup_relation', 'dbt')(base_relation, backup_relation_type, suffix)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_postgres.postgres__make_backup_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.815743, "supported_languages": null}, "macro.dbt.default__make_backup_relation": {"unique_id": "macro.dbt.default__make_backup_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "name": "default__make_backup_relation", "macro_sql": "{% macro default__make_backup_relation(base_relation, backup_relation_type, suffix) %}\n {%- set backup_identifier = base_relation.identifier ~ suffix -%}\n {%- set backup_relation = base_relation.incorporate(\n path={\"identifier\": backup_identifier},\n type=backup_relation_type\n ) -%}\n {{ return(backup_relation) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.816062, "supported_languages": null}, "macro.dbt.drop_relation": {"unique_id": "macro.dbt.drop_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "name": "drop_relation", "macro_sql": "{% macro drop_relation(relation) -%}\n {{ return(adapter.dispatch('drop_relation', 'dbt')(relation)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__drop_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.816239, "supported_languages": null}, "macro.dbt.default__drop_relation": {"unique_id": "macro.dbt.default__drop_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "name": "default__drop_relation", "macro_sql": "{% macro default__drop_relation(relation) -%}\n {% call statement('drop_relation', auto_begin=False) -%}\n drop {{ relation.type }} if exists {{ relation }} cascade\n {%- endcall %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.816451, "supported_languages": null}, "macro.dbt.truncate_relation": {"unique_id": "macro.dbt.truncate_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "name": "truncate_relation", "macro_sql": "{% macro truncate_relation(relation) -%}\n {{ return(adapter.dispatch('truncate_relation', 'dbt')(relation)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__truncate_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.816629, "supported_languages": null}, "macro.dbt.default__truncate_relation": {"unique_id": "macro.dbt.default__truncate_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "name": "default__truncate_relation", "macro_sql": "{% macro default__truncate_relation(relation) -%}\n {% call statement('truncate_relation') -%}\n truncate table {{ relation }}\n {%- endcall %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.816789, "supported_languages": null}, "macro.dbt.rename_relation": {"unique_id": "macro.dbt.rename_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "name": "rename_relation", "macro_sql": "{% macro rename_relation(from_relation, to_relation) -%}\n {{ return(adapter.dispatch('rename_relation', 'dbt')(from_relation, to_relation)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__rename_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.816989, "supported_languages": null}, "macro.dbt.default__rename_relation": {"unique_id": "macro.dbt.default__rename_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "name": "default__rename_relation", "macro_sql": "{% macro default__rename_relation(from_relation, to_relation) -%}\n {% set target_name = adapter.quote_as_configured(to_relation.identifier, 'identifier') %}\n {% call statement('rename_relation') -%}\n alter table {{ from_relation }} rename to {{ target_name }}\n {%- endcall %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.8172622, "supported_languages": null}, "macro.dbt.get_or_create_relation": {"unique_id": "macro.dbt.get_or_create_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "name": "get_or_create_relation", "macro_sql": "{% macro get_or_create_relation(database, schema, identifier, type) -%}\n {{ return(adapter.dispatch('get_or_create_relation', 'dbt')(database, schema, identifier, type)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__get_or_create_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.8175008, "supported_languages": null}, "macro.dbt.default__get_or_create_relation": {"unique_id": "macro.dbt.default__get_or_create_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "name": "default__get_or_create_relation", "macro_sql": "{% macro default__get_or_create_relation(database, schema, identifier, type) %}\n {%- set target_relation = adapter.get_relation(database=database, schema=schema, identifier=identifier) %}\n\n {% if target_relation %}\n {% do return([true, target_relation]) %}\n {% endif %}\n\n {%- set new_relation = api.Relation.create(\n database=database,\n schema=schema,\n identifier=identifier,\n type=type\n ) -%}\n {% do return([false, new_relation]) %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.818101, "supported_languages": null}, "macro.dbt.load_cached_relation": {"unique_id": "macro.dbt.load_cached_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "name": "load_cached_relation", "macro_sql": "{% macro load_cached_relation(relation) %}\n {% do return(adapter.get_relation(\n database=relation.database,\n schema=relation.schema,\n identifier=relation.identifier\n )) -%}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.818429, "supported_languages": null}, "macro.dbt.load_relation": {"unique_id": "macro.dbt.load_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "name": "load_relation", "macro_sql": "{% macro load_relation(relation) %}\n {{ return(load_cached_relation(relation)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.load_cached_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.818589, "supported_languages": null}, "macro.dbt.drop_relation_if_exists": {"unique_id": "macro.dbt.drop_relation_if_exists", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "name": "drop_relation_if_exists", "macro_sql": "{% macro drop_relation_if_exists(relation) %}\n {% if relation is not none %}\n {{ adapter.drop_relation(relation) }}\n {% endif %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.8187861, "supported_languages": null}, "macro.dbt.collect_freshness": {"unique_id": "macro.dbt.collect_freshness", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/freshness.sql", "original_file_path": "macros/adapters/freshness.sql", "name": "collect_freshness", "macro_sql": "{% macro collect_freshness(source, loaded_at_field, filter) %}\n {{ return(adapter.dispatch('collect_freshness', 'dbt')(source, loaded_at_field, filter))}}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__collect_freshness"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.819305, "supported_languages": null}, "macro.dbt.default__collect_freshness": {"unique_id": "macro.dbt.default__collect_freshness", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/freshness.sql", "original_file_path": "macros/adapters/freshness.sql", "name": "default__collect_freshness", "macro_sql": "{% macro default__collect_freshness(source, loaded_at_field, filter) %}\n {% call statement('collect_freshness', fetch_result=True, auto_begin=False) -%}\n select\n max({{ loaded_at_field }}) as max_loaded_at,\n {{ current_timestamp() }} as snapshotted_at\n from {{ source }}\n {% if filter %}\n where {{ filter }}\n {% endif %}\n {% endcall %}\n {{ return(load_result('collect_freshness').table) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.statement", "macro.dbt.current_timestamp"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.819726, "supported_languages": null}, "macro.dbt.copy_grants": {"unique_id": "macro.dbt.copy_grants", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "name": "copy_grants", "macro_sql": "{% macro copy_grants() %}\n {{ return(adapter.dispatch('copy_grants', 'dbt')()) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_postgres.postgres__copy_grants"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.8214002, "supported_languages": null}, "macro.dbt.default__copy_grants": {"unique_id": "macro.dbt.default__copy_grants", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "name": "default__copy_grants", "macro_sql": "{% macro default__copy_grants() %}\n {{ return(True) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.8215208, "supported_languages": null}, "macro.dbt.support_multiple_grantees_per_dcl_statement": {"unique_id": "macro.dbt.support_multiple_grantees_per_dcl_statement", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "name": "support_multiple_grantees_per_dcl_statement", "macro_sql": "{% macro support_multiple_grantees_per_dcl_statement() %}\n {{ return(adapter.dispatch('support_multiple_grantees_per_dcl_statement', 'dbt')()) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__support_multiple_grantees_per_dcl_statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.821686, "supported_languages": null}, "macro.dbt.default__support_multiple_grantees_per_dcl_statement": {"unique_id": "macro.dbt.default__support_multiple_grantees_per_dcl_statement", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "name": "default__support_multiple_grantees_per_dcl_statement", "macro_sql": "\n\n{%- macro default__support_multiple_grantees_per_dcl_statement() -%}\n {{ return(True) }}\n{%- endmacro -%}\n\n\n", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.8217971, "supported_languages": null}, "macro.dbt.should_revoke": {"unique_id": "macro.dbt.should_revoke", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "name": "should_revoke", "macro_sql": "{% macro should_revoke(existing_relation, full_refresh_mode=True) %}\n\n {% if not existing_relation %}\n {#-- The table doesn't already exist, so no grants to copy over --#}\n {{ return(False) }}\n {% elif full_refresh_mode %}\n {#-- The object is being REPLACED -- whether grants are copied over depends on the value of user config --#}\n {{ return(copy_grants()) }}\n {% else %}\n {#-- The table is being merged/upserted/inserted -- grants will be carried over --#}\n {{ return(True) }}\n {% endif %}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.copy_grants"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.822138, "supported_languages": null}, "macro.dbt.get_show_grant_sql": {"unique_id": "macro.dbt.get_show_grant_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "name": "get_show_grant_sql", "macro_sql": "{% macro get_show_grant_sql(relation) %}\n {{ return(adapter.dispatch(\"get_show_grant_sql\", \"dbt\")(relation)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_postgres.postgres__get_show_grant_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.822328, "supported_languages": null}, "macro.dbt.default__get_show_grant_sql": {"unique_id": "macro.dbt.default__get_show_grant_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "name": "default__get_show_grant_sql", "macro_sql": "{% macro default__get_show_grant_sql(relation) %}\n show grants on {{ relation }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.822428, "supported_languages": null}, "macro.dbt.get_grant_sql": {"unique_id": "macro.dbt.get_grant_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "name": "get_grant_sql", "macro_sql": "{% macro get_grant_sql(relation, privilege, grantees) %}\n {{ return(adapter.dispatch('get_grant_sql', 'dbt')(relation, privilege, grantees)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__get_grant_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.822654, "supported_languages": null}, "macro.dbt.default__get_grant_sql": {"unique_id": "macro.dbt.default__get_grant_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "name": "default__get_grant_sql", "macro_sql": "\n\n{%- macro default__get_grant_sql(relation, privilege, grantees) -%}\n grant {{ privilege }} on {{ relation }} to {{ grantees | join(', ') }}\n{%- endmacro -%}\n\n\n", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.822839, "supported_languages": null}, "macro.dbt.get_revoke_sql": {"unique_id": "macro.dbt.get_revoke_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "name": "get_revoke_sql", "macro_sql": "{% macro get_revoke_sql(relation, privilege, grantees) %}\n {{ return(adapter.dispatch('get_revoke_sql', 'dbt')(relation, privilege, grantees)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__get_revoke_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.823067, "supported_languages": null}, "macro.dbt.default__get_revoke_sql": {"unique_id": "macro.dbt.default__get_revoke_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "name": "default__get_revoke_sql", "macro_sql": "\n\n{%- macro default__get_revoke_sql(relation, privilege, grantees) -%}\n revoke {{ privilege }} on {{ relation }} from {{ grantees | join(', ') }}\n{%- endmacro -%}\n\n\n", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.8232498, "supported_languages": null}, "macro.dbt.get_dcl_statement_list": {"unique_id": "macro.dbt.get_dcl_statement_list", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "name": "get_dcl_statement_list", "macro_sql": "{% macro get_dcl_statement_list(relation, grant_config, get_dcl_macro) %}\n {{ return(adapter.dispatch('get_dcl_statement_list', 'dbt')(relation, grant_config, get_dcl_macro)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__get_dcl_statement_list"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.823481, "supported_languages": null}, "macro.dbt.default__get_dcl_statement_list": {"unique_id": "macro.dbt.default__get_dcl_statement_list", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "name": "default__get_dcl_statement_list", "macro_sql": "\n\n{%- macro default__get_dcl_statement_list(relation, grant_config, get_dcl_macro) -%}\n {#\n -- Unpack grant_config into specific privileges and the set of users who need them granted/revoked.\n -- Depending on whether this database supports multiple grantees per statement, pass in the list of\n -- all grantees per privilege, or (if not) template one statement per privilege-grantee pair.\n -- `get_dcl_macro` will be either `get_grant_sql` or `get_revoke_sql`\n #}\n {%- set dcl_statements = [] -%}\n {%- for privilege, grantees in grant_config.items() %}\n {%- if support_multiple_grantees_per_dcl_statement() and grantees -%}\n {%- set dcl = get_dcl_macro(relation, privilege, grantees) -%}\n {%- do dcl_statements.append(dcl) -%}\n {%- else -%}\n {%- for grantee in grantees -%}\n {% set dcl = get_dcl_macro(relation, privilege, [grantee]) %}\n {%- do dcl_statements.append(dcl) -%}\n {% endfor -%}\n {%- endif -%}\n {%- endfor -%}\n {{ return(dcl_statements) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.support_multiple_grantees_per_dcl_statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.8241549, "supported_languages": null}, "macro.dbt.call_dcl_statements": {"unique_id": "macro.dbt.call_dcl_statements", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "name": "call_dcl_statements", "macro_sql": "{% macro call_dcl_statements(dcl_statement_list) %}\n {{ return(adapter.dispatch(\"call_dcl_statements\", \"dbt\")(dcl_statement_list)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__call_dcl_statements"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.824409, "supported_languages": null}, "macro.dbt.default__call_dcl_statements": {"unique_id": "macro.dbt.default__call_dcl_statements", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "name": "default__call_dcl_statements", "macro_sql": "{% macro default__call_dcl_statements(dcl_statement_list) %}\n {#\n -- By default, supply all grant + revoke statements in a single semicolon-separated block,\n -- so that they're all processed together.\n\n -- Some databases do not support this. Those adapters will need to override this macro\n -- to run each statement individually.\n #}\n {% call statement('grants') %}\n {% for dcl_statement in dcl_statement_list %}\n {{ dcl_statement }};\n {% endfor %}\n {% endcall %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.824658, "supported_languages": null}, "macro.dbt.apply_grants": {"unique_id": "macro.dbt.apply_grants", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "name": "apply_grants", "macro_sql": "{% macro apply_grants(relation, grant_config, should_revoke) %}\n {{ return(adapter.dispatch(\"apply_grants\", \"dbt\")(relation, grant_config, should_revoke)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__apply_grants"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.824885, "supported_languages": null}, "macro.dbt.default__apply_grants": {"unique_id": "macro.dbt.default__apply_grants", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "name": "default__apply_grants", "macro_sql": "{% macro default__apply_grants(relation, grant_config, should_revoke=True) %}\n {#-- If grant_config is {} or None, this is a no-op --#}\n {% if grant_config %}\n {% if should_revoke %}\n {#-- We think previous grants may have carried over --#}\n {#-- Show current grants and calculate diffs --#}\n {% set current_grants_table = run_query(get_show_grant_sql(relation)) %}\n {% set current_grants_dict = adapter.standardize_grants_dict(current_grants_table) %}\n {% set needs_granting = diff_of_two_dicts(grant_config, current_grants_dict) %}\n {% set needs_revoking = diff_of_two_dicts(current_grants_dict, grant_config) %}\n {% if not (needs_granting or needs_revoking) %}\n {{ log('On ' ~ relation ~': All grants are in place, no revocation or granting needed.')}}\n {% endif %}\n {% else %}\n {#-- We don't think there's any chance of previous grants having carried over. --#}\n {#-- Jump straight to granting what the user has configured. --#}\n {% set needs_revoking = {} %}\n {% set needs_granting = grant_config %}\n {% endif %}\n {% if needs_granting or needs_revoking %}\n {% set revoke_statement_list = get_dcl_statement_list(relation, needs_revoking, get_revoke_sql) %}\n {% set grant_statement_list = get_dcl_statement_list(relation, needs_granting, get_grant_sql) %}\n {% set dcl_statement_list = revoke_statement_list + grant_statement_list %}\n {% if dcl_statement_list %}\n {{ call_dcl_statements(dcl_statement_list) }}\n {% endif %}\n {% endif %}\n {% endif %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.run_query", "macro.dbt.get_show_grant_sql", "macro.dbt.get_dcl_statement_list", "macro.dbt.call_dcl_statements"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.826005, "supported_languages": null}, "macro.dbt.alter_column_comment": {"unique_id": "macro.dbt.alter_column_comment", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/persist_docs.sql", "original_file_path": "macros/adapters/persist_docs.sql", "name": "alter_column_comment", "macro_sql": "{% macro alter_column_comment(relation, column_dict) -%}\n {{ return(adapter.dispatch('alter_column_comment', 'dbt')(relation, column_dict)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_postgres.postgres__alter_column_comment"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.8267689, "supported_languages": null}, "macro.dbt.default__alter_column_comment": {"unique_id": "macro.dbt.default__alter_column_comment", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/persist_docs.sql", "original_file_path": "macros/adapters/persist_docs.sql", "name": "default__alter_column_comment", "macro_sql": "{% macro default__alter_column_comment(relation, column_dict) -%}\n {{ exceptions.raise_not_implemented(\n 'alter_column_comment macro not implemented for adapter '+adapter.type()) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.826944, "supported_languages": null}, "macro.dbt.alter_relation_comment": {"unique_id": "macro.dbt.alter_relation_comment", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/persist_docs.sql", "original_file_path": "macros/adapters/persist_docs.sql", "name": "alter_relation_comment", "macro_sql": "{% macro alter_relation_comment(relation, relation_comment) -%}\n {{ return(adapter.dispatch('alter_relation_comment', 'dbt')(relation, relation_comment)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_postgres.postgres__alter_relation_comment"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.8271518, "supported_languages": null}, "macro.dbt.default__alter_relation_comment": {"unique_id": "macro.dbt.default__alter_relation_comment", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/persist_docs.sql", "original_file_path": "macros/adapters/persist_docs.sql", "name": "default__alter_relation_comment", "macro_sql": "{% macro default__alter_relation_comment(relation, relation_comment) -%}\n {{ exceptions.raise_not_implemented(\n 'alter_relation_comment macro not implemented for adapter '+adapter.type()) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.827323, "supported_languages": null}, "macro.dbt.persist_docs": {"unique_id": "macro.dbt.persist_docs", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/persist_docs.sql", "original_file_path": "macros/adapters/persist_docs.sql", "name": "persist_docs", "macro_sql": "{% macro persist_docs(relation, model, for_relation=true, for_columns=true) -%}\n {{ return(adapter.dispatch('persist_docs', 'dbt')(relation, model, for_relation, for_columns)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__persist_docs"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.8275928, "supported_languages": null}, "macro.dbt.default__persist_docs": {"unique_id": "macro.dbt.default__persist_docs", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/persist_docs.sql", "original_file_path": "macros/adapters/persist_docs.sql", "name": "default__persist_docs", "macro_sql": "{% macro default__persist_docs(relation, model, for_relation, for_columns) -%}\n {% if for_relation and config.persist_relation_docs() and model.description %}\n {% do run_query(alter_relation_comment(relation, model.description)) %}\n {% endif %}\n\n {% if for_columns and config.persist_column_docs() and model.columns %}\n {% do run_query(alter_column_comment(relation, model.columns)) %}\n {% endif %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.run_query", "macro.dbt.alter_relation_comment", "macro.dbt.alter_column_comment"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.82807, "supported_languages": null}, "macro.dbt.get_catalog": {"unique_id": "macro.dbt.get_catalog", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "name": "get_catalog", "macro_sql": "{% macro get_catalog(information_schema, schemas) -%}\n {{ return(adapter.dispatch('get_catalog', 'dbt')(information_schema, schemas)) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_postgres.postgres__get_catalog"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.829534, "supported_languages": null}, "macro.dbt.default__get_catalog": {"unique_id": "macro.dbt.default__get_catalog", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "name": "default__get_catalog", "macro_sql": "{% macro default__get_catalog(information_schema, schemas) -%}\n\n {% set typename = adapter.type() %}\n {% set msg -%}\n get_catalog not implemented for {{ typename }}\n {%- endset %}\n\n {{ exceptions.raise_compiler_error(msg) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.829792, "supported_languages": null}, "macro.dbt.information_schema_name": {"unique_id": "macro.dbt.information_schema_name", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "name": "information_schema_name", "macro_sql": "{% macro information_schema_name(database) %}\n {{ return(adapter.dispatch('information_schema_name', 'dbt')(database)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_postgres.postgres__information_schema_name"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.829977, "supported_languages": null}, "macro.dbt.default__information_schema_name": {"unique_id": "macro.dbt.default__information_schema_name", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "name": "default__information_schema_name", "macro_sql": "{% macro default__information_schema_name(database) -%}\n {%- if database -%}\n {{ database }}.INFORMATION_SCHEMA\n {%- else -%}\n INFORMATION_SCHEMA\n {%- endif -%}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.8301282, "supported_languages": null}, "macro.dbt.list_schemas": {"unique_id": "macro.dbt.list_schemas", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "name": "list_schemas", "macro_sql": "{% macro list_schemas(database) -%}\n {{ return(adapter.dispatch('list_schemas', 'dbt')(database)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_postgres.postgres__list_schemas"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.830305, "supported_languages": null}, "macro.dbt.default__list_schemas": {"unique_id": "macro.dbt.default__list_schemas", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "name": "default__list_schemas", "macro_sql": "{% macro default__list_schemas(database) -%}\n {% set sql %}\n select distinct schema_name\n from {{ information_schema_name(database) }}.SCHEMATA\n where catalog_name ilike '{{ database }}'\n {% endset %}\n {{ return(run_query(sql)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.information_schema_name", "macro.dbt.run_query"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.8305469, "supported_languages": null}, "macro.dbt.check_schema_exists": {"unique_id": "macro.dbt.check_schema_exists", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "name": "check_schema_exists", "macro_sql": "{% macro check_schema_exists(information_schema, schema) -%}\n {{ return(adapter.dispatch('check_schema_exists', 'dbt')(information_schema, schema)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_postgres.postgres__check_schema_exists"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.8307562, "supported_languages": null}, "macro.dbt.default__check_schema_exists": {"unique_id": "macro.dbt.default__check_schema_exists", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "name": "default__check_schema_exists", "macro_sql": "{% macro default__check_schema_exists(information_schema, schema) -%}\n {% set sql -%}\n select count(*)\n from {{ information_schema.replace(information_schema_view='SCHEMATA') }}\n where catalog_name='{{ information_schema.database }}'\n and schema_name='{{ schema }}'\n {%- endset %}\n {{ return(run_query(sql)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.replace", "macro.dbt.run_query"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.831051, "supported_languages": null}, "macro.dbt.list_relations_without_caching": {"unique_id": "macro.dbt.list_relations_without_caching", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "name": "list_relations_without_caching", "macro_sql": "{% macro list_relations_without_caching(schema_relation) %}\n {{ return(adapter.dispatch('list_relations_without_caching', 'dbt')(schema_relation)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_postgres.postgres__list_relations_without_caching"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.831237, "supported_languages": null}, "macro.dbt.default__list_relations_without_caching": {"unique_id": "macro.dbt.default__list_relations_without_caching", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "name": "default__list_relations_without_caching", "macro_sql": "{% macro default__list_relations_without_caching(schema_relation) %}\n {{ exceptions.raise_not_implemented(\n 'list_relations_without_caching macro not implemented for adapter '+adapter.type()) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.831399, "supported_languages": null}, "macro.dbt.get_columns_in_relation": {"unique_id": "macro.dbt.get_columns_in_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/columns.sql", "original_file_path": "macros/adapters/columns.sql", "name": "get_columns_in_relation", "macro_sql": "{% macro get_columns_in_relation(relation) -%}\n {{ return(adapter.dispatch('get_columns_in_relation', 'dbt')(relation)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_postgres.postgres__get_columns_in_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.8330638, "supported_languages": null}, "macro.dbt.default__get_columns_in_relation": {"unique_id": "macro.dbt.default__get_columns_in_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/columns.sql", "original_file_path": "macros/adapters/columns.sql", "name": "default__get_columns_in_relation", "macro_sql": "{% macro default__get_columns_in_relation(relation) -%}\n {{ exceptions.raise_not_implemented(\n 'get_columns_in_relation macro not implemented for adapter '+adapter.type()) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.833508, "supported_languages": null}, "macro.dbt.sql_convert_columns_in_relation": {"unique_id": "macro.dbt.sql_convert_columns_in_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/columns.sql", "original_file_path": "macros/adapters/columns.sql", "name": "sql_convert_columns_in_relation", "macro_sql": "{% macro sql_convert_columns_in_relation(table) -%}\n {% set columns = [] %}\n {% for row in table %}\n {% do columns.append(api.Column(*row)) %}\n {% endfor %}\n {{ return(columns) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.8338208, "supported_languages": null}, "macro.dbt.get_columns_in_query": {"unique_id": "macro.dbt.get_columns_in_query", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/columns.sql", "original_file_path": "macros/adapters/columns.sql", "name": "get_columns_in_query", "macro_sql": "{% macro get_columns_in_query(select_sql) -%}\n {{ return(adapter.dispatch('get_columns_in_query', 'dbt')(select_sql)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__get_columns_in_query"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.8340008, "supported_languages": null}, "macro.dbt.default__get_columns_in_query": {"unique_id": "macro.dbt.default__get_columns_in_query", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/columns.sql", "original_file_path": "macros/adapters/columns.sql", "name": "default__get_columns_in_query", "macro_sql": "{% macro default__get_columns_in_query(select_sql) %}\n {% call statement('get_columns_in_query', fetch_result=True, auto_begin=False) -%}\n select * from (\n {{ select_sql }}\n ) as __dbt_sbq\n where false\n limit 0\n {% endcall %}\n\n {{ return(load_result('get_columns_in_query').table.columns | map(attribute='name') | list) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.834344, "supported_languages": null}, "macro.dbt.alter_column_type": {"unique_id": "macro.dbt.alter_column_type", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/columns.sql", "original_file_path": "macros/adapters/columns.sql", "name": "alter_column_type", "macro_sql": "{% macro alter_column_type(relation, column_name, new_column_type) -%}\n {{ return(adapter.dispatch('alter_column_type', 'dbt')(relation, column_name, new_column_type)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__alter_column_type"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.834569, "supported_languages": null}, "macro.dbt.default__alter_column_type": {"unique_id": "macro.dbt.default__alter_column_type", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/columns.sql", "original_file_path": "macros/adapters/columns.sql", "name": "default__alter_column_type", "macro_sql": "{% macro default__alter_column_type(relation, column_name, new_column_type) -%}\n {#\n 1. Create a new column (w/ temp name and correct type)\n 2. Copy data over to it\n 3. Drop the existing column (cascade!)\n 4. Rename the new column to existing column\n #}\n {%- set tmp_column = column_name + \"__dbt_alter\" -%}\n\n {% call statement('alter_column_type') %}\n alter table {{ relation }} add column {{ adapter.quote(tmp_column) }} {{ new_column_type }};\n update {{ relation }} set {{ adapter.quote(tmp_column) }} = {{ adapter.quote(column_name) }};\n alter table {{ relation }} drop column {{ adapter.quote(column_name) }} cascade;\n alter table {{ relation }} rename column {{ adapter.quote(tmp_column) }} to {{ adapter.quote(column_name) }}\n {% endcall %}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.835155, "supported_languages": null}, "macro.dbt.alter_relation_add_remove_columns": {"unique_id": "macro.dbt.alter_relation_add_remove_columns", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/columns.sql", "original_file_path": "macros/adapters/columns.sql", "name": "alter_relation_add_remove_columns", "macro_sql": "{% macro alter_relation_add_remove_columns(relation, add_columns = none, remove_columns = none) -%}\n {{ return(adapter.dispatch('alter_relation_add_remove_columns', 'dbt')(relation, add_columns, remove_columns)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__alter_relation_add_remove_columns"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.8354182, "supported_languages": null}, "macro.dbt.default__alter_relation_add_remove_columns": {"unique_id": "macro.dbt.default__alter_relation_add_remove_columns", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/columns.sql", "original_file_path": "macros/adapters/columns.sql", "name": "default__alter_relation_add_remove_columns", "macro_sql": "{% macro default__alter_relation_add_remove_columns(relation, add_columns, remove_columns) %}\n\n {% if add_columns is none %}\n {% set add_columns = [] %}\n {% endif %}\n {% if remove_columns is none %}\n {% set remove_columns = [] %}\n {% endif %}\n\n {% set sql -%}\n\n alter {{ relation.type }} {{ relation }}\n\n {% for column in add_columns %}\n add column {{ column.name }} {{ column.data_type }}{{ ',' if not loop.last }}\n {% endfor %}{{ ',' if add_columns and remove_columns }}\n\n {% for column in remove_columns %}\n drop column {{ column.name }}{{ ',' if not loop.last }}\n {% endfor %}\n\n {%- endset -%}\n\n {% do run_query(sql) %}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.run_query"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.836181, "supported_languages": null}, "macro.dbt.build_ref_function": {"unique_id": "macro.dbt.build_ref_function", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/python_model/python.sql", "original_file_path": "macros/python_model/python.sql", "name": "build_ref_function", "macro_sql": "{% macro build_ref_function(model) %}\n\n {%- set ref_dict = {} -%}\n {%- for _ref in model.refs -%}\n {%- set resolved = ref(*_ref) -%}\n {%- do ref_dict.update({_ref | join(\".\"): resolved.quote(database=False, schema=False, identifier=False) | string}) -%}\n {%- endfor -%}\n\ndef ref(*args,dbt_load_df_function):\n refs = {{ ref_dict | tojson }}\n key = \".\".join(args)\n return dbt_load_df_function(refs[key])\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.837661, "supported_languages": null}, "macro.dbt.build_source_function": {"unique_id": "macro.dbt.build_source_function", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/python_model/python.sql", "original_file_path": "macros/python_model/python.sql", "name": "build_source_function", "macro_sql": "{% macro build_source_function(model) %}\n\n {%- set source_dict = {} -%}\n {%- for _source in model.sources -%}\n {%- set resolved = source(*_source) -%}\n {%- do source_dict.update({_source | join(\".\"): resolved.quote(database=False, schema=False, identifier=False) | string}) -%}\n {%- endfor -%}\n\ndef source(*args, dbt_load_df_function):\n sources = {{ source_dict | tojson }}\n key = \".\".join(args)\n return dbt_load_df_function(sources[key])\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.838122, "supported_languages": null}, "macro.dbt.build_config_dict": {"unique_id": "macro.dbt.build_config_dict", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/python_model/python.sql", "original_file_path": "macros/python_model/python.sql", "name": "build_config_dict", "macro_sql": "{% macro build_config_dict(model) %}\n {%- set config_dict = {} -%}\n {%- for key in model.config.config_keys_used -%}\n {# weird type testing with enum, would be much easier to write this logic in Python! #}\n {%- if key == 'language' -%}\n {%- set value = 'python' -%}\n {%- endif -%}\n {%- set value = model.config[key] -%}\n {%- do config_dict.update({key: value}) -%}\n {%- endfor -%}\nconfig_dict = {{ config_dict }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.83856, "supported_languages": null}, "macro.dbt.py_script_postfix": {"unique_id": "macro.dbt.py_script_postfix", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/python_model/python.sql", "original_file_path": "macros/python_model/python.sql", "name": "py_script_postfix", "macro_sql": "{% macro py_script_postfix(model) %}\n# This part is user provided model code\n# you will need to copy the next section to run the code\n# COMMAND ----------\n# this part is dbt logic for get ref work, do not modify\n\n{{ build_ref_function(model ) }}\n{{ build_source_function(model ) }}\n{{ build_config_dict(model) }}\n\nclass config:\n def __init__(self, *args, **kwargs):\n pass\n\n @staticmethod\n def get(key, default=None):\n return config_dict.get(key, default)\n\nclass this:\n \"\"\"dbt.this() or dbt.this.identifier\"\"\"\n database = '{{ this.database }}'\n schema = '{{ this.schema }}'\n identifier = '{{ this.identifier }}'\n def __repr__(self):\n return '{{ this }}'\n\n\nclass dbtObj:\n def __init__(self, load_df_function) -> None:\n self.source = lambda *args: source(*args, dbt_load_df_function=load_df_function)\n self.ref = lambda *args: ref(*args, dbt_load_df_function=load_df_function)\n self.config = config\n self.this = this()\n self.is_incremental = {{ is_incremental() }}\n\n# COMMAND ----------\n{{py_script_comment()}}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.build_ref_function", "macro.dbt.build_source_function", "macro.dbt.build_config_dict", "macro.dbt.is_incremental", "macro.dbt.py_script_comment"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.838956, "supported_languages": null}, "macro.dbt.py_script_comment": {"unique_id": "macro.dbt.py_script_comment", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/python_model/python.sql", "original_file_path": "macros/python_model/python.sql", "name": "py_script_comment", "macro_sql": "{%macro py_script_comment()%}\n{%endmacro%}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.839031, "supported_languages": null}, "macro.dbt.test_unique": {"unique_id": "macro.dbt.test_unique", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "tests/generic/builtin.sql", "original_file_path": "tests/generic/builtin.sql", "name": "test_unique", "macro_sql": "{% test unique(model, column_name) %}\n {% set macro = adapter.dispatch('test_unique', 'dbt') %}\n {{ macro(model, column_name) }}\n{% endtest %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__test_unique"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.839603, "supported_languages": null}, "macro.dbt.test_not_null": {"unique_id": "macro.dbt.test_not_null", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "tests/generic/builtin.sql", "original_file_path": "tests/generic/builtin.sql", "name": "test_not_null", "macro_sql": "{% test not_null(model, column_name) %}\n {% set macro = adapter.dispatch('test_not_null', 'dbt') %}\n {{ macro(model, column_name) }}\n{% endtest %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__test_not_null"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.839829, "supported_languages": null}, "macro.dbt.test_accepted_values": {"unique_id": "macro.dbt.test_accepted_values", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "tests/generic/builtin.sql", "original_file_path": "tests/generic/builtin.sql", "name": "test_accepted_values", "macro_sql": "{% test accepted_values(model, column_name, values, quote=True) %}\n {% set macro = adapter.dispatch('test_accepted_values', 'dbt') %}\n {{ macro(model, column_name, values, quote) }}\n{% endtest %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__test_accepted_values"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.8401122, "supported_languages": null}, "macro.dbt.test_relationships": {"unique_id": "macro.dbt.test_relationships", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "tests/generic/builtin.sql", "original_file_path": "tests/generic/builtin.sql", "name": "test_relationships", "macro_sql": "{% test relationships(model, column_name, to, field) %}\n {% set macro = adapter.dispatch('test_relationships', 'dbt') %}\n {{ macro(model, column_name, to, field) }}\n{% endtest %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__test_relationships"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.840381, "supported_languages": null}, "macro.dbt_utils.get_url_host": {"unique_id": "macro.dbt_utils.get_url_host", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/web/get_url_host.sql", "original_file_path": "macros/web/get_url_host.sql", "name": "get_url_host", "macro_sql": "{% macro get_url_host(field) -%}\n {{ return(adapter.dispatch('get_url_host', 'dbt_utils')(field)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.default__get_url_host"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.8407922, "supported_languages": null}, "macro.dbt_utils.default__get_url_host": {"unique_id": "macro.dbt_utils.default__get_url_host", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/web/get_url_host.sql", "original_file_path": "macros/web/get_url_host.sql", "name": "default__get_url_host", "macro_sql": "{% macro default__get_url_host(field) -%}\n\n{%- set parsed =\n dbt.split_part(\n dbt.split_part(\n dbt.replace(\n dbt.replace(\n dbt.replace(field, \"'android-app://'\", \"''\"\n ), \"'http://'\", \"''\"\n ), \"'https://'\", \"''\"\n ), \"'/'\", 1\n ), \"'?'\", 1\n )\n\n-%}\n\n\n {{ dbt.safe_cast(\n parsed,\n dbt.type_string()\n )}}\n\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.split_part", "macro.dbt.replace", "macro.dbt.safe_cast", "macro.dbt.type_string"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.841331, "supported_languages": null}, "macro.dbt_utils.get_url_path": {"unique_id": "macro.dbt_utils.get_url_path", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/web/get_url_path.sql", "original_file_path": "macros/web/get_url_path.sql", "name": "get_url_path", "macro_sql": "{% macro get_url_path(field) -%}\n {{ return(adapter.dispatch('get_url_path', 'dbt_utils')(field)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.default__get_url_path"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.841856, "supported_languages": null}, "macro.dbt_utils.default__get_url_path": {"unique_id": "macro.dbt_utils.default__get_url_path", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/web/get_url_path.sql", "original_file_path": "macros/web/get_url_path.sql", "name": "default__get_url_path", "macro_sql": "{% macro default__get_url_path(field) -%}\n\n {%- set stripped_url =\n dbt.replace(\n dbt.replace(field, \"'http://'\", \"''\"), \"'https://'\", \"''\")\n -%}\n\n {%- set first_slash_pos -%}\n coalesce(\n nullif({{ dbt.position(\"'/'\", stripped_url) }}, 0),\n {{ dbt.position(\"'?'\", stripped_url) }} - 1\n )\n {%- endset -%}\n\n {%- set parsed_path =\n dbt.split_part(\n dbt.right(\n stripped_url,\n dbt.length(stripped_url) ~ \"-\" ~ first_slash_pos\n ),\n \"'?'\", 1\n )\n -%}\n\n {{ dbt.safe_cast(\n parsed_path,\n dbt.type_string()\n )}}\n\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.replace", "macro.dbt.position", "macro.dbt.split_part", "macro.dbt.right", "macro.dbt.length", "macro.dbt.safe_cast", "macro.dbt.type_string"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.842494, "supported_languages": null}, "macro.dbt_utils.get_url_parameter": {"unique_id": "macro.dbt_utils.get_url_parameter", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/web/get_url_parameter.sql", "original_file_path": "macros/web/get_url_parameter.sql", "name": "get_url_parameter", "macro_sql": "{% macro get_url_parameter(field, url_parameter) -%}\n {{ return(adapter.dispatch('get_url_parameter', 'dbt_utils')(field, url_parameter)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.default__get_url_parameter"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.8428822, "supported_languages": null}, "macro.dbt_utils.default__get_url_parameter": {"unique_id": "macro.dbt_utils.default__get_url_parameter", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/web/get_url_parameter.sql", "original_file_path": "macros/web/get_url_parameter.sql", "name": "default__get_url_parameter", "macro_sql": "{% macro default__get_url_parameter(field, url_parameter) -%}\n\n{%- set formatted_url_parameter = \"'\" + url_parameter + \"='\" -%}\n\n{%- set split = dbt.split_part(dbt.split_part(field, formatted_url_parameter, 2), \"'&'\", 1) -%}\n\nnullif({{ split }},'')\n\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.split_part"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.843193, "supported_languages": null}, "macro.dbt_utils.test_fewer_rows_than": {"unique_id": "macro.dbt_utils.test_fewer_rows_than", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/generic_tests/fewer_rows_than.sql", "original_file_path": "macros/generic_tests/fewer_rows_than.sql", "name": "test_fewer_rows_than", "macro_sql": "{% test fewer_rows_than(model, compare_model, group_by_columns = []) %}\n {{ return(adapter.dispatch('test_fewer_rows_than', 'dbt_utils')(model, compare_model, group_by_columns)) }}\n{% endtest %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.default__test_fewer_rows_than"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.844324, "supported_languages": null}, "macro.dbt_utils.default__test_fewer_rows_than": {"unique_id": "macro.dbt_utils.default__test_fewer_rows_than", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/generic_tests/fewer_rows_than.sql", "original_file_path": "macros/generic_tests/fewer_rows_than.sql", "name": "default__test_fewer_rows_than", "macro_sql": "{% macro default__test_fewer_rows_than(model, compare_model, group_by_columns) %}\n\n{{ config(fail_calc = 'sum(coalesce(row_count_delta, 0))') }}\n\n{% if group_by_columns|length() > 0 %}\n {% set select_gb_cols = group_by_columns|join(' ,') + ', ' %}\n {% set join_gb_cols %}\n {% for c in group_by_columns %}\n and a.{{c}} = b.{{c}}\n {% endfor %}\n {% endset %}\n {% set groupby_gb_cols = 'group by ' + group_by_columns|join(',') %}\n{% endif %}\n\n{#-- We must add a fake join key in case additional grouping variables are not provided --#}\n{#-- Redshift does not allow for dynamically created join conditions (e.g. full join on 1 = 1 --#}\n{#-- The same logic is used in equal_rowcount. In case of changes, maintain consistent logic --#}\n{% set group_by_columns = ['id_dbtutils_test_fewer_rows_than'] + group_by_columns %}\n{% set groupby_gb_cols = 'group by ' + group_by_columns|join(',') %}\n\n\nwith a as (\n\n select \n {{select_gb_cols}}\n 1 as id_dbtutils_test_fewer_rows_than,\n count(*) as count_our_model \n from {{ model }}\n {{ groupby_gb_cols }}\n\n),\nb as (\n\n select \n {{select_gb_cols}}\n 1 as id_dbtutils_test_fewer_rows_than,\n count(*) as count_comparison_model \n from {{ compare_model }}\n {{ groupby_gb_cols }}\n\n),\ncounts as (\n\n select\n\n {% for c in group_by_columns -%}\n a.{{c}} as {{c}}_a,\n b.{{c}} as {{c}}_b,\n {% endfor %}\n\n count_our_model,\n count_comparison_model\n from a\n full join b on \n a.id_dbtutils_test_fewer_rows_than = b.id_dbtutils_test_fewer_rows_than\n {{ join_gb_cols }}\n\n),\nfinal as (\n\n select *,\n case\n -- fail the test if we have more rows than the reference model and return the row count delta\n when count_our_model > count_comparison_model then (count_our_model - count_comparison_model)\n -- fail the test if they are the same number\n when count_our_model = count_comparison_model then 1\n -- pass the test if the delta is positive (i.e. return the number 0)\n else 0\n end as row_count_delta\n from counts\n\n)\n\nselect * from final\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.845345, "supported_languages": null}, "macro.dbt_utils.test_equal_rowcount": {"unique_id": "macro.dbt_utils.test_equal_rowcount", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/generic_tests/equal_rowcount.sql", "original_file_path": "macros/generic_tests/equal_rowcount.sql", "name": "test_equal_rowcount", "macro_sql": "{% test equal_rowcount(model, compare_model, group_by_columns = []) %}\n {{ return(adapter.dispatch('test_equal_rowcount', 'dbt_utils')(model, compare_model, group_by_columns)) }}\n{% endtest %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.default__test_equal_rowcount"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.846234, "supported_languages": null}, "macro.dbt_utils.default__test_equal_rowcount": {"unique_id": "macro.dbt_utils.default__test_equal_rowcount", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/generic_tests/equal_rowcount.sql", "original_file_path": "macros/generic_tests/equal_rowcount.sql", "name": "default__test_equal_rowcount", "macro_sql": "{% macro default__test_equal_rowcount(model, compare_model, group_by_columns) %}\n\n{#-- Needs to be set at parse time, before we return '' below --#}\n{{ config(fail_calc = 'sum(coalesce(diff_count, 0))') }}\n\n{#-- Prevent querying of db in parsing mode. This works because this macro does not create any new refs. #}\n{%- if not execute -%}\n {{ return('') }}\n{% endif %}\n\n{% if group_by_columns|length() > 0 %}\n {% set select_gb_cols = group_by_columns|join(', ') + ', ' %}\n {% set join_gb_cols %}\n {% for c in group_by_columns %}\n and a.{{c}} = b.{{c}}\n {% endfor %}\n {% endset %}\n {% set groupby_gb_cols = 'group by ' + group_by_columns|join(',') %}\n{% endif %}\n\n{#-- We must add a fake join key in case additional grouping variables are not provided --#}\n{#-- Redshift does not allow for dynamically created join conditions (e.g. full join on 1 = 1 --#}\n{#-- The same logic is used in fewer_rows_than. In case of changes, maintain consistent logic --#}\n{% set group_by_columns = ['id_dbtutils_test_equal_rowcount'] + group_by_columns %}\n{% set groupby_gb_cols = 'group by ' + group_by_columns|join(',') %}\n\nwith a as (\n\n select \n {{select_gb_cols}}\n 1 as id_dbtutils_test_equal_rowcount,\n count(*) as count_a \n from {{ model }}\n {{groupby_gb_cols}}\n\n\n),\nb as (\n\n select \n {{select_gb_cols}}\n 1 as id_dbtutils_test_equal_rowcount,\n count(*) as count_b \n from {{ compare_model }}\n {{groupby_gb_cols}}\n\n),\nfinal as (\n\n select\n \n {% for c in group_by_columns -%}\n a.{{c}} as {{c}}_a,\n b.{{c}} as {{c}}_b,\n {% endfor %}\n\n count_a,\n count_b,\n abs(count_a - count_b) as diff_count\n\n from a\n full join b\n on\n a.id_dbtutils_test_equal_rowcount = b.id_dbtutils_test_equal_rowcount\n {{join_gb_cols}}\n\n\n)\n\nselect * from final\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.8472881, "supported_languages": null}, "macro.dbt_utils.test_relationships_where": {"unique_id": "macro.dbt_utils.test_relationships_where", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/generic_tests/relationships_where.sql", "original_file_path": "macros/generic_tests/relationships_where.sql", "name": "test_relationships_where", "macro_sql": "{% test relationships_where(model, column_name, to, field, from_condition=\"1=1\", to_condition=\"1=1\") %}\n {{ return(adapter.dispatch('test_relationships_where', 'dbt_utils')(model, column_name, to, field, from_condition, to_condition)) }}\n{% endtest %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.default__test_relationships_where"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.847989, "supported_languages": null}, "macro.dbt_utils.default__test_relationships_where": {"unique_id": "macro.dbt_utils.default__test_relationships_where", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/generic_tests/relationships_where.sql", "original_file_path": "macros/generic_tests/relationships_where.sql", "name": "default__test_relationships_where", "macro_sql": "{% macro default__test_relationships_where(model, column_name, to, field, from_condition=\"1=1\", to_condition=\"1=1\") %}\n\n{# T-SQL has no boolean data type so we use 1=1 which returns TRUE #}\n{# ref https://stackoverflow.com/a/7170753/3842610 #}\n\nwith left_table as (\n\n select\n {{column_name}} as id\n\n from {{model}}\n\n where {{column_name}} is not null\n and {{from_condition}}\n\n),\n\nright_table as (\n\n select\n {{field}} as id\n\n from {{to}}\n\n where {{field}} is not null\n and {{to_condition}}\n\n),\n\nexceptions as (\n\n select\n left_table.id,\n right_table.id as right_id\n\n from left_table\n\n left join right_table\n on left_table.id = right_table.id\n\n where right_table.id is null\n\n)\n\nselect * from exceptions\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.848331, "supported_languages": null}, "macro.dbt_utils.test_recency": {"unique_id": "macro.dbt_utils.test_recency", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/generic_tests/recency.sql", "original_file_path": "macros/generic_tests/recency.sql", "name": "test_recency", "macro_sql": "{% test recency(model, field, datepart, interval, ignore_time_component=False, group_by_columns = []) %}\n {{ return(adapter.dispatch('test_recency', 'dbt_utils')(model, field, datepart, interval, ignore_time_component, group_by_columns)) }}\n{% endtest %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.default__test_recency"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.849098, "supported_languages": null}, "macro.dbt_utils.default__test_recency": {"unique_id": "macro.dbt_utils.default__test_recency", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/generic_tests/recency.sql", "original_file_path": "macros/generic_tests/recency.sql", "name": "default__test_recency", "macro_sql": "{% macro default__test_recency(model, field, datepart, interval, ignore_time_component, group_by_columns) %}\n\n{% set threshold = 'cast(' ~ dbt.dateadd(datepart, interval * -1, dbt.current_timestamp()) ~ ' as ' ~ ('date' if ignore_time_component else dbt.type_timestamp()) ~ ')' %}\n\n{% if group_by_columns|length() > 0 %}\n {% set select_gb_cols = group_by_columns|join(' ,') + ', ' %}\n {% set groupby_gb_cols = 'group by ' + group_by_columns|join(',') %}\n{% endif %}\n\n\nwith recency as (\n\n select \n\n {{ select_gb_cols }}\n {% if ignore_time_component %}\n cast(max({{ field }}) as date) as most_recent\n {%- else %}\n max({{ field }}) as most_recent\n {%- endif %}\n\n from {{ model }}\n\n {{ groupby_gb_cols }}\n\n)\n\nselect\n\n {{ select_gb_cols }}\n most_recent,\n {{ threshold }} as threshold\n\nfrom recency\nwhere most_recent < {{ threshold }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.dateadd", "macro.dbt.current_timestamp", "macro.dbt.type_timestamp"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.849942, "supported_languages": null}, "macro.dbt_utils.test_not_constant": {"unique_id": "macro.dbt_utils.test_not_constant", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/generic_tests/not_constant.sql", "original_file_path": "macros/generic_tests/not_constant.sql", "name": "test_not_constant", "macro_sql": "{% test not_constant(model, column_name, group_by_columns = []) %}\n {{ return(adapter.dispatch('test_not_constant', 'dbt_utils')(model, column_name, group_by_columns)) }}\n{% endtest %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.default__test_not_constant"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.850472, "supported_languages": null}, "macro.dbt_utils.default__test_not_constant": {"unique_id": "macro.dbt_utils.default__test_not_constant", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/generic_tests/not_constant.sql", "original_file_path": "macros/generic_tests/not_constant.sql", "name": "default__test_not_constant", "macro_sql": "{% macro default__test_not_constant(model, column_name, group_by_columns) %}\n\n{% if group_by_columns|length() > 0 %}\n {% set select_gb_cols = group_by_columns|join(' ,') + ', ' %}\n {% set groupby_gb_cols = 'group by ' + group_by_columns|join(',') %}\n{% endif %}\n\n\nselect\n {# In TSQL, subquery aggregate columns need aliases #}\n {# thus: a filler col name, 'filler_column' #}\n {{select_gb_cols}}\n count(distinct {{ column_name }}) as filler_column\n\nfrom {{ model }}\n\n {{groupby_gb_cols}}\n\nhaving count(distinct {{ column_name }}) = 1\n\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.850935, "supported_languages": null}, "macro.dbt_utils.test_accepted_range": {"unique_id": "macro.dbt_utils.test_accepted_range", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/generic_tests/accepted_range.sql", "original_file_path": "macros/generic_tests/accepted_range.sql", "name": "test_accepted_range", "macro_sql": "{% test accepted_range(model, column_name, min_value=none, max_value=none, inclusive=true) %}\n {{ return(adapter.dispatch('test_accepted_range', 'dbt_utils')(model, column_name, min_value, max_value, inclusive)) }}\n{% endtest %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.default__test_accepted_range"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.8516219, "supported_languages": null}, "macro.dbt_utils.default__test_accepted_range": {"unique_id": "macro.dbt_utils.default__test_accepted_range", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/generic_tests/accepted_range.sql", "original_file_path": "macros/generic_tests/accepted_range.sql", "name": "default__test_accepted_range", "macro_sql": "{% macro default__test_accepted_range(model, column_name, min_value=none, max_value=none, inclusive=true) %}\n\nwith meet_condition as(\n select *\n from {{ model }}\n),\n\nvalidation_errors as (\n select *\n from meet_condition\n where\n -- never true, defaults to an empty result set. Exists to ensure any combo of the `or` clauses below succeeds\n 1 = 2\n\n {%- if min_value is not none %}\n -- records with a value >= min_value are permitted. The `not` flips this to find records that don't meet the rule.\n or not {{ column_name }} > {{- \"=\" if inclusive }} {{ min_value }}\n {%- endif %}\n\n {%- if max_value is not none %}\n -- records with a value <= max_value are permitted. The `not` flips this to find records that don't meet the rule.\n or not {{ column_name }} < {{- \"=\" if inclusive }} {{ max_value }}\n {%- endif %}\n)\n\nselect *\nfrom validation_errors\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.852106, "supported_languages": null}, "macro.dbt_utils.test_not_accepted_values": {"unique_id": "macro.dbt_utils.test_not_accepted_values", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/generic_tests/not_accepted_values.sql", "original_file_path": "macros/generic_tests/not_accepted_values.sql", "name": "test_not_accepted_values", "macro_sql": "{% test not_accepted_values(model, column_name, values, quote=True) %}\n {{ return(adapter.dispatch('test_not_accepted_values', 'dbt_utils')(model, column_name, values, quote)) }}\n{% endtest %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.default__test_not_accepted_values"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.852731, "supported_languages": null}, "macro.dbt_utils.default__test_not_accepted_values": {"unique_id": "macro.dbt_utils.default__test_not_accepted_values", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/generic_tests/not_accepted_values.sql", "original_file_path": "macros/generic_tests/not_accepted_values.sql", "name": "default__test_not_accepted_values", "macro_sql": "{% macro default__test_not_accepted_values(model, column_name, values, quote=True) %}\nwith all_values as (\n\n select distinct\n {{ column_name }} as value_field\n\n from {{ model }}\n\n),\n\nvalidation_errors as (\n\n select\n value_field\n\n from all_values\n where value_field in (\n {% for value in values -%}\n {% if quote -%}\n '{{ value }}'\n {%- else -%}\n {{ value }}\n {%- endif -%}\n {%- if not loop.last -%},{%- endif %}\n {%- endfor %}\n )\n\n)\n\nselect *\nfrom validation_errors\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.8532171, "supported_languages": null}, "macro.dbt_utils.test_at_least_one": {"unique_id": "macro.dbt_utils.test_at_least_one", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/generic_tests/at_least_one.sql", "original_file_path": "macros/generic_tests/at_least_one.sql", "name": "test_at_least_one", "macro_sql": "{% test at_least_one(model, column_name, group_by_columns = []) %}\n {{ return(adapter.dispatch('test_at_least_one', 'dbt_utils')(model, column_name, group_by_columns)) }}\n{% endtest %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.default__test_at_least_one"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.853764, "supported_languages": null}, "macro.dbt_utils.default__test_at_least_one": {"unique_id": "macro.dbt_utils.default__test_at_least_one", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/generic_tests/at_least_one.sql", "original_file_path": "macros/generic_tests/at_least_one.sql", "name": "default__test_at_least_one", "macro_sql": "{% macro default__test_at_least_one(model, column_name, group_by_columns) %}\n\n{% if group_by_columns|length() > 0 %}\n {% set select_gb_cols = group_by_columns|join(' ,') + ', ' %}\n {% set groupby_gb_cols = 'group by ' + group_by_columns|join(',') %}\n{% endif %}\n\nselect *\nfrom (\n select\n {# In TSQL, subquery aggregate columns need aliases #}\n {# thus: a filler col name, 'filler_column' #}\n {{select_gb_cols}}\n count({{ column_name }}) as filler_column\n\n from {{ model }}\n\n {{groupby_gb_cols}}\n\n having count({{ column_name }}) = 0\n\n) validation_errors\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.8542552, "supported_languages": null}, "macro.dbt_utils.test_unique_combination_of_columns": {"unique_id": "macro.dbt_utils.test_unique_combination_of_columns", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/generic_tests/unique_combination_of_columns.sql", "original_file_path": "macros/generic_tests/unique_combination_of_columns.sql", "name": "test_unique_combination_of_columns", "macro_sql": "{% test unique_combination_of_columns(model, combination_of_columns, quote_columns=false) %}\n {{ return(adapter.dispatch('test_unique_combination_of_columns', 'dbt_utils')(model, combination_of_columns, quote_columns)) }}\n{% endtest %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.default__test_unique_combination_of_columns"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.854961, "supported_languages": null}, "macro.dbt_utils.default__test_unique_combination_of_columns": {"unique_id": "macro.dbt_utils.default__test_unique_combination_of_columns", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/generic_tests/unique_combination_of_columns.sql", "original_file_path": "macros/generic_tests/unique_combination_of_columns.sql", "name": "default__test_unique_combination_of_columns", "macro_sql": "{% macro default__test_unique_combination_of_columns(model, combination_of_columns, quote_columns=false) %}\n\n{% if not quote_columns %}\n {%- set column_list=combination_of_columns %}\n{% elif quote_columns %}\n {%- set column_list=[] %}\n {% for column in combination_of_columns -%}\n {% set column_list = column_list.append( adapter.quote(column) ) %}\n {%- endfor %}\n{% else %}\n {{ exceptions.raise_compiler_error(\n \"`quote_columns` argument for unique_combination_of_columns test must be one of [True, False] Got: '\" ~ quote ~\"'.'\"\n ) }}\n{% endif %}\n\n{%- set columns_csv=column_list | join(', ') %}\n\n\nwith validation_errors as (\n\n select\n {{ columns_csv }}\n from {{ model }}\n group by {{ columns_csv }}\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.855615, "supported_languages": null}, "macro.dbt_utils.test_cardinality_equality": {"unique_id": "macro.dbt_utils.test_cardinality_equality", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/generic_tests/cardinality_equality.sql", "original_file_path": "macros/generic_tests/cardinality_equality.sql", "name": "test_cardinality_equality", "macro_sql": "{% test cardinality_equality(model, column_name, to, field) %}\n {{ return(adapter.dispatch('test_cardinality_equality', 'dbt_utils')(model, column_name, to, field)) }}\n{% endtest %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.default__test_cardinality_equality"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.8562481, "supported_languages": null}, "macro.dbt_utils.default__test_cardinality_equality": {"unique_id": "macro.dbt_utils.default__test_cardinality_equality", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/generic_tests/cardinality_equality.sql", "original_file_path": "macros/generic_tests/cardinality_equality.sql", "name": "default__test_cardinality_equality", "macro_sql": "{% macro default__test_cardinality_equality(model, column_name, to, field) %}\n\n{# T-SQL does not let you use numbers as aliases for columns #}\n{# Thus, no \"GROUP BY 1\" #}\n\nwith table_a as (\nselect\n {{ column_name }},\n count(*) as num_rows\nfrom {{ model }}\ngroup by {{ column_name }}\n),\n\ntable_b as (\nselect\n {{ field }},\n count(*) as num_rows\nfrom {{ to }}\ngroup by {{ field }}\n),\n\nexcept_a as (\n select *\n from table_a\n {{ dbt.except() }}\n select *\n from table_b\n),\n\nexcept_b as (\n select *\n from table_b\n {{ dbt.except() }}\n select *\n from table_a\n),\n\nunioned as (\n select *\n from except_a\n union all\n select *\n from except_b\n)\n\nselect *\nfrom unioned\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.except"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.856597, "supported_languages": null}, "macro.dbt_utils.test_expression_is_true": {"unique_id": "macro.dbt_utils.test_expression_is_true", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/generic_tests/expression_is_true.sql", "original_file_path": "macros/generic_tests/expression_is_true.sql", "name": "test_expression_is_true", "macro_sql": "{% test expression_is_true(model, expression, column_name=None) %}\n {{ return(adapter.dispatch('test_expression_is_true', 'dbt_utils')(model, expression, column_name)) }}\n{% endtest %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.default__test_expression_is_true"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.8570728, "supported_languages": null}, "macro.dbt_utils.default__test_expression_is_true": {"unique_id": "macro.dbt_utils.default__test_expression_is_true", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/generic_tests/expression_is_true.sql", "original_file_path": "macros/generic_tests/expression_is_true.sql", "name": "default__test_expression_is_true", "macro_sql": "{% macro default__test_expression_is_true(model, expression, column_name) %}\n\n{% set column_list = '*' if should_store_failures() else \"1\" %}\n\nselect\n {{ column_list }}\nfrom {{ model }}\n{% if column_name is none %}\nwhere not({{ expression }})\n{%- else %}\nwhere not({{ column_name }} {{ expression }})\n{%- endif %}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.should_store_failures"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.85744, "supported_languages": null}, "macro.dbt_utils.test_not_null_proportion": {"unique_id": "macro.dbt_utils.test_not_null_proportion", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/generic_tests/not_null_proportion.sql", "original_file_path": "macros/generic_tests/not_null_proportion.sql", "name": "test_not_null_proportion", "macro_sql": "{% macro test_not_null_proportion(model, group_by_columns = []) %}\n {{ return(adapter.dispatch('test_not_null_proportion', 'dbt_utils')(model, group_by_columns, **kwargs)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.default__test_not_null_proportion"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.858145, "supported_languages": null}, "macro.dbt_utils.default__test_not_null_proportion": {"unique_id": "macro.dbt_utils.default__test_not_null_proportion", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/generic_tests/not_null_proportion.sql", "original_file_path": "macros/generic_tests/not_null_proportion.sql", "name": "default__test_not_null_proportion", "macro_sql": "{% macro default__test_not_null_proportion(model, group_by_columns) %}\n\n{% set column_name = kwargs.get('column_name', kwargs.get('arg')) %}\n{% set at_least = kwargs.get('at_least', kwargs.get('arg')) %}\n{% set at_most = kwargs.get('at_most', kwargs.get('arg', 1)) %}\n\n{% if group_by_columns|length() > 0 %}\n {% set select_gb_cols = group_by_columns|join(' ,') + ', ' %}\n {% set groupby_gb_cols = 'group by ' + group_by_columns|join(',') %}\n{% endif %}\n\nwith validation as (\n select\n {{select_gb_cols}}\n sum(case when {{ column_name }} is null then 0 else 1 end) / cast(count(*) as numeric) as not_null_proportion\n from {{ model }}\n {{groupby_gb_cols}}\n),\nvalidation_errors as (\n select\n {{select_gb_cols}}\n not_null_proportion\n from validation\n where not_null_proportion < {{ at_least }} or not_null_proportion > {{ at_most }}\n)\nselect\n *\nfrom validation_errors\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.858988, "supported_languages": null}, "macro.dbt_utils.test_sequential_values": {"unique_id": "macro.dbt_utils.test_sequential_values", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/generic_tests/sequential_values.sql", "original_file_path": "macros/generic_tests/sequential_values.sql", "name": "test_sequential_values", "macro_sql": "{% test sequential_values(model, column_name, interval=1, datepart=None, group_by_columns = []) %}\n\n {{ return(adapter.dispatch('test_sequential_values', 'dbt_utils')(model, column_name, interval, datepart, group_by_columns)) }}\n\n{% endtest %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.default__test_sequential_values"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.8600981, "supported_languages": null}, "macro.dbt_utils.default__test_sequential_values": {"unique_id": "macro.dbt_utils.default__test_sequential_values", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/generic_tests/sequential_values.sql", "original_file_path": "macros/generic_tests/sequential_values.sql", "name": "default__test_sequential_values", "macro_sql": "{% macro default__test_sequential_values(model, column_name, interval=1, datepart=None, group_by_columns = []) %}\n\n{% set previous_column_name = \"previous_\" ~ dbt_utils.slugify(column_name) %}\n\n{% if group_by_columns|length() > 0 %}\n {% set select_gb_cols = group_by_columns|join(',') + ', ' %}\n {% set partition_gb_cols = 'partition by ' + group_by_columns|join(',') %}\n{% endif %}\n\nwith windowed as (\n\n select\n {{ select_gb_cols }}\n {{ column_name }},\n lag({{ column_name }}) over (\n {{partition_gb_cols}}\n order by {{ column_name }}\n ) as {{ previous_column_name }}\n from {{ model }}\n),\n\nvalidation_errors as (\n select\n *\n from windowed\n {% if datepart %}\n where not(cast({{ column_name }} as {{ dbt.type_timestamp() }})= cast({{ dbt.dateadd(datepart, interval, previous_column_name) }} as {{ dbt.type_timestamp() }}))\n {% else %}\n where not({{ column_name }} = {{ previous_column_name }} + {{ interval }})\n {% endif %}\n)\n\nselect *\nfrom validation_errors\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.slugify", "macro.dbt.type_timestamp", "macro.dbt.dateadd"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.861017, "supported_languages": null}, "macro.dbt_utils.test_equality": {"unique_id": "macro.dbt_utils.test_equality", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/generic_tests/equality.sql", "original_file_path": "macros/generic_tests/equality.sql", "name": "test_equality", "macro_sql": "{% test equality(model, compare_model, compare_columns=None) %}\n {{ return(adapter.dispatch('test_equality', 'dbt_utils')(model, compare_model, compare_columns)) }}\n{% endtest %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.default__test_equality"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.861898, "supported_languages": null}, "macro.dbt_utils.default__test_equality": {"unique_id": "macro.dbt_utils.default__test_equality", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/generic_tests/equality.sql", "original_file_path": "macros/generic_tests/equality.sql", "name": "default__test_equality", "macro_sql": "{% macro default__test_equality(model, compare_model, compare_columns=None) %}\n\n{% set set_diff %}\n count(*) + coalesce(abs(\n sum(case when which_diff = 'a_minus_b' then 1 else 0 end) -\n sum(case when which_diff = 'b_minus_a' then 1 else 0 end)\n ), 0)\n{% endset %}\n\n{#-- Needs to be set at parse time, before we return '' below --#}\n{{ config(fail_calc = set_diff) }}\n\n{#-- Prevent querying of db in parsing mode. This works because this macro does not create any new refs. #}\n{%- if not execute -%}\n {{ return('') }}\n{% endif %}\n\n-- setup\n{%- do dbt_utils._is_relation(model, 'test_equality') -%}\n\n{#-\nIf the compare_cols arg is provided, we can run this test without querying the\ninformation schema\u00a0\u2014 this allows the model to be an ephemeral model\n-#}\n\n{%- if not compare_columns -%}\n {%- do dbt_utils._is_ephemeral(model, 'test_equality') -%}\n {%- set compare_columns = adapter.get_columns_in_relation(model) | map(attribute='quoted') -%}\n{%- endif -%}\n\n{% set compare_cols_csv = compare_columns | join(', ') %}\n\nwith a as (\n\n select * from {{ model }}\n\n),\n\nb as (\n\n select * from {{ compare_model }}\n\n),\n\na_minus_b as (\n\n select {{compare_cols_csv}} from a\n {{ dbt.except() }}\n select {{compare_cols_csv}} from b\n\n),\n\nb_minus_a as (\n\n select {{compare_cols_csv}} from b\n {{ dbt.except() }}\n select {{compare_cols_csv}} from a\n\n),\n\nunioned as (\n\n select 'a_minus_b' as which_diff, a_minus_b.* from a_minus_b\n union all\n select 'b_minus_a' as which_diff, b_minus_a.* from b_minus_a\n\n)\n\nselect * from unioned\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils._is_relation", "macro.dbt_utils._is_ephemeral", "macro.dbt.except"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.862773, "supported_languages": null}, "macro.dbt_utils.test_not_empty_string": {"unique_id": "macro.dbt_utils.test_not_empty_string", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/generic_tests/not_empty_string.sql", "original_file_path": "macros/generic_tests/not_empty_string.sql", "name": "test_not_empty_string", "macro_sql": "{% test not_empty_string(model, column_name, trim_whitespace=true) %}\n\n {{ return(adapter.dispatch('test_not_empty_string', 'dbt_utils')(model, column_name, trim_whitespace)) }}\n\n{% endtest %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.default__test_not_empty_string"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.863342, "supported_languages": null}, "macro.dbt_utils.default__test_not_empty_string": {"unique_id": "macro.dbt_utils.default__test_not_empty_string", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/generic_tests/not_empty_string.sql", "original_file_path": "macros/generic_tests/not_empty_string.sql", "name": "default__test_not_empty_string", "macro_sql": "{% macro default__test_not_empty_string(model, column_name, trim_whitespace=true) %}\n\n with\n \n all_values as (\n\n select \n\n\n {% if trim_whitespace == true -%}\n\n trim({{ column_name }}) as {{ column_name }}\n\n {%- else -%}\n\n {{ column_name }}\n\n {%- endif %}\n \n from {{ model }}\n\n ),\n\n errors as (\n\n select * from all_values\n where {{ column_name }} = ''\n\n )\n\n select * from errors\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.863637, "supported_languages": null}, "macro.dbt_utils.test_mutually_exclusive_ranges": {"unique_id": "macro.dbt_utils.test_mutually_exclusive_ranges", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/generic_tests/mutually_exclusive_ranges.sql", "original_file_path": "macros/generic_tests/mutually_exclusive_ranges.sql", "name": "test_mutually_exclusive_ranges", "macro_sql": "{% test mutually_exclusive_ranges(model, lower_bound_column, upper_bound_column, partition_by=None, gaps='allowed', zero_length_range_allowed=False) %}\n {{ return(adapter.dispatch('test_mutually_exclusive_ranges', 'dbt_utils')(model, lower_bound_column, upper_bound_column, partition_by, gaps, zero_length_range_allowed)) }}\n{% endtest %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.default__test_mutually_exclusive_ranges"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.866894, "supported_languages": null}, "macro.dbt_utils.default__test_mutually_exclusive_ranges": {"unique_id": "macro.dbt_utils.default__test_mutually_exclusive_ranges", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/generic_tests/mutually_exclusive_ranges.sql", "original_file_path": "macros/generic_tests/mutually_exclusive_ranges.sql", "name": "default__test_mutually_exclusive_ranges", "macro_sql": "{% macro default__test_mutually_exclusive_ranges(model, lower_bound_column, upper_bound_column, partition_by=None, gaps='allowed', zero_length_range_allowed=False) %}\n{% if gaps == 'not_allowed' %}\n {% set allow_gaps_operator='=' %}\n {% set allow_gaps_operator_in_words='equal_to' %}\n{% elif gaps == 'allowed' %}\n {% set allow_gaps_operator='<=' %}\n {% set allow_gaps_operator_in_words='less_than_or_equal_to' %}\n{% elif gaps == 'required' %}\n {% set allow_gaps_operator='<' %}\n {% set allow_gaps_operator_in_words='less_than' %}\n{% else %}\n {{ exceptions.raise_compiler_error(\n \"`gaps` argument for mutually_exclusive_ranges test must be one of ['not_allowed', 'allowed', 'required'] Got: '\" ~ gaps ~\"'.'\"\n ) }}\n{% endif %}\n{% if not zero_length_range_allowed %}\n {% set allow_zero_length_operator='<' %}\n {% set allow_zero_length_operator_in_words='less_than' %}\n{% elif zero_length_range_allowed %}\n {% set allow_zero_length_operator='<=' %}\n {% set allow_zero_length_operator_in_words='less_than_or_equal_to' %}\n{% else %}\n {{ exceptions.raise_compiler_error(\n \"`zero_length_range_allowed` argument for mutually_exclusive_ranges test must be one of [true, false] Got: '\" ~ zero_length_range_allowed ~\"'.'\"\n ) }}\n{% endif %}\n\n{% set partition_clause=\"partition by \" ~ partition_by if partition_by else '' %}\n\nwith window_functions as (\n\n select\n {% if partition_by %}\n {{ partition_by }} as partition_by_col,\n {% endif %}\n {{ lower_bound_column }} as lower_bound,\n {{ upper_bound_column }} as upper_bound,\n\n lead({{ lower_bound_column }}) over (\n {{ partition_clause }}\n order by {{ lower_bound_column }}, {{ upper_bound_column }}\n ) as next_lower_bound,\n\n row_number() over (\n {{ partition_clause }}\n order by {{ lower_bound_column }} desc, {{ upper_bound_column }} desc\n ) = 1 as is_last_record\n\n from {{ model }}\n\n),\n\ncalc as (\n -- We want to return records where one of our assumptions fails, so we'll use\n -- the `not` function with `and` statements so we can write our assumptions more cleanly\n select\n *,\n\n -- For each record: lower_bound should be < upper_bound.\n -- Coalesce it to return an error on the null case (implicit assumption\n -- these columns are not_null)\n coalesce(\n lower_bound {{ allow_zero_length_operator }} upper_bound,\n false\n ) as lower_bound_{{ allow_zero_length_operator_in_words }}_upper_bound,\n\n -- For each record: upper_bound {{ allow_gaps_operator }} the next lower_bound.\n -- Coalesce it to handle null cases for the last record.\n coalesce(\n upper_bound {{ allow_gaps_operator }} next_lower_bound,\n is_last_record,\n false\n ) as upper_bound_{{ allow_gaps_operator_in_words }}_next_lower_bound\n\n from window_functions\n\n),\n\nvalidation_errors as (\n\n select\n *\n from calc\n\n where not(\n -- THE FOLLOWING SHOULD BE TRUE --\n lower_bound_{{ allow_zero_length_operator_in_words }}_upper_bound\n and upper_bound_{{ allow_gaps_operator_in_words }}_next_lower_bound\n )\n)\n\nselect * from validation_errors\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.868533, "supported_languages": null}, "macro.dbt_utils.pretty_log_format": {"unique_id": "macro.dbt_utils.pretty_log_format", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/jinja_helpers/pretty_log_format.sql", "original_file_path": "macros/jinja_helpers/pretty_log_format.sql", "name": "pretty_log_format", "macro_sql": "{% macro pretty_log_format(message) %}\n {{ return(adapter.dispatch('pretty_log_format', 'dbt_utils')(message)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.default__pretty_log_format"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.868939, "supported_languages": null}, "macro.dbt_utils.default__pretty_log_format": {"unique_id": "macro.dbt_utils.default__pretty_log_format", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/jinja_helpers/pretty_log_format.sql", "original_file_path": "macros/jinja_helpers/pretty_log_format.sql", "name": "default__pretty_log_format", "macro_sql": "{% macro default__pretty_log_format(message) %}\n {{ return( dbt_utils.pretty_time() ~ ' + ' ~ message) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.pretty_time"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.8691058, "supported_languages": null}, "macro.dbt_utils._is_relation": {"unique_id": "macro.dbt_utils._is_relation", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/jinja_helpers/_is_relation.sql", "original_file_path": "macros/jinja_helpers/_is_relation.sql", "name": "_is_relation", "macro_sql": "{% macro _is_relation(obj, macro) %}\n {%- if not (obj is mapping and obj.get('metadata', {}).get('type', '').endswith('Relation')) -%}\n {%- do exceptions.raise_compiler_error(\"Macro \" ~ macro ~ \" expected a Relation but received the value: \" ~ obj) -%}\n {%- endif -%}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.8697531, "supported_languages": null}, "macro.dbt_utils.pretty_time": {"unique_id": "macro.dbt_utils.pretty_time", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/jinja_helpers/pretty_time.sql", "original_file_path": "macros/jinja_helpers/pretty_time.sql", "name": "pretty_time", "macro_sql": "{% macro pretty_time(format='%H:%M:%S') %}\n {{ return(adapter.dispatch('pretty_time', 'dbt_utils')(format)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.default__pretty_time"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.8702579, "supported_languages": null}, "macro.dbt_utils.default__pretty_time": {"unique_id": "macro.dbt_utils.default__pretty_time", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/jinja_helpers/pretty_time.sql", "original_file_path": "macros/jinja_helpers/pretty_time.sql", "name": "default__pretty_time", "macro_sql": "{% macro default__pretty_time(format='%H:%M:%S') %}\n {{ return(modules.datetime.datetime.now().strftime(format)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.870492, "supported_languages": null}, "macro.dbt_utils.log_info": {"unique_id": "macro.dbt_utils.log_info", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/jinja_helpers/log_info.sql", "original_file_path": "macros/jinja_helpers/log_info.sql", "name": "log_info", "macro_sql": "{% macro log_info(message) %}\n {{ return(adapter.dispatch('log_info', 'dbt_utils')(message)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.default__log_info"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.87086, "supported_languages": null}, "macro.dbt_utils.default__log_info": {"unique_id": "macro.dbt_utils.default__log_info", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/jinja_helpers/log_info.sql", "original_file_path": "macros/jinja_helpers/log_info.sql", "name": "default__log_info", "macro_sql": "{% macro default__log_info(message) %}\n {{ log(dbt_utils.pretty_log_format(message), info=True) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.pretty_log_format"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.8710551, "supported_languages": null}, "macro.dbt_utils.slugify": {"unique_id": "macro.dbt_utils.slugify", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/jinja_helpers/slugify.sql", "original_file_path": "macros/jinja_helpers/slugify.sql", "name": "slugify", "macro_sql": "{% macro slugify(string) %}\n\n{#- Lower case the string -#}\n{% set string = string | lower %}\n{#- Replace spaces and dashes with underscores -#}\n{% set string = modules.re.sub('[ -]+', '_', string) %}\n{#- Only take letters, numbers, and underscores -#}\n{% set string = modules.re.sub('[^a-z0-9_]+', '', string) %}\n{#- Prepends \"_\" if string begins with a number -#}\n{% set string = modules.re.sub('^[0-9]', '_' + string[0], string) %}\n\n{{ return(string) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.871758, "supported_languages": null}, "macro.dbt_utils._is_ephemeral": {"unique_id": "macro.dbt_utils._is_ephemeral", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/jinja_helpers/_is_ephemeral.sql", "original_file_path": "macros/jinja_helpers/_is_ephemeral.sql", "name": "_is_ephemeral", "macro_sql": "{% macro _is_ephemeral(obj, macro) %}\n {%- if obj.is_cte -%}\n {% set ephemeral_prefix = api.Relation.add_ephemeral_prefix('') %}\n {% if obj.name.startswith(ephemeral_prefix) %}\n {% set model_name = obj.name[(ephemeral_prefix|length):] %}\n {% else %}\n {% set model_name = obj.name %}\n {%- endif -%}\n {% set error_message %}\nThe `{{ macro }}` macro cannot be used with ephemeral models, as it relies on the information schema.\n\n`{{ model_name }}` is an ephemeral model. Consider making it a view or table instead.\n {% endset %}\n {%- do exceptions.raise_compiler_error(error_message) -%}\n {%- endif -%}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.8726752, "supported_languages": null}, "macro.dbt_utils.get_intervals_between": {"unique_id": "macro.dbt_utils.get_intervals_between", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/sql/date_spine.sql", "original_file_path": "macros/sql/date_spine.sql", "name": "get_intervals_between", "macro_sql": "{% macro get_intervals_between(start_date, end_date, datepart) -%}\n {{ return(adapter.dispatch('get_intervals_between', 'dbt_utils')(start_date, end_date, datepart)) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.default__get_intervals_between"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.87342, "supported_languages": null}, "macro.dbt_utils.default__get_intervals_between": {"unique_id": "macro.dbt_utils.default__get_intervals_between", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/sql/date_spine.sql", "original_file_path": "macros/sql/date_spine.sql", "name": "default__get_intervals_between", "macro_sql": "{% macro default__get_intervals_between(start_date, end_date, datepart) -%}\n {%- call statement('get_intervals_between', fetch_result=True) %}\n\n select {{ dbt.datediff(start_date, end_date, datepart) }}\n\n {%- endcall -%}\n\n {%- set value_list = load_result('get_intervals_between') -%}\n\n {%- if value_list and value_list['data'] -%}\n {%- set values = value_list['data'] | map(attribute=0) | list %}\n {{ return(values[0]) }}\n {%- else -%}\n {{ return(1) }}\n {%- endif -%}\n\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.statement", "macro.dbt.datediff"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.874017, "supported_languages": null}, "macro.dbt_utils.date_spine": {"unique_id": "macro.dbt_utils.date_spine", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/sql/date_spine.sql", "original_file_path": "macros/sql/date_spine.sql", "name": "date_spine", "macro_sql": "{% macro date_spine(datepart, start_date, end_date) %}\n {{ return(adapter.dispatch('date_spine', 'dbt_utils')(datepart, start_date, end_date)) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.default__date_spine"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.87425, "supported_languages": null}, "macro.dbt_utils.default__date_spine": {"unique_id": "macro.dbt_utils.default__date_spine", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/sql/date_spine.sql", "original_file_path": "macros/sql/date_spine.sql", "name": "default__date_spine", "macro_sql": "{% macro default__date_spine(datepart, start_date, end_date) %}\n\n\n{# call as follows:\n\ndate_spine(\n \"day\",\n \"to_date('01/01/2016', 'mm/dd/yyyy')\",\n \"dbt.dateadd(week, 1, current_date)\"\n) #}\n\n\nwith rawdata as (\n\n {{dbt_utils.generate_series(\n dbt_utils.get_intervals_between(start_date, end_date, datepart)\n )}}\n\n),\n\nall_periods as (\n\n select (\n {{\n dbt.dateadd(\n datepart,\n \"row_number() over (order by 1) - 1\",\n start_date\n )\n }}\n ) as date_{{datepart}}\n from rawdata\n\n),\n\nfiltered as (\n\n select *\n from all_periods\n where date_{{datepart}} <= {{ end_date }}\n\n)\n\nselect * from filtered\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.generate_series", "macro.dbt_utils.get_intervals_between", "macro.dbt.dateadd"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.874611, "supported_languages": null}, "macro.dbt_utils.nullcheck_table": {"unique_id": "macro.dbt_utils.nullcheck_table", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/sql/nullcheck_table.sql", "original_file_path": "macros/sql/nullcheck_table.sql", "name": "nullcheck_table", "macro_sql": "{% macro nullcheck_table(relation) %}\n {{ return(adapter.dispatch('nullcheck_table', 'dbt_utils')(relation)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.default__nullcheck_table"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.8750029, "supported_languages": null}, "macro.dbt_utils.default__nullcheck_table": {"unique_id": "macro.dbt_utils.default__nullcheck_table", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/sql/nullcheck_table.sql", "original_file_path": "macros/sql/nullcheck_table.sql", "name": "default__nullcheck_table", "macro_sql": "{% macro default__nullcheck_table(relation) %}\n\n {%- do dbt_utils._is_relation(relation, 'nullcheck_table') -%}\n {%- do dbt_utils._is_ephemeral(relation, 'nullcheck_table') -%}\n {% set cols = adapter.get_columns_in_relation(relation) %}\n\n select {{ dbt_utils.nullcheck(cols) }}\n from {{relation}}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils._is_relation", "macro.dbt_utils._is_ephemeral", "macro.dbt_utils.nullcheck"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.875361, "supported_languages": null}, "macro.dbt_utils.get_relations_by_pattern": {"unique_id": "macro.dbt_utils.get_relations_by_pattern", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/sql/get_relations_by_pattern.sql", "original_file_path": "macros/sql/get_relations_by_pattern.sql", "name": "get_relations_by_pattern", "macro_sql": "{% macro get_relations_by_pattern(schema_pattern, table_pattern, exclude='', database=target.database) %}\n {{ return(adapter.dispatch('get_relations_by_pattern', 'dbt_utils')(schema_pattern, table_pattern, exclude, database)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.default__get_relations_by_pattern"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.876099, "supported_languages": null}, "macro.dbt_utils.default__get_relations_by_pattern": {"unique_id": "macro.dbt_utils.default__get_relations_by_pattern", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/sql/get_relations_by_pattern.sql", "original_file_path": "macros/sql/get_relations_by_pattern.sql", "name": "default__get_relations_by_pattern", "macro_sql": "{% macro default__get_relations_by_pattern(schema_pattern, table_pattern, exclude='', database=target.database) %}\n\n {%- call statement('get_tables', fetch_result=True) %}\n\n {{ dbt_utils.get_tables_by_pattern_sql(schema_pattern, table_pattern, exclude, database) }}\n\n {%- endcall -%}\n\n {%- set table_list = load_result('get_tables') -%}\n\n {%- if table_list and table_list['table'] -%}\n {%- set tbl_relations = [] -%}\n {%- for row in table_list['table'] -%}\n {%- set tbl_relation = api.Relation.create(\n database=database,\n schema=row.table_schema,\n identifier=row.table_name,\n type=row.table_type\n ) -%}\n {%- do tbl_relations.append(tbl_relation) -%}\n {%- endfor -%}\n\n {{ return(tbl_relations) }}\n {%- else -%}\n {{ return([]) }}\n {%- endif -%}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.statement", "macro.dbt_utils.get_tables_by_pattern_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.877059, "supported_languages": null}, "macro.dbt_utils.get_powers_of_two": {"unique_id": "macro.dbt_utils.get_powers_of_two", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/sql/generate_series.sql", "original_file_path": "macros/sql/generate_series.sql", "name": "get_powers_of_two", "macro_sql": "{% macro get_powers_of_two(upper_bound) %}\n {{ return(adapter.dispatch('get_powers_of_two', 'dbt_utils')(upper_bound)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.default__get_powers_of_two"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.8779461, "supported_languages": null}, "macro.dbt_utils.default__get_powers_of_two": {"unique_id": "macro.dbt_utils.default__get_powers_of_two", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/sql/generate_series.sql", "original_file_path": "macros/sql/generate_series.sql", "name": "default__get_powers_of_two", "macro_sql": "{% macro default__get_powers_of_two(upper_bound) %}\n\n {% if upper_bound <= 0 %}\n {{ exceptions.raise_compiler_error(\"upper bound must be positive\") }}\n {% endif %}\n\n {% for _ in range(1, 100) %}\n {% if upper_bound <= 2 ** loop.index %}{{ return(loop.index) }}{% endif %}\n {% endfor %}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.878361, "supported_languages": null}, "macro.dbt_utils.generate_series": {"unique_id": "macro.dbt_utils.generate_series", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/sql/generate_series.sql", "original_file_path": "macros/sql/generate_series.sql", "name": "generate_series", "macro_sql": "{% macro generate_series(upper_bound) %}\n {{ return(adapter.dispatch('generate_series', 'dbt_utils')(upper_bound)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.default__generate_series"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.87855, "supported_languages": null}, "macro.dbt_utils.default__generate_series": {"unique_id": "macro.dbt_utils.default__generate_series", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/sql/generate_series.sql", "original_file_path": "macros/sql/generate_series.sql", "name": "default__generate_series", "macro_sql": "{% macro default__generate_series(upper_bound) %}\n\n {% set n = dbt_utils.get_powers_of_two(upper_bound) %}\n\n with p as (\n select 0 as generated_number union all select 1\n ), unioned as (\n\n select\n\n {% for i in range(n) %}\n p{{i}}.generated_number * power(2, {{i}})\n {% if not loop.last %} + {% endif %}\n {% endfor %}\n + 1\n as generated_number\n\n from\n\n {% for i in range(n) %}\n p as p{{i}}\n {% if not loop.last %} cross join {% endif %}\n {% endfor %}\n\n )\n\n select *\n from unioned\n where generated_number <= {{upper_bound}}\n order by generated_number\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.get_powers_of_two"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.879057, "supported_languages": null}, "macro.dbt_utils.get_relations_by_prefix": {"unique_id": "macro.dbt_utils.get_relations_by_prefix", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/sql/get_relations_by_prefix.sql", "original_file_path": "macros/sql/get_relations_by_prefix.sql", "name": "get_relations_by_prefix", "macro_sql": "{% macro get_relations_by_prefix(schema, prefix, exclude='', database=target.database) %}\n {{ return(adapter.dispatch('get_relations_by_prefix', 'dbt_utils')(schema, prefix, exclude, database)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.default__get_relations_by_prefix"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.879776, "supported_languages": null}, "macro.dbt_utils.default__get_relations_by_prefix": {"unique_id": "macro.dbt_utils.default__get_relations_by_prefix", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/sql/get_relations_by_prefix.sql", "original_file_path": "macros/sql/get_relations_by_prefix.sql", "name": "default__get_relations_by_prefix", "macro_sql": "{% macro default__get_relations_by_prefix(schema, prefix, exclude='', database=target.database) %}\n\n {%- call statement('get_tables', fetch_result=True) %}\n\n {{ dbt_utils.get_tables_by_prefix_sql(schema, prefix, exclude, database) }}\n\n {%- endcall -%}\n\n {%- set table_list = load_result('get_tables') -%}\n\n {%- if table_list and table_list['table'] -%}\n {%- set tbl_relations = [] -%}\n {%- for row in table_list['table'] -%}\n {%- set tbl_relation = api.Relation.create(\n database=database,\n schema=row.table_schema,\n identifier=row.table_name,\n type=row.table_type\n ) -%}\n {%- do tbl_relations.append(tbl_relation) -%}\n {%- endfor -%}\n\n {{ return(tbl_relations) }}\n {%- else -%}\n {{ return([]) }}\n {%- endif -%}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.statement", "macro.dbt_utils.get_tables_by_prefix_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.880613, "supported_languages": null}, "macro.dbt_utils.get_tables_by_prefix_sql": {"unique_id": "macro.dbt_utils.get_tables_by_prefix_sql", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/sql/get_tables_by_prefix_sql.sql", "original_file_path": "macros/sql/get_tables_by_prefix_sql.sql", "name": "get_tables_by_prefix_sql", "macro_sql": "{% macro get_tables_by_prefix_sql(schema, prefix, exclude='', database=target.database) %}\n {{ return(adapter.dispatch('get_tables_by_prefix_sql', 'dbt_utils')(schema, prefix, exclude, database)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.default__get_tables_by_prefix_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.8810828, "supported_languages": null}, "macro.dbt_utils.default__get_tables_by_prefix_sql": {"unique_id": "macro.dbt_utils.default__get_tables_by_prefix_sql", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/sql/get_tables_by_prefix_sql.sql", "original_file_path": "macros/sql/get_tables_by_prefix_sql.sql", "name": "default__get_tables_by_prefix_sql", "macro_sql": "{% macro default__get_tables_by_prefix_sql(schema, prefix, exclude='', database=target.database) %}\n\n {{ dbt_utils.get_tables_by_pattern_sql(\n schema_pattern = schema,\n table_pattern = prefix ~ '%',\n exclude = exclude,\n database = database\n ) }}\n \n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.get_tables_by_pattern_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.881362, "supported_languages": null}, "macro.dbt_utils.star": {"unique_id": "macro.dbt_utils.star", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/sql/star.sql", "original_file_path": "macros/sql/star.sql", "name": "star", "macro_sql": "{% macro star(from, relation_alias=False, except=[], prefix='', suffix='', quote_identifiers=True) -%}\r\n {{ return(adapter.dispatch('star', 'dbt_utils')(from, relation_alias, except, prefix, suffix, quote_identifiers)) }}\r\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.default__star"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.882594, "supported_languages": null}, "macro.dbt_utils.default__star": {"unique_id": "macro.dbt_utils.default__star", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/sql/star.sql", "original_file_path": "macros/sql/star.sql", "name": "default__star", "macro_sql": "{% macro default__star(from, relation_alias=False, except=[], prefix='', suffix='', quote_identifiers=True) -%}\r\n {%- do dbt_utils._is_relation(from, 'star') -%}\r\n {%- do dbt_utils._is_ephemeral(from, 'star') -%}\r\n\r\n {#-- Prevent querying of db in parsing mode. This works because this macro does not create any new refs. #}\r\n {%- if not execute -%}\r\n {% do return('*') %}\r\n {%- endif -%}\r\n\r\n {% set cols = dbt_utils.get_filtered_columns_in_relation(from, except) %}\r\n\r\n {%- if cols|length <= 0 -%}\r\n {% if flags.WHICH == 'compile' %}\r\n {% set response %}\r\n*\r\n/* No columns were returned. Maybe the relation doesn't exist yet \r\nor all columns were excluded. This star is only output during \r\ndbt compile, and exists to keep SQLFluff happy. */\r\n {% endset %}\r\n {% do return(response) %}\r\n {% else %}\r\n {% do return(\"/* no columns returned from star() macro */\") %}\r\n {% endif %}\r\n {%- else -%}\r\n {%- for col in cols %}\r\n {%- if relation_alias %}{{ relation_alias }}.{% else %}{%- endif -%}\r\n {%- if quote_identifiers -%}\r\n {{ adapter.quote(col)|trim }} {%- if prefix!='' or suffix!='' %} as {{ adapter.quote(prefix ~ col ~ suffix)|trim }} {%- endif -%}\r\n {%- else -%}\r\n {{ col|trim }} {%- if prefix!='' or suffix!='' %} as {{ (prefix ~ col ~ suffix)|trim }} {%- endif -%}\r\n {% endif %}\r\n {%- if not loop.last %},{{ '\\n ' }}{%- endif -%}\r\n {%- endfor -%}\r\n {% endif %}\r\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils._is_relation", "macro.dbt_utils._is_ephemeral", "macro.dbt_utils.get_filtered_columns_in_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.884005, "supported_languages": null}, "macro.dbt_utils.unpivot": {"unique_id": "macro.dbt_utils.unpivot", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/sql/unpivot.sql", "original_file_path": "macros/sql/unpivot.sql", "name": "unpivot", "macro_sql": "{% macro unpivot(relation=none, cast_to='varchar', exclude=none, remove=none, field_name='field_name', value_name='value') -%}\n {{ return(adapter.dispatch('unpivot', 'dbt_utils')(relation, cast_to, exclude, remove, field_name, value_name)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.default__unpivot"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.885422, "supported_languages": null}, "macro.dbt_utils.default__unpivot": {"unique_id": "macro.dbt_utils.default__unpivot", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/sql/unpivot.sql", "original_file_path": "macros/sql/unpivot.sql", "name": "default__unpivot", "macro_sql": "{% macro default__unpivot(relation=none, cast_to='varchar', exclude=none, remove=none, field_name='field_name', value_name='value') -%}\n\n {% if not relation %}\n {{ exceptions.raise_compiler_error(\"Error: argument `relation` is required for `unpivot` macro.\") }}\n {% endif %}\n\n {%- set exclude = exclude if exclude is not none else [] %}\n {%- set remove = remove if remove is not none else [] %}\n\n {%- set include_cols = [] %}\n\n {%- set table_columns = {} %}\n\n {%- do table_columns.update({relation: []}) %}\n\n {%- do dbt_utils._is_relation(relation, 'unpivot') -%}\n {%- do dbt_utils._is_ephemeral(relation, 'unpivot') -%}\n {%- set cols = adapter.get_columns_in_relation(relation) %}\n\n {%- for col in cols -%}\n {%- if col.column.lower() not in remove|map('lower') and col.column.lower() not in exclude|map('lower') -%}\n {% do include_cols.append(col) %}\n {%- endif %}\n {%- endfor %}\n\n\n {%- for col in include_cols -%}\n select\n {%- for exclude_col in exclude %}\n {{ exclude_col }},\n {%- endfor %}\n\n cast('{{ col.column }}' as {{ dbt.type_string() }}) as {{ field_name }},\n cast( {% if col.data_type == 'boolean' %}\n {{ dbt.cast_bool_to_text(col.column) }}\n {% else %}\n {{ col.column }}\n {% endif %}\n as {{ cast_to }}) as {{ value_name }}\n\n from {{ relation }}\n\n {% if not loop.last -%}\n union all\n {% endif -%}\n {%- endfor -%}\n\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils._is_relation", "macro.dbt_utils._is_ephemeral", "macro.dbt.type_string", "macro.dbt.cast_bool_to_text"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.887095, "supported_languages": null}, "macro.dbt_utils.safe_divide": {"unique_id": "macro.dbt_utils.safe_divide", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/sql/safe_divide.sql", "original_file_path": "macros/sql/safe_divide.sql", "name": "safe_divide", "macro_sql": "{% macro safe_divide(numerator, denominator) -%}\n {{ return(adapter.dispatch('safe_divide', 'dbt_utils')(numerator, denominator)) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.default__safe_divide"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.887517, "supported_languages": null}, "macro.dbt_utils.default__safe_divide": {"unique_id": "macro.dbt_utils.default__safe_divide", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/sql/safe_divide.sql", "original_file_path": "macros/sql/safe_divide.sql", "name": "default__safe_divide", "macro_sql": "{% macro default__safe_divide(numerator, denominator) %}\n ( {{ numerator }} ) / nullif( ( {{ denominator }} ), 0)\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.8876538, "supported_languages": null}, "macro.dbt_utils.union_relations": {"unique_id": "macro.dbt_utils.union_relations", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/sql/union.sql", "original_file_path": "macros/sql/union.sql", "name": "union_relations", "macro_sql": "{%- macro union_relations(relations, column_override=none, include=[], exclude=[], source_column_name='_dbt_source_relation', where=none) -%}\n {{ return(adapter.dispatch('union_relations', 'dbt_utils')(relations, column_override, include, exclude, source_column_name, where)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.default__union_relations"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.890614, "supported_languages": null}, "macro.dbt_utils.default__union_relations": {"unique_id": "macro.dbt_utils.default__union_relations", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/sql/union.sql", "original_file_path": "macros/sql/union.sql", "name": "default__union_relations", "macro_sql": "\n\n{%- macro default__union_relations(relations, column_override=none, include=[], exclude=[], source_column_name='_dbt_source_relation', where=none) -%}\n\n {%- if exclude and include -%}\n {{ exceptions.raise_compiler_error(\"Both an exclude and include list were provided to the `union` macro. Only one is allowed\") }}\n {%- endif -%}\n\n {#-- Prevent querying of db in parsing mode. This works because this macro does not create any new refs. -#}\n {%- if not execute %}\n {{ return('') }}\n {% endif -%}\n\n {%- set column_override = column_override if column_override is not none else {} -%}\n\n {%- set relation_columns = {} -%}\n {%- set column_superset = {} -%}\n {%- set all_excludes = [] -%}\n {%- set all_includes = [] -%}\n\n {%- if exclude -%}\n {%- for exc in exclude -%}\n {%- do all_excludes.append(exc | lower) -%}\n {%- endfor -%}\n {%- endif -%}\n\n {%- if include -%}\n {%- for inc in include -%}\n {%- do all_includes.append(inc | lower) -%}\n {%- endfor -%}\n {%- endif -%}\n\n {%- for relation in relations -%}\n\n {%- do relation_columns.update({relation: []}) -%}\n\n {%- do dbt_utils._is_relation(relation, 'union_relations') -%}\n {%- do dbt_utils._is_ephemeral(relation, 'union_relations') -%}\n {%- set cols = adapter.get_columns_in_relation(relation) -%}\n {%- for col in cols -%}\n\n {#- If an exclude list was provided and the column is in the list, do nothing -#}\n {%- if exclude and col.column | lower in all_excludes -%}\n\n {#- If an include list was provided and the column is not in the list, do nothing -#}\n {%- elif include and col.column | lower not in all_includes -%}\n\n {#- Otherwise add the column to the column superset -#}\n {%- else -%}\n\n {#- update the list of columns in this relation -#}\n {%- do relation_columns[relation].append(col.column) -%}\n\n {%- if col.column in column_superset -%}\n\n {%- set stored = column_superset[col.column] -%}\n {%- if col.is_string() and stored.is_string() and col.string_size() > stored.string_size() -%}\n\n {%- do column_superset.update({col.column: col}) -%}\n\n {%- endif %}\n\n {%- else -%}\n\n {%- do column_superset.update({col.column: col}) -%}\n\n {%- endif -%}\n\n {%- endif -%}\n\n {%- endfor -%}\n {%- endfor -%}\n\n {%- set ordered_column_names = column_superset.keys() -%}\n {%- set dbt_command = flags.WHICH -%}\n\n\n {% if dbt_command in ['run', 'build'] %}\n {% if (include | length > 0 or exclude | length > 0) and not column_superset.keys() %}\n {%- set relations_string -%}\n {%- for relation in relations -%}\n {{ relation.name }}\n {%- if not loop.last %}, {% endif -%}\n {%- endfor -%}\n {%- endset -%}\n\n {%- set error_message -%}\n There were no columns found to union for relations {{ relations_string }}\n {%- endset -%}\n\n {{ exceptions.raise_compiler_error(error_message) }}\n {%- endif -%}\n {%- endif -%}\n\n {%- for relation in relations %}\n\n (\n select\n\n {%- if source_column_name is not none %}\n cast({{ dbt.string_literal(relation) }} as {{ dbt.type_string() }}) as {{ source_column_name }},\n {%- endif %}\n\n {% for col_name in ordered_column_names -%}\n\n {%- set col = column_superset[col_name] %}\n {%- set col_type = column_override.get(col.column, col.data_type) %}\n {%- set col_name = adapter.quote(col_name) if col_name in relation_columns[relation] else 'null' %}\n cast({{ col_name }} as {{ col_type }}) as {{ col.quoted }} {% if not loop.last %},{% endif -%}\n\n {%- endfor %}\n\n from {{ relation }}\n\n {% if where -%}\n where {{ where }}\n {%- endif %}\n )\n\n {% if not loop.last -%}\n union all\n {% endif -%}\n\n {%- endfor -%}\n\n{%- endmacro -%}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils._is_relation", "macro.dbt_utils._is_ephemeral", "macro.dbt.string_literal", "macro.dbt.type_string"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.894018, "supported_languages": null}, "macro.dbt_utils.group_by": {"unique_id": "macro.dbt_utils.group_by", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/sql/groupby.sql", "original_file_path": "macros/sql/groupby.sql", "name": "group_by", "macro_sql": "{%- macro group_by(n) -%}\n {{ return(adapter.dispatch('group_by', 'dbt_utils')(n)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.default__group_by"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.894419, "supported_languages": null}, "macro.dbt_utils.default__group_by": {"unique_id": "macro.dbt_utils.default__group_by", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/sql/groupby.sql", "original_file_path": "macros/sql/groupby.sql", "name": "default__group_by", "macro_sql": "\n\n{%- macro default__group_by(n) -%}\n\n group by {% for i in range(1, n + 1) -%}\n {{ i }}{{ ',' if not loop.last }} \n {%- endfor -%}\n\n{%- endmacro -%}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.894677, "supported_languages": null}, "macro.dbt_utils.deduplicate": {"unique_id": "macro.dbt_utils.deduplicate", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/sql/deduplicate.sql", "original_file_path": "macros/sql/deduplicate.sql", "name": "deduplicate", "macro_sql": "{%- macro deduplicate(relation, partition_by, order_by) -%}\n {{ return(adapter.dispatch('deduplicate', 'dbt_utils')(relation, partition_by, order_by)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.postgres__deduplicate"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.895527, "supported_languages": null}, "macro.dbt_utils.default__deduplicate": {"unique_id": "macro.dbt_utils.default__deduplicate", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/sql/deduplicate.sql", "original_file_path": "macros/sql/deduplicate.sql", "name": "default__deduplicate", "macro_sql": "\n\n{%- macro default__deduplicate(relation, partition_by, order_by) -%}\n\n with row_numbered as (\n select\n _inner.*,\n row_number() over (\n partition by {{ partition_by }}\n order by {{ order_by }}\n ) as rn\n from {{ relation }} as _inner\n )\n\n select\n distinct data.*\n from {{ relation }} as data\n {#\n -- Not all DBs will support natural joins but the ones that do include:\n -- Oracle, MySQL, SQLite, Redshift, Teradata, Materialize, Databricks\n -- Apache Spark, SingleStore, Vertica\n -- Those that do not appear to support natural joins include:\n -- SQLServer, Trino, Presto, Rockset, Athena\n #}\n natural join row_numbered\n where row_numbered.rn = 1\n\n{%- endmacro -%}\n\n", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.895746, "supported_languages": null}, "macro.dbt_utils.redshift__deduplicate": {"unique_id": "macro.dbt_utils.redshift__deduplicate", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/sql/deduplicate.sql", "original_file_path": "macros/sql/deduplicate.sql", "name": "redshift__deduplicate", "macro_sql": "{% macro redshift__deduplicate(relation, partition_by, order_by) -%}\n\n {{ return(dbt_utils.default__deduplicate(relation, partition_by, order_by=order_by)) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.default__deduplicate"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.895945, "supported_languages": null}, "macro.dbt_utils.postgres__deduplicate": {"unique_id": "macro.dbt_utils.postgres__deduplicate", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/sql/deduplicate.sql", "original_file_path": "macros/sql/deduplicate.sql", "name": "postgres__deduplicate", "macro_sql": "\n{%- macro postgres__deduplicate(relation, partition_by, order_by) -%}\n\n select\n distinct on ({{ partition_by }}) *\n from {{ relation }}\n order by {{ partition_by }}{{ ',' ~ order_by }}\n\n{%- endmacro -%}\n\n", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.896137, "supported_languages": null}, "macro.dbt_utils.snowflake__deduplicate": {"unique_id": "macro.dbt_utils.snowflake__deduplicate", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/sql/deduplicate.sql", "original_file_path": "macros/sql/deduplicate.sql", "name": "snowflake__deduplicate", "macro_sql": "\n{%- macro snowflake__deduplicate(relation, partition_by, order_by) -%}\n\n select *\n from {{ relation }}\n qualify\n row_number() over (\n partition by {{ partition_by }}\n order by {{ order_by }}\n ) = 1\n\n{%- endmacro -%}\n\n", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.8963, "supported_languages": null}, "macro.dbt_utils.bigquery__deduplicate": {"unique_id": "macro.dbt_utils.bigquery__deduplicate", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/sql/deduplicate.sql", "original_file_path": "macros/sql/deduplicate.sql", "name": "bigquery__deduplicate", "macro_sql": "\n{%- macro bigquery__deduplicate(relation, partition_by, order_by) -%}\n\n select unique.*\n from (\n select\n array_agg (\n original\n order by {{ order_by }}\n limit 1\n )[offset(0)] unique\n from {{ relation }} original\n group by {{ partition_by }}\n )\n\n{%- endmacro -%}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.896466, "supported_languages": null}, "macro.dbt_utils.surrogate_key": {"unique_id": "macro.dbt_utils.surrogate_key", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/sql/surrogate_key.sql", "original_file_path": "macros/sql/surrogate_key.sql", "name": "surrogate_key", "macro_sql": "{%- macro surrogate_key(field_list) -%}\n {% set frustrating_jinja_feature = varargs %}\n {{ return(adapter.dispatch('surrogate_key', 'dbt_utils')(field_list, *varargs)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.default__surrogate_key"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.896925, "supported_languages": null}, "macro.dbt_utils.default__surrogate_key": {"unique_id": "macro.dbt_utils.default__surrogate_key", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/sql/surrogate_key.sql", "original_file_path": "macros/sql/surrogate_key.sql", "name": "default__surrogate_key", "macro_sql": "\n\n{%- macro default__surrogate_key(field_list) -%}\n\n{%- set error_message = '\nWarning: `dbt_utils.surrogate_key` has been replaced by \\\n`dbt_utils.generate_surrogate_key`. The new macro treats null values \\\ndifferently to empty strings. To restore the behaviour of the original \\\nmacro, add a global variable in dbt_project.yml called \\\n`surrogate_key_treat_nulls_as_empty_strings` to your \\\ndbt_project.yml file with a value of True. \\\nThe {}.{} model triggered this warning. \\\n'.format(model.package_name, model.name) -%}\n\n{%- do exceptions.raise_compiler_error(error_message) -%}\n\n{%- endmacro -%}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.897161, "supported_languages": null}, "macro.dbt_utils.safe_add": {"unique_id": "macro.dbt_utils.safe_add", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/sql/safe_add.sql", "original_file_path": "macros/sql/safe_add.sql", "name": "safe_add", "macro_sql": "{%- macro safe_add(field_list) -%}\n {{ return(adapter.dispatch('safe_add', 'dbt_utils')(field_list)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.default__safe_add"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.897596, "supported_languages": null}, "macro.dbt_utils.default__safe_add": {"unique_id": "macro.dbt_utils.default__safe_add", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/sql/safe_add.sql", "original_file_path": "macros/sql/safe_add.sql", "name": "default__safe_add", "macro_sql": "\n\n{%- macro default__safe_add(field_list) -%}\n\n{%- if field_list is not iterable or field_list is string or field_list is mapping -%}\n\n{%- set error_message = '\nWarning: the `safe_add` macro now takes a single list argument instead of \\\nstring arguments. The {}.{} model triggered this warning. \\\n'.format(model.package_name, model.name) -%}\n\n{%- do exceptions.warn(error_message) -%}\n\n{%- endif -%}\n\n{% set fields = [] %}\n\n{%- for field in field_list -%}\n\n {% do fields.append(\"coalesce(\" ~ field ~ \", 0)\") %}\n\n{%- endfor -%}\n\n{{ fields|join(' +\\n ') }}\n\n{%- endmacro -%}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.8981252, "supported_languages": null}, "macro.dbt_utils.nullcheck": {"unique_id": "macro.dbt_utils.nullcheck", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/sql/nullcheck.sql", "original_file_path": "macros/sql/nullcheck.sql", "name": "nullcheck", "macro_sql": "{% macro nullcheck(cols) %}\n {{ return(adapter.dispatch('nullcheck', 'dbt_utils')(cols)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.default__nullcheck"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.8985229, "supported_languages": null}, "macro.dbt_utils.default__nullcheck": {"unique_id": "macro.dbt_utils.default__nullcheck", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/sql/nullcheck.sql", "original_file_path": "macros/sql/nullcheck.sql", "name": "default__nullcheck", "macro_sql": "{% macro default__nullcheck(cols) %}\n{%- for col in cols %}\n\n {% if col.is_string() -%}\n\n nullif({{col.name}},'') as {{col.name}}\n\n {%- else -%}\n\n {{col.name}}\n\n {%- endif -%}\n\n{%- if not loop.last -%} , {%- endif -%}\n\n{%- endfor -%}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.898845, "supported_languages": null}, "macro.dbt_utils.get_tables_by_pattern_sql": {"unique_id": "macro.dbt_utils.get_tables_by_pattern_sql", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/sql/get_tables_by_pattern_sql.sql", "original_file_path": "macros/sql/get_tables_by_pattern_sql.sql", "name": "get_tables_by_pattern_sql", "macro_sql": "{% macro get_tables_by_pattern_sql(schema_pattern, table_pattern, exclude='', database=target.database) %}\n {{ return(adapter.dispatch('get_tables_by_pattern_sql', 'dbt_utils')\n (schema_pattern, table_pattern, exclude, database)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.default__get_tables_by_pattern_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.900465, "supported_languages": null}, "macro.dbt_utils.default__get_tables_by_pattern_sql": {"unique_id": "macro.dbt_utils.default__get_tables_by_pattern_sql", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/sql/get_tables_by_pattern_sql.sql", "original_file_path": "macros/sql/get_tables_by_pattern_sql.sql", "name": "default__get_tables_by_pattern_sql", "macro_sql": "{% macro default__get_tables_by_pattern_sql(schema_pattern, table_pattern, exclude='', database=target.database) %}\n\n select distinct\n table_schema as {{ adapter.quote('table_schema') }},\n table_name as {{ adapter.quote('table_name') }},\n {{ dbt_utils.get_table_types_sql() }}\n from {{ database }}.information_schema.tables\n where table_schema ilike '{{ schema_pattern }}'\n and table_name ilike '{{ table_pattern }}'\n and table_name not ilike '{{ exclude }}'\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.get_table_types_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.900816, "supported_languages": null}, "macro.dbt_utils.bigquery__get_tables_by_pattern_sql": {"unique_id": "macro.dbt_utils.bigquery__get_tables_by_pattern_sql", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/sql/get_tables_by_pattern_sql.sql", "original_file_path": "macros/sql/get_tables_by_pattern_sql.sql", "name": "bigquery__get_tables_by_pattern_sql", "macro_sql": "{% macro bigquery__get_tables_by_pattern_sql(schema_pattern, table_pattern, exclude='', database=target.database) %}\n\n {% if '%' in schema_pattern %}\n {% set schemata=dbt_utils._bigquery__get_matching_schemata(schema_pattern, database) %}\n {% else %}\n {% set schemata=[schema_pattern] %}\n {% endif %}\n\n {% set sql %}\n {% for schema in schemata %}\n select distinct\n table_schema,\n table_name,\n {{ dbt_utils.get_table_types_sql() }}\n\n from {{ adapter.quote(database) }}.{{ schema }}.INFORMATION_SCHEMA.TABLES\n where lower(table_name) like lower ('{{ table_pattern }}')\n and lower(table_name) not like lower ('{{ exclude }}')\n\n {% if not loop.last %} union all {% endif %}\n\n {% endfor %}\n {% endset %}\n\n {{ return(sql) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils._bigquery__get_matching_schemata", "macro.dbt_utils.get_table_types_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.9015949, "supported_languages": null}, "macro.dbt_utils._bigquery__get_matching_schemata": {"unique_id": "macro.dbt_utils._bigquery__get_matching_schemata", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/sql/get_tables_by_pattern_sql.sql", "original_file_path": "macros/sql/get_tables_by_pattern_sql.sql", "name": "_bigquery__get_matching_schemata", "macro_sql": "{% macro _bigquery__get_matching_schemata(schema_pattern, database) %}\n {% if execute %}\n\n {% set sql %}\n select schema_name from {{ adapter.quote(database) }}.INFORMATION_SCHEMA.SCHEMATA\n where lower(schema_name) like lower('{{ schema_pattern }}')\n {% endset %}\n\n {% set results=run_query(sql) %}\n\n {% set schemata=results.columns['schema_name'].values() %}\n\n {{ return(schemata) }}\n\n {% else %}\n\n {{ return([]) }}\n\n {% endif %}\n\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.run_query"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.902101, "supported_languages": null}, "macro.dbt_utils.get_column_values": {"unique_id": "macro.dbt_utils.get_column_values", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/sql/get_column_values.sql", "original_file_path": "macros/sql/get_column_values.sql", "name": "get_column_values", "macro_sql": "{% macro get_column_values(table, column, order_by='count(*) desc', max_records=none, default=none, where=none) -%}\n {{ return(adapter.dispatch('get_column_values', 'dbt_utils')(table, column, order_by, max_records, default, where)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.default__get_column_values"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.9032252, "supported_languages": null}, "macro.dbt_utils.default__get_column_values": {"unique_id": "macro.dbt_utils.default__get_column_values", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/sql/get_column_values.sql", "original_file_path": "macros/sql/get_column_values.sql", "name": "default__get_column_values", "macro_sql": "{% macro default__get_column_values(table, column, order_by='count(*) desc', max_records=none, default=none, where=none) -%}\n {#-- Prevent querying of db in parsing mode. This works because this macro does not create any new refs. #}\n {%- if not execute -%}\n {% set default = [] if not default %}\n {{ return(default) }}\n {% endif %}\n\n {%- do dbt_utils._is_ephemeral(table, 'get_column_values') -%}\n\n {# Not all relations are tables. Renaming for internal clarity without breaking functionality for anyone using named arguments #}\n {# TODO: Change the method signature in a future 0.x.0 release #}\n {%- set target_relation = table -%}\n\n {# adapter.load_relation is a convenience wrapper to avoid building a Relation when we already have one #}\n {% set relation_exists = (load_relation(target_relation)) is not none %}\n\n {%- call statement('get_column_values', fetch_result=true) %}\n\n {%- if not relation_exists and default is none -%}\n\n {{ exceptions.raise_compiler_error(\"In get_column_values(): relation \" ~ target_relation ~ \" does not exist and no default value was provided.\") }}\n\n {%- elif not relation_exists and default is not none -%}\n\n {{ log(\"Relation \" ~ target_relation ~ \" does not exist. Returning the default value: \" ~ default) }}\n\n {{ return(default) }}\n\n {%- else -%}\n\n\n select\n {{ column }} as value\n\n from {{ target_relation }}\n\n {% if where is not none %}\n where {{ where }}\n {% endif %}\n\n group by {{ column }}\n order by {{ order_by }}\n\n {% if max_records is not none %}\n limit {{ max_records }}\n {% endif %}\n\n {% endif %}\n\n {%- endcall -%}\n\n {%- set value_list = load_result('get_column_values') -%}\n\n {%- if value_list and value_list['data'] -%}\n {%- set values = value_list['data'] | map(attribute=0) | list %}\n {{ return(values) }}\n {%- else -%}\n {{ return(default) }}\n {%- endif -%}\n\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils._is_ephemeral", "macro.dbt.load_relation", "macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.904717, "supported_languages": null}, "macro.dbt_utils.pivot": {"unique_id": "macro.dbt_utils.pivot", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/sql/pivot.sql", "original_file_path": "macros/sql/pivot.sql", "name": "pivot", "macro_sql": "{% macro pivot(column,\n values,\n alias=True,\n agg='sum',\n cmp='=',\n prefix='',\n suffix='',\n then_value=1,\n else_value=0,\n quote_identifiers=True,\n distinct=False) %}\n {{ return(adapter.dispatch('pivot', 'dbt_utils')(column, values, alias, agg, cmp, prefix, suffix, then_value, else_value, quote_identifiers, distinct)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.default__pivot"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.905799, "supported_languages": null}, "macro.dbt_utils.default__pivot": {"unique_id": "macro.dbt_utils.default__pivot", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/sql/pivot.sql", "original_file_path": "macros/sql/pivot.sql", "name": "default__pivot", "macro_sql": "{% macro default__pivot(column,\n values,\n alias=True,\n agg='sum',\n cmp='=',\n prefix='',\n suffix='',\n then_value=1,\n else_value=0,\n quote_identifiers=True,\n distinct=False) %}\n {% for value in values %}\n {{ agg }}(\n {% if distinct %} distinct {% endif %}\n case\n when {{ column }} {{ cmp }} '{{ dbt.escape_single_quotes(value) }}'\n then {{ then_value }}\n else {{ else_value }}\n end\n )\n {% if alias %}\n {% if quote_identifiers %}\n as {{ adapter.quote(prefix ~ value ~ suffix) }}\n {% else %}\n as {{ dbt_utils.slugify(prefix ~ value ~ suffix) }}\n {% endif %}\n {% endif %}\n {% if not loop.last %},{% endif %}\n {% endfor %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.escape_single_quotes", "macro.dbt_utils.slugify"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.906625, "supported_languages": null}, "macro.dbt_utils.get_filtered_columns_in_relation": {"unique_id": "macro.dbt_utils.get_filtered_columns_in_relation", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/sql/get_filtered_columns_in_relation.sql", "original_file_path": "macros/sql/get_filtered_columns_in_relation.sql", "name": "get_filtered_columns_in_relation", "macro_sql": "{% macro get_filtered_columns_in_relation(from, except=[]) -%}\n {{ return(adapter.dispatch('get_filtered_columns_in_relation', 'dbt_utils')(from, except)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.default__get_filtered_columns_in_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.907156, "supported_languages": null}, "macro.dbt_utils.default__get_filtered_columns_in_relation": {"unique_id": "macro.dbt_utils.default__get_filtered_columns_in_relation", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/sql/get_filtered_columns_in_relation.sql", "original_file_path": "macros/sql/get_filtered_columns_in_relation.sql", "name": "default__get_filtered_columns_in_relation", "macro_sql": "{% macro default__get_filtered_columns_in_relation(from, except=[]) -%}\n {%- do dbt_utils._is_relation(from, 'get_filtered_columns_in_relation') -%}\n {%- do dbt_utils._is_ephemeral(from, 'get_filtered_columns_in_relation') -%}\n\n {# -- Prevent querying of db in parsing mode. This works because this macro does not create any new refs. #}\n {%- if not execute -%}\n {{ return('') }}\n {% endif %}\n\n {%- set include_cols = [] %}\n {%- set cols = adapter.get_columns_in_relation(from) -%}\n {%- set except = except | map(\"lower\") | list %}\n {%- for col in cols -%}\n {%- if col.column|lower not in except -%}\n {% do include_cols.append(col.column) %}\n {%- endif %}\n {%- endfor %}\n\n {{ return(include_cols) }}\n\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils._is_relation", "macro.dbt_utils._is_ephemeral"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.907873, "supported_languages": null}, "macro.dbt_utils.width_bucket": {"unique_id": "macro.dbt_utils.width_bucket", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/sql/width_bucket.sql", "original_file_path": "macros/sql/width_bucket.sql", "name": "width_bucket", "macro_sql": "{% macro width_bucket(expr, min_value, max_value, num_buckets) %}\n {{ return(adapter.dispatch('width_bucket', 'dbt_utils') (expr, min_value, max_value, num_buckets)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.default__width_bucket"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.909287, "supported_languages": null}, "macro.dbt_utils.default__width_bucket": {"unique_id": "macro.dbt_utils.default__width_bucket", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/sql/width_bucket.sql", "original_file_path": "macros/sql/width_bucket.sql", "name": "default__width_bucket", "macro_sql": "{% macro default__width_bucket(expr, min_value, max_value, num_buckets) -%}\n\n {% set bin_size -%}\n (( {{ max_value }} - {{ min_value }} ) / {{ num_buckets }} )\n {%- endset %}\n (\n -- to break ties when the amount is eaxtly at the bucket egde\n case\n when\n mod(\n {{ dbt.safe_cast(expr, dbt.type_numeric() ) }},\n {{ dbt.safe_cast(bin_size, dbt.type_numeric() ) }}\n ) = 0\n then 1\n else 0\n end\n ) +\n -- Anything over max_value goes the N+1 bucket\n least(\n ceil(\n ({{ expr }} - {{ min_value }})/{{ bin_size }}\n ),\n {{ num_buckets }} + 1\n )\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.safe_cast", "macro.dbt.type_numeric"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.909745, "supported_languages": null}, "macro.dbt_utils.redshift__width_bucket": {"unique_id": "macro.dbt_utils.redshift__width_bucket", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/sql/width_bucket.sql", "original_file_path": "macros/sql/width_bucket.sql", "name": "redshift__width_bucket", "macro_sql": "{% macro redshift__width_bucket(expr, min_value, max_value, num_buckets) -%}\n\n {% set bin_size -%}\n (( {{ max_value }} - {{ min_value }} ) / {{ num_buckets }} )\n {%- endset %}\n (\n -- to break ties when the amount is exactly at the bucket edge\n case\n when\n {{ dbt.safe_cast(expr, dbt.type_numeric() ) }} %\n {{ dbt.safe_cast(bin_size, dbt.type_numeric() ) }}\n = 0\n then 1\n else 0\n end\n ) +\n -- Anything over max_value goes the N+1 bucket\n least(\n ceil(\n ({{ expr }} - {{ min_value }})/{{ bin_size }}\n ),\n {{ num_buckets }} + 1\n )\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.safe_cast", "macro.dbt.type_numeric"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.910211, "supported_languages": null}, "macro.dbt_utils.snowflake__width_bucket": {"unique_id": "macro.dbt_utils.snowflake__width_bucket", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/sql/width_bucket.sql", "original_file_path": "macros/sql/width_bucket.sql", "name": "snowflake__width_bucket", "macro_sql": "{% macro snowflake__width_bucket(expr, min_value, max_value, num_buckets) %}\n width_bucket({{ expr }}, {{ min_value }}, {{ max_value }}, {{ num_buckets }} )\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.9103968, "supported_languages": null}, "macro.dbt_utils.get_query_results_as_dict": {"unique_id": "macro.dbt_utils.get_query_results_as_dict", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/sql/get_query_results_as_dict.sql", "original_file_path": "macros/sql/get_query_results_as_dict.sql", "name": "get_query_results_as_dict", "macro_sql": "{% macro get_query_results_as_dict(query) %}\n {{ return(adapter.dispatch('get_query_results_as_dict', 'dbt_utils')(query)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.default__get_query_results_as_dict"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.91084, "supported_languages": null}, "macro.dbt_utils.default__get_query_results_as_dict": {"unique_id": "macro.dbt_utils.default__get_query_results_as_dict", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/sql/get_query_results_as_dict.sql", "original_file_path": "macros/sql/get_query_results_as_dict.sql", "name": "default__get_query_results_as_dict", "macro_sql": "{% macro default__get_query_results_as_dict(query) %}\n\n{# This macro returns a dictionary of the form {column_name: (tuple_of_results)} #}\n\n {%- call statement('get_query_results', fetch_result=True,auto_begin=false) -%}\n\n {{ query }}\n\n {%- endcall -%}\n\n {% set sql_results={} %}\n\n {%- if execute -%}\n {% set sql_results_table = load_result('get_query_results').table.columns %}\n {% for column_name, column in sql_results_table.items() %}\n {% do sql_results.update({column_name: column.values()}) %}\n {% endfor %}\n {%- endif -%}\n\n {{ return(sql_results) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.911424, "supported_languages": null}, "macro.dbt_utils.generate_surrogate_key": {"unique_id": "macro.dbt_utils.generate_surrogate_key", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/sql/generate_surrogate_key.sql", "original_file_path": "macros/sql/generate_surrogate_key.sql", "name": "generate_surrogate_key", "macro_sql": "{%- macro generate_surrogate_key(field_list) -%}\n {{ return(adapter.dispatch('generate_surrogate_key', 'dbt_utils')(field_list)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.default__generate_surrogate_key"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.911933, "supported_languages": null}, "macro.dbt_utils.default__generate_surrogate_key": {"unique_id": "macro.dbt_utils.default__generate_surrogate_key", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/sql/generate_surrogate_key.sql", "original_file_path": "macros/sql/generate_surrogate_key.sql", "name": "default__generate_surrogate_key", "macro_sql": "\n\n{%- macro default__generate_surrogate_key(field_list) -%}\n\n{% if var('surrogate_key_treat_nulls_as_empty_strings', False) %}\n {% set default_null_value = \"\" %}\n{% else %}\n {% set default_null_value = '_dbt_utils_surrogate_key_null_'%}\n{% endif %}\n\n{%- set fields = [] -%}\n\n{%- for field in field_list -%}\n\n {%- do fields.append(\n \"coalesce(cast(\" ~ field ~ \" as \" ~ dbt.type_string() ~ \"), '\" ~ default_null_value ~\"')\"\n ) -%}\n\n {%- if not loop.last %}\n {%- do fields.append(\"'-'\") -%}\n {%- endif -%}\n\n{%- endfor -%}\n\n{{ dbt.hash(dbt.concat(fields)) }}\n\n{%- endmacro -%}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.type_string", "macro.dbt.hash", "macro.dbt.concat"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.9125671, "supported_languages": null}, "macro.dbt_utils.get_table_types_sql": {"unique_id": "macro.dbt_utils.get_table_types_sql", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/sql/get_table_types_sql.sql", "original_file_path": "macros/sql/get_table_types_sql.sql", "name": "get_table_types_sql", "macro_sql": "{%- macro get_table_types_sql() -%}\n {{ return(adapter.dispatch('get_table_types_sql', 'dbt_utils')()) }}\n{%- endmacro -%}\n\n", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.postgres__get_table_types_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.913023, "supported_languages": null}, "macro.dbt_utils.default__get_table_types_sql": {"unique_id": "macro.dbt_utils.default__get_table_types_sql", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/sql/get_table_types_sql.sql", "original_file_path": "macros/sql/get_table_types_sql.sql", "name": "default__get_table_types_sql", "macro_sql": "{% macro default__get_table_types_sql() %}\n case table_type\n when 'BASE TABLE' then 'table'\n when 'EXTERNAL TABLE' then 'external'\n when 'MATERIALIZED VIEW' then 'materializedview'\n else lower(table_type)\n end as {{ adapter.quote('table_type') }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.9131641, "supported_languages": null}, "macro.dbt_utils.postgres__get_table_types_sql": {"unique_id": "macro.dbt_utils.postgres__get_table_types_sql", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/sql/get_table_types_sql.sql", "original_file_path": "macros/sql/get_table_types_sql.sql", "name": "postgres__get_table_types_sql", "macro_sql": "{% macro postgres__get_table_types_sql() %}\n case table_type\n when 'BASE TABLE' then 'table'\n when 'FOREIGN' then 'external'\n when 'MATERIALIZED VIEW' then 'materializedview'\n else lower(table_type)\n end as {{ adapter.quote('table_type') }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.9132988, "supported_languages": null}, "macro.dbt_utils.get_single_value": {"unique_id": "macro.dbt_utils.get_single_value", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/sql/get_single_value.sql", "original_file_path": "macros/sql/get_single_value.sql", "name": "get_single_value", "macro_sql": "{% macro get_single_value(query, default=none) %}\n {{ return(adapter.dispatch('get_single_value', 'dbt_utils')(query, default)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.default__get_single_value"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.913861, "supported_languages": null}, "macro.dbt_utils.default__get_single_value": {"unique_id": "macro.dbt_utils.default__get_single_value", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/sql/get_single_value.sql", "original_file_path": "macros/sql/get_single_value.sql", "name": "default__get_single_value", "macro_sql": "{% macro default__get_single_value(query, default) %}\n\n{# This macro returns the (0, 0) record in a query, i.e. the first row of the first column #}\n\n {%- call statement('get_query_result', fetch_result=True, auto_begin=false) -%}\n\n {{ query }}\n\n {%- endcall -%}\n\n {%- if execute -%}\n\n {% set r = load_result('get_query_result').table.columns[0].values() %}\n {% if r | length == 0 %}\n {% do print('Query `' ~ query ~ '` returned no rows. Using the default value: ' ~ default) %}\n {% set sql_result = default %}\n {% else %}\n {% set sql_result = r[0] %}\n {% endif %}\n \n {%- else -%}\n \n {% set sql_result = default %}\n \n {%- endif -%}\n\n {% do return(sql_result) %}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.9146612, "supported_languages": null}, "macro.dbt_utils.degrees_to_radians": {"unique_id": "macro.dbt_utils.degrees_to_radians", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/sql/haversine_distance.sql", "original_file_path": "macros/sql/haversine_distance.sql", "name": "degrees_to_radians", "macro_sql": "{% macro degrees_to_radians(degrees) -%}\n acos(-1) * {{degrees}} / 180\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.915732, "supported_languages": null}, "macro.dbt_utils.haversine_distance": {"unique_id": "macro.dbt_utils.haversine_distance", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/sql/haversine_distance.sql", "original_file_path": "macros/sql/haversine_distance.sql", "name": "haversine_distance", "macro_sql": "{% macro haversine_distance(lat1, lon1, lat2, lon2, unit='mi') -%}\n {{ return(adapter.dispatch('haversine_distance', 'dbt_utils')(lat1,lon1,lat2,lon2,unit)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.default__haversine_distance"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.916003, "supported_languages": null}, "macro.dbt_utils.default__haversine_distance": {"unique_id": "macro.dbt_utils.default__haversine_distance", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/sql/haversine_distance.sql", "original_file_path": "macros/sql/haversine_distance.sql", "name": "default__haversine_distance", "macro_sql": "{% macro default__haversine_distance(lat1, lon1, lat2, lon2, unit='mi') -%}\n{%- if unit == 'mi' %}\n {% set conversion_rate = 1 %}\n{% elif unit == 'km' %}\n {% set conversion_rate = 1.60934 %}\n{% else %}\n {{ exceptions.raise_compiler_error(\"unit input must be one of 'mi' or 'km'. Got \" ~ unit) }}\n{% endif %}\n\n 2 * 3961 * asin(sqrt(power((sin(radians(({{ lat2 }} - {{ lat1 }}) / 2))), 2) +\n cos(radians({{lat1}})) * cos(radians({{lat2}})) *\n power((sin(radians(({{ lon2 }} - {{ lon1 }}) / 2))), 2))) * {{ conversion_rate }}\n\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.9165592, "supported_languages": null}, "macro.dbt_utils.bigquery__haversine_distance": {"unique_id": "macro.dbt_utils.bigquery__haversine_distance", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/sql/haversine_distance.sql", "original_file_path": "macros/sql/haversine_distance.sql", "name": "bigquery__haversine_distance", "macro_sql": "{% macro bigquery__haversine_distance(lat1, lon1, lat2, lon2, unit='mi') -%}\n{% set radians_lat1 = dbt_utils.degrees_to_radians(lat1) %}\n{% set radians_lat2 = dbt_utils.degrees_to_radians(lat2) %}\n{% set radians_lon1 = dbt_utils.degrees_to_radians(lon1) %}\n{% set radians_lon2 = dbt_utils.degrees_to_radians(lon2) %}\n{%- if unit == 'mi' %}\n {% set conversion_rate = 1 %}\n{% elif unit == 'km' %}\n {% set conversion_rate = 1.60934 %}\n{% else %}\n {{ exceptions.raise_compiler_error(\"unit input must be one of 'mi' or 'km'. Got \" ~ unit) }}\n{% endif %}\n 2 * 3961 * asin(sqrt(power(sin(({{ radians_lat2 }} - {{ radians_lat1 }}) / 2), 2) +\n cos({{ radians_lat1 }}) * cos({{ radians_lat2 }}) *\n power(sin(({{ radians_lon2 }} - {{ radians_lon1 }}) / 2), 2))) * {{ conversion_rate }}\n\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.degrees_to_radians"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.917342, "supported_languages": null}, "macro.spark_utils.get_tables": {"unique_id": "macro.spark_utils.get_tables", "package_name": "spark_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/spark_utils", "path": "macros/maintenance_operation.sql", "original_file_path": "macros/maintenance_operation.sql", "name": "get_tables", "macro_sql": "{% macro get_tables(table_regex_pattern='.*') %}\n\n {% set tables = [] %}\n {% for database in spark__list_schemas('not_used') %}\n {% for table in spark__list_relations_without_caching(database[0]) %}\n {% set db_tablename = database[0] ~ \".\" ~ table[1] %}\n {% set is_match = modules.re.match(table_regex_pattern, db_tablename) %}\n {% if is_match %}\n {% call statement('table_detail', fetch_result=True) -%}\n describe extended {{ db_tablename }}\n {% endcall %}\n\n {% set table_type = load_result('table_detail').table|reverse|selectattr(0, 'in', ('type', 'TYPE', 'Type'))|first %}\n {% if table_type[1]|lower != 'view' %}\n {{ tables.append(db_tablename) }}\n {% endif %}\n {% endif %}\n {% endfor %}\n {% endfor %}\n {{ return(tables) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.9222422, "supported_languages": null}, "macro.spark_utils.get_delta_tables": {"unique_id": "macro.spark_utils.get_delta_tables", "package_name": "spark_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/spark_utils", "path": "macros/maintenance_operation.sql", "original_file_path": "macros/maintenance_operation.sql", "name": "get_delta_tables", "macro_sql": "{% macro get_delta_tables(table_regex_pattern='.*') %}\n\n {% set delta_tables = [] %}\n {% for db_tablename in get_tables(table_regex_pattern) %}\n {% call statement('table_detail', fetch_result=True) -%}\n describe extended {{ db_tablename }}\n {% endcall %}\n\n {% set table_type = load_result('table_detail').table|reverse|selectattr(0, 'in', ('provider', 'PROVIDER', 'Provider'))|first %}\n {% if table_type[1]|lower == 'delta' %}\n {{ delta_tables.append(db_tablename) }}\n {% endif %}\n {% endfor %}\n {{ return(delta_tables) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.spark_utils.get_tables", "macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.922922, "supported_languages": null}, "macro.spark_utils.get_statistic_columns": {"unique_id": "macro.spark_utils.get_statistic_columns", "package_name": "spark_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/spark_utils", "path": "macros/maintenance_operation.sql", "original_file_path": "macros/maintenance_operation.sql", "name": "get_statistic_columns", "macro_sql": "{% macro get_statistic_columns(table) %}\n\n {% call statement('input_columns', fetch_result=True) %}\n SHOW COLUMNS IN {{ table }}\n {% endcall %}\n {% set input_columns = load_result('input_columns').table %}\n\n {% set output_columns = [] %}\n {% for column in input_columns %}\n {% call statement('column_information', fetch_result=True) %}\n DESCRIBE TABLE {{ table }} `{{ column[0] }}`\n {% endcall %}\n {% if not load_result('column_information').table[1][1].startswith('struct') and not load_result('column_information').table[1][1].startswith('array') %}\n {{ output_columns.append('`' ~ column[0] ~ '`') }}\n {% endif %}\n {% endfor %}\n {{ return(output_columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.9237819, "supported_languages": null}, "macro.spark_utils.spark_optimize_delta_tables": {"unique_id": "macro.spark_utils.spark_optimize_delta_tables", "package_name": "spark_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/spark_utils", "path": "macros/maintenance_operation.sql", "original_file_path": "macros/maintenance_operation.sql", "name": "spark_optimize_delta_tables", "macro_sql": "{% macro spark_optimize_delta_tables(table_regex_pattern='.*') %}\n\n {% for table in get_delta_tables(table_regex_pattern) %}\n {% set start=modules.datetime.datetime.now() %}\n {% set message_prefix=loop.index ~ \" of \" ~ loop.length %}\n {{ dbt_utils.log_info(message_prefix ~ \" Optimizing \" ~ table) }}\n {% do run_query(\"optimize \" ~ table) %}\n {% set end=modules.datetime.datetime.now() %}\n {% set total_seconds = (end - start).total_seconds() | round(2) %}\n {{ dbt_utils.log_info(message_prefix ~ \" Finished \" ~ table ~ \" in \" ~ total_seconds ~ \"s\") }}\n {% endfor %}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.spark_utils.get_delta_tables", "macro.dbt_utils.log_info", "macro.dbt.run_query"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.9244978, "supported_languages": null}, "macro.spark_utils.spark_vacuum_delta_tables": {"unique_id": "macro.spark_utils.spark_vacuum_delta_tables", "package_name": "spark_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/spark_utils", "path": "macros/maintenance_operation.sql", "original_file_path": "macros/maintenance_operation.sql", "name": "spark_vacuum_delta_tables", "macro_sql": "{% macro spark_vacuum_delta_tables(table_regex_pattern='.*') %}\n\n {% for table in get_delta_tables(table_regex_pattern) %}\n {% set start=modules.datetime.datetime.now() %}\n {% set message_prefix=loop.index ~ \" of \" ~ loop.length %}\n {{ dbt_utils.log_info(message_prefix ~ \" Vacuuming \" ~ table) }}\n {% do run_query(\"vacuum \" ~ table) %}\n {% set end=modules.datetime.datetime.now() %}\n {% set total_seconds = (end - start).total_seconds() | round(2) %}\n {{ dbt_utils.log_info(message_prefix ~ \" Finished \" ~ table ~ \" in \" ~ total_seconds ~ \"s\") }}\n {% endfor %}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.spark_utils.get_delta_tables", "macro.dbt_utils.log_info", "macro.dbt.run_query"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.9252071, "supported_languages": null}, "macro.spark_utils.spark_analyze_tables": {"unique_id": "macro.spark_utils.spark_analyze_tables", "package_name": "spark_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/spark_utils", "path": "macros/maintenance_operation.sql", "original_file_path": "macros/maintenance_operation.sql", "name": "spark_analyze_tables", "macro_sql": "{% macro spark_analyze_tables(table_regex_pattern='.*') %}\n\n {% for table in get_tables(table_regex_pattern) %}\n {% set start=modules.datetime.datetime.now() %}\n {% set columns = get_statistic_columns(table) | join(',') %}\n {% set message_prefix=loop.index ~ \" of \" ~ loop.length %}\n {{ dbt_utils.log_info(message_prefix ~ \" Analyzing \" ~ table) }}\n {% if columns != '' %}\n {% do run_query(\"analyze table \" ~ table ~ \" compute statistics for columns \" ~ columns) %}\n {% endif %}\n {% set end=modules.datetime.datetime.now() %}\n {% set total_seconds = (end - start).total_seconds() | round(2) %}\n {{ dbt_utils.log_info(message_prefix ~ \" Finished \" ~ table ~ \" in \" ~ total_seconds ~ \"s\") }}\n {% endfor %}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.spark_utils.get_tables", "macro.spark_utils.get_statistic_columns", "macro.dbt_utils.log_info", "macro.dbt.run_query"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.926147, "supported_languages": null}, "macro.spark_utils.spark__concat": {"unique_id": "macro.spark_utils.spark__concat", "package_name": "spark_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/spark_utils", "path": "macros/dbt_utils/cross_db_utils/concat.sql", "original_file_path": "macros/dbt_utils/cross_db_utils/concat.sql", "name": "spark__concat", "macro_sql": "{% macro spark__concat(fields) -%}\n concat({{ fields|join(', ') }})\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.92642, "supported_languages": null}, "macro.spark_utils.spark__type_numeric": {"unique_id": "macro.spark_utils.spark__type_numeric", "package_name": "spark_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/spark_utils", "path": "macros/dbt_utils/cross_db_utils/datatypes.sql", "original_file_path": "macros/dbt_utils/cross_db_utils/datatypes.sql", "name": "spark__type_numeric", "macro_sql": "{% macro spark__type_numeric() %}\n decimal(28, 6)\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.9265978, "supported_languages": null}, "macro.spark_utils.spark__dateadd": {"unique_id": "macro.spark_utils.spark__dateadd", "package_name": "spark_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/spark_utils", "path": "macros/dbt_utils/cross_db_utils/dateadd.sql", "original_file_path": "macros/dbt_utils/cross_db_utils/dateadd.sql", "name": "spark__dateadd", "macro_sql": "{% macro spark__dateadd(datepart, interval, from_date_or_timestamp) %}\n\n {%- set clock_component -%}\n {# make sure the dates + timestamps are real, otherwise raise an error asap #}\n to_unix_timestamp({{ spark_utils.assert_not_null('to_timestamp', from_date_or_timestamp) }})\n - to_unix_timestamp({{ spark_utils.assert_not_null('date', from_date_or_timestamp) }})\n {%- endset -%}\n\n {%- if datepart in ['day', 'week'] -%}\n \n {%- set multiplier = 7 if datepart == 'week' else 1 -%}\n\n to_timestamp(\n to_unix_timestamp(\n date_add(\n {{ spark_utils.assert_not_null('date', from_date_or_timestamp) }},\n cast({{interval}} * {{multiplier}} as int)\n )\n ) + {{clock_component}}\n )\n\n {%- elif datepart in ['month', 'quarter', 'year'] -%}\n \n {%- set multiplier -%} \n {%- if datepart == 'month' -%} 1\n {%- elif datepart == 'quarter' -%} 3\n {%- elif datepart == 'year' -%} 12\n {%- endif -%}\n {%- endset -%}\n\n to_timestamp(\n to_unix_timestamp(\n add_months(\n {{ spark_utils.assert_not_null('date', from_date_or_timestamp) }},\n cast({{interval}} * {{multiplier}} as int)\n )\n ) + {{clock_component}}\n )\n\n {%- elif datepart in ('hour', 'minute', 'second', 'millisecond', 'microsecond') -%}\n \n {%- set multiplier -%} \n {%- if datepart == 'hour' -%} 3600\n {%- elif datepart == 'minute' -%} 60\n {%- elif datepart == 'second' -%} 1\n {%- elif datepart == 'millisecond' -%} (1/1000000)\n {%- elif datepart == 'microsecond' -%} (1/1000000)\n {%- endif -%}\n {%- endset -%}\n\n to_timestamp(\n {{ spark_utils.assert_not_null('to_unix_timestamp', from_date_or_timestamp) }}\n + cast({{interval}} * {{multiplier}} as int)\n )\n\n {%- else -%}\n\n {{ exceptions.raise_compiler_error(\"macro dateadd not implemented for datepart ~ '\" ~ datepart ~ \"' ~ on Spark\") }}\n\n {%- endif -%}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.spark_utils.assert_not_null"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.929342, "supported_languages": null}, "macro.spark_utils.spark__datediff": {"unique_id": "macro.spark_utils.spark__datediff", "package_name": "spark_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/spark_utils", "path": "macros/dbt_utils/cross_db_utils/datediff.sql", "original_file_path": "macros/dbt_utils/cross_db_utils/datediff.sql", "name": "spark__datediff", "macro_sql": "{% macro spark__datediff(first_date, second_date, datepart) %}\n\n {%- if datepart in ['day', 'week', 'month', 'quarter', 'year'] -%}\n \n {# make sure the dates are real, otherwise raise an error asap #}\n {% set first_date = spark_utils.assert_not_null('date', first_date) %}\n {% set second_date = spark_utils.assert_not_null('date', second_date) %}\n \n {%- endif -%}\n \n {%- if datepart == 'day' -%}\n \n datediff({{second_date}}, {{first_date}})\n \n {%- elif datepart == 'week' -%}\n \n case when {{first_date}} < {{second_date}}\n then floor(datediff({{second_date}}, {{first_date}})/7)\n else ceil(datediff({{second_date}}, {{first_date}})/7)\n end\n \n -- did we cross a week boundary (Sunday)?\n + case\n when {{first_date}} < {{second_date}} and dayofweek({{second_date}}) < dayofweek({{first_date}}) then 1\n when {{first_date}} > {{second_date}} and dayofweek({{second_date}}) > dayofweek({{first_date}}) then -1\n else 0 end\n\n {%- elif datepart == 'month' -%}\n\n case when {{first_date}} < {{second_date}}\n then floor(months_between(date({{second_date}}), date({{first_date}})))\n else ceil(months_between(date({{second_date}}), date({{first_date}})))\n end\n \n -- did we cross a month boundary?\n + case\n when {{first_date}} < {{second_date}} and dayofmonth({{second_date}}) < dayofmonth({{first_date}}) then 1\n when {{first_date}} > {{second_date}} and dayofmonth({{second_date}}) > dayofmonth({{first_date}}) then -1\n else 0 end\n \n {%- elif datepart == 'quarter' -%}\n \n case when {{first_date}} < {{second_date}}\n then floor(months_between(date({{second_date}}), date({{first_date}}))/3)\n else ceil(months_between(date({{second_date}}), date({{first_date}}))/3)\n end\n \n -- did we cross a quarter boundary?\n + case\n when {{first_date}} < {{second_date}} and (\n (dayofyear({{second_date}}) - (quarter({{second_date}}) * 365/4))\n < (dayofyear({{first_date}}) - (quarter({{first_date}}) * 365/4))\n ) then 1\n when {{first_date}} > {{second_date}} and (\n (dayofyear({{second_date}}) - (quarter({{second_date}}) * 365/4))\n > (dayofyear({{first_date}}) - (quarter({{first_date}}) * 365/4))\n ) then -1\n else 0 end\n\n {%- elif datepart == 'year' -%}\n \n year({{second_date}}) - year({{first_date}})\n\n {%- elif datepart in ('hour', 'minute', 'second', 'millisecond', 'microsecond') -%}\n \n {%- set divisor -%} \n {%- if datepart == 'hour' -%} 3600\n {%- elif datepart == 'minute' -%} 60\n {%- elif datepart == 'second' -%} 1\n {%- elif datepart == 'millisecond' -%} (1/1000)\n {%- elif datepart == 'microsecond' -%} (1/1000000)\n {%- endif -%}\n {%- endset -%}\n\n case when {{first_date}} < {{second_date}}\n then ceil((\n {# make sure the timestamps are real, otherwise raise an error asap #}\n {{ spark_utils.assert_not_null('to_unix_timestamp', spark_utils.assert_not_null('to_timestamp', second_date)) }}\n - {{ spark_utils.assert_not_null('to_unix_timestamp', spark_utils.assert_not_null('to_timestamp', first_date)) }}\n ) / {{divisor}})\n else floor((\n {{ spark_utils.assert_not_null('to_unix_timestamp', spark_utils.assert_not_null('to_timestamp', second_date)) }}\n - {{ spark_utils.assert_not_null('to_unix_timestamp', spark_utils.assert_not_null('to_timestamp', first_date)) }}\n ) / {{divisor}})\n end\n \n {% if datepart == 'millisecond' %}\n + cast(date_format({{second_date}}, 'SSS') as int)\n - cast(date_format({{first_date}}, 'SSS') as int)\n {% endif %}\n \n {% if datepart == 'microsecond' %} \n {% set capture_str = '[0-9]{4}-[0-9]{2}-[0-9]{2}.[0-9]{2}:[0-9]{2}:[0-9]{2}.([0-9]{6})' %}\n -- Spark doesn't really support microseconds, so this is a massive hack!\n -- It will only work if the timestamp-string is of the format\n -- 'yyyy-MM-dd-HH mm.ss.SSSSSS'\n + cast(regexp_extract({{second_date}}, '{{capture_str}}', 1) as int)\n - cast(regexp_extract({{first_date}}, '{{capture_str}}', 1) as int) \n {% endif %}\n\n {%- else -%}\n\n {{ exceptions.raise_compiler_error(\"macro datediff not implemented for datepart ~ '\" ~ datepart ~ \"' ~ on Spark\") }}\n\n {%- endif -%}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.spark_utils.assert_not_null"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.936497, "supported_languages": null}, "macro.spark_utils.spark__current_timestamp": {"unique_id": "macro.spark_utils.spark__current_timestamp", "package_name": "spark_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/spark_utils", "path": "macros/dbt_utils/cross_db_utils/current_timestamp.sql", "original_file_path": "macros/dbt_utils/cross_db_utils/current_timestamp.sql", "name": "spark__current_timestamp", "macro_sql": "{% macro spark__current_timestamp() %}\n current_timestamp()\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.9367979, "supported_languages": null}, "macro.spark_utils.spark__current_timestamp_in_utc": {"unique_id": "macro.spark_utils.spark__current_timestamp_in_utc", "package_name": "spark_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/spark_utils", "path": "macros/dbt_utils/cross_db_utils/current_timestamp.sql", "original_file_path": "macros/dbt_utils/cross_db_utils/current_timestamp.sql", "name": "spark__current_timestamp_in_utc", "macro_sql": "{% macro spark__current_timestamp_in_utc() %}\n unix_timestamp()\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.93688, "supported_languages": null}, "macro.spark_utils.spark__split_part": {"unique_id": "macro.spark_utils.spark__split_part", "package_name": "spark_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/spark_utils", "path": "macros/dbt_utils/cross_db_utils/split_part.sql", "original_file_path": "macros/dbt_utils/cross_db_utils/split_part.sql", "name": "spark__split_part", "macro_sql": "{% macro spark__split_part(string_text, delimiter_text, part_number) %}\n\n {% set delimiter_expr %}\n \n -- escape if starts with a special character\n case when regexp_extract({{ delimiter_text }}, '([^A-Za-z0-9])(.*)', 1) != '_'\n then concat('\\\\', {{ delimiter_text }})\n else {{ delimiter_text }} end\n \n {% endset %}\n\n {% set split_part_expr %}\n \n split(\n {{ string_text }},\n {{ delimiter_expr }}\n )[({{ part_number - 1 }})]\n \n {% endset %}\n \n {{ return(split_part_expr) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.937541, "supported_languages": null}, "macro.spark_utils.spark__get_relations_by_pattern": {"unique_id": "macro.spark_utils.spark__get_relations_by_pattern", "package_name": "spark_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/spark_utils", "path": "macros/dbt_utils/sql/get_relations_by_prefix.sql", "original_file_path": "macros/dbt_utils/sql/get_relations_by_prefix.sql", "name": "spark__get_relations_by_pattern", "macro_sql": "{% macro spark__get_relations_by_pattern(schema_pattern, table_pattern, exclude='', database=target.database) %}\n\n {%- call statement('get_tables', fetch_result=True) %}\n\n show table extended in {{ schema_pattern }} like '{{ table_pattern }}'\n\n {%- endcall -%}\n\n {%- set table_list = load_result('get_tables') -%}\n\n {%- if table_list and table_list['table'] -%}\n {%- set tbl_relations = [] -%}\n {%- for row in table_list['table'] -%}\n {%- set tbl_relation = api.Relation.create(\n database=None,\n schema=row[0],\n identifier=row[1],\n type=('view' if 'Type: VIEW' in row[3] else 'table')\n ) -%}\n {%- do tbl_relations.append(tbl_relation) -%}\n {%- endfor -%}\n\n {{ return(tbl_relations) }}\n {%- else -%}\n {{ return([]) }}\n {%- endif -%}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.9391842, "supported_languages": null}, "macro.spark_utils.spark__get_relations_by_prefix": {"unique_id": "macro.spark_utils.spark__get_relations_by_prefix", "package_name": "spark_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/spark_utils", "path": "macros/dbt_utils/sql/get_relations_by_prefix.sql", "original_file_path": "macros/dbt_utils/sql/get_relations_by_prefix.sql", "name": "spark__get_relations_by_prefix", "macro_sql": "{% macro spark__get_relations_by_prefix(schema_pattern, table_pattern, exclude='', database=target.database) %}\n {% set table_pattern = table_pattern ~ '*' %}\n {{ return(spark_utils.spark__get_relations_by_pattern(schema_pattern, table_pattern, exclude='', database=target.database)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.spark_utils.spark__get_relations_by_pattern"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.939532, "supported_languages": null}, "macro.spark_utils.spark__get_tables_by_pattern": {"unique_id": "macro.spark_utils.spark__get_tables_by_pattern", "package_name": "spark_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/spark_utils", "path": "macros/dbt_utils/sql/get_relations_by_prefix.sql", "original_file_path": "macros/dbt_utils/sql/get_relations_by_prefix.sql", "name": "spark__get_tables_by_pattern", "macro_sql": "{% macro spark__get_tables_by_pattern(schema_pattern, table_pattern, exclude='', database=target.database) %}\n {{ return(spark_utils.spark__get_relations_by_pattern(schema_pattern, table_pattern, exclude='', database=target.database)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.spark_utils.spark__get_relations_by_pattern"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.939811, "supported_languages": null}, "macro.spark_utils.spark__get_tables_by_prefix": {"unique_id": "macro.spark_utils.spark__get_tables_by_prefix", "package_name": "spark_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/spark_utils", "path": "macros/dbt_utils/sql/get_relations_by_prefix.sql", "original_file_path": "macros/dbt_utils/sql/get_relations_by_prefix.sql", "name": "spark__get_tables_by_prefix", "macro_sql": "{% macro spark__get_tables_by_prefix(schema_pattern, table_pattern, exclude='', database=target.database) %}\n {{ return(spark_utils.spark__get_relations_by_prefix(schema_pattern, table_pattern, exclude='', database=target.database)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.spark_utils.spark__get_relations_by_prefix"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.9400861, "supported_languages": null}, "macro.spark_utils.assert_not_null": {"unique_id": "macro.spark_utils.assert_not_null", "package_name": "spark_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/spark_utils", "path": "macros/etc/assert_not_null.sql", "original_file_path": "macros/etc/assert_not_null.sql", "name": "assert_not_null", "macro_sql": "{% macro assert_not_null(function, arg) -%}\n {{ return(adapter.dispatch('assert_not_null', 'spark_utils')(function, arg)) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.spark_utils.default__assert_not_null"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.940492, "supported_languages": null}, "macro.spark_utils.default__assert_not_null": {"unique_id": "macro.spark_utils.default__assert_not_null", "package_name": "spark_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/spark_utils", "path": "macros/etc/assert_not_null.sql", "original_file_path": "macros/etc/assert_not_null.sql", "name": "default__assert_not_null", "macro_sql": "{% macro default__assert_not_null(function, arg) %}\n\n coalesce({{function}}({{arg}}), nvl2({{function}}({{arg}}), assert_true({{function}}({{arg}}) is not null), null))\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.940691, "supported_languages": null}, "macro.spark_utils.spark__convert_timezone": {"unique_id": "macro.spark_utils.spark__convert_timezone", "package_name": "spark_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/spark_utils", "path": "macros/snowplow/convert_timezone.sql", "original_file_path": "macros/snowplow/convert_timezone.sql", "name": "spark__convert_timezone", "macro_sql": "{% macro spark__convert_timezone(in_tz, out_tz, in_timestamp) %}\n from_utc_timestamp(to_utc_timestamp({{in_timestamp}}, {{in_tz}}), {{out_tz}})\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.940971, "supported_languages": null}, "macro.fivetran_utils.enabled_vars": {"unique_id": "macro.fivetran_utils.enabled_vars", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/fivetran_utils", "path": "macros/enabled_vars.sql", "original_file_path": "macros/enabled_vars.sql", "name": "enabled_vars", "macro_sql": "{% macro enabled_vars(vars) %}\n\n{% for v in vars %}\n \n {% if var(v, True) == False %}\n {{ return(False) }}\n {% endif %}\n\n{% endfor %}\n\n{{ return(True) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.941451, "supported_languages": null}, "macro.fivetran_utils.percentile": {"unique_id": "macro.fivetran_utils.percentile", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/fivetran_utils", "path": "macros/percentile.sql", "original_file_path": "macros/percentile.sql", "name": "percentile", "macro_sql": "{% macro percentile(percentile_field, partition_field, percent) -%}\n\n{{ adapter.dispatch('percentile', 'fivetran_utils') (percentile_field, partition_field, percent) }}\n\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.fivetran_utils.postgres__percentile"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.94244, "supported_languages": null}, "macro.fivetran_utils.default__percentile": {"unique_id": "macro.fivetran_utils.default__percentile", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/fivetran_utils", "path": "macros/percentile.sql", "original_file_path": "macros/percentile.sql", "name": "default__percentile", "macro_sql": "{% macro default__percentile(percentile_field, partition_field, percent) %}\n\n percentile_cont( \n {{ percent }} )\n within group ( order by {{ percentile_field }} )\n over ( partition by {{ partition_field }} )\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.9426072, "supported_languages": null}, "macro.fivetran_utils.redshift__percentile": {"unique_id": "macro.fivetran_utils.redshift__percentile", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/fivetran_utils", "path": "macros/percentile.sql", "original_file_path": "macros/percentile.sql", "name": "redshift__percentile", "macro_sql": "{% macro redshift__percentile(percentile_field, partition_field, percent) %}\n\n percentile_cont( \n {{ percent }} )\n within group ( order by {{ percentile_field }} )\n over ( partition by {{ partition_field }} )\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.942768, "supported_languages": null}, "macro.fivetran_utils.bigquery__percentile": {"unique_id": "macro.fivetran_utils.bigquery__percentile", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/fivetran_utils", "path": "macros/percentile.sql", "original_file_path": "macros/percentile.sql", "name": "bigquery__percentile", "macro_sql": "{% macro bigquery__percentile(percentile_field, partition_field, percent) %}\n\n percentile_cont( \n {{ percentile_field }}, \n {{ percent }}) \n over (partition by {{ partition_field }} \n )\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.9429278, "supported_languages": null}, "macro.fivetran_utils.postgres__percentile": {"unique_id": "macro.fivetran_utils.postgres__percentile", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/fivetran_utils", "path": "macros/percentile.sql", "original_file_path": "macros/percentile.sql", "name": "postgres__percentile", "macro_sql": "{% macro postgres__percentile(percentile_field, partition_field, percent) %}\n\n percentile_cont( \n {{ percent }} )\n within group ( order by {{ percentile_field }} )\n /* have to group by partition field */\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.9430752, "supported_languages": null}, "macro.fivetran_utils.spark__percentile": {"unique_id": "macro.fivetran_utils.spark__percentile", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/fivetran_utils", "path": "macros/percentile.sql", "original_file_path": "macros/percentile.sql", "name": "spark__percentile", "macro_sql": "{% macro spark__percentile(percentile_field, partition_field, percent) %}\n\n percentile( \n {{ percentile_field }}, \n {{ percent }}) \n over (partition by {{ partition_field }} \n )\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.94324, "supported_languages": null}, "macro.fivetran_utils.pivot_json_extract": {"unique_id": "macro.fivetran_utils.pivot_json_extract", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/fivetran_utils", "path": "macros/pivot_json_extract.sql", "original_file_path": "macros/pivot_json_extract.sql", "name": "pivot_json_extract", "macro_sql": "{% macro pivot_json_extract(string, list_of_properties) %}\n\n{%- for property in list_of_properties -%}\n{%- if property is mapping -%}\nreplace( {{ fivetran_utils.json_extract(string, property.name) }}, '\"', '') as {{ property.alias if property.alias else property.name | replace(' ', '_') | replace('.', '_') | lower }}\n\n{%- else -%}\nreplace( {{ fivetran_utils.json_extract(string, property) }}, '\"', '') as {{ property | replace(' ', '_') | lower }}\n\n{%- endif -%}\n{%- if not loop.last -%},{%- endif %}\n{% endfor -%}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.fivetran_utils.json_extract"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.944232, "supported_languages": null}, "macro.fivetran_utils.persist_pass_through_columns": {"unique_id": "macro.fivetran_utils.persist_pass_through_columns", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/fivetran_utils", "path": "macros/persist_pass_through_columns.sql", "original_file_path": "macros/persist_pass_through_columns.sql", "name": "persist_pass_through_columns", "macro_sql": "{% macro persist_pass_through_columns(pass_through_variable, identifier=none, transform='') %}\n\n{% if var(pass_through_variable, none) %}\n {% for field in var(pass_through_variable) %}\n , {{ transform ~ '(' ~ (identifier ~ '.' if identifier else '') ~ (field.alias if field.alias else field.name) ~ ')' }} as {{ field.alias if field.alias else field.name }}\n {% endfor %}\n{% endif %}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.944962, "supported_languages": null}, "macro.fivetran_utils.json_parse": {"unique_id": "macro.fivetran_utils.json_parse", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/fivetran_utils", "path": "macros/json_parse.sql", "original_file_path": "macros/json_parse.sql", "name": "json_parse", "macro_sql": "{% macro json_parse(string, string_path) -%}\n\n{{ adapter.dispatch('json_parse', 'fivetran_utils') (string, string_path) }}\n\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.fivetran_utils.postgres__json_parse"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.9460638, "supported_languages": null}, "macro.fivetran_utils.default__json_parse": {"unique_id": "macro.fivetran_utils.default__json_parse", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/fivetran_utils", "path": "macros/json_parse.sql", "original_file_path": "macros/json_parse.sql", "name": "default__json_parse", "macro_sql": "{% macro default__json_parse(string, string_path) %}\n\n json_extract_path_text({{string}}, {%- for s in string_path -%}'{{ s }}'{%- if not loop.last -%},{%- endif -%}{%- endfor -%} )\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.9463081, "supported_languages": null}, "macro.fivetran_utils.redshift__json_parse": {"unique_id": "macro.fivetran_utils.redshift__json_parse", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/fivetran_utils", "path": "macros/json_parse.sql", "original_file_path": "macros/json_parse.sql", "name": "redshift__json_parse", "macro_sql": "{% macro redshift__json_parse(string, string_path) %}\n\n json_extract_path_text({{string}}, {%- for s in string_path -%}'{{ s }}'{%- if not loop.last -%},{%- endif -%}{%- endfor -%} )\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.946552, "supported_languages": null}, "macro.fivetran_utils.bigquery__json_parse": {"unique_id": "macro.fivetran_utils.bigquery__json_parse", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/fivetran_utils", "path": "macros/json_parse.sql", "original_file_path": "macros/json_parse.sql", "name": "bigquery__json_parse", "macro_sql": "{% macro bigquery__json_parse(string, string_path) %}\n\n \n json_extract_scalar({{string}}, '$.{%- for s in string_path -%}{{ s }}{%- if not loop.last -%}.{%- endif -%}{%- endfor -%} ')\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.946787, "supported_languages": null}, "macro.fivetran_utils.postgres__json_parse": {"unique_id": "macro.fivetran_utils.postgres__json_parse", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/fivetran_utils", "path": "macros/json_parse.sql", "original_file_path": "macros/json_parse.sql", "name": "postgres__json_parse", "macro_sql": "{% macro postgres__json_parse(string, string_path) %}\n\n {{string}}::json #>> '{ {%- for s in string_path -%}{{ s }}{%- if not loop.last -%},{%- endif -%}{%- endfor -%} }'\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.947021, "supported_languages": null}, "macro.fivetran_utils.snowflake__json_parse": {"unique_id": "macro.fivetran_utils.snowflake__json_parse", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/fivetran_utils", "path": "macros/json_parse.sql", "original_file_path": "macros/json_parse.sql", "name": "snowflake__json_parse", "macro_sql": "{% macro snowflake__json_parse(string, string_path) %}\n\n parse_json( {{string}} ) {%- for s in string_path -%}{% if s is number %}[{{ s }}]{% else %}['{{ s }}']{% endif %}{%- endfor -%}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.947283, "supported_languages": null}, "macro.fivetran_utils.spark__json_parse": {"unique_id": "macro.fivetran_utils.spark__json_parse", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/fivetran_utils", "path": "macros/json_parse.sql", "original_file_path": "macros/json_parse.sql", "name": "spark__json_parse", "macro_sql": "{% macro spark__json_parse(string, string_path) %}\n\n {{string}} : {%- for s in string_path -%}{% if s is number %}[{{ s }}]{% else %}['{{ s }}']{% endif %}{%- endfor -%}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.9475992, "supported_languages": null}, "macro.fivetran_utils.max_bool": {"unique_id": "macro.fivetran_utils.max_bool", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/fivetran_utils", "path": "macros/max_bool.sql", "original_file_path": "macros/max_bool.sql", "name": "max_bool", "macro_sql": "{% macro max_bool(boolean_field) -%}\n\n{{ adapter.dispatch('max_bool', 'fivetran_utils') (boolean_field) }}\n\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.fivetran_utils.default__max_bool"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.948045, "supported_languages": null}, "macro.fivetran_utils.default__max_bool": {"unique_id": "macro.fivetran_utils.default__max_bool", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/fivetran_utils", "path": "macros/max_bool.sql", "original_file_path": "macros/max_bool.sql", "name": "default__max_bool", "macro_sql": "{% macro default__max_bool(boolean_field) %}\n\n bool_or( {{ boolean_field }} )\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.94816, "supported_languages": null}, "macro.fivetran_utils.snowflake__max_bool": {"unique_id": "macro.fivetran_utils.snowflake__max_bool", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/fivetran_utils", "path": "macros/max_bool.sql", "original_file_path": "macros/max_bool.sql", "name": "snowflake__max_bool", "macro_sql": "{% macro snowflake__max_bool(boolean_field) %}\n\n max( {{ boolean_field }} )\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.948264, "supported_languages": null}, "macro.fivetran_utils.bigquery__max_bool": {"unique_id": "macro.fivetran_utils.bigquery__max_bool", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/fivetran_utils", "path": "macros/max_bool.sql", "original_file_path": "macros/max_bool.sql", "name": "bigquery__max_bool", "macro_sql": "{% macro bigquery__max_bool(boolean_field) %}\n\n max( {{ boolean_field }} )\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.948367, "supported_languages": null}, "macro.fivetran_utils.calculated_fields": {"unique_id": "macro.fivetran_utils.calculated_fields", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/fivetran_utils", "path": "macros/calculated_fields.sql", "original_file_path": "macros/calculated_fields.sql", "name": "calculated_fields", "macro_sql": "{% macro calculated_fields(variable) -%}\n\n{% if var(variable, none) %}\n {% for field in var(variable) %}\n , {{ field.transform_sql }} as {{ field.name }} \n {% endfor %}\n{% endif %}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.948844, "supported_languages": null}, "macro.fivetran_utils.seed_data_helper": {"unique_id": "macro.fivetran_utils.seed_data_helper", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/fivetran_utils", "path": "macros/seed_data_helper.sql", "original_file_path": "macros/seed_data_helper.sql", "name": "seed_data_helper", "macro_sql": "{% macro seed_data_helper(seed_name, warehouses) %}\n\n{% if target.type in warehouses %}\n {% for w in warehouses %}\n {% if target.type == w %}\n {{ return(ref(seed_name ~ \"_\" ~ w ~ \"\")) }}\n {% endif %}\n {% endfor %}\n{% else %}\n{{ return(ref(seed_name)) }}\n{% endif %}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.949506, "supported_languages": null}, "macro.fivetran_utils.fill_pass_through_columns": {"unique_id": "macro.fivetran_utils.fill_pass_through_columns", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/fivetran_utils", "path": "macros/fill_pass_through_columns.sql", "original_file_path": "macros/fill_pass_through_columns.sql", "name": "fill_pass_through_columns", "macro_sql": "{% macro fill_pass_through_columns(pass_through_variable) %}\n\n{% if var(pass_through_variable) %}\n {% for field in var(pass_through_variable) %}\n {% if field is mapping %}\n {% if field.transform_sql %}\n , {{ field.transform_sql }} as {{ field.alias if field.alias else field.name }}\n {% else %}\n , {{ field.alias if field.alias else field.name }}\n {% endif %}\n {% else %}\n , {{ field }}\n {% endif %}\n {% endfor %}\n{% endif %}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.9503438, "supported_languages": null}, "macro.fivetran_utils.string_agg": {"unique_id": "macro.fivetran_utils.string_agg", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/fivetran_utils", "path": "macros/string_agg.sql", "original_file_path": "macros/string_agg.sql", "name": "string_agg", "macro_sql": "{% macro string_agg(field_to_agg, delimiter) -%}\n\n{{ adapter.dispatch('string_agg', 'fivetran_utils') (field_to_agg, delimiter) }}\n\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.fivetran_utils.default__string_agg"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.950881, "supported_languages": null}, "macro.fivetran_utils.default__string_agg": {"unique_id": "macro.fivetran_utils.default__string_agg", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/fivetran_utils", "path": "macros/string_agg.sql", "original_file_path": "macros/string_agg.sql", "name": "default__string_agg", "macro_sql": "{% macro default__string_agg(field_to_agg, delimiter) %}\n string_agg({{ field_to_agg }}, {{ delimiter }})\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.951013, "supported_languages": null}, "macro.fivetran_utils.snowflake__string_agg": {"unique_id": "macro.fivetran_utils.snowflake__string_agg", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/fivetran_utils", "path": "macros/string_agg.sql", "original_file_path": "macros/string_agg.sql", "name": "snowflake__string_agg", "macro_sql": "{% macro snowflake__string_agg(field_to_agg, delimiter) %}\n listagg({{ field_to_agg }}, {{ delimiter }})\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.9511418, "supported_languages": null}, "macro.fivetran_utils.redshift__string_agg": {"unique_id": "macro.fivetran_utils.redshift__string_agg", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/fivetran_utils", "path": "macros/string_agg.sql", "original_file_path": "macros/string_agg.sql", "name": "redshift__string_agg", "macro_sql": "{% macro redshift__string_agg(field_to_agg, delimiter) %}\n listagg({{ field_to_agg }}, {{ delimiter }})\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.9512808, "supported_languages": null}, "macro.fivetran_utils.spark__string_agg": {"unique_id": "macro.fivetran_utils.spark__string_agg", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/fivetran_utils", "path": "macros/string_agg.sql", "original_file_path": "macros/string_agg.sql", "name": "spark__string_agg", "macro_sql": "{% macro spark__string_agg(field_to_agg, delimiter) %}\n -- collect set will remove duplicates\n replace(replace(replace(cast( collect_set({{ field_to_agg }}) as string), '[', ''), ']', ''), ', ', {{ delimiter }} )\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.9516811, "supported_languages": null}, "macro.fivetran_utils.timestamp_diff": {"unique_id": "macro.fivetran_utils.timestamp_diff", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/fivetran_utils", "path": "macros/timestamp_diff.sql", "original_file_path": "macros/timestamp_diff.sql", "name": "timestamp_diff", "macro_sql": "{% macro timestamp_diff(first_date, second_date, datepart) %}\n {{ adapter.dispatch('timestamp_diff', 'fivetran_utils')(first_date, second_date, datepart) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.fivetran_utils.postgres__timestamp_diff"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.954475, "supported_languages": null}, "macro.fivetran_utils.default__timestamp_diff": {"unique_id": "macro.fivetran_utils.default__timestamp_diff", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/fivetran_utils", "path": "macros/timestamp_diff.sql", "original_file_path": "macros/timestamp_diff.sql", "name": "default__timestamp_diff", "macro_sql": "{% macro default__timestamp_diff(first_date, second_date, datepart) %}\n\n datediff(\n {{ datepart }},\n {{ first_date }},\n {{ second_date }}\n )\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.95464, "supported_languages": null}, "macro.fivetran_utils.redshift__timestamp_diff": {"unique_id": "macro.fivetran_utils.redshift__timestamp_diff", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/fivetran_utils", "path": "macros/timestamp_diff.sql", "original_file_path": "macros/timestamp_diff.sql", "name": "redshift__timestamp_diff", "macro_sql": "{% macro redshift__timestamp_diff(first_date, second_date, datepart) %}\n\n datediff(\n {{ datepart }},\n {{ first_date }},\n {{ second_date }}\n )\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.9547951, "supported_languages": null}, "macro.fivetran_utils.bigquery__timestamp_diff": {"unique_id": "macro.fivetran_utils.bigquery__timestamp_diff", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/fivetran_utils", "path": "macros/timestamp_diff.sql", "original_file_path": "macros/timestamp_diff.sql", "name": "bigquery__timestamp_diff", "macro_sql": "{% macro bigquery__timestamp_diff(first_date, second_date, datepart) %}\n\n timestamp_diff(\n {{second_date}},\n {{first_date}},\n {{datepart}}\n )\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.954944, "supported_languages": null}, "macro.fivetran_utils.postgres__timestamp_diff": {"unique_id": "macro.fivetran_utils.postgres__timestamp_diff", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/fivetran_utils", "path": "macros/timestamp_diff.sql", "original_file_path": "macros/timestamp_diff.sql", "name": "postgres__timestamp_diff", "macro_sql": "{% macro postgres__timestamp_diff(first_date, second_date, datepart) %}\n\n {% if datepart == 'year' %}\n (date_part('year', ({{second_date}})::date) - date_part('year', ({{first_date}})::date))\n {% elif datepart == 'quarter' %}\n ({{ dbt.datediff(first_date, second_date, 'year') }} * 4 + date_part('quarter', ({{second_date}})::date) - date_part('quarter', ({{first_date}})::date))\n {% elif datepart == 'month' %}\n ({{ dbt.datediff(first_date, second_date, 'year') }} * 12 + date_part('month', ({{second_date}})::date) - date_part('month', ({{first_date}})::date))\n {% elif datepart == 'day' %}\n (({{second_date}})::date - ({{first_date}})::date)\n {% elif datepart == 'week' %}\n ({{ dbt.datediff(first_date, second_date, 'day') }} / 7 + case\n when date_part('dow', ({{first_date}})::timestamp) <= date_part('dow', ({{second_date}})::timestamp) then\n case when {{first_date}} <= {{second_date}} then 0 else -1 end\n else\n case when {{first_date}} <= {{second_date}} then 1 else 0 end\n end)\n {% elif datepart == 'hour' %}\n ({{ dbt.datediff(first_date, second_date, 'day') }} * 24 + date_part('hour', ({{second_date}})::timestamp) - date_part('hour', ({{first_date}})::timestamp))\n {% elif datepart == 'minute' %}\n ({{ dbt.datediff(first_date, second_date, 'hour') }} * 60 + date_part('minute', ({{second_date}})::timestamp) - date_part('minute', ({{first_date}})::timestamp))\n {% elif datepart == 'second' %}\n ({{ dbt.datediff(first_date, second_date, 'minute') }} * 60 + floor(date_part('second', ({{second_date}})::timestamp)) - floor(date_part('second', ({{first_date}})::timestamp)))\n {% elif datepart == 'millisecond' %}\n ({{ dbt.datediff(first_date, second_date, 'minute') }} * 60000 + floor(date_part('millisecond', ({{second_date}})::timestamp)) - floor(date_part('millisecond', ({{first_date}})::timestamp)))\n {% elif datepart == 'microsecond' %}\n ({{ dbt.datediff(first_date, second_date, 'minute') }} * 60000000 + floor(date_part('microsecond', ({{second_date}})::timestamp)) - floor(date_part('microsecond', ({{first_date}})::timestamp)))\n {% else %}\n {{ exceptions.raise_compiler_error(\"Unsupported datepart for macro datediff in postgres: {!r}\".format(datepart)) }}\n {% endif %}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.datediff"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.956598, "supported_languages": null}, "macro.fivetran_utils.try_cast": {"unique_id": "macro.fivetran_utils.try_cast", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/fivetran_utils", "path": "macros/try_cast.sql", "original_file_path": "macros/try_cast.sql", "name": "try_cast", "macro_sql": "{% macro try_cast(field, type) %}\n {{ adapter.dispatch('try_cast', 'fivetran_utils') (field, type) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.fivetran_utils.postgres__try_cast"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.957501, "supported_languages": null}, "macro.fivetran_utils.default__safe_cast": {"unique_id": "macro.fivetran_utils.default__safe_cast", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/fivetran_utils", "path": "macros/try_cast.sql", "original_file_path": "macros/try_cast.sql", "name": "default__safe_cast", "macro_sql": "{% macro default__safe_cast(field, type) %}\n {# most databases don't support this function yet\n so we just need to use cast #}\n cast({{field}} as {{type}})\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.957647, "supported_languages": null}, "macro.fivetran_utils.redshift__try_cast": {"unique_id": "macro.fivetran_utils.redshift__try_cast", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/fivetran_utils", "path": "macros/try_cast.sql", "original_file_path": "macros/try_cast.sql", "name": "redshift__try_cast", "macro_sql": "{% macro redshift__try_cast(field, type) %}\n{%- if type == 'numeric' -%}\n\n case\n when trim({{field}}) ~ '^(0|[1-9][0-9]*)$' then trim({{field}})\n else null\n end::{{type}}\n\n{% else %}\n {{ exceptions.raise_compiler_error(\n \"non-numeric datatypes are not currently supported\") }}\n\n{% endif %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.9579232, "supported_languages": null}, "macro.fivetran_utils.postgres__try_cast": {"unique_id": "macro.fivetran_utils.postgres__try_cast", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/fivetran_utils", "path": "macros/try_cast.sql", "original_file_path": "macros/try_cast.sql", "name": "postgres__try_cast", "macro_sql": "{% macro postgres__try_cast(field, type) %}\n{%- if type == 'numeric' -%}\n\n case\n when replace(cast({{field}} as varchar),cast(' ' as varchar),cast('' as varchar)) ~ '^(0|[1-9][0-9]*)$' \n then replace(cast({{field}} as varchar),cast(' ' as varchar),cast('' as varchar))\n else null\n end::{{type}}\n\n{% else %}\n {{ exceptions.raise_compiler_error(\n \"non-numeric datatypes are not currently supported\") }}\n\n{% endif %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.958209, "supported_languages": null}, "macro.fivetran_utils.snowflake__try_cast": {"unique_id": "macro.fivetran_utils.snowflake__try_cast", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/fivetran_utils", "path": "macros/try_cast.sql", "original_file_path": "macros/try_cast.sql", "name": "snowflake__try_cast", "macro_sql": "{% macro snowflake__try_cast(field, type) %}\n try_cast(cast({{field}} as varchar) as {{type}})\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.958339, "supported_languages": null}, "macro.fivetran_utils.bigquery__try_cast": {"unique_id": "macro.fivetran_utils.bigquery__try_cast", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/fivetran_utils", "path": "macros/try_cast.sql", "original_file_path": "macros/try_cast.sql", "name": "bigquery__try_cast", "macro_sql": "{% macro bigquery__try_cast(field, type) %}\n safe_cast({{field}} as {{type}})\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.958463, "supported_languages": null}, "macro.fivetran_utils.spark__try_cast": {"unique_id": "macro.fivetran_utils.spark__try_cast", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/fivetran_utils", "path": "macros/try_cast.sql", "original_file_path": "macros/try_cast.sql", "name": "spark__try_cast", "macro_sql": "{% macro spark__try_cast(field, type) %}\n try_cast({{field}} as {{type}})\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.958585, "supported_languages": null}, "macro.fivetran_utils.source_relation": {"unique_id": "macro.fivetran_utils.source_relation", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/fivetran_utils", "path": "macros/source_relation.sql", "original_file_path": "macros/source_relation.sql", "name": "source_relation", "macro_sql": "{% macro source_relation(union_schema_variable='union_schemas', union_database_variable='union_databases') -%}\n\n{{ adapter.dispatch('source_relation', 'fivetran_utils') (union_schema_variable, union_database_variable) }}\n\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.fivetran_utils.default__source_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.959127, "supported_languages": null}, "macro.fivetran_utils.default__source_relation": {"unique_id": "macro.fivetran_utils.default__source_relation", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/fivetran_utils", "path": "macros/source_relation.sql", "original_file_path": "macros/source_relation.sql", "name": "default__source_relation", "macro_sql": "{% macro default__source_relation(union_schema_variable, union_database_variable) %}\n\n{% if var(union_schema_variable, none) %}\n, case\n {% for schema in var(union_schema_variable) %}\n when lower(replace(replace(_dbt_source_relation,'\"',''),'`','')) like '%.{{ schema|lower }}.%' then '{{ schema|lower }}'\n {% endfor %}\n end as source_relation\n{% elif var(union_database_variable, none) %}\n, case\n {% for database in var(union_database_variable) %}\n when lower(replace(replace(_dbt_source_relation,'\"',''),'`','')) like '%{{ database|lower }}.%' then '{{ database|lower }}'\n {% endfor %}\n end as source_relation\n{% else %}\n, cast('' as {{ dbt.type_string() }}) as source_relation\n{% endif %}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.type_string"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.959779, "supported_languages": null}, "macro.fivetran_utils.first_value": {"unique_id": "macro.fivetran_utils.first_value", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/fivetran_utils", "path": "macros/first_value.sql", "original_file_path": "macros/first_value.sql", "name": "first_value", "macro_sql": "{% macro first_value(first_value_field, partition_field, order_by_field, order=\"asc\") -%}\n\n{{ adapter.dispatch('first_value', 'fivetran_utils') (first_value_field, partition_field, order_by_field, order) }}\n\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.fivetran_utils.default__first_value"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.960432, "supported_languages": null}, "macro.fivetran_utils.default__first_value": {"unique_id": "macro.fivetran_utils.default__first_value", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/fivetran_utils", "path": "macros/first_value.sql", "original_file_path": "macros/first_value.sql", "name": "default__first_value", "macro_sql": "{% macro default__first_value(first_value_field, partition_field, order_by_field, order=\"asc\") %}\n\n first_value( {{ first_value_field }} ignore nulls ) over (partition by {{ partition_field }} order by {{ order_by_field }} {{ order }} )\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.960651, "supported_languages": null}, "macro.fivetran_utils.redshift__first_value": {"unique_id": "macro.fivetran_utils.redshift__first_value", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/fivetran_utils", "path": "macros/first_value.sql", "original_file_path": "macros/first_value.sql", "name": "redshift__first_value", "macro_sql": "{% macro redshift__first_value(first_value_field, partition_field, order_by_field, order=\"asc\") %}\n\n first_value( {{ first_value_field }} ignore nulls ) over (partition by {{ partition_field }} order by {{ order_by_field }} {{ order }} , {{ partition_field }} rows unbounded preceding )\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.960875, "supported_languages": null}, "macro.fivetran_utils.add_dbt_source_relation": {"unique_id": "macro.fivetran_utils.add_dbt_source_relation", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/fivetran_utils", "path": "macros/add_dbt_source_relation.sql", "original_file_path": "macros/add_dbt_source_relation.sql", "name": "add_dbt_source_relation", "macro_sql": "{% macro add_dbt_source_relation() %}\n\n{% if var('union_schemas', none) or var('union_databases', none) %}\n, _dbt_source_relation\n{% endif %}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.961235, "supported_languages": null}, "macro.fivetran_utils.add_pass_through_columns": {"unique_id": "macro.fivetran_utils.add_pass_through_columns", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/fivetran_utils", "path": "macros/add_pass_through_columns.sql", "original_file_path": "macros/add_pass_through_columns.sql", "name": "add_pass_through_columns", "macro_sql": "{% macro add_pass_through_columns(base_columns, pass_through_var) %}\n\n {% if pass_through_var %}\n\n {% for column in pass_through_var %}\n\n {% if column is mapping %}\n\n {% if column.alias %}\n\n {% do base_columns.append({ \"name\": column.name, \"alias\": column.alias, \"datatype\": column.datatype if column.datatype else dbt.type_string()}) %}\n\n {% else %}\n\n {% do base_columns.append({ \"name\": column.name, \"datatype\": column.datatype if column.datatype else dbt.type_string()}) %}\n \n {% endif %}\n\n {% else %}\n\n {% do base_columns.append({ \"name\": column, \"datatype\": dbt.type_string()}) %}\n\n {% endif %}\n\n {% endfor %}\n\n {% endif %}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.type_string"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.962492, "supported_languages": null}, "macro.fivetran_utils.union_relations": {"unique_id": "macro.fivetran_utils.union_relations", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/fivetran_utils", "path": "macros/union_relations.sql", "original_file_path": "macros/union_relations.sql", "name": "union_relations", "macro_sql": "{%- macro union_relations(relations, aliases=none, column_override=none, include=[], exclude=[], source_column_name=none) -%}\n\n {%- if exclude and include -%}\n {{ exceptions.raise_compiler_error(\"Both an exclude and include list were provided to the `union` macro. Only one is allowed\") }}\n {%- endif -%}\n\n {#-- Prevent querying of db in parsing mode. This works because this macro does not create any new refs. -#}\n {%- if not execute %}\n {{ return('') }}\n {% endif -%}\n\n {%- set column_override = column_override if column_override is not none else {} -%}\n {%- set source_column_name = source_column_name if source_column_name is not none else '_dbt_source_relation' -%}\n\n {%- set relation_columns = {} -%}\n {%- set column_superset = {} -%}\n\n {%- for relation in relations -%}\n\n {%- do relation_columns.update({relation: []}) -%}\n\n {%- do dbt_utils._is_relation(relation, 'union_relations') -%}\n {%- set cols = adapter.get_columns_in_relation(relation) -%}\n {%- for col in cols -%}\n\n {#- If an exclude list was provided and the column is in the list, do nothing -#}\n {%- if exclude and col.column in exclude -%}\n\n {#- If an include list was provided and the column is not in the list, do nothing -#}\n {%- elif include and col.column not in include -%}\n\n {#- Otherwise add the column to the column superset -#}\n {%- else -%}\n\n {#- update the list of columns in this relation -#}\n {%- do relation_columns[relation].append(col.column) -%}\n\n {%- if col.column in column_superset -%}\n\n {%- set stored = column_superset[col.column] -%}\n {%- if col.is_string() and stored.is_string() and col.string_size() > stored.string_size() -%}\n\n {%- do column_superset.update({col.column: col}) -%}\n\n {%- endif %}\n\n {%- else -%}\n\n {%- do column_superset.update({col.column: col}) -%}\n\n {%- endif -%}\n\n {%- endif -%}\n\n {%- endfor -%}\n {%- endfor -%}\n\n {%- set ordered_column_names = column_superset.keys() -%}\n\n {%- for relation in relations %}\n\n (\n select\n\n cast({{ dbt.string_literal(relation) }} as {{ dbt.type_string() }}) as {{ source_column_name }},\n {% for col_name in ordered_column_names -%}\n\n {%- set col = column_superset[col_name] %}\n {%- set col_type = column_override.get(col.column, col.data_type) %}\n {%- set col_name = adapter.quote(col_name) if col_name in relation_columns[relation] else 'null' %}\n cast({{ col_name }} as {{ col_type }}) as {{ col.quoted }} {% if not loop.last %},{% endif -%}\n\n {%- endfor %}\n\n from {{ aliases[loop.index0] if aliases else relation }}\n )\n\n {% if not loop.last -%}\n union all\n {% endif -%}\n\n {%- endfor -%}\n\n{%- endmacro -%}\n\n", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils._is_relation", "macro.dbt.string_literal", "macro.dbt.type_string"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.966435, "supported_languages": null}, "macro.fivetran_utils.union_tables": {"unique_id": "macro.fivetran_utils.union_tables", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/fivetran_utils", "path": "macros/union_relations.sql", "original_file_path": "macros/union_relations.sql", "name": "union_tables", "macro_sql": "{%- macro union_tables(tables, column_override=none, include=[], exclude=[], source_column_name='_dbt_source_table') -%}\n\n {%- do exceptions.warn(\"Warning: the `union_tables` macro is no longer supported and will be deprecated in a future release of dbt-utils. Use the `union_relations` macro instead\") -%}\n\n {{ return(dbt_utils.union_relations(tables, column_override, include, exclude, source_column_name)) }}\n\n{%- endmacro -%}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.union_relations"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.9668102, "supported_languages": null}, "macro.fivetran_utils.snowflake_seed_data": {"unique_id": "macro.fivetran_utils.snowflake_seed_data", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/fivetran_utils", "path": "macros/snowflake_seed_data.sql", "original_file_path": "macros/snowflake_seed_data.sql", "name": "snowflake_seed_data", "macro_sql": "{% macro snowflake_seed_data(seed_name) %}\n\n{% if target.type == 'snowflake' %}\n{{ return(ref(seed_name ~ '_snowflake')) }}\n{% else %}\n{{ return(ref(seed_name)) }}\n{% endif %}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.967284, "supported_languages": null}, "macro.fivetran_utils.fill_staging_columns": {"unique_id": "macro.fivetran_utils.fill_staging_columns", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/fivetran_utils", "path": "macros/fill_staging_columns.sql", "original_file_path": "macros/fill_staging_columns.sql", "name": "fill_staging_columns", "macro_sql": "{% macro fill_staging_columns(source_columns, staging_columns) -%}\n\n{%- set source_column_names = source_columns|map(attribute='name')|map('lower')|list -%}\n\n{%- for column in staging_columns %}\n {% if column.name|lower in source_column_names -%}\n {{ fivetran_utils.quote_column(column) }} as \n {%- if 'alias' in column %} {{ column.alias }} {% else %} {{ fivetran_utils.quote_column(column) }} {%- endif -%}\n {%- else -%}\n cast(null as {{ column.datatype }})\n {%- if 'alias' in column %} as {{ column.alias }} {% else %} as {{ fivetran_utils.quote_column(column) }} {% endif -%}\n {%- endif -%}\n {%- if not loop.last -%} , {% endif -%}\n{% endfor %}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.fivetran_utils.quote_column"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.968883, "supported_languages": null}, "macro.fivetran_utils.quote_column": {"unique_id": "macro.fivetran_utils.quote_column", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/fivetran_utils", "path": "macros/fill_staging_columns.sql", "original_file_path": "macros/fill_staging_columns.sql", "name": "quote_column", "macro_sql": "{% macro quote_column(column) %}\n {% if 'quote' in column %}\n {% if column.quote %}\n {% if target.type in ('bigquery', 'spark') %}\n `{{ column.name }}`\n {% elif target.type == 'snowflake' %}\n \"{{ column.name | upper }}\"\n {% else %}\n \"{{ column.name }}\"\n {% endif %}\n {% else %}\n {{ column.name }}\n {% endif %}\n {% else %}\n {{ column.name }}\n {% endif %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.969453, "supported_languages": null}, "macro.fivetran_utils.json_extract": {"unique_id": "macro.fivetran_utils.json_extract", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/fivetran_utils", "path": "macros/json_extract.sql", "original_file_path": "macros/json_extract.sql", "name": "json_extract", "macro_sql": "{% macro json_extract(string, string_path) -%}\n\n{{ adapter.dispatch('json_extract', 'fivetran_utils') (string, string_path) }}\n\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.fivetran_utils.postgres__json_extract"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.9701319, "supported_languages": null}, "macro.fivetran_utils.default__json_extract": {"unique_id": "macro.fivetran_utils.default__json_extract", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/fivetran_utils", "path": "macros/json_extract.sql", "original_file_path": "macros/json_extract.sql", "name": "default__json_extract", "macro_sql": "{% macro default__json_extract(string, string_path) %}\n\n json_extract_path_text({{string}}, {{ \"'\" ~ string_path ~ \"'\" }} )\n \n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.970294, "supported_languages": null}, "macro.fivetran_utils.snowflake__json_extract": {"unique_id": "macro.fivetran_utils.snowflake__json_extract", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/fivetran_utils", "path": "macros/json_extract.sql", "original_file_path": "macros/json_extract.sql", "name": "snowflake__json_extract", "macro_sql": "{% macro snowflake__json_extract(string, string_path) %}\n\n json_extract_path_text(try_parse_json( {{string}} ), {{ \"'\" ~ string_path ~ \"'\" }} )\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.9704509, "supported_languages": null}, "macro.fivetran_utils.redshift__json_extract": {"unique_id": "macro.fivetran_utils.redshift__json_extract", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/fivetran_utils", "path": "macros/json_extract.sql", "original_file_path": "macros/json_extract.sql", "name": "redshift__json_extract", "macro_sql": "{% macro redshift__json_extract(string, string_path) %}\n\n case when is_valid_json( {{string}} ) then json_extract_path_text({{string}}, {{ \"'\" ~ string_path ~ \"'\" }} ) else null end\n \n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.970618, "supported_languages": null}, "macro.fivetran_utils.bigquery__json_extract": {"unique_id": "macro.fivetran_utils.bigquery__json_extract", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/fivetran_utils", "path": "macros/json_extract.sql", "original_file_path": "macros/json_extract.sql", "name": "bigquery__json_extract", "macro_sql": "{% macro bigquery__json_extract(string, string_path) %}\n\n json_extract_scalar({{string}}, {{ \"'$.\" ~ string_path ~ \"'\" }} )\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.9707708, "supported_languages": null}, "macro.fivetran_utils.postgres__json_extract": {"unique_id": "macro.fivetran_utils.postgres__json_extract", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/fivetran_utils", "path": "macros/json_extract.sql", "original_file_path": "macros/json_extract.sql", "name": "postgres__json_extract", "macro_sql": "{% macro postgres__json_extract(string, string_path) %}\n\n {{string}}::json->>{{\"'\" ~ string_path ~ \"'\" }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.970919, "supported_languages": null}, "macro.fivetran_utils.collect_freshness": {"unique_id": "macro.fivetran_utils.collect_freshness", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/fivetran_utils", "path": "macros/collect_freshness.sql", "original_file_path": "macros/collect_freshness.sql", "name": "collect_freshness", "macro_sql": "{% macro collect_freshness(source, loaded_at_field, filter) %}\n {{ return(adapter.dispatch('collect_freshness')(source, loaded_at_field, filter))}}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.fivetran_utils.default__collect_freshness"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.9716742, "supported_languages": null}, "macro.fivetran_utils.default__collect_freshness": {"unique_id": "macro.fivetran_utils.default__collect_freshness", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/fivetran_utils", "path": "macros/collect_freshness.sql", "original_file_path": "macros/collect_freshness.sql", "name": "default__collect_freshness", "macro_sql": "{% macro default__collect_freshness(source, loaded_at_field, filter) %}\n {% call statement('collect_freshness', fetch_result=True, auto_begin=False) -%}\n\n {%- set enabled_array = [] -%}\n {% for node in graph.sources.values() %}\n {% if node.identifier == source.identifier %}\n {% if (node.meta['is_enabled'] | default(true)) %}\n {%- do enabled_array.append(1) -%}\n {% endif %}\n {% endif %}\n {% endfor %}\n {% set is_enabled = (enabled_array != []) %}\n\n select\n {% if is_enabled %}\n max({{ loaded_at_field }})\n {% else %} \n {{ current_timestamp() }} {% endif %} as max_loaded_at,\n {{ current_timestamp() }} as snapshotted_at\n\n {% if is_enabled %}\n from {{ source }}\n {% if filter %}\n where {{ filter }}\n {% endif %}\n {% endif %}\n\n {% endcall %}\n {{ return(load_result('collect_freshness').table) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.statement", "macro.dbt.current_timestamp"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.972631, "supported_languages": null}, "macro.fivetran_utils.timestamp_add": {"unique_id": "macro.fivetran_utils.timestamp_add", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/fivetran_utils", "path": "macros/timestamp_add.sql", "original_file_path": "macros/timestamp_add.sql", "name": "timestamp_add", "macro_sql": "{% macro timestamp_add(datepart, interval, from_timestamp) -%}\n\n{{ adapter.dispatch('timestamp_add', 'fivetran_utils') (datepart, interval, from_timestamp) }}\n\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.fivetran_utils.postgres__timestamp_add"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.973388, "supported_languages": null}, "macro.fivetran_utils.default__timestamp_add": {"unique_id": "macro.fivetran_utils.default__timestamp_add", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/fivetran_utils", "path": "macros/timestamp_add.sql", "original_file_path": "macros/timestamp_add.sql", "name": "default__timestamp_add", "macro_sql": "{% macro default__timestamp_add(datepart, interval, from_timestamp) %}\n\n timestampadd(\n {{ datepart }},\n {{ interval }},\n {{ from_timestamp }}\n )\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.973553, "supported_languages": null}, "macro.fivetran_utils.bigquery__timestamp_add": {"unique_id": "macro.fivetran_utils.bigquery__timestamp_add", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/fivetran_utils", "path": "macros/timestamp_add.sql", "original_file_path": "macros/timestamp_add.sql", "name": "bigquery__timestamp_add", "macro_sql": "{% macro bigquery__timestamp_add(datepart, interval, from_timestamp) %}\n\n timestamp_add({{ from_timestamp }}, interval {{ interval }} {{ datepart }})\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.973711, "supported_languages": null}, "macro.fivetran_utils.redshift__timestamp_add": {"unique_id": "macro.fivetran_utils.redshift__timestamp_add", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/fivetran_utils", "path": "macros/timestamp_add.sql", "original_file_path": "macros/timestamp_add.sql", "name": "redshift__timestamp_add", "macro_sql": "{% macro redshift__timestamp_add(datepart, interval, from_timestamp) %}\n\n dateadd(\n {{ datepart }},\n {{ interval }},\n {{ from_timestamp }}\n )\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.973867, "supported_languages": null}, "macro.fivetran_utils.postgres__timestamp_add": {"unique_id": "macro.fivetran_utils.postgres__timestamp_add", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/fivetran_utils", "path": "macros/timestamp_add.sql", "original_file_path": "macros/timestamp_add.sql", "name": "postgres__timestamp_add", "macro_sql": "{% macro postgres__timestamp_add(datepart, interval, from_timestamp) %}\n\n {{ from_timestamp }} + ((interval '1 {{ datepart }}') * ({{ interval }}))\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.97403, "supported_languages": null}, "macro.fivetran_utils.spark__timestamp_add": {"unique_id": "macro.fivetran_utils.spark__timestamp_add", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/fivetran_utils", "path": "macros/timestamp_add.sql", "original_file_path": "macros/timestamp_add.sql", "name": "spark__timestamp_add", "macro_sql": "{% macro spark__timestamp_add(datepart, interval, from_timestamp) %}\n\n {{ dbt.dateadd(datepart, interval, from_timestamp) }}\n \n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.dateadd"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.9742742, "supported_languages": null}, "macro.fivetran_utils.ceiling": {"unique_id": "macro.fivetran_utils.ceiling", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/fivetran_utils", "path": "macros/ceiling.sql", "original_file_path": "macros/ceiling.sql", "name": "ceiling", "macro_sql": "{% macro ceiling(num) -%}\n\n{{ adapter.dispatch('ceiling', 'fivetran_utils') (num) }}\n\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.fivetran_utils.default__ceiling"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.974606, "supported_languages": null}, "macro.fivetran_utils.default__ceiling": {"unique_id": "macro.fivetran_utils.default__ceiling", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/fivetran_utils", "path": "macros/ceiling.sql", "original_file_path": "macros/ceiling.sql", "name": "default__ceiling", "macro_sql": "{% macro default__ceiling(num) %}\n ceiling({{ num }})\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.974706, "supported_languages": null}, "macro.fivetran_utils.snowflake__ceiling": {"unique_id": "macro.fivetran_utils.snowflake__ceiling", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/fivetran_utils", "path": "macros/ceiling.sql", "original_file_path": "macros/ceiling.sql", "name": "snowflake__ceiling", "macro_sql": "{% macro snowflake__ceiling(num) %}\n ceil({{ num }})\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.974808, "supported_languages": null}, "macro.fivetran_utils.remove_prefix_from_columns": {"unique_id": "macro.fivetran_utils.remove_prefix_from_columns", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/fivetran_utils", "path": "macros/remove_prefix_from_columns.sql", "original_file_path": "macros/remove_prefix_from_columns.sql", "name": "remove_prefix_from_columns", "macro_sql": "{% macro remove_prefix_from_columns(columns, prefix='', exclude=[]) %}\n\n {%- for col in columns if col.name not in exclude -%}\n {%- if col.name[:prefix|length]|lower == prefix -%}\n {{ col.name }} as {{ col.name[prefix|length:] }}\n {%- else -%}\n {{ col.name }}\n {%- endif -%}\n {%- if not loop.last -%},{%- endif %}\n {% endfor -%}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.9755101, "supported_languages": null}, "macro.fivetran_utils.union_data": {"unique_id": "macro.fivetran_utils.union_data", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/fivetran_utils", "path": "macros/union_data.sql", "original_file_path": "macros/union_data.sql", "name": "union_data", "macro_sql": "{% macro union_data(table_identifier, database_variable, schema_variable, default_database, default_schema, default_variable, union_schema_variable='union_schemas', union_database_variable='union_databases') -%}\n\n{{ adapter.dispatch('union_data', 'fivetran_utils') (\n table_identifier, \n database_variable, \n schema_variable, \n default_database, \n default_schema, \n default_variable,\n union_schema_variable,\n union_database_variable\n ) }}\n\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.fivetran_utils.default__union_data"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.9769652, "supported_languages": null}, "macro.fivetran_utils.default__union_data": {"unique_id": "macro.fivetran_utils.default__union_data", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/fivetran_utils", "path": "macros/union_data.sql", "original_file_path": "macros/union_data.sql", "name": "default__union_data", "macro_sql": "{% macro default__union_data(\n table_identifier, \n database_variable, \n schema_variable, \n default_database, \n default_schema, \n default_variable,\n union_schema_variable,\n union_database_variable\n ) %}\n\n{% if var(union_schema_variable, none) %}\n\n {% set relations = [] %}\n \n {% if var(union_schema_variable) is string %}\n {% set trimmed = var(union_schema_variable)|trim('[')|trim(']') %}\n {% set schemas = trimmed.split(',')|map('trim',\" \")|map('trim','\"')|map('trim',\"'\") %}\n {% else %}\n {% set schemas = var(union_schema_variable) %}\n {% endif %}\n\n {% for schema in var(union_schema_variable) %}\n {% set relation=adapter.get_relation(\n database=source(schema, table_identifier).database if var('has_defined_sources', false) else var(database_variable, default_database),\n schema=source(schema, table_identifier).schema if var('has_defined_sources', false) else schema,\n identifier=source(schema, table_identifier).identifier if var('has_defined_sources', false) else table_identifier\n ) -%}\n \n {% set relation_exists=relation is not none %}\n\n {% if relation_exists %}\n\n {% do relations.append(relation) %}\n \n {% endif %}\n\n {% endfor %}\n\n {{ dbt_utils.union_relations(relations) }}\n\n{% elif var(union_database_variable, none) %}\n\n {% set relations = [] %}\n\n {% for database in var(union_database_variable) %}\n\n {% set relation=adapter.get_relation(\n database=source(schema, table_identifier).database if var('has_defined_sources', false) else database,\n schema=source(schema, table_identifier).schema if var('has_defined_sources', false) else var(schema_variable, default_schema),\n identifier=source(schema, table_identifier).identifier if var('has_defined_sources', false) else table_identifier\n ) -%}\n\n {% set relation_exists=relation is not none %}\n\n {% if relation_exists %}\n\n {% do relations.append(relation) %}\n \n {% endif %}\n\n {% endfor %}\n\n {{ dbt_utils.union_relations(relations) }}\n\n{% else %}\n\n select * \n from {{ var(default_variable) }}\n\n{% endif %}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.union_relations"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.9793549, "supported_languages": null}, "macro.fivetran_utils.dummy_coalesce_value": {"unique_id": "macro.fivetran_utils.dummy_coalesce_value", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/fivetran_utils", "path": "macros/dummy_coalesce_value.sql", "original_file_path": "macros/dummy_coalesce_value.sql", "name": "dummy_coalesce_value", "macro_sql": "{% macro dummy_coalesce_value(column) %}\n\n{% set coalesce_value = {\n 'STRING': \"'DUMMY_STRING'\",\n 'BOOLEAN': 'null',\n 'INT': 999999999,\n 'FLOAT': 999999999.99,\n 'TIMESTAMP': 'cast(\"2099-12-31\" as timestamp)',\n 'DATE': 'cast(\"2099-12-31\" as date)',\n} %}\n\n{% if column.is_float() %}\n{{ return(coalesce_value['FLOAT']) }}\n\n{% elif column.is_numeric() %}\n{{ return(coalesce_value['INT']) }}\n\n{% elif column.is_string() %}\n{{ return(coalesce_value['STRING']) }}\n\n{% elif column.data_type|lower == 'boolean' %}\n{{ return(coalesce_value['BOOLEAN']) }}\n\n{% elif 'timestamp' in column.data_type|lower %}\n{{ return(coalesce_value['TIMESTAMP']) }}\n\n{% elif 'date' in column.data_type|lower %}\n{{ return(coalesce_value['DATE']) }}\n\n{% elif 'int' in column.data_type|lower %}\n{{ return(coalesce_value['INT']) }}\n\n{% endif %}\n\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.9808729, "supported_languages": null}, "macro.fivetran_utils.array_agg": {"unique_id": "macro.fivetran_utils.array_agg", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/fivetran_utils", "path": "macros/array_agg.sql", "original_file_path": "macros/array_agg.sql", "name": "array_agg", "macro_sql": "{% macro array_agg(field_to_agg) -%}\n\n{{ adapter.dispatch('array_agg', 'fivetran_utils') (field_to_agg) }}\n\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.fivetran_utils.default__array_agg"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.9812312, "supported_languages": null}, "macro.fivetran_utils.default__array_agg": {"unique_id": "macro.fivetran_utils.default__array_agg", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/fivetran_utils", "path": "macros/array_agg.sql", "original_file_path": "macros/array_agg.sql", "name": "default__array_agg", "macro_sql": "{% macro default__array_agg(field_to_agg) %}\n array_agg({{ field_to_agg }})\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.981336, "supported_languages": null}, "macro.fivetran_utils.redshift__array_agg": {"unique_id": "macro.fivetran_utils.redshift__array_agg", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/fivetran_utils", "path": "macros/array_agg.sql", "original_file_path": "macros/array_agg.sql", "name": "redshift__array_agg", "macro_sql": "{% macro redshift__array_agg(field_to_agg) %}\n listagg({{ field_to_agg }}, ',')\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.981437, "supported_languages": null}, "macro.fivetran_utils.empty_variable_warning": {"unique_id": "macro.fivetran_utils.empty_variable_warning", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/fivetran_utils", "path": "macros/empty_variable_warning.sql", "original_file_path": "macros/empty_variable_warning.sql", "name": "empty_variable_warning", "macro_sql": "{% macro empty_variable_warning(variable, downstream_model) %}\n\n{% if not var(variable) %}\n{{ log(\n \"\"\"\n Warning: You have passed an empty list to the \"\"\" ~ variable ~ \"\"\".\n As a result, you won't see the history of any columns in the \"\"\" ~ downstream_model ~ \"\"\" model.\n \"\"\",\n info=True\n) }}\n{% endif %}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.9819021, "supported_languages": null}, "macro.fivetran_utils.enabled_vars_one_true": {"unique_id": "macro.fivetran_utils.enabled_vars_one_true", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/fivetran_utils", "path": "macros/enabled_vars_one_true.sql", "original_file_path": "macros/enabled_vars_one_true.sql", "name": "enabled_vars_one_true", "macro_sql": "{% macro enabled_vars_one_true(vars) %}\n\n{% for v in vars %}\n \n {% if var(v, False) == True %}\n {{ return(True) }}\n {% endif %}\n\n{% endfor %}\n\n{{ return(False) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.982362, "supported_languages": null}, "macro.apple_search_ads_source.get_ad_group_history_columns": {"unique_id": "macro.apple_search_ads_source.get_ad_group_history_columns", "package_name": "apple_search_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/apple_search_ads_source", "path": "macros/get_ad_group_history_columns.sql", "original_file_path": "macros/get_ad_group_history_columns.sql", "name": "get_ad_group_history_columns", "macro_sql": "{% macro get_ad_group_history_columns() %}\n\n{% set columns = [\n {\"name\": \"campaign_id\", \"datatype\": dbt.type_int()},\n {\"name\": \"end_time\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"id\", \"datatype\": dbt.type_int()},\n {\"name\": \"modification_time\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"name\", \"datatype\": dbt.type_string()},\n {\"name\": \"organization_id\", \"datatype\": dbt.type_int()},\n {\"name\": \"start_time\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"status\", \"datatype\": dbt.type_string()},\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.type_int", "macro.dbt.type_timestamp", "macro.dbt.type_string"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.983392, "supported_languages": null}, "macro.apple_search_ads_source.get_ad_level_report_columns": {"unique_id": "macro.apple_search_ads_source.get_ad_level_report_columns", "package_name": "apple_search_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/apple_search_ads_source", "path": "macros/get_ad_level_report_columns.sql", "original_file_path": "macros/get_ad_level_report_columns.sql", "name": "get_ad_level_report_columns", "macro_sql": "{% macro get_ad_level_report_columns() %}\n\n{% set columns = [\n {\"name\": \"ad_group_id\", \"datatype\": dbt.type_int()},\n {\"name\": \"ad_id\", \"datatype\": dbt.type_int()},\n {\"name\": \"campaign_id\", \"datatype\": dbt.type_int()},\n {\"name\": \"date\", \"datatype\": \"date\"},\n {\"name\": \"impressions\", \"datatype\": dbt.type_int()},\n {\"name\": \"local_spend_amount\", \"datatype\": dbt.type_numeric()},\n {\"name\": \"local_spend_currency\", \"datatype\": dbt.type_string()},\n {\"name\": \"new_downloads\", \"datatype\": dbt.type_int()},\n {\"name\": \"redownloads\", \"datatype\": dbt.type_int()},\n {\"name\": \"taps\", \"datatype\": dbt.type_int()}\n] %}\n\n{{ fivetran_utils.add_pass_through_columns(columns, var('apple_search_ads__ad_passthrough_metrics')) }}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.type_int", "macro.dbt.type_numeric", "macro.dbt.type_string", "macro.fivetran_utils.add_pass_through_columns"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.984689, "supported_languages": null}, "macro.apple_search_ads_source.get_search_term_report_columns": {"unique_id": "macro.apple_search_ads_source.get_search_term_report_columns", "package_name": "apple_search_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/apple_search_ads_source", "path": "macros/get_search_term_report_columns.sql", "original_file_path": "macros/get_search_term_report_columns.sql", "name": "get_search_term_report_columns", "macro_sql": "{% macro get_search_term_report_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"ad_group_deleted\", \"datatype\": \"boolean\"},\n {\"name\": \"ad_group_id\", \"datatype\": dbt.type_int()},\n {\"name\": \"ad_group_name\", \"datatype\": dbt.type_string()},\n {\"name\": \"bid_amount_amount\", \"datatype\": dbt.type_numeric()},\n {\"name\": \"bid_amount_currency\", \"datatype\": dbt.type_string()},\n {\"name\": \"campaign_id\", \"datatype\": dbt.type_int()},\n {\"name\": \"date\", \"datatype\": \"date\"},\n {\"name\": \"deleted\", \"datatype\": \"boolean\"},\n {\"name\": \"impressions\", \"datatype\": dbt.type_int()},\n {\"name\": \"keyword\", \"datatype\": dbt.type_string()},\n {\"name\": \"keyword_display_status\", \"datatype\": dbt.type_string()},\n {\"name\": \"keyword_id\", \"datatype\": dbt.type_int()},\n {\"name\": \"local_spend_amount\", \"datatype\": dbt.type_numeric()},\n {\"name\": \"local_spend_currency\", \"datatype\": dbt.type_string()},\n {\"name\": \"match_type\", \"datatype\": dbt.type_string()},\n {\"name\": \"new_downloads\", \"datatype\": dbt.type_int()},\n {\"name\": \"redownloads\", \"datatype\": dbt.type_int()},\n {\"name\": \"search_term_source\", \"datatype\": dbt.type_string()},\n {\"name\": \"search_term_text\", \"datatype\": dbt.type_string()},\n {\"name\": \"taps\", \"datatype\": dbt.type_int()}\n] %}\n\n{{ return(columns) }}\n\n{{ fivetran_utils.add_pass_through_columns(columns, var('apple_search_ads__search_term_passthrough_metrics')) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.type_string", "macro.dbt.type_int", "macro.dbt.type_numeric", "macro.fivetran_utils.add_pass_through_columns"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.9870908, "supported_languages": null}, "macro.apple_search_ads_source.get_keyword_report_columns": {"unique_id": "macro.apple_search_ads_source.get_keyword_report_columns", "package_name": "apple_search_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/apple_search_ads_source", "path": "macros/get_keyword_report_columns.sql", "original_file_path": "macros/get_keyword_report_columns.sql", "name": "get_keyword_report_columns", "macro_sql": "{% macro get_keyword_report_columns() %}\n\n{% set columns = [\n {\"name\": \"date\", \"datatype\": \"date\"},\n {\"name\": \"id\", \"datatype\": dbt.type_int()},\n {\"name\": \"impressions\", \"datatype\": dbt.type_int()},\n {\"name\": \"local_spend_amount\", \"datatype\": dbt.type_numeric()},\n {\"name\": \"local_spend_currency\", \"datatype\": dbt.type_string()},\n {\"name\": \"new_downloads\", \"datatype\": dbt.type_int()},\n {\"name\": \"redownloads\", \"datatype\": dbt.type_int()},\n {\"name\": \"taps\", \"datatype\": dbt.type_int()}\n] %}\n\n{{ fivetran_utils.add_pass_through_columns(columns, var('apple_search_ads__keyword_passthrough_metrics')) }}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.type_int", "macro.dbt.type_numeric", "macro.dbt.type_string", "macro.fivetran_utils.add_pass_through_columns"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.988202, "supported_languages": null}, "macro.apple_search_ads_source.get_campaign_report_columns": {"unique_id": "macro.apple_search_ads_source.get_campaign_report_columns", "package_name": "apple_search_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/apple_search_ads_source", "path": "macros/get_campaign_report_columns.sql", "original_file_path": "macros/get_campaign_report_columns.sql", "name": "get_campaign_report_columns", "macro_sql": "{% macro get_campaign_report_columns() %}\n\n{% set columns = [\n {\"name\": \"date\", \"datatype\": \"date\"},\n {\"name\": \"id\", \"datatype\": dbt.type_int()},\n {\"name\": \"impressions\", \"datatype\": dbt.type_int()},\n {\"name\": \"local_spend_amount\", \"datatype\": dbt.type_numeric()},\n {\"name\": \"local_spend_currency\", \"datatype\": dbt.type_string()},\n {\"name\": \"new_downloads\", \"datatype\": dbt.type_int()},\n {\"name\": \"redownloads\", \"datatype\": dbt.type_int()},\n {\"name\": \"taps\", \"datatype\": dbt.type_int()}\n] %}\n\n{{ fivetran_utils.add_pass_through_columns(columns, var('apple_search_ads__campaign_passthrough_metrics')) }}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.type_int", "macro.dbt.type_numeric", "macro.dbt.type_string", "macro.fivetran_utils.add_pass_through_columns"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.989311, "supported_languages": null}, "macro.apple_search_ads_source.get_campaign_history_columns": {"unique_id": "macro.apple_search_ads_source.get_campaign_history_columns", "package_name": "apple_search_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/apple_search_ads_source", "path": "macros/get_campaign_history_columns.sql", "original_file_path": "macros/get_campaign_history_columns.sql", "name": "get_campaign_history_columns", "macro_sql": "{% macro get_campaign_history_columns() %}\n\n{% set columns = [\n {\"name\": \"end_time\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"id\", \"datatype\": dbt.type_int()},\n {\"name\": \"modification_time\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"name\", \"datatype\": dbt.type_string()},\n {\"name\": \"organization_id\", \"datatype\": dbt.type_int()},\n {\"name\": \"start_time\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"status\", \"datatype\": dbt.type_string()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.type_timestamp", "macro.dbt.type_int", "macro.dbt.type_string"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.990219, "supported_languages": null}, "macro.apple_search_ads_source.get_ad_history_columns": {"unique_id": "macro.apple_search_ads_source.get_ad_history_columns", "package_name": "apple_search_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/apple_search_ads_source", "path": "macros/get_ad_history_columns.sql", "original_file_path": "macros/get_ad_history_columns.sql", "name": "get_ad_history_columns", "macro_sql": "{% macro get_ad_history_columns() %}\n\n{% set columns = [\n {\"name\": \"ad_group_id\", \"datatype\": dbt.type_int()},\n {\"name\": \"campaign_id\", \"datatype\": dbt.type_int()},\n {\"name\": \"creation_time\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"id\", \"datatype\": dbt.type_int()},\n {\"name\": \"modification_time\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"name\", \"datatype\": dbt.type_string()},\n {\"name\": \"org_id\", \"datatype\": dbt.type_int()},\n {\"name\": \"status\", \"datatype\": dbt.type_string()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.type_int", "macro.dbt.type_timestamp", "macro.dbt.type_string"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.9912388, "supported_languages": null}, "macro.apple_search_ads_source.get_ad_group_report_columns": {"unique_id": "macro.apple_search_ads_source.get_ad_group_report_columns", "package_name": "apple_search_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/apple_search_ads_source", "path": "macros/get_ad_group_report_columns.sql", "original_file_path": "macros/get_ad_group_report_columns.sql", "name": "get_ad_group_report_columns", "macro_sql": "{% macro get_ad_group_report_columns() %}\n\n{% set columns = [\n {\"name\": \"ad_group_id\", \"datatype\": dbt.type_int()},\n {\"name\": \"date\", \"datatype\": \"date\"},\n {\"name\": \"impressions\", \"datatype\": dbt.type_int()},\n {\"name\": \"local_spend_amount\", \"datatype\": dbt.type_numeric()},\n {\"name\": \"local_spend_currency\", \"datatype\": dbt.type_string()},\n {\"name\": \"new_downloads\", \"datatype\": dbt.type_int()},\n {\"name\": \"redownloads\", \"datatype\": dbt.type_int()},\n {\"name\": \"taps\", \"datatype\": dbt.type_int()}\n] %}\n\n{{ fivetran_utils.add_pass_through_columns(columns, var('apple_search_ads__ad_group_passthrough_metrics')) }}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.type_int", "macro.dbt.type_numeric", "macro.dbt.type_string", "macro.fivetran_utils.add_pass_through_columns"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.99233, "supported_languages": null}, "macro.apple_search_ads_source.get_organization_columns": {"unique_id": "macro.apple_search_ads_source.get_organization_columns", "package_name": "apple_search_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/apple_search_ads_source", "path": "macros/get_organization_columns.sql", "original_file_path": "macros/get_organization_columns.sql", "name": "get_organization_columns", "macro_sql": "{% macro get_organization_columns() %}\n\n{% set columns = [\n {\"name\": \"currency\", \"datatype\": dbt.type_string()},\n {\"name\": \"id\", \"datatype\": dbt.type_int()},\n {\"name\": \"name\", \"datatype\": dbt.type_string()},\n {\"name\": \"payment_model\", \"datatype\": dbt.type_string()},\n {\"name\": \"time_zone\", \"datatype\": dbt.type_string()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.type_string", "macro.dbt.type_int"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.9930592, "supported_languages": null}, "macro.apple_search_ads_source.get_keyword_history_columns": {"unique_id": "macro.apple_search_ads_source.get_keyword_history_columns", "package_name": "apple_search_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/apple_search_ads/dbt_apple_search_ads/integration_tests/dbt_packages/apple_search_ads_source", "path": "macros/get_keyword_history_columns.sql", "original_file_path": "macros/get_keyword_history_columns.sql", "name": "get_keyword_history_columns", "macro_sql": "{% macro get_keyword_history_columns() %}\n\n{% set columns = [\n {\"name\": \"ad_group_id\", \"datatype\": dbt.type_int()},\n {\"name\": \"bid_amount\", \"datatype\": dbt.type_numeric()},\n {\"name\": \"bid_currency\", \"datatype\": dbt.type_string()},\n {\"name\": \"campaign_id\", \"datatype\": dbt.type_int()},\n {\"name\": \"id\", \"datatype\": dbt.type_int()},\n {\"name\": \"match_type\", \"datatype\": dbt.type_string()},\n {\"name\": \"modification_time\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"status\", \"datatype\": dbt.type_string()},\n {\"name\": \"text\", \"datatype\": dbt.type_string()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.type_int", "macro.dbt.type_numeric", "macro.dbt.type_string", "macro.dbt.type_timestamp"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505472.994155, "supported_languages": null}}, "docs": {"dbt.__overview__": {"unique_id": "dbt.__overview__", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "overview.md", "original_file_path": "docs/overview.md", "name": "__overview__", "block_contents": "### Welcome!\n\nWelcome to the auto-generated documentation for your dbt project!\n\n### Navigation\n\nYou can use the `Project` and `Database` navigation tabs on the left side of the window to explore the models\nin your project.\n\n#### Project Tab\nThe `Project` tab mirrors the directory structure of your dbt project. In this tab, you can see all of the\nmodels defined in your dbt project, as well as models imported from dbt packages.\n\n#### Database Tab\nThe `Database` tab also exposes your models, but in a format that looks more like a database explorer. This view\nshows relations (tables and views) grouped into database schemas. Note that ephemeral models are _not_ shown\nin this interface, as they do not exist in the database.\n\n### Graph Exploration\nYou can click the blue icon on the bottom-right corner of the page to view the lineage graph of your models.\n\nOn model pages, you'll see the immediate parents and children of the model you're exploring. By clicking the `Expand`\nbutton at the top-right of this lineage pane, you'll be able to see all of the models that are used to build,\nor are built from, the model you're exploring.\n\nOnce expanded, you'll be able to use the `--select` and `--exclude` model selection syntax to filter the\nmodels in the graph. For more information on model selection, check out the [dbt docs](https://docs.getdbt.com/docs/model-selection-syntax).\n\nNote that you can also right-click on models to interactively filter and explore the graph.\n\n---\n\n### More information\n\n- [What is dbt](https://docs.getdbt.com/docs/introduction)?\n- Read the [dbt viewpoint](https://docs.getdbt.com/docs/viewpoint)\n- [Installation](https://docs.getdbt.com/docs/installation)\n- Join the [dbt Community](https://www.getdbt.com/community/) for questions and discussion"}}, "exposures": {}, "metrics": {}, "selectors": {}, "disabled": {}, "parent_map": {"seed.apple_search_ads_integration_tests.ad_group_report_data": [], "seed.apple_search_ads_integration_tests.ad_report_data": [], "seed.apple_search_ads_integration_tests.keyword_report_data": [], "seed.apple_search_ads_integration_tests.ad_history_data": [], "seed.apple_search_ads_integration_tests.ad_group_history_data": [], "seed.apple_search_ads_integration_tests.campaign_history_data": [], "seed.apple_search_ads_integration_tests.campaign_report_data": [], "seed.apple_search_ads_integration_tests.keyword_history_data": [], "seed.apple_search_ads_integration_tests.search_term_report_data": [], "seed.apple_search_ads_integration_tests.organization_data": [], "model.apple_search_ads.apple_search_ads__ad_report": ["model.apple_search_ads_source.stg_apple_search_ads__ad_group_history", "model.apple_search_ads_source.stg_apple_search_ads__ad_history", "model.apple_search_ads_source.stg_apple_search_ads__ad_report", "model.apple_search_ads_source.stg_apple_search_ads__campaign_history", "model.apple_search_ads_source.stg_apple_search_ads__organization"], "model.apple_search_ads.apple_search_ads__ad_group_report": ["model.apple_search_ads_source.stg_apple_search_ads__ad_group_history", "model.apple_search_ads_source.stg_apple_search_ads__ad_group_report", "model.apple_search_ads_source.stg_apple_search_ads__campaign_history", "model.apple_search_ads_source.stg_apple_search_ads__organization"], "model.apple_search_ads.apple_search_ads__keyword_report": ["model.apple_search_ads_source.stg_apple_search_ads__ad_group_history", "model.apple_search_ads_source.stg_apple_search_ads__campaign_history", "model.apple_search_ads_source.stg_apple_search_ads__keyword_history", "model.apple_search_ads_source.stg_apple_search_ads__keyword_report", "model.apple_search_ads_source.stg_apple_search_ads__organization"], "model.apple_search_ads.apple_search_ads__search_term_report": ["model.apple_search_ads_source.stg_apple_search_ads__campaign_history", "model.apple_search_ads_source.stg_apple_search_ads__organization", "model.apple_search_ads_source.stg_apple_search_ads__search_term_report"], "model.apple_search_ads.apple_search_ads__campaign_report": ["model.apple_search_ads_source.stg_apple_search_ads__campaign_history", "model.apple_search_ads_source.stg_apple_search_ads__campaign_report", "model.apple_search_ads_source.stg_apple_search_ads__organization"], "model.apple_search_ads.apple_search_ads__organization_report": ["model.apple_search_ads_source.stg_apple_search_ads__campaign_history", "model.apple_search_ads_source.stg_apple_search_ads__campaign_report", "model.apple_search_ads_source.stg_apple_search_ads__organization"], "model.apple_search_ads_source.stg_apple_search_ads__campaign_history": ["model.apple_search_ads_source.stg_apple_search_ads__campaign_history_tmp", "model.apple_search_ads_source.stg_apple_search_ads__campaign_history_tmp"], "model.apple_search_ads_source.stg_apple_search_ads__ad_report": ["model.apple_search_ads_source.stg_apple_search_ads__ad_report_tmp", "model.apple_search_ads_source.stg_apple_search_ads__ad_report_tmp"], "model.apple_search_ads_source.stg_apple_search_ads__campaign_report": ["model.apple_search_ads_source.stg_apple_search_ads__campaign_report_tmp", "model.apple_search_ads_source.stg_apple_search_ads__campaign_report_tmp"], "model.apple_search_ads_source.stg_apple_search_ads__organization": ["model.apple_search_ads_source.stg_apple_search_ads__organization_tmp", "model.apple_search_ads_source.stg_apple_search_ads__organization_tmp"], "model.apple_search_ads_source.stg_apple_search_ads__keyword_report": ["model.apple_search_ads_source.stg_apple_search_ads__keyword_report_tmp", "model.apple_search_ads_source.stg_apple_search_ads__keyword_report_tmp"], "model.apple_search_ads_source.stg_apple_search_ads__keyword_history": ["model.apple_search_ads_source.stg_apple_search_ads__keyword_history_tmp", "model.apple_search_ads_source.stg_apple_search_ads__keyword_history_tmp"], "model.apple_search_ads_source.stg_apple_search_ads__search_term_report": ["model.apple_search_ads_source.stg_apple_search_ads__search_term_report_tmp", "model.apple_search_ads_source.stg_apple_search_ads__search_term_report_tmp"], "model.apple_search_ads_source.stg_apple_search_ads__ad_group_history": ["model.apple_search_ads_source.stg_apple_search_ads__ad_group_history_tmp", "model.apple_search_ads_source.stg_apple_search_ads__ad_group_history_tmp"], "model.apple_search_ads_source.stg_apple_search_ads__ad_history": ["model.apple_search_ads_source.stg_apple_search_ads__ad_history_tmp", "model.apple_search_ads_source.stg_apple_search_ads__ad_history_tmp"], "model.apple_search_ads_source.stg_apple_search_ads__ad_group_report": ["model.apple_search_ads_source.stg_apple_search_ads__ad_group_report_tmp", "model.apple_search_ads_source.stg_apple_search_ads__ad_group_report_tmp"], "model.apple_search_ads_source.stg_apple_search_ads__search_term_report_tmp": ["source.apple_search_ads_source.apple_search_ads.search_term_report"], "model.apple_search_ads_source.stg_apple_search_ads__campaign_history_tmp": ["source.apple_search_ads_source.apple_search_ads.campaign_history"], "model.apple_search_ads_source.stg_apple_search_ads__keyword_history_tmp": ["source.apple_search_ads_source.apple_search_ads.keyword_history"], "model.apple_search_ads_source.stg_apple_search_ads__ad_group_history_tmp": ["source.apple_search_ads_source.apple_search_ads.ad_group_history"], "model.apple_search_ads_source.stg_apple_search_ads__ad_group_report_tmp": ["source.apple_search_ads_source.apple_search_ads.ad_group_report"], "model.apple_search_ads_source.stg_apple_search_ads__ad_history_tmp": ["source.apple_search_ads_source.apple_search_ads.ad_history"], "model.apple_search_ads_source.stg_apple_search_ads__campaign_report_tmp": ["source.apple_search_ads_source.apple_search_ads.campaign_report"], "model.apple_search_ads_source.stg_apple_search_ads__organization_tmp": ["source.apple_search_ads_source.apple_search_ads.organization"], "model.apple_search_ads_source.stg_apple_search_ads__keyword_report_tmp": ["source.apple_search_ads_source.apple_search_ads.keyword_report"], "model.apple_search_ads_source.stg_apple_search_ads__ad_report_tmp": ["source.apple_search_ads_source.apple_search_ads.ad_level_report"], "test.apple_search_ads.not_null_apple_search_ads__ad_group_report_ad_group_id.60febec6b5": ["model.apple_search_ads.apple_search_ads__ad_group_report"], "test.apple_search_ads.not_null_apple_search_ads__ad_group_report_date_day.e6ffb30b3c": ["model.apple_search_ads.apple_search_ads__ad_group_report"], "test.apple_search_ads.dbt_utils_unique_combination_of_columns_apple_search_ads__ad_group_report_organization_id__campaign_id__ad_group_id__date_day.19d180bab9": ["model.apple_search_ads.apple_search_ads__ad_group_report"], "test.apple_search_ads.not_null_apple_search_ads__ad_report_ad_id.0ab2c5075c": ["model.apple_search_ads.apple_search_ads__ad_report"], "test.apple_search_ads.not_null_apple_search_ads__ad_report_date_day.b86c049e17": ["model.apple_search_ads.apple_search_ads__ad_report"], "test.apple_search_ads.dbt_utils_unique_combination_of_columns_apple_search_ads__ad_report_organization_id__campaign_id__ad_group_id__ad_id__date_day.54e27817a1": ["model.apple_search_ads.apple_search_ads__ad_report"], "test.apple_search_ads.not_null_apple_search_ads__campaign_report_campaign_id.e26ed1e146": ["model.apple_search_ads.apple_search_ads__campaign_report"], "test.apple_search_ads.not_null_apple_search_ads__campaign_report_date_day.35652b8d1a": ["model.apple_search_ads.apple_search_ads__campaign_report"], "test.apple_search_ads.dbt_utils_unique_combination_of_columns_apple_search_ads__campaign_report_organization_id__campaign_id__date_day.647e56213f": ["model.apple_search_ads.apple_search_ads__campaign_report"], "test.apple_search_ads.not_null_apple_search_ads__keyword_report_keyword_id.ea493710db": ["model.apple_search_ads.apple_search_ads__keyword_report"], "test.apple_search_ads.not_null_apple_search_ads__keyword_report_date_day.3dec8d0e82": ["model.apple_search_ads.apple_search_ads__keyword_report"], "test.apple_search_ads.dbt_utils_unique_combination_of_columns_apple_search_ads__keyword_report_organization_id__campaign_id__ad_group_id__keyword_id__date_day.78fb033a13": ["model.apple_search_ads.apple_search_ads__keyword_report"], "test.apple_search_ads.not_null_apple_search_ads__organization_report_organization_id.b6cf7d69f8": ["model.apple_search_ads.apple_search_ads__organization_report"], "test.apple_search_ads.not_null_apple_search_ads__organization_report_date_day.5784fed523": ["model.apple_search_ads.apple_search_ads__organization_report"], "test.apple_search_ads.dbt_utils_unique_combination_of_columns_apple_search_ads__organization_report_organization_id__date_day.8bc84fccc3": ["model.apple_search_ads.apple_search_ads__organization_report"], "test.apple_search_ads.not_null_apple_search_ads__search_term_report_date_day.1bc3b0d57c": ["model.apple_search_ads.apple_search_ads__search_term_report"], "test.apple_search_ads.not_null_apple_search_ads__search_term_report_search_term_text.aecc7447f7": ["model.apple_search_ads.apple_search_ads__search_term_report"], "test.apple_search_ads.dbt_utils_unique_combination_of_columns_apple_search_ads__search_term_report_search_term_text__date_day.e60fe79ec4": ["model.apple_search_ads.apple_search_ads__search_term_report"], "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_group_history_modified_at.e5d65fa28f": ["model.apple_search_ads_source.stg_apple_search_ads__ad_group_history"], "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_group_history_ad_group_id.dc128eecb7": ["model.apple_search_ads_source.stg_apple_search_ads__ad_group_history"], "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__ad_group_history_ad_group_id__modified_at.84af14c83b": ["model.apple_search_ads_source.stg_apple_search_ads__ad_group_history"], "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_group_report_ad_group_id.a115f9cfc1": ["model.apple_search_ads_source.stg_apple_search_ads__ad_group_report"], "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_group_report_date_day.4dfd46a43b": ["model.apple_search_ads_source.stg_apple_search_ads__ad_group_report"], "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__ad_group_report_ad_group_id__date_day.a0fcc4e33c": ["model.apple_search_ads_source.stg_apple_search_ads__ad_group_report"], "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_history_modified_at.2eea7e006d": ["model.apple_search_ads_source.stg_apple_search_ads__ad_history"], "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_history_ad_id.4ad3bde32a": ["model.apple_search_ads_source.stg_apple_search_ads__ad_history"], "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__ad_history_ad_id__modified_at.38599b8cba": ["model.apple_search_ads_source.stg_apple_search_ads__ad_history"], "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_report_date_day.e6252346d8": ["model.apple_search_ads_source.stg_apple_search_ads__ad_report"], "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_report_ad_group_id.a397755e9f": ["model.apple_search_ads_source.stg_apple_search_ads__ad_report"], "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_report_ad_id.d08e760c58": ["model.apple_search_ads_source.stg_apple_search_ads__ad_report"], "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__ad_report_ad_id__date_day__ad_group_id.0d8d23c516": ["model.apple_search_ads_source.stg_apple_search_ads__ad_report"], "test.apple_search_ads_source.not_null_stg_apple_search_ads__campaign_history_modified_at.f34a7a97c9": ["model.apple_search_ads_source.stg_apple_search_ads__campaign_history"], "test.apple_search_ads_source.not_null_stg_apple_search_ads__campaign_history_campaign_id.3f0f7502b8": ["model.apple_search_ads_source.stg_apple_search_ads__campaign_history"], "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__campaign_history_campaign_id__modified_at.317f970af9": ["model.apple_search_ads_source.stg_apple_search_ads__campaign_history"], "test.apple_search_ads_source.not_null_stg_apple_search_ads__campaign_report_campaign_id.b83941e728": ["model.apple_search_ads_source.stg_apple_search_ads__campaign_report"], "test.apple_search_ads_source.not_null_stg_apple_search_ads__campaign_report_date_day.c8dc10a6f3": ["model.apple_search_ads_source.stg_apple_search_ads__campaign_report"], "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__campaign_report_campaign_id__date_day.bad41b0481": ["model.apple_search_ads_source.stg_apple_search_ads__campaign_report"], "test.apple_search_ads_source.not_null_stg_apple_search_ads__keyword_history_modified_at.42fde5a287": ["model.apple_search_ads_source.stg_apple_search_ads__keyword_history"], "test.apple_search_ads_source.not_null_stg_apple_search_ads__keyword_history_keyword_id.889f83cfd2": ["model.apple_search_ads_source.stg_apple_search_ads__keyword_history"], "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__keyword_history_keyword_id__modified_at.7b06162d24": ["model.apple_search_ads_source.stg_apple_search_ads__keyword_history"], "test.apple_search_ads_source.not_null_stg_apple_search_ads__keyword_report_keyword_id.501725b09e": ["model.apple_search_ads_source.stg_apple_search_ads__keyword_report"], "test.apple_search_ads_source.not_null_stg_apple_search_ads__keyword_report_date_day.16098db928": ["model.apple_search_ads_source.stg_apple_search_ads__keyword_report"], "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__keyword_report_keyword_id__date_day.9f0099cff8": ["model.apple_search_ads_source.stg_apple_search_ads__keyword_report"], "test.apple_search_ads_source.not_null_stg_apple_search_ads__organization_organization_id.b013ce33cb": ["model.apple_search_ads_source.stg_apple_search_ads__organization"], "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__organization_organization_id.8647048f7a": ["model.apple_search_ads_source.stg_apple_search_ads__organization"], "test.apple_search_ads_source.not_null_stg_apple_search_ads__search_term_report__fivetran_id.aa430d1dad": ["model.apple_search_ads_source.stg_apple_search_ads__search_term_report"], "test.apple_search_ads_source.not_null_stg_apple_search_ads__search_term_report_date_day.fd93df3302": ["model.apple_search_ads_source.stg_apple_search_ads__search_term_report"], "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__search_term_report__fivetran_id__date_day.aad2a48344": ["model.apple_search_ads_source.stg_apple_search_ads__search_term_report"], "source.apple_search_ads_source.apple_search_ads.ad_group_history": [], "source.apple_search_ads_source.apple_search_ads.ad_group_report": [], "source.apple_search_ads_source.apple_search_ads.ad_history": [], "source.apple_search_ads_source.apple_search_ads.ad_level_report": [], "source.apple_search_ads_source.apple_search_ads.campaign_history": [], "source.apple_search_ads_source.apple_search_ads.campaign_report": [], "source.apple_search_ads_source.apple_search_ads.keyword_history": [], "source.apple_search_ads_source.apple_search_ads.keyword_report": [], "source.apple_search_ads_source.apple_search_ads.organization": [], "source.apple_search_ads_source.apple_search_ads.search_term_report": []}, "child_map": {"seed.apple_search_ads_integration_tests.ad_group_report_data": [], "seed.apple_search_ads_integration_tests.ad_report_data": [], "seed.apple_search_ads_integration_tests.keyword_report_data": [], "seed.apple_search_ads_integration_tests.ad_history_data": [], "seed.apple_search_ads_integration_tests.ad_group_history_data": [], "seed.apple_search_ads_integration_tests.campaign_history_data": [], "seed.apple_search_ads_integration_tests.campaign_report_data": [], "seed.apple_search_ads_integration_tests.keyword_history_data": [], "seed.apple_search_ads_integration_tests.search_term_report_data": [], "seed.apple_search_ads_integration_tests.organization_data": [], "model.apple_search_ads.apple_search_ads__ad_report": ["test.apple_search_ads.dbt_utils_unique_combination_of_columns_apple_search_ads__ad_report_organization_id__campaign_id__ad_group_id__ad_id__date_day.54e27817a1", "test.apple_search_ads.not_null_apple_search_ads__ad_report_ad_id.0ab2c5075c", "test.apple_search_ads.not_null_apple_search_ads__ad_report_date_day.b86c049e17"], "model.apple_search_ads.apple_search_ads__ad_group_report": ["test.apple_search_ads.dbt_utils_unique_combination_of_columns_apple_search_ads__ad_group_report_organization_id__campaign_id__ad_group_id__date_day.19d180bab9", "test.apple_search_ads.not_null_apple_search_ads__ad_group_report_ad_group_id.60febec6b5", "test.apple_search_ads.not_null_apple_search_ads__ad_group_report_date_day.e6ffb30b3c"], "model.apple_search_ads.apple_search_ads__keyword_report": ["test.apple_search_ads.dbt_utils_unique_combination_of_columns_apple_search_ads__keyword_report_organization_id__campaign_id__ad_group_id__keyword_id__date_day.78fb033a13", "test.apple_search_ads.not_null_apple_search_ads__keyword_report_date_day.3dec8d0e82", "test.apple_search_ads.not_null_apple_search_ads__keyword_report_keyword_id.ea493710db"], "model.apple_search_ads.apple_search_ads__search_term_report": ["test.apple_search_ads.dbt_utils_unique_combination_of_columns_apple_search_ads__search_term_report_search_term_text__date_day.e60fe79ec4", "test.apple_search_ads.not_null_apple_search_ads__search_term_report_date_day.1bc3b0d57c", "test.apple_search_ads.not_null_apple_search_ads__search_term_report_search_term_text.aecc7447f7"], "model.apple_search_ads.apple_search_ads__campaign_report": ["test.apple_search_ads.dbt_utils_unique_combination_of_columns_apple_search_ads__campaign_report_organization_id__campaign_id__date_day.647e56213f", "test.apple_search_ads.not_null_apple_search_ads__campaign_report_campaign_id.e26ed1e146", "test.apple_search_ads.not_null_apple_search_ads__campaign_report_date_day.35652b8d1a"], "model.apple_search_ads.apple_search_ads__organization_report": ["test.apple_search_ads.dbt_utils_unique_combination_of_columns_apple_search_ads__organization_report_organization_id__date_day.8bc84fccc3", "test.apple_search_ads.not_null_apple_search_ads__organization_report_date_day.5784fed523", "test.apple_search_ads.not_null_apple_search_ads__organization_report_organization_id.b6cf7d69f8"], "model.apple_search_ads_source.stg_apple_search_ads__campaign_history": ["model.apple_search_ads.apple_search_ads__ad_group_report", "model.apple_search_ads.apple_search_ads__ad_report", "model.apple_search_ads.apple_search_ads__campaign_report", "model.apple_search_ads.apple_search_ads__keyword_report", "model.apple_search_ads.apple_search_ads__organization_report", "model.apple_search_ads.apple_search_ads__search_term_report", "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__campaign_history_campaign_id__modified_at.317f970af9", "test.apple_search_ads_source.not_null_stg_apple_search_ads__campaign_history_campaign_id.3f0f7502b8", "test.apple_search_ads_source.not_null_stg_apple_search_ads__campaign_history_modified_at.f34a7a97c9"], "model.apple_search_ads_source.stg_apple_search_ads__ad_report": ["model.apple_search_ads.apple_search_ads__ad_report", "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__ad_report_ad_id__date_day__ad_group_id.0d8d23c516", "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_report_ad_group_id.a397755e9f", "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_report_ad_id.d08e760c58", "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_report_date_day.e6252346d8"], "model.apple_search_ads_source.stg_apple_search_ads__campaign_report": ["model.apple_search_ads.apple_search_ads__campaign_report", "model.apple_search_ads.apple_search_ads__organization_report", "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__campaign_report_campaign_id__date_day.bad41b0481", "test.apple_search_ads_source.not_null_stg_apple_search_ads__campaign_report_campaign_id.b83941e728", "test.apple_search_ads_source.not_null_stg_apple_search_ads__campaign_report_date_day.c8dc10a6f3"], "model.apple_search_ads_source.stg_apple_search_ads__organization": ["model.apple_search_ads.apple_search_ads__ad_group_report", "model.apple_search_ads.apple_search_ads__ad_report", "model.apple_search_ads.apple_search_ads__campaign_report", "model.apple_search_ads.apple_search_ads__keyword_report", "model.apple_search_ads.apple_search_ads__organization_report", "model.apple_search_ads.apple_search_ads__search_term_report", "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__organization_organization_id.8647048f7a", "test.apple_search_ads_source.not_null_stg_apple_search_ads__organization_organization_id.b013ce33cb"], "model.apple_search_ads_source.stg_apple_search_ads__keyword_report": ["model.apple_search_ads.apple_search_ads__keyword_report", "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__keyword_report_keyword_id__date_day.9f0099cff8", "test.apple_search_ads_source.not_null_stg_apple_search_ads__keyword_report_date_day.16098db928", "test.apple_search_ads_source.not_null_stg_apple_search_ads__keyword_report_keyword_id.501725b09e"], "model.apple_search_ads_source.stg_apple_search_ads__keyword_history": ["model.apple_search_ads.apple_search_ads__keyword_report", "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__keyword_history_keyword_id__modified_at.7b06162d24", "test.apple_search_ads_source.not_null_stg_apple_search_ads__keyword_history_keyword_id.889f83cfd2", "test.apple_search_ads_source.not_null_stg_apple_search_ads__keyword_history_modified_at.42fde5a287"], "model.apple_search_ads_source.stg_apple_search_ads__search_term_report": ["model.apple_search_ads.apple_search_ads__search_term_report", "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__search_term_report__fivetran_id__date_day.aad2a48344", "test.apple_search_ads_source.not_null_stg_apple_search_ads__search_term_report__fivetran_id.aa430d1dad", "test.apple_search_ads_source.not_null_stg_apple_search_ads__search_term_report_date_day.fd93df3302"], "model.apple_search_ads_source.stg_apple_search_ads__ad_group_history": ["model.apple_search_ads.apple_search_ads__ad_group_report", "model.apple_search_ads.apple_search_ads__ad_report", "model.apple_search_ads.apple_search_ads__keyword_report", "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__ad_group_history_ad_group_id__modified_at.84af14c83b", "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_group_history_ad_group_id.dc128eecb7", "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_group_history_modified_at.e5d65fa28f"], "model.apple_search_ads_source.stg_apple_search_ads__ad_history": ["model.apple_search_ads.apple_search_ads__ad_report", "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__ad_history_ad_id__modified_at.38599b8cba", "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_history_ad_id.4ad3bde32a", "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_history_modified_at.2eea7e006d"], "model.apple_search_ads_source.stg_apple_search_ads__ad_group_report": ["model.apple_search_ads.apple_search_ads__ad_group_report", "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__ad_group_report_ad_group_id__date_day.a0fcc4e33c", "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_group_report_ad_group_id.a115f9cfc1", "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_group_report_date_day.4dfd46a43b"], "model.apple_search_ads_source.stg_apple_search_ads__search_term_report_tmp": ["model.apple_search_ads_source.stg_apple_search_ads__search_term_report", "model.apple_search_ads_source.stg_apple_search_ads__search_term_report"], "model.apple_search_ads_source.stg_apple_search_ads__campaign_history_tmp": ["model.apple_search_ads_source.stg_apple_search_ads__campaign_history", "model.apple_search_ads_source.stg_apple_search_ads__campaign_history"], "model.apple_search_ads_source.stg_apple_search_ads__keyword_history_tmp": ["model.apple_search_ads_source.stg_apple_search_ads__keyword_history", "model.apple_search_ads_source.stg_apple_search_ads__keyword_history"], "model.apple_search_ads_source.stg_apple_search_ads__ad_group_history_tmp": ["model.apple_search_ads_source.stg_apple_search_ads__ad_group_history", "model.apple_search_ads_source.stg_apple_search_ads__ad_group_history"], "model.apple_search_ads_source.stg_apple_search_ads__ad_group_report_tmp": ["model.apple_search_ads_source.stg_apple_search_ads__ad_group_report", "model.apple_search_ads_source.stg_apple_search_ads__ad_group_report"], "model.apple_search_ads_source.stg_apple_search_ads__ad_history_tmp": ["model.apple_search_ads_source.stg_apple_search_ads__ad_history", "model.apple_search_ads_source.stg_apple_search_ads__ad_history"], "model.apple_search_ads_source.stg_apple_search_ads__campaign_report_tmp": ["model.apple_search_ads_source.stg_apple_search_ads__campaign_report", "model.apple_search_ads_source.stg_apple_search_ads__campaign_report"], "model.apple_search_ads_source.stg_apple_search_ads__organization_tmp": ["model.apple_search_ads_source.stg_apple_search_ads__organization", "model.apple_search_ads_source.stg_apple_search_ads__organization"], "model.apple_search_ads_source.stg_apple_search_ads__keyword_report_tmp": ["model.apple_search_ads_source.stg_apple_search_ads__keyword_report", "model.apple_search_ads_source.stg_apple_search_ads__keyword_report"], "model.apple_search_ads_source.stg_apple_search_ads__ad_report_tmp": ["model.apple_search_ads_source.stg_apple_search_ads__ad_report", "model.apple_search_ads_source.stg_apple_search_ads__ad_report"], "test.apple_search_ads.not_null_apple_search_ads__ad_group_report_ad_group_id.60febec6b5": [], "test.apple_search_ads.not_null_apple_search_ads__ad_group_report_date_day.e6ffb30b3c": [], "test.apple_search_ads.dbt_utils_unique_combination_of_columns_apple_search_ads__ad_group_report_organization_id__campaign_id__ad_group_id__date_day.19d180bab9": [], "test.apple_search_ads.not_null_apple_search_ads__ad_report_ad_id.0ab2c5075c": [], "test.apple_search_ads.not_null_apple_search_ads__ad_report_date_day.b86c049e17": [], "test.apple_search_ads.dbt_utils_unique_combination_of_columns_apple_search_ads__ad_report_organization_id__campaign_id__ad_group_id__ad_id__date_day.54e27817a1": [], "test.apple_search_ads.not_null_apple_search_ads__campaign_report_campaign_id.e26ed1e146": [], "test.apple_search_ads.not_null_apple_search_ads__campaign_report_date_day.35652b8d1a": [], "test.apple_search_ads.dbt_utils_unique_combination_of_columns_apple_search_ads__campaign_report_organization_id__campaign_id__date_day.647e56213f": [], "test.apple_search_ads.not_null_apple_search_ads__keyword_report_keyword_id.ea493710db": [], "test.apple_search_ads.not_null_apple_search_ads__keyword_report_date_day.3dec8d0e82": [], "test.apple_search_ads.dbt_utils_unique_combination_of_columns_apple_search_ads__keyword_report_organization_id__campaign_id__ad_group_id__keyword_id__date_day.78fb033a13": [], "test.apple_search_ads.not_null_apple_search_ads__organization_report_organization_id.b6cf7d69f8": [], "test.apple_search_ads.not_null_apple_search_ads__organization_report_date_day.5784fed523": [], "test.apple_search_ads.dbt_utils_unique_combination_of_columns_apple_search_ads__organization_report_organization_id__date_day.8bc84fccc3": [], "test.apple_search_ads.not_null_apple_search_ads__search_term_report_date_day.1bc3b0d57c": [], "test.apple_search_ads.not_null_apple_search_ads__search_term_report_search_term_text.aecc7447f7": [], "test.apple_search_ads.dbt_utils_unique_combination_of_columns_apple_search_ads__search_term_report_search_term_text__date_day.e60fe79ec4": [], "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_group_history_modified_at.e5d65fa28f": [], "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_group_history_ad_group_id.dc128eecb7": [], "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__ad_group_history_ad_group_id__modified_at.84af14c83b": [], "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_group_report_ad_group_id.a115f9cfc1": [], "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_group_report_date_day.4dfd46a43b": [], "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__ad_group_report_ad_group_id__date_day.a0fcc4e33c": [], "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_history_modified_at.2eea7e006d": [], "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_history_ad_id.4ad3bde32a": [], "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__ad_history_ad_id__modified_at.38599b8cba": [], "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_report_date_day.e6252346d8": [], "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_report_ad_group_id.a397755e9f": [], "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_report_ad_id.d08e760c58": [], "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__ad_report_ad_id__date_day__ad_group_id.0d8d23c516": [], "test.apple_search_ads_source.not_null_stg_apple_search_ads__campaign_history_modified_at.f34a7a97c9": [], "test.apple_search_ads_source.not_null_stg_apple_search_ads__campaign_history_campaign_id.3f0f7502b8": [], "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__campaign_history_campaign_id__modified_at.317f970af9": [], "test.apple_search_ads_source.not_null_stg_apple_search_ads__campaign_report_campaign_id.b83941e728": [], "test.apple_search_ads_source.not_null_stg_apple_search_ads__campaign_report_date_day.c8dc10a6f3": [], "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__campaign_report_campaign_id__date_day.bad41b0481": [], "test.apple_search_ads_source.not_null_stg_apple_search_ads__keyword_history_modified_at.42fde5a287": [], "test.apple_search_ads_source.not_null_stg_apple_search_ads__keyword_history_keyword_id.889f83cfd2": [], "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__keyword_history_keyword_id__modified_at.7b06162d24": [], "test.apple_search_ads_source.not_null_stg_apple_search_ads__keyword_report_keyword_id.501725b09e": [], "test.apple_search_ads_source.not_null_stg_apple_search_ads__keyword_report_date_day.16098db928": [], "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__keyword_report_keyword_id__date_day.9f0099cff8": [], "test.apple_search_ads_source.not_null_stg_apple_search_ads__organization_organization_id.b013ce33cb": [], "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__organization_organization_id.8647048f7a": [], "test.apple_search_ads_source.not_null_stg_apple_search_ads__search_term_report__fivetran_id.aa430d1dad": [], "test.apple_search_ads_source.not_null_stg_apple_search_ads__search_term_report_date_day.fd93df3302": [], "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__search_term_report__fivetran_id__date_day.aad2a48344": [], "source.apple_search_ads_source.apple_search_ads.ad_group_history": ["model.apple_search_ads_source.stg_apple_search_ads__ad_group_history_tmp"], "source.apple_search_ads_source.apple_search_ads.ad_group_report": ["model.apple_search_ads_source.stg_apple_search_ads__ad_group_report_tmp"], "source.apple_search_ads_source.apple_search_ads.ad_history": ["model.apple_search_ads_source.stg_apple_search_ads__ad_history_tmp"], "source.apple_search_ads_source.apple_search_ads.ad_level_report": ["model.apple_search_ads_source.stg_apple_search_ads__ad_report_tmp"], "source.apple_search_ads_source.apple_search_ads.campaign_history": ["model.apple_search_ads_source.stg_apple_search_ads__campaign_history_tmp"], "source.apple_search_ads_source.apple_search_ads.campaign_report": ["model.apple_search_ads_source.stg_apple_search_ads__campaign_report_tmp"], "source.apple_search_ads_source.apple_search_ads.keyword_history": ["model.apple_search_ads_source.stg_apple_search_ads__keyword_history_tmp"], "source.apple_search_ads_source.apple_search_ads.keyword_report": ["model.apple_search_ads_source.stg_apple_search_ads__keyword_report_tmp"], "source.apple_search_ads_source.apple_search_ads.organization": ["model.apple_search_ads_source.stg_apple_search_ads__organization_tmp"], "source.apple_search_ads_source.apple_search_ads.search_term_report": ["model.apple_search_ads_source.stg_apple_search_ads__search_term_report_tmp"]}} \ No newline at end of file +{"metadata": {"dbt_schema_version": "https://schemas.getdbt.com/dbt/manifest/v8.json", "dbt_version": "1.4.5", "generated_at": "2023-07-07T16:02:44.966769Z", "invocation_id": "9493e7c2-265f-4152-96ae-e4e98f45920c", "env": {}, "project_id": "a19ea622182c63ddc19bb22cde982b82", "user_id": "e607f749-4294-4b15-833b-0ae4a87d4d24", "send_anonymous_usage_stats": true, "adapter_type": "bigquery"}, "nodes": {"model.apple_search_ads.apple_search_ads__ad_report": {"database": "dbt-package-testing", "schema": "zz_dbt_renee_apple_search_ads", "name": "apple_search_ads__ad_report", "resource_type": "model", "package_name": "apple_search_ads", "path": "apple_search_ads__ad_report.sql", "original_file_path": "models/apple_search_ads__ad_report.sql", "unique_id": "model.apple_search_ads.apple_search_ads__ad_report", "fqn": ["apple_search_ads", "apple_search_ads__ad_report"], "alias": "apple_search_ads__ad_report", "checksum": {"name": "sha256", "checksum": "9be99b8581d2c85b4b11327ae3eef34d26121ed866e5762ff7f627b2c24b63a9"}, "config": {"enabled": true, "alias": null, "schema": "apple_search_ads", "database": null, "tags": [], "meta": {}, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "post-hook": [], "pre-hook": []}, "tags": [], "description": "Each record represents the daily ad performance of each ad.", "columns": {"organization_id": {"name": "organization_id", "description": "Organization ID associated with this record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "organization_name": {"name": "organization_name", "description": "Organization name associated with this record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_id": {"name": "campaign_id", "description": "Campaign ID associated with this record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_name": {"name": "campaign_name", "description": "Campaign name associated with this record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "Ad group ID associated with this record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_name": {"name": "ad_group_name", "description": "Ad group name associated with this record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_id": {"name": "ad_id", "description": "Ad ID associated with this record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_name": {"name": "ad_name", "description": "Ad name associated with this record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_status": {"name": "ad_status", "description": "The status of the ad associated with this record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "date_day": {"name": "date_day", "description": "Date of the report.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "currency": {"name": "currency", "description": "This currency value should match the respective organization's currency value.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "taps": {"name": "taps", "description": "Number of taps on ad group on given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "new_downloads": {"name": "new_downloads", "description": "App downloads from new users who have never before installed app of ad group in a given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "redownloads": {"name": "redownloads", "description": "Number of user downloads where user deletes app and downloads the same app again following a tap on an ad on the App Store, or downloads the same app to an additional device of ad group in a given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "total_downloads": {"name": "total_downloads", "description": "The sum of new_downloads and redownloads.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "The number of impressions of ad group in a given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The spend on ad group in the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": "apple_search_ads://models/apple_search_ads.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "apple_search_ads", "materialized": "table", "enabled": true}, "created_at": 1688398941.077751, "relation_name": "`dbt-package-testing`.`zz_dbt_renee_apple_search_ads`.`apple_search_ads__ad_report`", "raw_code": "{{ config(enabled=var('ad_reporting__apple_search_ads_enabled', True)) }}\n\nwith report as (\n\n select *\n from {{ var('ad_report') }}\n), \n\nad as (\n\n select * \n from {{ var('ad_history') }}\n where is_most_recent_record = True\n), \n\nad_group as (\n\n select * \n from {{ var('ad_group_history') }}\n where is_most_recent_record = True\n), \n\ncampaign as (\n\n select *\n from {{ var('campaign_history') }}\n where is_most_recent_record = True\n), \n\norganization as (\n\n select * \n from {{ var('organization') }}\n), \n\njoined as (\n\n select \n report.date_day,\n organization.organization_id,\n organization.organization_name,\n campaign.campaign_id, \n campaign.campaign_name, \n ad_group.ad_group_id,\n ad_group.ad_group_name,\n ad.ad_id,\n ad.ad_name,\n report.currency,\n ad.ad_status,\n sum(report.taps) as taps,\n sum(report.new_downloads) as new_downloads,\n sum(report.redownloads) as redownloads,\n sum(report.new_downloads + report.redownloads) as total_downloads,\n sum(report.impressions) as impressions,\n sum(report.spend) as spend\n\n {{ fivetran_utils.persist_pass_through_columns(pass_through_variable='apple_search_ads__ad_passthrough_metrics', transform = 'sum') }}\n from report\n join ad \n on report.ad_id = ad.ad_id\n join ad_group \n on report.ad_group_id = ad_group.ad_group_id\n join campaign \n on report.campaign_id = campaign.campaign_id\n join organization \n on ad.organization_id = organization.organization_id\n {{ dbt_utils.group_by(11) }}\n)\n\nselect * \nfrom joined", "language": "sql", "refs": [["stg_apple_search_ads__ad_report"], ["stg_apple_search_ads__ad_history"], ["stg_apple_search_ads__ad_group_history"], ["stg_apple_search_ads__campaign_history"], ["stg_apple_search_ads__organization"]], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.fivetran_utils.persist_pass_through_columns", "macro.dbt_utils.group_by"], "nodes": ["model.apple_search_ads_source.stg_apple_search_ads__ad_report", "model.apple_search_ads_source.stg_apple_search_ads__ad_history", "model.apple_search_ads_source.stg_apple_search_ads__ad_group_history", "model.apple_search_ads_source.stg_apple_search_ads__campaign_history", "model.apple_search_ads_source.stg_apple_search_ads__organization"]}, "compiled_path": "target/compiled/apple_search_ads/models/apple_search_ads__ad_report.sql", "compiled": true, "compiled_code": "\n\nwith report as (\n\n select *\n from `dbt-package-testing`.`zz_dbt_renee_apple_search_ads_source`.`stg_apple_search_ads__ad_report`\n), \n\nad as (\n\n select * \n from `dbt-package-testing`.`zz_dbt_renee_apple_search_ads_source`.`stg_apple_search_ads__ad_history`\n where is_most_recent_record = True\n), \n\nad_group as (\n\n select * \n from `dbt-package-testing`.`zz_dbt_renee_apple_search_ads_source`.`stg_apple_search_ads__ad_group_history`\n where is_most_recent_record = True\n), \n\ncampaign as (\n\n select *\n from `dbt-package-testing`.`zz_dbt_renee_apple_search_ads_source`.`stg_apple_search_ads__campaign_history`\n where is_most_recent_record = True\n), \n\norganization as (\n\n select * \n from `dbt-package-testing`.`zz_dbt_renee_apple_search_ads_source`.`stg_apple_search_ads__organization`\n), \n\njoined as (\n\n select \n report.date_day,\n organization.organization_id,\n organization.organization_name,\n campaign.campaign_id, \n campaign.campaign_name, \n ad_group.ad_group_id,\n ad_group.ad_group_name,\n ad.ad_id,\n ad.ad_name,\n report.currency,\n ad.ad_status,\n sum(report.taps) as taps,\n sum(report.new_downloads) as new_downloads,\n sum(report.redownloads) as redownloads,\n sum(report.new_downloads + report.redownloads) as total_downloads,\n sum(report.impressions) as impressions,\n sum(report.spend) as spend\n\n \n\n\n\n\n from report\n join ad \n on report.ad_id = ad.ad_id\n join ad_group \n on report.ad_group_id = ad_group.ad_group_id\n join campaign \n on report.campaign_id = campaign.campaign_id\n join organization \n on ad.organization_id = organization.organization_id\n group by 1,2,3,4,5,6,7,8,9,10,11\n)\n\nselect * \nfrom joined", "extra_ctes_injected": true, "extra_ctes": []}, "model.apple_search_ads.apple_search_ads__ad_group_report": {"database": "dbt-package-testing", "schema": "zz_dbt_renee_apple_search_ads", "name": "apple_search_ads__ad_group_report", "resource_type": "model", "package_name": "apple_search_ads", "path": "apple_search_ads__ad_group_report.sql", "original_file_path": "models/apple_search_ads__ad_group_report.sql", "unique_id": "model.apple_search_ads.apple_search_ads__ad_group_report", "fqn": ["apple_search_ads", "apple_search_ads__ad_group_report"], "alias": "apple_search_ads__ad_group_report", "checksum": {"name": "sha256", "checksum": "a1edd5d4e81de3dadca268c67fc1bee311cab1edc7efe48a494c7017c7acdc80"}, "config": {"enabled": true, "alias": null, "schema": "apple_search_ads", "database": null, "tags": [], "meta": {}, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "post-hook": [], "pre-hook": []}, "tags": [], "description": "Each record represents the daily ad performance of each ad group.", "columns": {"organization_id": {"name": "organization_id", "description": "Organization ID associated with this record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "organization_name": {"name": "organization_name", "description": "Organization name associated with this record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_id": {"name": "campaign_id", "description": "Campaign ID associated with this record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_name": {"name": "campaign_name", "description": "Campaign name associated with this record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "Ad group ID associated with this record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_name": {"name": "ad_group_name", "description": "Ad group name associated with this record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_status": {"name": "ad_group_status", "description": "The status of the ad group associated with this record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "start_at": {"name": "start_at", "description": "The start timestamp for this ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "end_at": {"name": "end_at", "description": "The end timestamp for this ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "date_day": {"name": "date_day", "description": "Date of the report.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "currency": {"name": "currency", "description": "This currency value should match the respective organization's currency value.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "taps": {"name": "taps", "description": "Number of taps on ad group on given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "new_downloads": {"name": "new_downloads", "description": "App downloads from new users who have never before installed app of ad group in a given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "redownloads": {"name": "redownloads", "description": "Number of user downloads where user deletes app and downloads the same app again following a tap on an ad on the App Store, or downloads the same app to an additional device of ad group in a given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "total_downloads": {"name": "total_downloads", "description": "The sum of new_downloads and redownloads.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "The number of impressions of ad group in a given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The spend on ad group in the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": "apple_search_ads://models/apple_search_ads.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "apple_search_ads", "materialized": "table", "enabled": true}, "created_at": 1688398941.0675788, "relation_name": "`dbt-package-testing`.`zz_dbt_renee_apple_search_ads`.`apple_search_ads__ad_group_report`", "raw_code": "{{ config(enabled=var('ad_reporting__apple_search_ads_enabled', True)) }}\n\nwith report as (\n\n select *\n from {{ var('ad_group_report') }}\n), \n\nad_group as (\n\n select * \n from {{ var('ad_group_history') }}\n where is_most_recent_record = True\n), \n\ncampaign as (\n\n select *\n from {{ var('campaign_history') }}\n where is_most_recent_record = True\n), \n\norganization as (\n\n select * \n from {{ var('organization') }}\n), \n\njoined as (\n\n select \n report.date_day,\n organization.organization_id,\n organization.organization_name,\n campaign.campaign_id, \n campaign.campaign_name, \n ad_group.ad_group_id,\n ad_group.ad_group_name,\n report.currency,\n ad_group.ad_group_status,\n ad_group.start_at, \n ad_group.end_at,\n sum(report.taps) as taps,\n sum(report.new_downloads) as new_downloads,\n sum(report.redownloads) as redownloads,\n sum(report.new_downloads + report.redownloads) as total_downloads,\n sum(report.impressions) as impressions,\n sum(report.spend) as spend\n\n {{ fivetran_utils.persist_pass_through_columns(pass_through_variable='apple_search_ads__ad_group_passthrough_metrics', transform = 'sum') }}\n from report\n join ad_group \n on report.ad_group_id = ad_group.ad_group_id\n join campaign \n on ad_group.campaign_id = campaign.campaign_id\n join organization \n on ad_group.organization_id = organization.organization_id\n {{ dbt_utils.group_by(11) }}\n)\n\nselect * \nfrom joined", "language": "sql", "refs": [["stg_apple_search_ads__ad_group_report"], ["stg_apple_search_ads__ad_group_history"], ["stg_apple_search_ads__campaign_history"], ["stg_apple_search_ads__organization"]], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.fivetran_utils.persist_pass_through_columns", "macro.dbt_utils.group_by"], "nodes": ["model.apple_search_ads_source.stg_apple_search_ads__ad_group_report", "model.apple_search_ads_source.stg_apple_search_ads__ad_group_history", "model.apple_search_ads_source.stg_apple_search_ads__campaign_history", "model.apple_search_ads_source.stg_apple_search_ads__organization"]}, "compiled_path": "target/compiled/apple_search_ads/models/apple_search_ads__ad_group_report.sql", "compiled": true, "compiled_code": "\n\nwith report as (\n\n select *\n from `dbt-package-testing`.`zz_dbt_renee_apple_search_ads_source`.`stg_apple_search_ads__ad_group_report`\n), \n\nad_group as (\n\n select * \n from `dbt-package-testing`.`zz_dbt_renee_apple_search_ads_source`.`stg_apple_search_ads__ad_group_history`\n where is_most_recent_record = True\n), \n\ncampaign as (\n\n select *\n from `dbt-package-testing`.`zz_dbt_renee_apple_search_ads_source`.`stg_apple_search_ads__campaign_history`\n where is_most_recent_record = True\n), \n\norganization as (\n\n select * \n from `dbt-package-testing`.`zz_dbt_renee_apple_search_ads_source`.`stg_apple_search_ads__organization`\n), \n\njoined as (\n\n select \n report.date_day,\n organization.organization_id,\n organization.organization_name,\n campaign.campaign_id, \n campaign.campaign_name, \n ad_group.ad_group_id,\n ad_group.ad_group_name,\n report.currency,\n ad_group.ad_group_status,\n ad_group.start_at, \n ad_group.end_at,\n sum(report.taps) as taps,\n sum(report.new_downloads) as new_downloads,\n sum(report.redownloads) as redownloads,\n sum(report.new_downloads + report.redownloads) as total_downloads,\n sum(report.impressions) as impressions,\n sum(report.spend) as spend\n\n \n\n\n\n\n from report\n join ad_group \n on report.ad_group_id = ad_group.ad_group_id\n join campaign \n on ad_group.campaign_id = campaign.campaign_id\n join organization \n on ad_group.organization_id = organization.organization_id\n group by 1,2,3,4,5,6,7,8,9,10,11\n)\n\nselect * \nfrom joined", "extra_ctes_injected": true, "extra_ctes": []}, "model.apple_search_ads.apple_search_ads__keyword_report": {"database": "dbt-package-testing", "schema": "zz_dbt_renee_apple_search_ads", "name": "apple_search_ads__keyword_report", "resource_type": "model", "package_name": "apple_search_ads", "path": "apple_search_ads__keyword_report.sql", "original_file_path": "models/apple_search_ads__keyword_report.sql", "unique_id": "model.apple_search_ads.apple_search_ads__keyword_report", "fqn": ["apple_search_ads", "apple_search_ads__keyword_report"], "alias": "apple_search_ads__keyword_report", "checksum": {"name": "sha256", "checksum": "91250ca8167dc8fee98582ff093d56a498b854e5c66a51325076191016bfb0e7"}, "config": {"enabled": true, "alias": null, "schema": "apple_search_ads", "database": null, "tags": [], "meta": {}, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "post-hook": [], "pre-hook": []}, "tags": [], "description": "Each record represents the daily ad performance of each creative set.", "columns": {"organization_id": {"name": "organization_id", "description": "Organization ID associated with this record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "organization_name": {"name": "organization_name", "description": "Organization name associated with this record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_id": {"name": "campaign_id", "description": "Campaign ID associated with this record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_name": {"name": "campaign_name", "description": "Campaign name associated with this record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "Ad group ID associated with this record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_name": {"name": "ad_group_name", "description": "Ad group name associated with this record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "keyword_id": {"name": "keyword_id", "description": "Creative set name associatd with this record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "keyword_text": {"name": "keyword_text", "description": "Creative set ID associated with this record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "match_type": {"name": "match_type", "description": "Controls how ads are matched to user searches; EXACT or BROAD.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "date_day": {"name": "date_day", "description": "Date of the report.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "currency": {"name": "currency", "description": "This currency value should match the respective organization's currency value.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "keyword_status": {"name": "keyword_status", "description": "The status of the keyword associated with this record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "taps": {"name": "taps", "description": "Number of taps on keyword on given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "new_downloads": {"name": "new_downloads", "description": "App downloads from new users who have never before installed app of keyword in a given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "redownloads": {"name": "redownloads", "description": "Number of user downloads where user deletes app and downloads the same app again following a tap on an ad on the App Store, or downloads the same app to an additional device of keyword in a given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "total_downloads": {"name": "total_downloads", "description": "The sum of new_downloads and redownloads.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "The number of impressions of keyword in a given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The spend on keyword in the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": "apple_search_ads://models/apple_search_ads.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "apple_search_ads", "materialized": "table", "enabled": true}, "created_at": 1688398941.094659, "relation_name": "`dbt-package-testing`.`zz_dbt_renee_apple_search_ads`.`apple_search_ads__keyword_report`", "raw_code": "{{ config(enabled=var('ad_reporting__apple_search_ads_enabled', True)) }}\n\nwith report as (\n\n select *\n from {{ var('keyword_report') }}\n), \n\nkeyword as (\n\n select *\n from {{ var('keyword_history') }}\n where is_most_recent_record = True\n), \n\nad_group as (\n\n select *\n from {{ var('ad_group_history') }}\n where is_most_recent_record = True\n), \n\ncampaign as (\n\n select *\n from {{ var('campaign_history') }}\n where is_most_recent_record = True\n), \n\norganization as (\n\n select * \n from {{ var('organization') }}\n), \n\njoined as (\n\n select \n report.date_day,\n organization.organization_id,\n organization.organization_name,\n campaign.campaign_id, \n campaign.campaign_name, \n ad_group.ad_group_id,\n ad_group.ad_group_name,\n keyword.keyword_id,\n keyword.keyword_text,\n keyword.match_type,\n report.currency,\n keyword.keyword_status,\n sum(report.taps) as taps,\n sum(report.new_downloads) as new_downloads,\n sum(report.redownloads) as redownloads,\n sum(report.new_downloads + report.redownloads) as total_downloads,\n sum(report.impressions) as impressions,\n sum(report.spend) as spend\n\n {{ fivetran_utils.persist_pass_through_columns(pass_through_variable='apple_search_ads__keyword_passthrough_metrics', transform = 'sum') }}\n from report\n join keyword \n on report.keyword_id = keyword.keyword_id\n join ad_group \n on keyword.ad_group_id = ad_group.ad_group_id\n join campaign \n on ad_group.campaign_id = campaign.campaign_id\n join organization \n on ad_group.organization_id = organization.organization_id\n {{ dbt_utils.group_by(12) }}\n)\n\nselect * \nfrom joined", "language": "sql", "refs": [["stg_apple_search_ads__keyword_report"], ["stg_apple_search_ads__keyword_history"], ["stg_apple_search_ads__ad_group_history"], ["stg_apple_search_ads__campaign_history"], ["stg_apple_search_ads__organization"]], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.fivetran_utils.persist_pass_through_columns", "macro.dbt_utils.group_by"], "nodes": ["model.apple_search_ads_source.stg_apple_search_ads__keyword_report", "model.apple_search_ads_source.stg_apple_search_ads__keyword_history", "model.apple_search_ads_source.stg_apple_search_ads__ad_group_history", "model.apple_search_ads_source.stg_apple_search_ads__campaign_history", "model.apple_search_ads_source.stg_apple_search_ads__organization"]}, "compiled_path": "target/compiled/apple_search_ads/models/apple_search_ads__keyword_report.sql", "compiled": true, "compiled_code": "\n\nwith report as (\n\n select *\n from `dbt-package-testing`.`zz_dbt_renee_apple_search_ads_source`.`stg_apple_search_ads__keyword_report`\n), \n\nkeyword as (\n\n select *\n from `dbt-package-testing`.`zz_dbt_renee_apple_search_ads_source`.`stg_apple_search_ads__keyword_history`\n where is_most_recent_record = True\n), \n\nad_group as (\n\n select *\n from `dbt-package-testing`.`zz_dbt_renee_apple_search_ads_source`.`stg_apple_search_ads__ad_group_history`\n where is_most_recent_record = True\n), \n\ncampaign as (\n\n select *\n from `dbt-package-testing`.`zz_dbt_renee_apple_search_ads_source`.`stg_apple_search_ads__campaign_history`\n where is_most_recent_record = True\n), \n\norganization as (\n\n select * \n from `dbt-package-testing`.`zz_dbt_renee_apple_search_ads_source`.`stg_apple_search_ads__organization`\n), \n\njoined as (\n\n select \n report.date_day,\n organization.organization_id,\n organization.organization_name,\n campaign.campaign_id, \n campaign.campaign_name, \n ad_group.ad_group_id,\n ad_group.ad_group_name,\n keyword.keyword_id,\n keyword.keyword_text,\n keyword.match_type,\n report.currency,\n keyword.keyword_status,\n sum(report.taps) as taps,\n sum(report.new_downloads) as new_downloads,\n sum(report.redownloads) as redownloads,\n sum(report.new_downloads + report.redownloads) as total_downloads,\n sum(report.impressions) as impressions,\n sum(report.spend) as spend\n\n \n\n\n\n\n from report\n join keyword \n on report.keyword_id = keyword.keyword_id\n join ad_group \n on keyword.ad_group_id = ad_group.ad_group_id\n join campaign \n on ad_group.campaign_id = campaign.campaign_id\n join organization \n on ad_group.organization_id = organization.organization_id\n group by 1,2,3,4,5,6,7,8,9,10,11,12\n)\n\nselect * \nfrom joined", "extra_ctes_injected": true, "extra_ctes": []}, "model.apple_search_ads.apple_search_ads__search_term_report": {"database": "dbt-package-testing", "schema": "zz_dbt_renee_apple_search_ads", "name": "apple_search_ads__search_term_report", "resource_type": "model", "package_name": "apple_search_ads", "path": "apple_search_ads__search_term_report.sql", "original_file_path": "models/apple_search_ads__search_term_report.sql", "unique_id": "model.apple_search_ads.apple_search_ads__search_term_report", "fqn": ["apple_search_ads", "apple_search_ads__search_term_report"], "alias": "apple_search_ads__search_term_report", "checksum": {"name": "sha256", "checksum": "4827d710dac6b2e632dcf3ba421a8166d719d1ae59e98128736b8689cf4039a1"}, "config": {"enabled": true, "alias": null, "schema": "apple_search_ads", "database": null, "tags": [], "meta": {}, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "post-hook": [], "pre-hook": []}, "tags": [], "description": "Each record represents the daily ad performance of each search term, only includes records with search term values.", "columns": {"organization_id": {"name": "organization_id", "description": "Organization ID associated with this record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "organization_name": {"name": "organization_name", "description": "Organization name associated with this record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_id": {"name": "campaign_id", "description": "Campaign ID associated with this record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_name": {"name": "campaign_name", "description": "Campaign name associated with this record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "Ad group ID associated with this record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_name": {"name": "ad_group_name", "description": "Ad group name associated with this record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "match_type": {"name": "match_type", "description": "Controls how ads are matched to user searches; EXACT or BROAD.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "date_day": {"name": "date_day", "description": "Date of the report.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "search_term_text": {"name": "search_term_text", "description": "Search term text.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "currency": {"name": "currency", "description": "This currency value should match the respective organization's currency value.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "taps": {"name": "taps", "description": "Number of taps on organization on given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "new_downloads": {"name": "new_downloads", "description": "App downloads from new users who have never before installed app of organization in a given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "redownloads": {"name": "redownloads", "description": "Number of user downloads where user deletes app and downloads the same app again following a tap on an ad on the App Store, or downloads the same app to an additional device of organization in a given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "total_downloads": {"name": "total_downloads", "description": "The sum of new_downloads and redownloads.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "The number of impressions of organization in a given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The spend on organization in the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": "apple_search_ads://models/apple_search_ads.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "apple_search_ads", "materialized": "table", "enabled": true}, "created_at": 1688398941.10882, "relation_name": "`dbt-package-testing`.`zz_dbt_renee_apple_search_ads`.`apple_search_ads__search_term_report`", "raw_code": "{{ config(enabled=fivetran_utils.enabled_vars(['ad_reporting__apple_search_ads_enabled','apple_search_ads__using_search_terms'])) }}\n\nwith report as (\n\n select *\n from {{ var('search_term_report') }}\n), \n\ncampaign as (\n\n select *\n from {{ var('campaign_history') }}\n where is_most_recent_record = True\n), \n\norganization as (\n\n select * \n from {{ var('organization') }}\n), \n\njoined as (\n\n select \n report.date_day,\n organization.organization_id,\n organization.organization_name,\n campaign.campaign_id, \n campaign.campaign_name, \n report.ad_group_id,\n report.ad_group_name,\n report.keyword_id,\n report.keyword_text,\n report.search_term_text,\n report.match_type,\n report.currency,\n sum(report.taps) as taps,\n sum(report.new_downloads) as new_downloads,\n sum(report.redownloads) as redownloads,\n sum(report.new_downloads + report.redownloads) as total_downloads,\n sum(report.impressions) as impressions,\n sum(report.spend) as spend\n\n {{ fivetran_utils.persist_pass_through_columns(pass_through_variable='apple_search_ads__search_term_passthrough_metrics', transform = 'sum') }}\n from report\n join campaign \n on report.campaign_id = campaign.campaign_id\n join organization \n on campaign.organization_id = organization.organization_id\n where report.search_term_text is not null\n {{ dbt_utils.group_by(12) }}\n)\n\nselect * \nfrom joined", "language": "sql", "refs": [["stg_apple_search_ads__search_term_report"], ["stg_apple_search_ads__campaign_history"], ["stg_apple_search_ads__organization"]], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.fivetran_utils.enabled_vars", "macro.fivetran_utils.persist_pass_through_columns", "macro.dbt_utils.group_by"], "nodes": ["model.apple_search_ads_source.stg_apple_search_ads__search_term_report", "model.apple_search_ads_source.stg_apple_search_ads__campaign_history", "model.apple_search_ads_source.stg_apple_search_ads__organization"]}, "compiled_path": "target/compiled/apple_search_ads/models/apple_search_ads__search_term_report.sql", "compiled": true, "compiled_code": "\n\nwith report as (\n\n select *\n from `dbt-package-testing`.`zz_dbt_renee_apple_search_ads_source`.`stg_apple_search_ads__search_term_report`\n), \n\ncampaign as (\n\n select *\n from `dbt-package-testing`.`zz_dbt_renee_apple_search_ads_source`.`stg_apple_search_ads__campaign_history`\n where is_most_recent_record = True\n), \n\norganization as (\n\n select * \n from `dbt-package-testing`.`zz_dbt_renee_apple_search_ads_source`.`stg_apple_search_ads__organization`\n), \n\njoined as (\n\n select \n report.date_day,\n organization.organization_id,\n organization.organization_name,\n campaign.campaign_id, \n campaign.campaign_name, \n report.ad_group_id,\n report.ad_group_name,\n report.keyword_id,\n report.keyword_text,\n report.search_term_text,\n report.match_type,\n report.currency,\n sum(report.taps) as taps,\n sum(report.new_downloads) as new_downloads,\n sum(report.redownloads) as redownloads,\n sum(report.new_downloads + report.redownloads) as total_downloads,\n sum(report.impressions) as impressions,\n sum(report.spend) as spend\n\n \n\n\n\n\n from report\n join campaign \n on report.campaign_id = campaign.campaign_id\n join organization \n on campaign.organization_id = organization.organization_id\n where report.search_term_text is not null\n group by 1,2,3,4,5,6,7,8,9,10,11,12\n)\n\nselect * \nfrom joined", "extra_ctes_injected": true, "extra_ctes": []}, "model.apple_search_ads.apple_search_ads__campaign_report": {"database": "dbt-package-testing", "schema": "zz_dbt_renee_apple_search_ads", "name": "apple_search_ads__campaign_report", "resource_type": "model", "package_name": "apple_search_ads", "path": "apple_search_ads__campaign_report.sql", "original_file_path": "models/apple_search_ads__campaign_report.sql", "unique_id": "model.apple_search_ads.apple_search_ads__campaign_report", "fqn": ["apple_search_ads", "apple_search_ads__campaign_report"], "alias": "apple_search_ads__campaign_report", "checksum": {"name": "sha256", "checksum": "d555ffbfe1f914afd50ba592ab961f1ebdb40a4d4315c0696f1c80738930080f"}, "config": {"enabled": true, "alias": null, "schema": "apple_search_ads", "database": null, "tags": [], "meta": {}, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "post-hook": [], "pre-hook": []}, "tags": [], "description": "Each record represents the daily ad performance of each campaign.", "columns": {"organization_id": {"name": "organization_id", "description": "Organization ID associated with this record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "organization_name": {"name": "organization_name", "description": "Organization name associated with this record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_id": {"name": "campaign_id", "description": "Campaign ID associated with this record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_name": {"name": "campaign_name", "description": "Campaign name associated with this record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_status": {"name": "campaign_status", "description": "The status of the campaign associted with this record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "start_at": {"name": "start_at", "description": "The start timestamp of this campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "end_at": {"name": "end_at", "description": "The end timestamp of this campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "date_day": {"name": "date_day", "description": "Date of the report.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "currency": {"name": "currency", "description": "This currency value should match the respective organization's currency value.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "taps": {"name": "taps", "description": "Number of taps on campaign on given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "new_downloads": {"name": "new_downloads", "description": "App downloads from new users who have never before installed app of campaign in a given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "redownloads": {"name": "redownloads", "description": "Number of user downloads where user deletes app and downloads the same app again following a tap on an ad on the App Store, or downloads the same app to an additional device of campaign in a given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "total_downloads": {"name": "total_downloads", "description": "The sum of new_downloads and redownloads.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "The number of impressions of campaign in a given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The spend on campaign in the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": "apple_search_ads://models/apple_search_ads.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "apple_search_ads", "materialized": "table", "enabled": true}, "created_at": 1688398941.085247, "relation_name": "`dbt-package-testing`.`zz_dbt_renee_apple_search_ads`.`apple_search_ads__campaign_report`", "raw_code": "{{ config(enabled=var('ad_reporting__apple_search_ads_enabled', True)) }}\n\nwith report as (\n \n select *\n from {{ var('campaign_report') }}\n\n), \n\ncampaign as (\n\n select *\n from {{ var('campaign_history') }}\n where is_most_recent_record = True\n), \n\norganization as (\n\n select * \n from {{ var('organization') }}\n\n), \n\njoined as (\n\n select \n report.date_day,\n campaign.organization_id,\n organization.organization_name,\n campaign.campaign_id, \n campaign.campaign_name, \n report.currency,\n campaign.campaign_status,\n campaign.start_at,\n campaign.end_at,\n sum(report.taps) as taps,\n sum(report.new_downloads) as new_downloads,\n sum(report.redownloads) as redownloads,\n sum(report.new_downloads + report.redownloads) as total_downloads,\n sum(report.impressions) as impressions,\n sum(report.spend) as spend\n\n {{ fivetran_utils.persist_pass_through_columns(pass_through_variable='apple_search_ads__campaign_passthrough_metrics', transform = 'sum') }}\n from report\n join campaign \n on report.campaign_id = campaign.campaign_id\n join organization \n on campaign.organization_id = organization.organization_id\n {{ dbt_utils.group_by(9) }}\n)\n\nselect * \nfrom joined", "language": "sql", "refs": [["stg_apple_search_ads__campaign_report"], ["stg_apple_search_ads__campaign_history"], ["stg_apple_search_ads__organization"]], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.fivetran_utils.persist_pass_through_columns", "macro.dbt_utils.group_by"], "nodes": ["model.apple_search_ads_source.stg_apple_search_ads__campaign_report", "model.apple_search_ads_source.stg_apple_search_ads__campaign_history", "model.apple_search_ads_source.stg_apple_search_ads__organization"]}, "compiled_path": "target/compiled/apple_search_ads/models/apple_search_ads__campaign_report.sql", "compiled": true, "compiled_code": "\n\nwith report as (\n \n select *\n from `dbt-package-testing`.`zz_dbt_renee_apple_search_ads_source`.`stg_apple_search_ads__campaign_report`\n\n), \n\ncampaign as (\n\n select *\n from `dbt-package-testing`.`zz_dbt_renee_apple_search_ads_source`.`stg_apple_search_ads__campaign_history`\n where is_most_recent_record = True\n), \n\norganization as (\n\n select * \n from `dbt-package-testing`.`zz_dbt_renee_apple_search_ads_source`.`stg_apple_search_ads__organization`\n\n), \n\njoined as (\n\n select \n report.date_day,\n campaign.organization_id,\n organization.organization_name,\n campaign.campaign_id, \n campaign.campaign_name, \n report.currency,\n campaign.campaign_status,\n campaign.start_at,\n campaign.end_at,\n sum(report.taps) as taps,\n sum(report.new_downloads) as new_downloads,\n sum(report.redownloads) as redownloads,\n sum(report.new_downloads + report.redownloads) as total_downloads,\n sum(report.impressions) as impressions,\n sum(report.spend) as spend\n\n \n\n\n\n\n from report\n join campaign \n on report.campaign_id = campaign.campaign_id\n join organization \n on campaign.organization_id = organization.organization_id\n group by 1,2,3,4,5,6,7,8,9\n)\n\nselect * \nfrom joined", "extra_ctes_injected": true, "extra_ctes": []}, "model.apple_search_ads.apple_search_ads__organization_report": {"database": "dbt-package-testing", "schema": "zz_dbt_renee_apple_search_ads", "name": "apple_search_ads__organization_report", "resource_type": "model", "package_name": "apple_search_ads", "path": "apple_search_ads__organization_report.sql", "original_file_path": "models/apple_search_ads__organization_report.sql", "unique_id": "model.apple_search_ads.apple_search_ads__organization_report", "fqn": ["apple_search_ads", "apple_search_ads__organization_report"], "alias": "apple_search_ads__organization_report", "checksum": {"name": "sha256", "checksum": "47084fe8809edaeeda722e20590b19c6488687d05ad654b8fef4a0021088e0a2"}, "config": {"enabled": true, "alias": null, "schema": "apple_search_ads", "database": null, "tags": [], "meta": {}, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "post-hook": [], "pre-hook": []}, "tags": [], "description": "Each record represents the daily ad performance of each organization.", "columns": {"organization_id": {"name": "organization_id", "description": "Organization ID associated with this record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "organization_name": {"name": "organization_name", "description": "Organization name associated with this record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "date_day": {"name": "date_day", "description": "Date of the report.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "currency": {"name": "currency", "description": "This currency value should match the respective organization's currency value.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "taps": {"name": "taps", "description": "Number of taps on organization on given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "new_downloads": {"name": "new_downloads", "description": "App downloads from new users who have never before installed app of organization in a given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "redownloads": {"name": "redownloads", "description": "Number of user downloads where user deletes app and downloads the same app again following a tap on an ad on the App Store, or downloads the same app to an additional device of organization in a given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "total_downloads": {"name": "total_downloads", "description": "The sum of new_downloads and redownloads.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "The number of impressions of organization in a given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The spend on organization in the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": "apple_search_ads://models/apple_search_ads.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "apple_search_ads", "materialized": "table", "enabled": true}, "created_at": 1688398941.099933, "relation_name": "`dbt-package-testing`.`zz_dbt_renee_apple_search_ads`.`apple_search_ads__organization_report`", "raw_code": "{{ config(enabled=var('ad_reporting__apple_search_ads_enabled', True)) }}\n\nwith report as (\n \n select *\n from {{ var('campaign_report') }}\n), \n\ncampaign as (\n\n select *\n from {{ var('campaign_history') }}\n where is_most_recent_record = True\n), \n\norganization as (\n\n select * \n from {{ var('organization') }}\n), \n\njoined as (\n\n select \n report.date_day,\n organization.organization_id,\n organization.organization_name,\n organization.currency,\n sum(report.taps) as taps,\n sum(report.new_downloads) as new_downloads,\n sum(report.redownloads) as redownloads,\n sum(report.new_downloads + report.redownloads) as total_downloads,\n sum(report.impressions) as impressions,\n sum(report.spend) as spend\n\n {{ fivetran_utils.persist_pass_through_columns(pass_through_variable='apple_search_ads__campaign_passthrough_metrics', transform = 'sum') }}\n from report\n join campaign \n on report.campaign_id = campaign.campaign_id\n join organization \n on campaign.organization_id = organization.organization_id\n {{ dbt_utils.group_by(4) }}\n)\n\nselect * \nfrom joined", "language": "sql", "refs": [["stg_apple_search_ads__campaign_report"], ["stg_apple_search_ads__campaign_history"], ["stg_apple_search_ads__organization"]], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.fivetran_utils.persist_pass_through_columns", "macro.dbt_utils.group_by"], "nodes": ["model.apple_search_ads_source.stg_apple_search_ads__campaign_report", "model.apple_search_ads_source.stg_apple_search_ads__campaign_history", "model.apple_search_ads_source.stg_apple_search_ads__organization"]}, "compiled_path": "target/compiled/apple_search_ads/models/apple_search_ads__organization_report.sql", "compiled": true, "compiled_code": "\n\nwith report as (\n \n select *\n from `dbt-package-testing`.`zz_dbt_renee_apple_search_ads_source`.`stg_apple_search_ads__campaign_report`\n), \n\ncampaign as (\n\n select *\n from `dbt-package-testing`.`zz_dbt_renee_apple_search_ads_source`.`stg_apple_search_ads__campaign_history`\n where is_most_recent_record = True\n), \n\norganization as (\n\n select * \n from `dbt-package-testing`.`zz_dbt_renee_apple_search_ads_source`.`stg_apple_search_ads__organization`\n), \n\njoined as (\n\n select \n report.date_day,\n organization.organization_id,\n organization.organization_name,\n organization.currency,\n sum(report.taps) as taps,\n sum(report.new_downloads) as new_downloads,\n sum(report.redownloads) as redownloads,\n sum(report.new_downloads + report.redownloads) as total_downloads,\n sum(report.impressions) as impressions,\n sum(report.spend) as spend\n\n \n\n\n\n\n from report\n join campaign \n on report.campaign_id = campaign.campaign_id\n join organization \n on campaign.organization_id = organization.organization_id\n group by 1,2,3,4\n)\n\nselect * \nfrom joined", "extra_ctes_injected": true, "extra_ctes": []}, "model.apple_search_ads_source.stg_apple_search_ads__campaign_history": {"database": "dbt-package-testing", "schema": "zz_dbt_renee_apple_search_ads_source", "name": "stg_apple_search_ads__campaign_history", "resource_type": "model", "package_name": "apple_search_ads_source", "path": "stg_apple_search_ads__campaign_history.sql", "original_file_path": "models/stg_apple_search_ads__campaign_history.sql", "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__campaign_history", "fqn": ["apple_search_ads_source", "stg_apple_search_ads__campaign_history"], "alias": "stg_apple_search_ads__campaign_history", "checksum": {"name": "sha256", "checksum": "294e54bc10f47e44786be1c445e764b49464643d75c0bf7a4fc3a38f3868e0de"}, "config": {"enabled": true, "alias": null, "schema": "apple_search_ads_source", "database": null, "tags": [], "meta": {}, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "post-hook": [], "pre-hook": []}, "tags": [], "description": "Each record represents a version of a campaign in Apple Search Ads.", "columns": {"modified_at": {"name": "modified_at", "description": "Timestamp of when the campaign object was last modified.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_most_recent_record": {"name": "is_most_recent_record", "description": "Boolean representing whether a record is the most recent version of that record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_id": {"name": "campaign_id", "description": "Campaign ID associated with the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "start_at": {"name": "start_at", "description": "The designated ad group start time (ad group with the earliest start time associated with this campaign).", "meta": {}, "data_type": null, "quote": null, "tags": []}, "end_at": {"name": "end_at", "description": "The designated campaign end time (ad group with the latest start time associated with this campaign).", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_name": {"name": "campaign_name", "description": "Campaign name for the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "organization_id": {"name": "organization_id", "description": "Organization ID associated with the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status": {"name": "status", "description": "The current status of the campaign, values include ENABLED and PAUSED.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": "apple_search_ads_source://models/stg_apple_search_ads.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "apple_search_ads_source", "materialized": "table", "enabled": true}, "created_at": 1688398941.429955, "relation_name": "`dbt-package-testing`.`zz_dbt_renee_apple_search_ads_source`.`stg_apple_search_ads__campaign_history`", "raw_code": "{{ config(enabled=var('ad_reporting__apple_search_ads_enabled', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_apple_search_ads__campaign_history_tmp') }}\n),\n\nfields as (\n\n select\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_apple_search_ads__campaign_history_tmp')),\n staging_columns=get_campaign_history_columns()\n )\n }}\n \n from base\n),\n\nfinal as (\n \n select\n modification_time as modified_at,\n organization_id,\n name as campaign_name,\n id as campaign_id,\n status as campaign_status,\n start_time as start_at,\n end_time as end_at,\n row_number() over (partition by id order by modification_time desc) = 1 as is_most_recent_record\n from fields\n)\n\nselect * \nfrom final", "language": "sql", "refs": [["stg_apple_search_ads__campaign_history_tmp"], ["stg_apple_search_ads__campaign_history_tmp"]], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.apple_search_ads_source.get_campaign_history_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.apple_search_ads_source.stg_apple_search_ads__campaign_history_tmp", "model.apple_search_ads_source.stg_apple_search_ads__campaign_history_tmp"]}, "compiled_path": "target/compiled/apple_search_ads_source/models/stg_apple_search_ads__campaign_history.sql", "compiled": true, "compiled_code": "\n\nwith base as (\n\n select * \n from `dbt-package-testing`.`zz_dbt_renee_apple_search_ads_source`.`stg_apple_search_ads__campaign_history_tmp`\n),\n\nfields as (\n\n select\n \n \n \n end_time\n \n as \n \n end_time\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n modification_time\n \n as \n \n modification_time\n \n, \n \n \n name\n \n as \n \n name\n \n, \n \n \n organization_id\n \n as \n \n organization_id\n \n, \n \n \n start_time\n \n as \n \n start_time\n \n, \n \n \n status\n \n as \n \n status\n \n\n\n\n \n from base\n),\n\nfinal as (\n \n select\n modification_time as modified_at,\n organization_id,\n name as campaign_name,\n id as campaign_id,\n status as campaign_status,\n start_time as start_at,\n end_time as end_at,\n row_number() over (partition by id order by modification_time desc) = 1 as is_most_recent_record\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": []}, "model.apple_search_ads_source.stg_apple_search_ads__ad_report": {"database": "dbt-package-testing", "schema": "zz_dbt_renee_apple_search_ads_source", "name": "stg_apple_search_ads__ad_report", "resource_type": "model", "package_name": "apple_search_ads_source", "path": "stg_apple_search_ads__ad_report.sql", "original_file_path": "models/stg_apple_search_ads__ad_report.sql", "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__ad_report", "fqn": ["apple_search_ads_source", "stg_apple_search_ads__ad_report"], "alias": "stg_apple_search_ads__ad_report", "checksum": {"name": "sha256", "checksum": "45019dc2d949eecadbbd9d4a052049a60dca00c32f726da678972fa8bdadd1f6"}, "config": {"enabled": true, "alias": null, "schema": "apple_search_ads_source", "database": null, "tags": [], "meta": {}, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "post-hook": [], "pre-hook": []}, "tags": [], "description": "Each record represents the daily performance of an ad in Apple Search Ads.", "columns": {"date_day": {"name": "date_day", "description": "Date for daily report aggregation.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_id": {"name": "campaign_id", "description": "Campaign ID associated with the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "Ad group ID associated with the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_id": {"name": "ad_id", "description": "Ad ID associated with the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "Number of times your ad appeared in App Store search results.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The sum of costs associated with the number of impressions served; Spend is measured in the currency used in the campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "currency": {"name": "currency", "description": "This currency value should match the respective organization's currency value.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "new_downloads": {"name": "new_downloads", "description": "App downloads from new users who have never before installed the respective app.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "redownloads": {"name": "redownloads", "description": "Occurs when a user downloads respective app, deletes it, and downloads the same app again following a tap on an ad on the App Store, or downloads the same app to an additional device.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "taps": {"name": "taps", "description": "The number of times ad was tapped by users within the reporting time period.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": "apple_search_ads_source://models/stg_apple_search_ads.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "apple_search_ads_source", "materialized": "table", "enabled": true}, "created_at": 1688398941.425709, "relation_name": "`dbt-package-testing`.`zz_dbt_renee_apple_search_ads_source`.`stg_apple_search_ads__ad_report`", "raw_code": "{{ config(enabled=var('ad_reporting__apple_search_ads_enabled', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_apple_search_ads__ad_report_tmp') }}\n),\n\nfields as (\n\n select\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_apple_search_ads__ad_report_tmp')),\n staging_columns=get_ad_level_report_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n date as date_day,\n campaign_id,\n ad_group_id,\n ad_id,\n impressions,\n local_spend_amount as spend,\n local_spend_currency as currency,\n new_downloads,\n redownloads,\n taps\n\n {{ fivetran_utils.fill_pass_through_columns('apple_search_ads__ad_passthrough_metrics') }}\n from fields\n)\n\nselect *\nfrom final", "language": "sql", "refs": [["stg_apple_search_ads__ad_report_tmp"], ["stg_apple_search_ads__ad_report_tmp"]], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.apple_search_ads_source.get_ad_level_report_columns", "macro.fivetran_utils.fill_staging_columns", "macro.fivetran_utils.fill_pass_through_columns"], "nodes": ["model.apple_search_ads_source.stg_apple_search_ads__ad_report_tmp", "model.apple_search_ads_source.stg_apple_search_ads__ad_report_tmp"]}, "compiled_path": "target/compiled/apple_search_ads_source/models/stg_apple_search_ads__ad_report.sql", "compiled": true, "compiled_code": "\n\nwith base as (\n\n select * \n from `dbt-package-testing`.`zz_dbt_renee_apple_search_ads_source`.`stg_apple_search_ads__ad_report_tmp`\n),\n\nfields as (\n\n select\n \n \n \n ad_group_id\n \n as \n \n ad_group_id\n \n, \n \n \n ad_id\n \n as \n \n ad_id\n \n, \n \n \n campaign_id\n \n as \n \n campaign_id\n \n, \n \n \n date\n \n as \n \n date\n \n, \n \n \n impressions\n \n as \n \n impressions\n \n, \n \n \n local_spend_amount\n \n as \n \n local_spend_amount\n \n, \n \n \n local_spend_currency\n \n as \n \n local_spend_currency\n \n, \n \n \n new_downloads\n \n as \n \n new_downloads\n \n, \n \n \n redownloads\n \n as \n \n redownloads\n \n, \n \n \n taps\n \n as \n \n taps\n \n\n\n\n from base\n),\n\nfinal as (\n \n select \n date as date_day,\n campaign_id,\n ad_group_id,\n ad_id,\n impressions,\n local_spend_amount as spend,\n local_spend_currency as currency,\n new_downloads,\n redownloads,\n taps\n\n \n\n\n\n\n from fields\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": []}, "model.apple_search_ads_source.stg_apple_search_ads__campaign_report": {"database": "dbt-package-testing", "schema": "zz_dbt_renee_apple_search_ads_source", "name": "stg_apple_search_ads__campaign_report", "resource_type": "model", "package_name": "apple_search_ads_source", "path": "stg_apple_search_ads__campaign_report.sql", "original_file_path": "models/stg_apple_search_ads__campaign_report.sql", "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__campaign_report", "fqn": ["apple_search_ads_source", "stg_apple_search_ads__campaign_report"], "alias": "stg_apple_search_ads__campaign_report", "checksum": {"name": "sha256", "checksum": "c4681d203c58d68501b9d2d3a84fc28598e9705eb4cc7f4496be52e3209768d3"}, "config": {"enabled": true, "alias": null, "schema": "apple_search_ads_source", "database": null, "tags": [], "meta": {}, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "post-hook": [], "pre-hook": []}, "tags": [], "description": "Each record represents the daily performance of a campaign in Apple Search Ads.", "columns": {"campaign_id": {"name": "campaign_id", "description": "Campaign ID associated with the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "date_day": {"name": "date_day", "description": "Date for daily report aggregation.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "Number of times your ad appeared in App Store search results.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The sum of costs associated with the number of impressions served; Spend is measured in the currency used in the campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "currency": {"name": "currency", "description": "This currency value should match the respective organization's currency value.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "new_downloads": {"name": "new_downloads", "description": "App downloads from new users who have never before installed the respective app.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "redownloads": {"name": "redownloads", "description": "Occurs when a user downloads respective app, deletes it, and downloads the same app again following a tap on an ad on the App Store, or downloads the same app to an additional device.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "taps": {"name": "taps", "description": "The number of times ad was tapped by users within the reporting time period.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": "apple_search_ads_source://models/stg_apple_search_ads.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "apple_search_ads_source", "materialized": "table", "enabled": true}, "created_at": 1688398941.433967, "relation_name": "`dbt-package-testing`.`zz_dbt_renee_apple_search_ads_source`.`stg_apple_search_ads__campaign_report`", "raw_code": "{{ config(enabled=var('ad_reporting__apple_search_ads_enabled', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_apple_search_ads__campaign_report_tmp') }}\n),\n\nfields as (\n\n select\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_apple_search_ads__campaign_report_tmp')),\n staging_columns=get_campaign_report_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n date as date_day,\n id as campaign_id,\n impressions,\n local_spend_amount as spend,\n local_spend_currency as currency,\n new_downloads,\n redownloads,\n taps\n\n {{ fivetran_utils.fill_pass_through_columns('apple_search_ads__campaign_passthrough_metrics') }}\n from fields\n)\n\nselect * \nfrom final", "language": "sql", "refs": [["stg_apple_search_ads__campaign_report_tmp"], ["stg_apple_search_ads__campaign_report_tmp"]], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.apple_search_ads_source.get_campaign_report_columns", "macro.fivetran_utils.fill_staging_columns", "macro.fivetran_utils.fill_pass_through_columns"], "nodes": ["model.apple_search_ads_source.stg_apple_search_ads__campaign_report_tmp", "model.apple_search_ads_source.stg_apple_search_ads__campaign_report_tmp"]}, "compiled_path": "target/compiled/apple_search_ads_source/models/stg_apple_search_ads__campaign_report.sql", "compiled": true, "compiled_code": "\n\nwith base as (\n\n select * \n from `dbt-package-testing`.`zz_dbt_renee_apple_search_ads_source`.`stg_apple_search_ads__campaign_report_tmp`\n),\n\nfields as (\n\n select\n \n \n \n date\n \n as \n \n date\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n impressions\n \n as \n \n impressions\n \n, \n \n \n local_spend_amount\n \n as \n \n local_spend_amount\n \n, \n \n \n local_spend_currency\n \n as \n \n local_spend_currency\n \n, \n \n \n new_downloads\n \n as \n \n new_downloads\n \n, \n \n \n redownloads\n \n as \n \n redownloads\n \n, \n \n \n taps\n \n as \n \n taps\n \n\n\n\n from base\n),\n\nfinal as (\n \n select \n date as date_day,\n id as campaign_id,\n impressions,\n local_spend_amount as spend,\n local_spend_currency as currency,\n new_downloads,\n redownloads,\n taps\n\n \n\n\n\n\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": []}, "model.apple_search_ads_source.stg_apple_search_ads__organization": {"database": "dbt-package-testing", "schema": "zz_dbt_renee_apple_search_ads_source", "name": "stg_apple_search_ads__organization", "resource_type": "model", "package_name": "apple_search_ads_source", "path": "stg_apple_search_ads__organization.sql", "original_file_path": "models/stg_apple_search_ads__organization.sql", "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__organization", "fqn": ["apple_search_ads_source", "stg_apple_search_ads__organization"], "alias": "stg_apple_search_ads__organization", "checksum": {"name": "sha256", "checksum": "24d3ee4e2d050e8ade0b3222ea535ed1837d2ea4265f00cf3f3b7b67a7a30dab"}, "config": {"enabled": true, "alias": null, "schema": "apple_search_ads_source", "database": null, "tags": [], "meta": {}, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "post-hook": [], "pre-hook": []}, "tags": [], "description": "Each record represents an organization in Apple Search Ads.", "columns": {"organization_id": {"name": "organization_id", "description": "Organization ID associated with the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "currency": {"name": "currency", "description": "Specified currency for respective organization.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "payment_model": {"name": "payment_model", "description": "Values include 'LOC', 'PAYG' or (payment method hasn't been set).", "meta": {}, "data_type": null, "quote": null, "tags": []}, "organization_name": {"name": "organization_name", "description": "Name of organization.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "time_zone": {"name": "time_zone", "description": "Organization default timezone; values can be ORTZ or UTC.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": "apple_search_ads_source://models/stg_apple_search_ads.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "apple_search_ads_source", "materialized": "table", "enabled": true}, "created_at": 1688398941.446522, "relation_name": "`dbt-package-testing`.`zz_dbt_renee_apple_search_ads_source`.`stg_apple_search_ads__organization`", "raw_code": "{{ config(enabled=var('ad_reporting__apple_search_ads_enabled', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_apple_search_ads__organization_tmp') }}\n),\n\nfields as (\n\n select\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_apple_search_ads__organization_tmp')),\n staging_columns=get_organization_columns()\n )\n }}\n \n from base\n),\n\nfinal as (\n \n select \n id as organization_id,\n currency,\n payment_model,\n name as organization_name,\n time_zone\n from fields\n)\n\nselect * \nfrom final", "language": "sql", "refs": [["stg_apple_search_ads__organization_tmp"], ["stg_apple_search_ads__organization_tmp"]], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.apple_search_ads_source.get_organization_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.apple_search_ads_source.stg_apple_search_ads__organization_tmp", "model.apple_search_ads_source.stg_apple_search_ads__organization_tmp"]}, "compiled_path": "target/compiled/apple_search_ads_source/models/stg_apple_search_ads__organization.sql", "compiled": true, "compiled_code": "\n\nwith base as (\n\n select * \n from `dbt-package-testing`.`zz_dbt_renee_apple_search_ads_source`.`stg_apple_search_ads__organization_tmp`\n),\n\nfields as (\n\n select\n \n \n \n currency\n \n as \n \n currency\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n name\n \n as \n \n name\n \n, \n \n \n payment_model\n \n as \n \n payment_model\n \n, \n \n \n time_zone\n \n as \n \n time_zone\n \n\n\n\n \n from base\n),\n\nfinal as (\n \n select \n id as organization_id,\n currency,\n payment_model,\n name as organization_name,\n time_zone\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": []}, "model.apple_search_ads_source.stg_apple_search_ads__keyword_report": {"database": "dbt-package-testing", "schema": "zz_dbt_renee_apple_search_ads_source", "name": "stg_apple_search_ads__keyword_report", "resource_type": "model", "package_name": "apple_search_ads_source", "path": "stg_apple_search_ads__keyword_report.sql", "original_file_path": "models/stg_apple_search_ads__keyword_report.sql", "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__keyword_report", "fqn": ["apple_search_ads_source", "stg_apple_search_ads__keyword_report"], "alias": "stg_apple_search_ads__keyword_report", "checksum": {"name": "sha256", "checksum": "087cf73b201edc946f1b30c28096f4d513aca817fc3e510cac05f28dc781c665"}, "config": {"enabled": true, "alias": null, "schema": "apple_search_ads_source", "database": null, "tags": [], "meta": {}, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "post-hook": [], "pre-hook": []}, "tags": [], "description": "Each record represents the daily performance of a keyword in Apple Search Ads.", "columns": {"keyword_id": {"name": "keyword_id", "description": "Keyword ID associated with the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "date_day": {"name": "date_day", "description": "Date for daily report aggregation.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "Number of times your ad appeared in App Store search results.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The sum of costs associated with the number of impressions served; Spend is measured in the currency used in the campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "currency": {"name": "currency", "description": "This currency value should match the respective organization's currency value.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "new_downloads": {"name": "new_downloads", "description": "App downloads from new users who have never before installed the respective app.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "redownloads": {"name": "redownloads", "description": "Occurs when a user downloads respective app, deletes it, and downloads the same app again following a tap on an ad on the App Store, or downloads the same app to an additional device.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "taps": {"name": "taps", "description": "The number of times ad was tapped by users within the reporting time period.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": "apple_search_ads_source://models/stg_apple_search_ads.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "apple_search_ads_source", "materialized": "table", "enabled": true}, "created_at": 1688398941.443517, "relation_name": "`dbt-package-testing`.`zz_dbt_renee_apple_search_ads_source`.`stg_apple_search_ads__keyword_report`", "raw_code": "{{ config(enabled=var('ad_reporting__apple_search_ads_enabled', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_apple_search_ads__keyword_report_tmp') }}\n),\n\nfields as (\n\n select\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_apple_search_ads__keyword_report_tmp')),\n staging_columns=get_keyword_report_columns()\n )\n }} \n from base\n),\n\nfinal as (\n \n select \n date as date_day,\n id as keyword_id,\n impressions,\n local_spend_amount as spend,\n local_spend_currency as currency,\n new_downloads,\n redownloads,\n taps\n\n {{ fivetran_utils.fill_pass_through_columns('apple_search_ads__keyword_passthrough_metrics') }}\n from fields\n)\n\nselect * \nfrom final", "language": "sql", "refs": [["stg_apple_search_ads__keyword_report_tmp"], ["stg_apple_search_ads__keyword_report_tmp"]], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.apple_search_ads_source.get_keyword_report_columns", "macro.fivetran_utils.fill_staging_columns", "macro.fivetran_utils.fill_pass_through_columns"], "nodes": ["model.apple_search_ads_source.stg_apple_search_ads__keyword_report_tmp", "model.apple_search_ads_source.stg_apple_search_ads__keyword_report_tmp"]}, "compiled_path": "target/compiled/apple_search_ads_source/models/stg_apple_search_ads__keyword_report.sql", "compiled": true, "compiled_code": "\n\nwith base as (\n\n select * \n from `dbt-package-testing`.`zz_dbt_renee_apple_search_ads_source`.`stg_apple_search_ads__keyword_report_tmp`\n),\n\nfields as (\n\n select\n \n \n \n date\n \n as \n \n date\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n impressions\n \n as \n \n impressions\n \n, \n \n \n local_spend_amount\n \n as \n \n local_spend_amount\n \n, \n \n \n local_spend_currency\n \n as \n \n local_spend_currency\n \n, \n \n \n new_downloads\n \n as \n \n new_downloads\n \n, \n \n \n redownloads\n \n as \n \n redownloads\n \n, \n \n \n taps\n \n as \n \n taps\n \n\n\n \n from base\n),\n\nfinal as (\n \n select \n date as date_day,\n id as keyword_id,\n impressions,\n local_spend_amount as spend,\n local_spend_currency as currency,\n new_downloads,\n redownloads,\n taps\n\n \n\n\n\n\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": []}, "model.apple_search_ads_source.stg_apple_search_ads__keyword_history": {"database": "dbt-package-testing", "schema": "zz_dbt_renee_apple_search_ads_source", "name": "stg_apple_search_ads__keyword_history", "resource_type": "model", "package_name": "apple_search_ads_source", "path": "stg_apple_search_ads__keyword_history.sql", "original_file_path": "models/stg_apple_search_ads__keyword_history.sql", "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__keyword_history", "fqn": ["apple_search_ads_source", "stg_apple_search_ads__keyword_history"], "alias": "stg_apple_search_ads__keyword_history", "checksum": {"name": "sha256", "checksum": "5ee576e97a5fffaf97916376ca747fcb9389b6733d268f9b42308a8f244ade8e"}, "config": {"enabled": true, "alias": null, "schema": "apple_search_ads_source", "database": null, "tags": [], "meta": {}, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "post-hook": [], "pre-hook": []}, "tags": [], "description": "Each record represents a version of a keyword in Apple Search Ads.", "columns": {"modified_at": {"name": "modified_at", "description": "Timestamp of when the keyword object was last modified.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_most_recent_record": {"name": "is_most_recent_record", "description": "Boolean representing whether a record is the most recent version of that record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "keyword_id": {"name": "keyword_id", "description": "Keyword ID associated with the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_id": {"name": "campaign_id", "description": "Campaign ID associated with the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "Ad group ID associated with the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "bid_amount": {"name": "bid_amount", "description": "The bid amount to display your ad for the matching text value.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "bid_currency": {"name": "bid_currency", "description": "This currency value should match the respective organization's currency value.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "match_type": {"name": "match_type", "description": "Controls how ads are matched to user searches; EXACT or BROAD.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status": {"name": "status", "description": "The current status of the keyword, values include ENABLED and PAUSED.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "keyword_text": {"name": "keyword_text", "description": "The word or phrase to match in user searches, to show respective ad.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": "apple_search_ads_source://models/stg_apple_search_ads.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "apple_search_ads_source", "materialized": "table", "enabled": true}, "created_at": 1688398941.439299, "relation_name": "`dbt-package-testing`.`zz_dbt_renee_apple_search_ads_source`.`stg_apple_search_ads__keyword_history`", "raw_code": "{{ config(enabled=var('ad_reporting__apple_search_ads_enabled', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_apple_search_ads__keyword_history_tmp') }}\n),\n\nfields as (\n\n select\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_apple_search_ads__keyword_history_tmp')),\n staging_columns=get_keyword_history_columns()\n )\n }}\n \n from base\n),\n\nfinal as (\n \n select \n modification_time as modified_at,\n campaign_id,\n ad_group_id,\n id as keyword_id,\n bid_amount, \n bid_currency,\n match_type,\n status as keyword_status,\n text as keyword_text,\n row_number() over (partition by id order by modification_time desc) = 1 as is_most_recent_record\n from fields\n)\n\nselect * \nfrom final", "language": "sql", "refs": [["stg_apple_search_ads__keyword_history_tmp"], ["stg_apple_search_ads__keyword_history_tmp"]], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.apple_search_ads_source.get_keyword_history_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.apple_search_ads_source.stg_apple_search_ads__keyword_history_tmp", "model.apple_search_ads_source.stg_apple_search_ads__keyword_history_tmp"]}, "compiled_path": "target/compiled/apple_search_ads_source/models/stg_apple_search_ads__keyword_history.sql", "compiled": true, "compiled_code": "\n\nwith base as (\n\n select * \n from `dbt-package-testing`.`zz_dbt_renee_apple_search_ads_source`.`stg_apple_search_ads__keyword_history_tmp`\n),\n\nfields as (\n\n select\n \n \n \n ad_group_id\n \n as \n \n ad_group_id\n \n, \n \n \n bid_amount\n \n as \n \n bid_amount\n \n, \n \n \n bid_currency\n \n as \n \n bid_currency\n \n, \n \n \n campaign_id\n \n as \n \n campaign_id\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n match_type\n \n as \n \n match_type\n \n, \n \n \n modification_time\n \n as \n \n modification_time\n \n, \n \n \n status\n \n as \n \n status\n \n, \n \n \n text\n \n as \n \n text\n \n\n\n\n \n from base\n),\n\nfinal as (\n \n select \n modification_time as modified_at,\n campaign_id,\n ad_group_id,\n id as keyword_id,\n bid_amount, \n bid_currency,\n match_type,\n status as keyword_status,\n text as keyword_text,\n row_number() over (partition by id order by modification_time desc) = 1 as is_most_recent_record\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": []}, "model.apple_search_ads_source.stg_apple_search_ads__search_term_report": {"database": "dbt-package-testing", "schema": "zz_dbt_renee_apple_search_ads_source", "name": "stg_apple_search_ads__search_term_report", "resource_type": "model", "package_name": "apple_search_ads_source", "path": "stg_apple_search_ads__search_term_report.sql", "original_file_path": "models/stg_apple_search_ads__search_term_report.sql", "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__search_term_report", "fqn": ["apple_search_ads_source", "stg_apple_search_ads__search_term_report"], "alias": "stg_apple_search_ads__search_term_report", "checksum": {"name": "sha256", "checksum": "6345a092b669f3283eb8b09b8590cdcf4e89da7ac486c18bb626315fac6db0e0"}, "config": {"enabled": true, "alias": null, "schema": "apple_search_ads_source", "database": null, "tags": [], "meta": {}, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "post-hook": [], "pre-hook": []}, "tags": [], "description": "Each record represents the daily performance of a search term in Apple Search Ads.", "columns": {"_fivetran_id": {"name": "_fivetran_id", "description": "A Fivetran internal unique id that helps us avoid duplicate rows in primary keyless tables.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "Ad group ID associated with the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_format": {"name": "ad_format", "description": "Format of creative set.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_id": {"name": "campaign_id", "description": "Campaign ID associated with the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "date_day": {"name": "date_day", "description": "Date for daily report aggregation.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_name": {"name": "ad_group_name", "description": "Ad group name.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "bid_amount": {"name": "bid_amount", "description": "The bid amount to display your ad for the matching text value.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "bid_currency": {"name": "bid_currency", "description": "This currency value should match the respective organization's currency value.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "keyword_text": {"name": "keyword_text", "description": "The word or phrase to match in user searches, to show respective ad.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "keyword_display_status": {"name": "keyword_display_status", "description": "The keyword display status can either be ACTIVE or PAUSED.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "keyword_id": {"name": "keyword_id", "description": "Keyword ID associated with the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The sum of costs associated with the number of impressions served; Spend is measured in the currency used in the campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "currency": {"name": "currency", "description": "This currency value should match the respective organization's currency value.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "match_type": {"name": "match_type", "description": "Controls how ads are matched to user searches; values include EXACT, BROAD or AUTO.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "search_term_source": {"name": "search_term_source", "description": "The search term source can either be TARGETED or AUTO; if this value is AUTO so will match_type.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "search_term_text": {"name": "search_term_text", "description": "The word or phrase to match of user searches.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "Number of times your ad appeared in App Store search results.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "taps": {"name": "taps", "description": "The number of times ad was tapped by users within the reporting time period.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "new_downloads": {"name": "new_downloads", "description": "App downloads from new users who have never before installed the respective app.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "redownloads": {"name": "redownloads", "description": "Occurs when a user downloads respective app, deletes it, and downloads the same app again following a tap on an ad on the App Store, or downloads the same app to an additional device.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": "apple_search_ads_source://models/stg_apple_search_ads.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "apple_search_ads_source", "materialized": "table", "enabled": true}, "created_at": 1688398941.456001, "relation_name": "`dbt-package-testing`.`zz_dbt_renee_apple_search_ads_source`.`stg_apple_search_ads__search_term_report`", "raw_code": "{{ config(enabled=fivetran_utils.enabled_vars(['ad_reporting__apple_search_ads_enabled','apple_search_ads__using_search_terms'])) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_apple_search_ads__search_term_report_tmp') }}\n),\n\nfields as (\n\n select\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_apple_search_ads__search_term_report_tmp')),\n staging_columns=get_search_term_report_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n date as date_day,\n _fivetran_id,\n campaign_id,\n ad_group_id,\n ad_group_name,\n bid_amount_amount as bid_amount,\n bid_amount_currency as bid_currency,\n keyword as keyword_text,\n keyword_display_status,\n keyword_id,\n local_spend_amount as spend,\n local_spend_currency as currency,\n match_type,\n search_term_source,\n search_term_text,\n impressions,\n taps,\n new_downloads,\n redownloads\n\n {{ fivetran_utils.fill_pass_through_columns('apple_search_ads__search_term_passthrough_metrics') }}\n from fields\n)\n\nselect * \nfrom final", "language": "sql", "refs": [["stg_apple_search_ads__search_term_report_tmp"], ["stg_apple_search_ads__search_term_report_tmp"]], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.fivetran_utils.enabled_vars", "macro.apple_search_ads_source.get_search_term_report_columns", "macro.fivetran_utils.fill_staging_columns", "macro.fivetran_utils.fill_pass_through_columns"], "nodes": ["model.apple_search_ads_source.stg_apple_search_ads__search_term_report_tmp", "model.apple_search_ads_source.stg_apple_search_ads__search_term_report_tmp"]}, "compiled_path": "target/compiled/apple_search_ads_source/models/stg_apple_search_ads__search_term_report.sql", "compiled": true, "compiled_code": "\n\nwith base as (\n\n select * \n from `dbt-package-testing`.`zz_dbt_renee_apple_search_ads_source`.`stg_apple_search_ads__search_term_report_tmp`\n),\n\nfields as (\n\n select\n \n \n \n _fivetran_id\n \n as \n \n _fivetran_id\n \n, \n \n \n ad_group_deleted\n \n as \n \n ad_group_deleted\n \n, \n \n \n ad_group_id\n \n as \n \n ad_group_id\n \n, \n \n \n ad_group_name\n \n as \n \n ad_group_name\n \n, \n \n \n bid_amount_amount\n \n as \n \n bid_amount_amount\n \n, \n \n \n bid_amount_currency\n \n as \n \n bid_amount_currency\n \n, \n \n \n campaign_id\n \n as \n \n campaign_id\n \n, \n \n \n date\n \n as \n \n date\n \n, \n \n \n deleted\n \n as \n \n deleted\n \n, \n \n \n impressions\n \n as \n \n impressions\n \n, \n \n \n keyword\n \n as \n \n keyword\n \n, \n \n \n keyword_display_status\n \n as \n \n keyword_display_status\n \n, \n \n \n keyword_id\n \n as \n \n keyword_id\n \n, \n \n \n local_spend_amount\n \n as \n \n local_spend_amount\n \n, \n \n \n local_spend_currency\n \n as \n \n local_spend_currency\n \n, \n \n \n match_type\n \n as \n \n match_type\n \n, \n \n \n new_downloads\n \n as \n \n new_downloads\n \n, \n \n \n redownloads\n \n as \n \n redownloads\n \n, \n \n \n search_term_source\n \n as \n \n search_term_source\n \n, \n \n \n search_term_text\n \n as \n \n search_term_text\n \n, \n \n \n taps\n \n as \n \n taps\n \n\n\n\n from base\n),\n\nfinal as (\n \n select \n date as date_day,\n _fivetran_id,\n campaign_id,\n ad_group_id,\n ad_group_name,\n bid_amount_amount as bid_amount,\n bid_amount_currency as bid_currency,\n keyword as keyword_text,\n keyword_display_status,\n keyword_id,\n local_spend_amount as spend,\n local_spend_currency as currency,\n match_type,\n search_term_source,\n search_term_text,\n impressions,\n taps,\n new_downloads,\n redownloads\n\n \n\n\n\n\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": []}, "model.apple_search_ads_source.stg_apple_search_ads__ad_group_history": {"database": "dbt-package-testing", "schema": "zz_dbt_renee_apple_search_ads_source", "name": "stg_apple_search_ads__ad_group_history", "resource_type": "model", "package_name": "apple_search_ads_source", "path": "stg_apple_search_ads__ad_group_history.sql", "original_file_path": "models/stg_apple_search_ads__ad_group_history.sql", "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__ad_group_history", "fqn": ["apple_search_ads_source", "stg_apple_search_ads__ad_group_history"], "alias": "stg_apple_search_ads__ad_group_history", "checksum": {"name": "sha256", "checksum": "b2081179706957545ca7818fd65e298a3948051372426039e2ecffd091fef371"}, "config": {"enabled": true, "alias": null, "schema": "apple_search_ads_source", "database": null, "tags": [], "meta": {}, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "post-hook": [], "pre-hook": []}, "tags": [], "description": "Each record represents a version of an ad group in Apple Search Ads.", "columns": {"modified_at": {"name": "modified_at", "description": "Timestamp of when the ad group object was last modified.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_most_recent_record": {"name": "is_most_recent_record", "description": "Boolean indicating whether record was the most recent instance.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "Ad group ID associated with the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_id": {"name": "campaign_id", "description": "Campaign ID associated with the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "start_at": {"name": "start_at", "description": "The designated ad group start time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "end_at": {"name": "end_at", "description": "The designated ad group end time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_name": {"name": "ad_group_name", "description": "Ad group name.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "organization_id": {"name": "organization_id", "description": "Organization ID associated with the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status": {"name": "status", "description": "The current status of the ad group, values include ENABLED and PAUSED.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": "apple_search_ads_source://models/stg_apple_search_ads.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "apple_search_ads_source", "materialized": "table", "enabled": true}, "created_at": 1688398941.411684, "relation_name": "`dbt-package-testing`.`zz_dbt_renee_apple_search_ads_source`.`stg_apple_search_ads__ad_group_history`", "raw_code": "{{ config(enabled=var('ad_reporting__apple_search_ads_enabled', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_apple_search_ads__ad_group_history_tmp') }}\n),\n\nfields as (\n\n select\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_apple_search_ads__ad_group_history_tmp')),\n staging_columns=get_ad_group_history_columns()\n )\n }}\n \n from base\n),\n\nfinal as (\n select \n modification_time as modified_at,\n organization_id,\n campaign_id,\n name as ad_group_name,\n id as ad_group_id,\n status as ad_group_status,\n start_time as start_at,\n end_time as end_at,\n row_number() over (partition by id order by modification_time desc) = 1 as is_most_recent_record\n from fields\n)\n\nselect * \nfrom final", "language": "sql", "refs": [["stg_apple_search_ads__ad_group_history_tmp"], ["stg_apple_search_ads__ad_group_history_tmp"]], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.apple_search_ads_source.get_ad_group_history_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.apple_search_ads_source.stg_apple_search_ads__ad_group_history_tmp", "model.apple_search_ads_source.stg_apple_search_ads__ad_group_history_tmp"]}, "compiled_path": "target/compiled/apple_search_ads_source/models/stg_apple_search_ads__ad_group_history.sql", "compiled": true, "compiled_code": "\n\nwith base as (\n\n select * \n from `dbt-package-testing`.`zz_dbt_renee_apple_search_ads_source`.`stg_apple_search_ads__ad_group_history_tmp`\n),\n\nfields as (\n\n select\n \n \n \n campaign_id\n \n as \n \n campaign_id\n \n, \n \n \n end_time\n \n as \n \n end_time\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n modification_time\n \n as \n \n modification_time\n \n, \n \n \n name\n \n as \n \n name\n \n, \n \n \n organization_id\n \n as \n \n organization_id\n \n, \n \n \n start_time\n \n as \n \n start_time\n \n, \n \n \n status\n \n as \n \n status\n \n\n\n\n \n from base\n),\n\nfinal as (\n select \n modification_time as modified_at,\n organization_id,\n campaign_id,\n name as ad_group_name,\n id as ad_group_id,\n status as ad_group_status,\n start_time as start_at,\n end_time as end_at,\n row_number() over (partition by id order by modification_time desc) = 1 as is_most_recent_record\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": []}, "model.apple_search_ads_source.stg_apple_search_ads__ad_history": {"database": "dbt-package-testing", "schema": "zz_dbt_renee_apple_search_ads_source", "name": "stg_apple_search_ads__ad_history", "resource_type": "model", "package_name": "apple_search_ads_source", "path": "stg_apple_search_ads__ad_history.sql", "original_file_path": "models/stg_apple_search_ads__ad_history.sql", "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__ad_history", "fqn": ["apple_search_ads_source", "stg_apple_search_ads__ad_history"], "alias": "stg_apple_search_ads__ad_history", "checksum": {"name": "sha256", "checksum": "4abb76f80d87af32ba976747bb0accf3b1641854a41a3e9d8ebec94533405d23"}, "config": {"enabled": true, "alias": null, "schema": "apple_search_ads_source", "database": null, "tags": [], "meta": {}, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "post-hook": [], "pre-hook": []}, "tags": [], "description": "Each record represents a version of an ad in Apple Search Ads.", "columns": {"created_at": {"name": "created_at", "description": "Timestamp of when ad was created.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "modified_at": {"name": "modified_at", "description": "Timestamp of when the ad object was last modified.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "organization_id": {"name": "organization_id", "description": "Organization ID associated with the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_id": {"name": "campaign_id", "description": "Campaign ID associated with the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "Ad group ID associated with the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_name": {"name": "ad_name", "description": "Ad name associated with the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_id": {"name": "ad_id", "description": "Ad ID associated with the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_status": {"name": "ad_status", "description": "The current status of the ad, values include ENABLED and PAUSED.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": "apple_search_ads_source://models/stg_apple_search_ads.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "apple_search_ads_source", "materialized": "table", "enabled": true}, "created_at": 1688398941.420622, "relation_name": "`dbt-package-testing`.`zz_dbt_renee_apple_search_ads_source`.`stg_apple_search_ads__ad_history`", "raw_code": "{{ config(enabled=var('ad_reporting__apple_search_ads_enabled', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_apple_search_ads__ad_history_tmp') }}\n),\n\nfields as (\n\n select\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_apple_search_ads__ad_history_tmp')),\n staging_columns=get_ad_history_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n creation_time as created_at,\n modification_time as modified_at,\n org_id as organization_id,\n campaign_id,\n ad_group_id,\n name as ad_name,\n id as ad_id,\n status as ad_status, \n row_number() over (partition by id order by modification_time desc) = 1 as is_most_recent_record\n from fields\n)\n\nselect *\nfrom final", "language": "sql", "refs": [["stg_apple_search_ads__ad_history_tmp"], ["stg_apple_search_ads__ad_history_tmp"]], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.apple_search_ads_source.get_ad_history_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.apple_search_ads_source.stg_apple_search_ads__ad_history_tmp", "model.apple_search_ads_source.stg_apple_search_ads__ad_history_tmp"]}, "compiled_path": "target/compiled/apple_search_ads_source/models/stg_apple_search_ads__ad_history.sql", "compiled": true, "compiled_code": "\n\nwith base as (\n\n select * \n from `dbt-package-testing`.`zz_dbt_renee_apple_search_ads_source`.`stg_apple_search_ads__ad_history_tmp`\n),\n\nfields as (\n\n select\n \n \n \n ad_group_id\n \n as \n \n ad_group_id\n \n, \n \n \n campaign_id\n \n as \n \n campaign_id\n \n, \n \n \n creation_time\n \n as \n \n creation_time\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n modification_time\n \n as \n \n modification_time\n \n, \n \n \n name\n \n as \n \n name\n \n, \n \n \n org_id\n \n as \n \n org_id\n \n, \n \n \n status\n \n as \n \n status\n \n\n\n\n from base\n),\n\nfinal as (\n \n select \n creation_time as created_at,\n modification_time as modified_at,\n org_id as organization_id,\n campaign_id,\n ad_group_id,\n name as ad_name,\n id as ad_id,\n status as ad_status, \n row_number() over (partition by id order by modification_time desc) = 1 as is_most_recent_record\n from fields\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": []}, "model.apple_search_ads_source.stg_apple_search_ads__ad_group_report": {"database": "dbt-package-testing", "schema": "zz_dbt_renee_apple_search_ads_source", "name": "stg_apple_search_ads__ad_group_report", "resource_type": "model", "package_name": "apple_search_ads_source", "path": "stg_apple_search_ads__ad_group_report.sql", "original_file_path": "models/stg_apple_search_ads__ad_group_report.sql", "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__ad_group_report", "fqn": ["apple_search_ads_source", "stg_apple_search_ads__ad_group_report"], "alias": "stg_apple_search_ads__ad_group_report", "checksum": {"name": "sha256", "checksum": "a6f8f1e79e88e2512acd90e2768436ef73939e82acd46b79c0775ba19865147d"}, "config": {"enabled": true, "alias": null, "schema": "apple_search_ads_source", "database": null, "tags": [], "meta": {}, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "post-hook": [], "pre-hook": []}, "tags": [], "description": "Each record represents the daily performance of an ad group in Apple Search Ads.", "columns": {"ad_group_id": {"name": "ad_group_id", "description": "Ad group ID associated with the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "date_day": {"name": "date_day", "description": "Date for daily report aggregation.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "Number of times your ad appeared in App Store search results.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The sum of costs associated with the number of impressions served. Spend is measured in the currency used in the campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "currency": {"name": "currency", "description": "This currency value should match the respective organization's currency value.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "new_downloads": {"name": "new_downloads", "description": "App downloads from new users who have never before installed the respective app.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "redownloads": {"name": "redownloads", "description": "Occurs when a user downloads respective app, deletes it, and downloads the same app again following a tap on an ad on the App Store, or downloads the same app to an additional device.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "taps": {"name": "taps", "description": "The number of times ad was tapped by users within the reporting time period.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": "apple_search_ads_source://models/stg_apple_search_ads.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "apple_search_ads_source", "materialized": "table", "enabled": true}, "created_at": 1688398941.416533, "relation_name": "`dbt-package-testing`.`zz_dbt_renee_apple_search_ads_source`.`stg_apple_search_ads__ad_group_report`", "raw_code": "{{ config(enabled=var('ad_reporting__apple_search_ads_enabled', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_apple_search_ads__ad_group_report_tmp') }}\n),\n\nfields as (\n\n select\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_apple_search_ads__ad_group_report_tmp')),\n staging_columns=get_ad_group_report_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select\n date as date_day, \n ad_group_id,\n impressions,\n local_spend_amount as spend,\n local_spend_currency as currency,\n new_downloads,\n redownloads,\n taps\n\n {{ fivetran_utils.fill_pass_through_columns('apple_search_ads__ad_group_passthrough_metrics') }}\n from fields\n)\n\nselect * \nfrom final", "language": "sql", "refs": [["stg_apple_search_ads__ad_group_report_tmp"], ["stg_apple_search_ads__ad_group_report_tmp"]], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.apple_search_ads_source.get_ad_group_report_columns", "macro.fivetran_utils.fill_staging_columns", "macro.fivetran_utils.fill_pass_through_columns"], "nodes": ["model.apple_search_ads_source.stg_apple_search_ads__ad_group_report_tmp", "model.apple_search_ads_source.stg_apple_search_ads__ad_group_report_tmp"]}, "compiled_path": "target/compiled/apple_search_ads_source/models/stg_apple_search_ads__ad_group_report.sql", "compiled": true, "compiled_code": "\n\nwith base as (\n\n select * \n from `dbt-package-testing`.`zz_dbt_renee_apple_search_ads_source`.`stg_apple_search_ads__ad_group_report_tmp`\n),\n\nfields as (\n\n select\n \n \n \n ad_group_id\n \n as \n \n ad_group_id\n \n, \n \n \n date\n \n as \n \n date\n \n, \n \n \n impressions\n \n as \n \n impressions\n \n, \n \n \n local_spend_amount\n \n as \n \n local_spend_amount\n \n, \n \n \n local_spend_currency\n \n as \n \n local_spend_currency\n \n, \n \n \n new_downloads\n \n as \n \n new_downloads\n \n, \n \n \n redownloads\n \n as \n \n redownloads\n \n, \n \n \n taps\n \n as \n \n taps\n \n\n\n\n from base\n),\n\nfinal as (\n \n select\n date as date_day, \n ad_group_id,\n impressions,\n local_spend_amount as spend,\n local_spend_currency as currency,\n new_downloads,\n redownloads,\n taps\n\n \n\n\n\n\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": []}, "model.apple_search_ads_source.stg_apple_search_ads__search_term_report_tmp": {"database": "dbt-package-testing", "schema": "zz_dbt_renee_apple_search_ads_source", "name": "stg_apple_search_ads__search_term_report_tmp", "resource_type": "model", "package_name": "apple_search_ads_source", "path": "tmp/stg_apple_search_ads__search_term_report_tmp.sql", "original_file_path": "models/tmp/stg_apple_search_ads__search_term_report_tmp.sql", "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__search_term_report_tmp", "fqn": ["apple_search_ads_source", "tmp", "stg_apple_search_ads__search_term_report_tmp"], "alias": "stg_apple_search_ads__search_term_report_tmp", "checksum": {"name": "sha256", "checksum": "86f6e99ff5c0373cf5ec106d4011966278601cb5350d588466564e2dca2fa951"}, "config": {"enabled": true, "alias": null, "schema": "apple_search_ads_source", "database": null, "tags": [], "meta": {}, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "post-hook": [], "pre-hook": []}, "tags": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "apple_search_ads_source", "materialized": "view", "enabled": true}, "created_at": 1688398940.951633, "relation_name": "`dbt-package-testing`.`zz_dbt_renee_apple_search_ads_source`.`stg_apple_search_ads__search_term_report_tmp`", "raw_code": "{{ config(enabled=fivetran_utils.enabled_vars(['ad_reporting__apple_search_ads_enabled','apple_search_ads__using_search_terms'])) }}\n\nselect * \nfrom {{ var('search_term_report') }}", "language": "sql", "refs": [], "sources": [["apple_search_ads", "search_term_report"]], "metrics": [], "depends_on": {"macros": ["macro.fivetran_utils.enabled_vars"], "nodes": ["source.apple_search_ads_source.apple_search_ads.search_term_report"]}, "compiled_path": "target/compiled/apple_search_ads_source/models/tmp/stg_apple_search_ads__search_term_report_tmp.sql", "compiled": true, "compiled_code": "\n\nselect * \nfrom `dbt-package-testing`.`apple_search_ads`.`search_term_report`", "extra_ctes_injected": true, "extra_ctes": []}, "model.apple_search_ads_source.stg_apple_search_ads__campaign_history_tmp": {"database": "dbt-package-testing", "schema": "zz_dbt_renee_apple_search_ads_source", "name": "stg_apple_search_ads__campaign_history_tmp", "resource_type": "model", "package_name": "apple_search_ads_source", "path": "tmp/stg_apple_search_ads__campaign_history_tmp.sql", "original_file_path": "models/tmp/stg_apple_search_ads__campaign_history_tmp.sql", "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__campaign_history_tmp", "fqn": ["apple_search_ads_source", "tmp", "stg_apple_search_ads__campaign_history_tmp"], "alias": "stg_apple_search_ads__campaign_history_tmp", "checksum": {"name": "sha256", "checksum": "e23c062d3d75b890a717ab4047e5a0dccf7c098b3927935df02f76c17acb3ea7"}, "config": {"enabled": true, "alias": null, "schema": "apple_search_ads_source", "database": null, "tags": [], "meta": {}, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "post-hook": [], "pre-hook": []}, "tags": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "apple_search_ads_source", "materialized": "view", "enabled": true}, "created_at": 1688398940.961505, "relation_name": "`dbt-package-testing`.`zz_dbt_renee_apple_search_ads_source`.`stg_apple_search_ads__campaign_history_tmp`", "raw_code": "{{ config(enabled=var('ad_reporting__apple_search_ads_enabled', True)) }}\n\nselect * \nfrom {{ var('campaign_history') }}", "language": "sql", "refs": [], "sources": [["apple_search_ads", "campaign_history"]], "metrics": [], "depends_on": {"macros": [], "nodes": ["source.apple_search_ads_source.apple_search_ads.campaign_history"]}, "compiled_path": "target/compiled/apple_search_ads_source/models/tmp/stg_apple_search_ads__campaign_history_tmp.sql", "compiled": true, "compiled_code": "\n\nselect * \nfrom `dbt-package-testing`.`apple_search_ads`.`campaign_history`", "extra_ctes_injected": true, "extra_ctes": []}, "model.apple_search_ads_source.stg_apple_search_ads__keyword_history_tmp": {"database": "dbt-package-testing", "schema": "zz_dbt_renee_apple_search_ads_source", "name": "stg_apple_search_ads__keyword_history_tmp", "resource_type": "model", "package_name": "apple_search_ads_source", "path": "tmp/stg_apple_search_ads__keyword_history_tmp.sql", "original_file_path": "models/tmp/stg_apple_search_ads__keyword_history_tmp.sql", "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__keyword_history_tmp", "fqn": ["apple_search_ads_source", "tmp", "stg_apple_search_ads__keyword_history_tmp"], "alias": "stg_apple_search_ads__keyword_history_tmp", "checksum": {"name": "sha256", "checksum": "852fa9ece91c72dd36f654ce0d71f2af4a1707385c0fa00e3d68e206e4ac456b"}, "config": {"enabled": true, "alias": null, "schema": "apple_search_ads_source", "database": null, "tags": [], "meta": {}, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "post-hook": [], "pre-hook": []}, "tags": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "apple_search_ads_source", "materialized": "view", "enabled": true}, "created_at": 1688398940.970433, "relation_name": "`dbt-package-testing`.`zz_dbt_renee_apple_search_ads_source`.`stg_apple_search_ads__keyword_history_tmp`", "raw_code": "{{ config(enabled=var('ad_reporting__apple_search_ads_enabled', True)) }}\n\nselect * \nfrom {{ var('keyword_history') }}", "language": "sql", "refs": [], "sources": [["apple_search_ads", "keyword_history"]], "metrics": [], "depends_on": {"macros": [], "nodes": ["source.apple_search_ads_source.apple_search_ads.keyword_history"]}, "compiled_path": "target/compiled/apple_search_ads_source/models/tmp/stg_apple_search_ads__keyword_history_tmp.sql", "compiled": true, "compiled_code": "\n\nselect * \nfrom `dbt-package-testing`.`apple_search_ads`.`keyword_history`", "extra_ctes_injected": true, "extra_ctes": []}, "model.apple_search_ads_source.stg_apple_search_ads__ad_group_history_tmp": {"database": "dbt-package-testing", "schema": "zz_dbt_renee_apple_search_ads_source", "name": "stg_apple_search_ads__ad_group_history_tmp", "resource_type": "model", "package_name": "apple_search_ads_source", "path": "tmp/stg_apple_search_ads__ad_group_history_tmp.sql", "original_file_path": "models/tmp/stg_apple_search_ads__ad_group_history_tmp.sql", "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__ad_group_history_tmp", "fqn": ["apple_search_ads_source", "tmp", "stg_apple_search_ads__ad_group_history_tmp"], "alias": "stg_apple_search_ads__ad_group_history_tmp", "checksum": {"name": "sha256", "checksum": "69317b26b7a3c109c0e5e61d7fdad053cb0549479a0dfdacd0d67ff0757cc97e"}, "config": {"enabled": true, "alias": null, "schema": "apple_search_ads_source", "database": null, "tags": [], "meta": {}, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "post-hook": [], "pre-hook": []}, "tags": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "apple_search_ads_source", "materialized": "view", "enabled": true}, "created_at": 1688398940.97907, "relation_name": "`dbt-package-testing`.`zz_dbt_renee_apple_search_ads_source`.`stg_apple_search_ads__ad_group_history_tmp`", "raw_code": "{{ config(enabled=var('ad_reporting__apple_search_ads_enabled', True)) }}\n\nselect * \nfrom {{ var('ad_group_history') }}", "language": "sql", "refs": [], "sources": [["apple_search_ads", "ad_group_history"]], "metrics": [], "depends_on": {"macros": [], "nodes": ["source.apple_search_ads_source.apple_search_ads.ad_group_history"]}, "compiled_path": "target/compiled/apple_search_ads_source/models/tmp/stg_apple_search_ads__ad_group_history_tmp.sql", "compiled": true, "compiled_code": "\n\nselect * \nfrom `dbt-package-testing`.`apple_search_ads`.`ad_group_history`", "extra_ctes_injected": true, "extra_ctes": []}, "model.apple_search_ads_source.stg_apple_search_ads__ad_group_report_tmp": {"database": "dbt-package-testing", "schema": "zz_dbt_renee_apple_search_ads_source", "name": "stg_apple_search_ads__ad_group_report_tmp", "resource_type": "model", "package_name": "apple_search_ads_source", "path": "tmp/stg_apple_search_ads__ad_group_report_tmp.sql", "original_file_path": "models/tmp/stg_apple_search_ads__ad_group_report_tmp.sql", "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__ad_group_report_tmp", "fqn": ["apple_search_ads_source", "tmp", "stg_apple_search_ads__ad_group_report_tmp"], "alias": "stg_apple_search_ads__ad_group_report_tmp", "checksum": {"name": "sha256", "checksum": "91089253c95dee7d0aea3f9b8cc49cf343c2d06acf0de36641ebaef03e1d2b1b"}, "config": {"enabled": true, "alias": null, "schema": "apple_search_ads_source", "database": null, "tags": [], "meta": {}, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "post-hook": [], "pre-hook": []}, "tags": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "apple_search_ads_source", "materialized": "view", "enabled": true}, "created_at": 1688398940.987485, "relation_name": "`dbt-package-testing`.`zz_dbt_renee_apple_search_ads_source`.`stg_apple_search_ads__ad_group_report_tmp`", "raw_code": "{{ config(enabled=var('ad_reporting__apple_search_ads_enabled', True)) }}\n\nselect * \nfrom {{ var('ad_group_report') }}", "language": "sql", "refs": [], "sources": [["apple_search_ads", "ad_group_report"]], "metrics": [], "depends_on": {"macros": [], "nodes": ["source.apple_search_ads_source.apple_search_ads.ad_group_report"]}, "compiled_path": "target/compiled/apple_search_ads_source/models/tmp/stg_apple_search_ads__ad_group_report_tmp.sql", "compiled": true, "compiled_code": "\n\nselect * \nfrom `dbt-package-testing`.`apple_search_ads`.`ad_group_report`", "extra_ctes_injected": true, "extra_ctes": []}, "model.apple_search_ads_source.stg_apple_search_ads__ad_history_tmp": {"database": "dbt-package-testing", "schema": "zz_dbt_renee_apple_search_ads_source", "name": "stg_apple_search_ads__ad_history_tmp", "resource_type": "model", "package_name": "apple_search_ads_source", "path": "tmp/stg_apple_search_ads__ad_history_tmp.sql", "original_file_path": "models/tmp/stg_apple_search_ads__ad_history_tmp.sql", "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__ad_history_tmp", "fqn": ["apple_search_ads_source", "tmp", "stg_apple_search_ads__ad_history_tmp"], "alias": "stg_apple_search_ads__ad_history_tmp", "checksum": {"name": "sha256", "checksum": "7b184af2299b7d42defa4606467cf9bf379e10cec768bf1e5825c040dbdfacb8"}, "config": {"enabled": true, "alias": null, "schema": "apple_search_ads_source", "database": null, "tags": [], "meta": {}, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "post-hook": [], "pre-hook": []}, "tags": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "apple_search_ads_source", "materialized": "view", "enabled": true}, "created_at": 1688398940.9961312, "relation_name": "`dbt-package-testing`.`zz_dbt_renee_apple_search_ads_source`.`stg_apple_search_ads__ad_history_tmp`", "raw_code": "{{ config(enabled=var('ad_reporting__apple_search_ads_enabled', True)) }}\n\nselect * \nfrom {{ var('ad_history') }}", "language": "sql", "refs": [], "sources": [["apple_search_ads", "ad_history"]], "metrics": [], "depends_on": {"macros": [], "nodes": ["source.apple_search_ads_source.apple_search_ads.ad_history"]}, "compiled_path": "target/compiled/apple_search_ads_source/models/tmp/stg_apple_search_ads__ad_history_tmp.sql", "compiled": true, "compiled_code": "\n\nselect * \nfrom `dbt-package-testing`.`apple_search_ads`.`ad_history`", "extra_ctes_injected": true, "extra_ctes": []}, "model.apple_search_ads_source.stg_apple_search_ads__campaign_report_tmp": {"database": "dbt-package-testing", "schema": "zz_dbt_renee_apple_search_ads_source", "name": "stg_apple_search_ads__campaign_report_tmp", "resource_type": "model", "package_name": "apple_search_ads_source", "path": "tmp/stg_apple_search_ads__campaign_report_tmp.sql", "original_file_path": "models/tmp/stg_apple_search_ads__campaign_report_tmp.sql", "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__campaign_report_tmp", "fqn": ["apple_search_ads_source", "tmp", "stg_apple_search_ads__campaign_report_tmp"], "alias": "stg_apple_search_ads__campaign_report_tmp", "checksum": {"name": "sha256", "checksum": "ae8d95be0097305356d0ba251d324d35bbe367edcf342c958f69fea9f89625f2"}, "config": {"enabled": true, "alias": null, "schema": "apple_search_ads_source", "database": null, "tags": [], "meta": {}, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "post-hook": [], "pre-hook": []}, "tags": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "apple_search_ads_source", "materialized": "view", "enabled": true}, "created_at": 1688398941.005857, "relation_name": "`dbt-package-testing`.`zz_dbt_renee_apple_search_ads_source`.`stg_apple_search_ads__campaign_report_tmp`", "raw_code": "{{ config(enabled=var('ad_reporting__apple_search_ads_enabled', True)) }}\n\nselect * \nfrom {{ var('campaign_report') }}", "language": "sql", "refs": [], "sources": [["apple_search_ads", "campaign_report"]], "metrics": [], "depends_on": {"macros": [], "nodes": ["source.apple_search_ads_source.apple_search_ads.campaign_report"]}, "compiled_path": "target/compiled/apple_search_ads_source/models/tmp/stg_apple_search_ads__campaign_report_tmp.sql", "compiled": true, "compiled_code": "\n\nselect * \nfrom `dbt-package-testing`.`apple_search_ads`.`campaign_report`", "extra_ctes_injected": true, "extra_ctes": []}, "model.apple_search_ads_source.stg_apple_search_ads__organization_tmp": {"database": "dbt-package-testing", "schema": "zz_dbt_renee_apple_search_ads_source", "name": "stg_apple_search_ads__organization_tmp", "resource_type": "model", "package_name": "apple_search_ads_source", "path": "tmp/stg_apple_search_ads__organization_tmp.sql", "original_file_path": "models/tmp/stg_apple_search_ads__organization_tmp.sql", "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__organization_tmp", "fqn": ["apple_search_ads_source", "tmp", "stg_apple_search_ads__organization_tmp"], "alias": "stg_apple_search_ads__organization_tmp", "checksum": {"name": "sha256", "checksum": "4a62af784e819ec6034aa89fe16019f027c9994b192426e70bcf18bda3d117a9"}, "config": {"enabled": true, "alias": null, "schema": "apple_search_ads_source", "database": null, "tags": [], "meta": {}, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "post-hook": [], "pre-hook": []}, "tags": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "apple_search_ads_source", "materialized": "view", "enabled": true}, "created_at": 1688398941.016632, "relation_name": "`dbt-package-testing`.`zz_dbt_renee_apple_search_ads_source`.`stg_apple_search_ads__organization_tmp`", "raw_code": "{{ config(enabled=var('ad_reporting__apple_search_ads_enabled', True)) }}\n\nselect * \nfrom {{ var('organization') }}", "language": "sql", "refs": [], "sources": [["apple_search_ads", "organization"]], "metrics": [], "depends_on": {"macros": [], "nodes": ["source.apple_search_ads_source.apple_search_ads.organization"]}, "compiled_path": "target/compiled/apple_search_ads_source/models/tmp/stg_apple_search_ads__organization_tmp.sql", "compiled": true, "compiled_code": "\n\nselect * \nfrom `dbt-package-testing`.`apple_search_ads`.`organization`", "extra_ctes_injected": true, "extra_ctes": []}, "model.apple_search_ads_source.stg_apple_search_ads__keyword_report_tmp": {"database": "dbt-package-testing", "schema": "zz_dbt_renee_apple_search_ads_source", "name": "stg_apple_search_ads__keyword_report_tmp", "resource_type": "model", "package_name": "apple_search_ads_source", "path": "tmp/stg_apple_search_ads__keyword_report_tmp.sql", "original_file_path": "models/tmp/stg_apple_search_ads__keyword_report_tmp.sql", "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__keyword_report_tmp", "fqn": ["apple_search_ads_source", "tmp", "stg_apple_search_ads__keyword_report_tmp"], "alias": "stg_apple_search_ads__keyword_report_tmp", "checksum": {"name": "sha256", "checksum": "5009b770850f4f2648d5498a78b1491e6a44250d9ac2d7c08c249e8624f517f2"}, "config": {"enabled": true, "alias": null, "schema": "apple_search_ads_source", "database": null, "tags": [], "meta": {}, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "post-hook": [], "pre-hook": []}, "tags": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "apple_search_ads_source", "materialized": "view", "enabled": true}, "created_at": 1688398941.0249221, "relation_name": "`dbt-package-testing`.`zz_dbt_renee_apple_search_ads_source`.`stg_apple_search_ads__keyword_report_tmp`", "raw_code": "{{ config(enabled=var('ad_reporting__apple_search_ads_enabled', True)) }}\n\nselect * \nfrom {{ var('keyword_report') }}", "language": "sql", "refs": [], "sources": [["apple_search_ads", "keyword_report"]], "metrics": [], "depends_on": {"macros": [], "nodes": ["source.apple_search_ads_source.apple_search_ads.keyword_report"]}, "compiled_path": "target/compiled/apple_search_ads_source/models/tmp/stg_apple_search_ads__keyword_report_tmp.sql", "compiled": true, "compiled_code": "\n\nselect * \nfrom `dbt-package-testing`.`apple_search_ads`.`keyword_report`", "extra_ctes_injected": true, "extra_ctes": []}, "model.apple_search_ads_source.stg_apple_search_ads__ad_report_tmp": {"database": "dbt-package-testing", "schema": "zz_dbt_renee_apple_search_ads_source", "name": "stg_apple_search_ads__ad_report_tmp", "resource_type": "model", "package_name": "apple_search_ads_source", "path": "tmp/stg_apple_search_ads__ad_report_tmp.sql", "original_file_path": "models/tmp/stg_apple_search_ads__ad_report_tmp.sql", "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__ad_report_tmp", "fqn": ["apple_search_ads_source", "tmp", "stg_apple_search_ads__ad_report_tmp"], "alias": "stg_apple_search_ads__ad_report_tmp", "checksum": {"name": "sha256", "checksum": "1744a47e20045a53726079456f5aba358e0292dd8a14d670e6ab7b2c30ece7ee"}, "config": {"enabled": true, "alias": null, "schema": "apple_search_ads_source", "database": null, "tags": [], "meta": {}, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "post-hook": [], "pre-hook": []}, "tags": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "apple_search_ads_source", "materialized": "view", "enabled": true}, "created_at": 1688398941.033659, "relation_name": "`dbt-package-testing`.`zz_dbt_renee_apple_search_ads_source`.`stg_apple_search_ads__ad_report_tmp`", "raw_code": "{{ config(enabled=var('ad_reporting__apple_search_ads_enabled', True)) }}\n\nselect * \nfrom {{ var('ad_report') }}", "language": "sql", "refs": [], "sources": [["apple_search_ads", "ad_level_report"]], "metrics": [], "depends_on": {"macros": [], "nodes": ["source.apple_search_ads_source.apple_search_ads.ad_level_report"]}, "compiled_path": "target/compiled/apple_search_ads_source/models/tmp/stg_apple_search_ads__ad_report_tmp.sql", "compiled": true, "compiled_code": "\n\nselect * \nfrom `dbt-package-testing`.`apple_search_ads`.`ad_level_report`", "extra_ctes_injected": true, "extra_ctes": []}, "test.apple_search_ads.not_null_apple_search_ads__ad_group_report_ad_group_id.60febec6b5": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "ad_group_id", "model": "{{ get_where_subquery(ref('apple_search_ads__ad_group_report')) }}"}, "namespace": null}, "database": "dbt-package-testing", "schema": "zz_dbt_renee_dbt_test__audit", "name": "not_null_apple_search_ads__ad_group_report_ad_group_id", "resource_type": "test", "package_name": "apple_search_ads", "path": "not_null_apple_search_ads__ad_group_report_ad_group_id.sql", "original_file_path": "models/apple_search_ads.yml", "unique_id": "test.apple_search_ads.not_null_apple_search_ads__ad_group_report_ad_group_id.60febec6b5", "fqn": ["apple_search_ads", "not_null_apple_search_ads__ad_group_report_ad_group_id"], "alias": "not_null_apple_search_ads__ad_group_report_ad_group_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1688398941.121096, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [["apple_search_ads__ad_group_report"]], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.apple_search_ads.apple_search_ads__ad_group_report"]}, "compiled_path": "target/compiled/apple_search_ads/models/apple_search_ads.yml/not_null_apple_search_ads__ad_group_report_ad_group_id.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect ad_group_id\nfrom `dbt-package-testing`.`zz_dbt_renee_apple_search_ads`.`apple_search_ads__ad_group_report`\nwhere ad_group_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "column_name": "ad_group_id", "file_key_name": "models.apple_search_ads__ad_group_report"}, "test.apple_search_ads.not_null_apple_search_ads__ad_group_report_date_day.e6ffb30b3c": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "date_day", "model": "{{ get_where_subquery(ref('apple_search_ads__ad_group_report')) }}"}, "namespace": null}, "database": "dbt-package-testing", "schema": "zz_dbt_renee_dbt_test__audit", "name": "not_null_apple_search_ads__ad_group_report_date_day", "resource_type": "test", "package_name": "apple_search_ads", "path": "not_null_apple_search_ads__ad_group_report_date_day.sql", "original_file_path": "models/apple_search_ads.yml", "unique_id": "test.apple_search_ads.not_null_apple_search_ads__ad_group_report_date_day.e6ffb30b3c", "fqn": ["apple_search_ads", "not_null_apple_search_ads__ad_group_report_date_day"], "alias": "not_null_apple_search_ads__ad_group_report_date_day", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1688398941.1237628, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [["apple_search_ads__ad_group_report"]], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.apple_search_ads.apple_search_ads__ad_group_report"]}, "compiled_path": "target/compiled/apple_search_ads/models/apple_search_ads.yml/not_null_apple_search_ads__ad_group_report_date_day.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect date_day\nfrom `dbt-package-testing`.`zz_dbt_renee_apple_search_ads`.`apple_search_ads__ad_group_report`\nwhere date_day is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "column_name": "date_day", "file_key_name": "models.apple_search_ads__ad_group_report"}, "test.apple_search_ads.dbt_utils_unique_combination_of_columns_apple_search_ads__ad_group_report_organization_id__campaign_id__ad_group_id__date_day.19d180bab9": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["organization_id", "campaign_id", "ad_group_id", "date_day"], "model": "{{ get_where_subquery(ref('apple_search_ads__ad_group_report')) }}"}, "namespace": "dbt_utils"}, "database": "dbt-package-testing", "schema": "zz_dbt_renee_dbt_test__audit", "name": "dbt_utils_unique_combination_of_columns_apple_search_ads__ad_group_report_organization_id__campaign_id__ad_group_id__date_day", "resource_type": "test", "package_name": "apple_search_ads", "path": "dbt_utils_unique_combination_o_36b2ef766b4fc10b364ed4744c94afb2.sql", "original_file_path": "models/apple_search_ads.yml", "unique_id": "test.apple_search_ads.dbt_utils_unique_combination_of_columns_apple_search_ads__ad_group_report_organization_id__campaign_id__ad_group_id__date_day.19d180bab9", "fqn": ["apple_search_ads", "dbt_utils_unique_combination_of_columns_apple_search_ads__ad_group_report_organization_id__campaign_id__ad_group_id__date_day"], "alias": "dbt_utils_unique_combination_o_36b2ef766b4fc10b364ed4744c94afb2", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_36b2ef766b4fc10b364ed4744c94afb2", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_36b2ef766b4fc10b364ed4744c94afb2"}, "created_at": 1688398941.1264079, "relation_name": null, "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_36b2ef766b4fc10b364ed4744c94afb2\") }}", "language": "sql", "refs": [["apple_search_ads__ad_group_report"]], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.apple_search_ads.apple_search_ads__ad_group_report"]}, "compiled_path": "target/compiled/apple_search_ads/models/apple_search_ads.yml/dbt_utils_unique_combination_o_36b2ef766b4fc10b364ed4744c94afb2.sql", "compiled": true, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n organization_id, campaign_id, ad_group_id, date_day\n from `dbt-package-testing`.`zz_dbt_renee_apple_search_ads`.`apple_search_ads__ad_group_report`\n group by organization_id, campaign_id, ad_group_id, date_day\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "column_name": null, "file_key_name": "models.apple_search_ads__ad_group_report"}, "test.apple_search_ads.not_null_apple_search_ads__ad_report_ad_id.0ab2c5075c": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "ad_id", "model": "{{ get_where_subquery(ref('apple_search_ads__ad_report')) }}"}, "namespace": null}, "database": "dbt-package-testing", "schema": "zz_dbt_renee_dbt_test__audit", "name": "not_null_apple_search_ads__ad_report_ad_id", "resource_type": "test", "package_name": "apple_search_ads", "path": "not_null_apple_search_ads__ad_report_ad_id.sql", "original_file_path": "models/apple_search_ads.yml", "unique_id": "test.apple_search_ads.not_null_apple_search_ads__ad_report_ad_id.0ab2c5075c", "fqn": ["apple_search_ads", "not_null_apple_search_ads__ad_report_ad_id"], "alias": "not_null_apple_search_ads__ad_report_ad_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1688398941.1450639, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [["apple_search_ads__ad_report"]], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.apple_search_ads.apple_search_ads__ad_report"]}, "compiled_path": "target/compiled/apple_search_ads/models/apple_search_ads.yml/not_null_apple_search_ads__ad_report_ad_id.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect ad_id\nfrom `dbt-package-testing`.`zz_dbt_renee_apple_search_ads`.`apple_search_ads__ad_report`\nwhere ad_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "column_name": "ad_id", "file_key_name": "models.apple_search_ads__ad_report"}, "test.apple_search_ads.not_null_apple_search_ads__ad_report_date_day.b86c049e17": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "date_day", "model": "{{ get_where_subquery(ref('apple_search_ads__ad_report')) }}"}, "namespace": null}, "database": "dbt-package-testing", "schema": "zz_dbt_renee_dbt_test__audit", "name": "not_null_apple_search_ads__ad_report_date_day", "resource_type": "test", "package_name": "apple_search_ads", "path": "not_null_apple_search_ads__ad_report_date_day.sql", "original_file_path": "models/apple_search_ads.yml", "unique_id": "test.apple_search_ads.not_null_apple_search_ads__ad_report_date_day.b86c049e17", "fqn": ["apple_search_ads", "not_null_apple_search_ads__ad_report_date_day"], "alias": "not_null_apple_search_ads__ad_report_date_day", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1688398941.148129, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [["apple_search_ads__ad_report"]], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.apple_search_ads.apple_search_ads__ad_report"]}, "compiled_path": "target/compiled/apple_search_ads/models/apple_search_ads.yml/not_null_apple_search_ads__ad_report_date_day.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect date_day\nfrom `dbt-package-testing`.`zz_dbt_renee_apple_search_ads`.`apple_search_ads__ad_report`\nwhere date_day is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "column_name": "date_day", "file_key_name": "models.apple_search_ads__ad_report"}, "test.apple_search_ads.dbt_utils_unique_combination_of_columns_apple_search_ads__ad_report_organization_id__campaign_id__ad_group_id__ad_id__date_day.54e27817a1": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["organization_id", "campaign_id", "ad_group_id", "ad_id", "date_day"], "model": "{{ get_where_subquery(ref('apple_search_ads__ad_report')) }}"}, "namespace": "dbt_utils"}, "database": "dbt-package-testing", "schema": "zz_dbt_renee_dbt_test__audit", "name": "dbt_utils_unique_combination_of_columns_apple_search_ads__ad_report_organization_id__campaign_id__ad_group_id__ad_id__date_day", "resource_type": "test", "package_name": "apple_search_ads", "path": "dbt_utils_unique_combination_o_bd72aacf9db10be434541a5eb54a963c.sql", "original_file_path": "models/apple_search_ads.yml", "unique_id": "test.apple_search_ads.dbt_utils_unique_combination_of_columns_apple_search_ads__ad_report_organization_id__campaign_id__ad_group_id__ad_id__date_day.54e27817a1", "fqn": ["apple_search_ads", "dbt_utils_unique_combination_of_columns_apple_search_ads__ad_report_organization_id__campaign_id__ad_group_id__ad_id__date_day"], "alias": "dbt_utils_unique_combination_o_bd72aacf9db10be434541a5eb54a963c", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_bd72aacf9db10be434541a5eb54a963c", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_bd72aacf9db10be434541a5eb54a963c"}, "created_at": 1688398941.151136, "relation_name": null, "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_bd72aacf9db10be434541a5eb54a963c\") }}", "language": "sql", "refs": [["apple_search_ads__ad_report"]], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.apple_search_ads.apple_search_ads__ad_report"]}, "compiled_path": "target/compiled/apple_search_ads/models/apple_search_ads.yml/dbt_utils_unique_combination_o_bd72aacf9db10be434541a5eb54a963c.sql", "compiled": true, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n organization_id, campaign_id, ad_group_id, ad_id, date_day\n from `dbt-package-testing`.`zz_dbt_renee_apple_search_ads`.`apple_search_ads__ad_report`\n group by organization_id, campaign_id, ad_group_id, ad_id, date_day\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "column_name": null, "file_key_name": "models.apple_search_ads__ad_report"}, "test.apple_search_ads.not_null_apple_search_ads__campaign_report_campaign_id.e26ed1e146": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "campaign_id", "model": "{{ get_where_subquery(ref('apple_search_ads__campaign_report')) }}"}, "namespace": null}, "database": "dbt-package-testing", "schema": "zz_dbt_renee_dbt_test__audit", "name": "not_null_apple_search_ads__campaign_report_campaign_id", "resource_type": "test", "package_name": "apple_search_ads", "path": "not_null_apple_search_ads__campaign_report_campaign_id.sql", "original_file_path": "models/apple_search_ads.yml", "unique_id": "test.apple_search_ads.not_null_apple_search_ads__campaign_report_campaign_id.e26ed1e146", "fqn": ["apple_search_ads", "not_null_apple_search_ads__campaign_report_campaign_id"], "alias": "not_null_apple_search_ads__campaign_report_campaign_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1688398941.16336, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [["apple_search_ads__campaign_report"]], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.apple_search_ads.apple_search_ads__campaign_report"]}, "compiled_path": "target/compiled/apple_search_ads/models/apple_search_ads.yml/not_null_apple_search_ads__campaign_report_campaign_id.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect campaign_id\nfrom `dbt-package-testing`.`zz_dbt_renee_apple_search_ads`.`apple_search_ads__campaign_report`\nwhere campaign_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "column_name": "campaign_id", "file_key_name": "models.apple_search_ads__campaign_report"}, "test.apple_search_ads.not_null_apple_search_ads__campaign_report_date_day.35652b8d1a": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "date_day", "model": "{{ get_where_subquery(ref('apple_search_ads__campaign_report')) }}"}, "namespace": null}, "database": "dbt-package-testing", "schema": "zz_dbt_renee_dbt_test__audit", "name": "not_null_apple_search_ads__campaign_report_date_day", "resource_type": "test", "package_name": "apple_search_ads", "path": "not_null_apple_search_ads__campaign_report_date_day.sql", "original_file_path": "models/apple_search_ads.yml", "unique_id": "test.apple_search_ads.not_null_apple_search_ads__campaign_report_date_day.35652b8d1a", "fqn": ["apple_search_ads", "not_null_apple_search_ads__campaign_report_date_day"], "alias": "not_null_apple_search_ads__campaign_report_date_day", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1688398941.167445, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [["apple_search_ads__campaign_report"]], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.apple_search_ads.apple_search_ads__campaign_report"]}, "compiled_path": "target/compiled/apple_search_ads/models/apple_search_ads.yml/not_null_apple_search_ads__campaign_report_date_day.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect date_day\nfrom `dbt-package-testing`.`zz_dbt_renee_apple_search_ads`.`apple_search_ads__campaign_report`\nwhere date_day is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "column_name": "date_day", "file_key_name": "models.apple_search_ads__campaign_report"}, "test.apple_search_ads.dbt_utils_unique_combination_of_columns_apple_search_ads__campaign_report_organization_id__campaign_id__date_day.647e56213f": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["organization_id", "campaign_id", "date_day"], "model": "{{ get_where_subquery(ref('apple_search_ads__campaign_report')) }}"}, "namespace": "dbt_utils"}, "database": "dbt-package-testing", "schema": "zz_dbt_renee_dbt_test__audit", "name": "dbt_utils_unique_combination_of_columns_apple_search_ads__campaign_report_organization_id__campaign_id__date_day", "resource_type": "test", "package_name": "apple_search_ads", "path": "dbt_utils_unique_combination_o_3acbf89c4e0b6809bc53bfa9067d89c5.sql", "original_file_path": "models/apple_search_ads.yml", "unique_id": "test.apple_search_ads.dbt_utils_unique_combination_of_columns_apple_search_ads__campaign_report_organization_id__campaign_id__date_day.647e56213f", "fqn": ["apple_search_ads", "dbt_utils_unique_combination_of_columns_apple_search_ads__campaign_report_organization_id__campaign_id__date_day"], "alias": "dbt_utils_unique_combination_o_3acbf89c4e0b6809bc53bfa9067d89c5", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_3acbf89c4e0b6809bc53bfa9067d89c5", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_3acbf89c4e0b6809bc53bfa9067d89c5"}, "created_at": 1688398941.1705961, "relation_name": null, "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_3acbf89c4e0b6809bc53bfa9067d89c5\") }}", "language": "sql", "refs": [["apple_search_ads__campaign_report"]], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.apple_search_ads.apple_search_ads__campaign_report"]}, "compiled_path": "target/compiled/apple_search_ads/models/apple_search_ads.yml/dbt_utils_unique_combination_o_3acbf89c4e0b6809bc53bfa9067d89c5.sql", "compiled": true, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n organization_id, campaign_id, date_day\n from `dbt-package-testing`.`zz_dbt_renee_apple_search_ads`.`apple_search_ads__campaign_report`\n group by organization_id, campaign_id, date_day\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "column_name": null, "file_key_name": "models.apple_search_ads__campaign_report"}, "test.apple_search_ads.not_null_apple_search_ads__keyword_report_keyword_id.ea493710db": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "keyword_id", "model": "{{ get_where_subquery(ref('apple_search_ads__keyword_report')) }}"}, "namespace": null}, "database": "dbt-package-testing", "schema": "zz_dbt_renee_dbt_test__audit", "name": "not_null_apple_search_ads__keyword_report_keyword_id", "resource_type": "test", "package_name": "apple_search_ads", "path": "not_null_apple_search_ads__keyword_report_keyword_id.sql", "original_file_path": "models/apple_search_ads.yml", "unique_id": "test.apple_search_ads.not_null_apple_search_ads__keyword_report_keyword_id.ea493710db", "fqn": ["apple_search_ads", "not_null_apple_search_ads__keyword_report_keyword_id"], "alias": "not_null_apple_search_ads__keyword_report_keyword_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1688398941.183588, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [["apple_search_ads__keyword_report"]], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.apple_search_ads.apple_search_ads__keyword_report"]}, "compiled_path": "target/compiled/apple_search_ads/models/apple_search_ads.yml/not_null_apple_search_ads__keyword_report_keyword_id.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect keyword_id\nfrom `dbt-package-testing`.`zz_dbt_renee_apple_search_ads`.`apple_search_ads__keyword_report`\nwhere keyword_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "column_name": "keyword_id", "file_key_name": "models.apple_search_ads__keyword_report"}, "test.apple_search_ads.not_null_apple_search_ads__keyword_report_date_day.3dec8d0e82": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "date_day", "model": "{{ get_where_subquery(ref('apple_search_ads__keyword_report')) }}"}, "namespace": null}, "database": "dbt-package-testing", "schema": "zz_dbt_renee_dbt_test__audit", "name": "not_null_apple_search_ads__keyword_report_date_day", "resource_type": "test", "package_name": "apple_search_ads", "path": "not_null_apple_search_ads__keyword_report_date_day.sql", "original_file_path": "models/apple_search_ads.yml", "unique_id": "test.apple_search_ads.not_null_apple_search_ads__keyword_report_date_day.3dec8d0e82", "fqn": ["apple_search_ads", "not_null_apple_search_ads__keyword_report_date_day"], "alias": "not_null_apple_search_ads__keyword_report_date_day", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1688398941.186548, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [["apple_search_ads__keyword_report"]], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.apple_search_ads.apple_search_ads__keyword_report"]}, "compiled_path": "target/compiled/apple_search_ads/models/apple_search_ads.yml/not_null_apple_search_ads__keyword_report_date_day.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect date_day\nfrom `dbt-package-testing`.`zz_dbt_renee_apple_search_ads`.`apple_search_ads__keyword_report`\nwhere date_day is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "column_name": "date_day", "file_key_name": "models.apple_search_ads__keyword_report"}, "test.apple_search_ads.dbt_utils_unique_combination_of_columns_apple_search_ads__keyword_report_organization_id__campaign_id__ad_group_id__keyword_id__date_day.78fb033a13": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["organization_id", "campaign_id", "ad_group_id", "keyword_id", "date_day"], "model": "{{ get_where_subquery(ref('apple_search_ads__keyword_report')) }}"}, "namespace": "dbt_utils"}, "database": "dbt-package-testing", "schema": "zz_dbt_renee_dbt_test__audit", "name": "dbt_utils_unique_combination_of_columns_apple_search_ads__keyword_report_organization_id__campaign_id__ad_group_id__keyword_id__date_day", "resource_type": "test", "package_name": "apple_search_ads", "path": "dbt_utils_unique_combination_o_533c8551a101baa56c397525cb8a9246.sql", "original_file_path": "models/apple_search_ads.yml", "unique_id": "test.apple_search_ads.dbt_utils_unique_combination_of_columns_apple_search_ads__keyword_report_organization_id__campaign_id__ad_group_id__keyword_id__date_day.78fb033a13", "fqn": ["apple_search_ads", "dbt_utils_unique_combination_of_columns_apple_search_ads__keyword_report_organization_id__campaign_id__ad_group_id__keyword_id__date_day"], "alias": "dbt_utils_unique_combination_o_533c8551a101baa56c397525cb8a9246", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_533c8551a101baa56c397525cb8a9246", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_533c8551a101baa56c397525cb8a9246"}, "created_at": 1688398941.190021, "relation_name": null, "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_533c8551a101baa56c397525cb8a9246\") }}", "language": "sql", "refs": [["apple_search_ads__keyword_report"]], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.apple_search_ads.apple_search_ads__keyword_report"]}, "compiled_path": "target/compiled/apple_search_ads/models/apple_search_ads.yml/dbt_utils_unique_combination_o_533c8551a101baa56c397525cb8a9246.sql", "compiled": true, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n organization_id, campaign_id, ad_group_id, keyword_id, date_day\n from `dbt-package-testing`.`zz_dbt_renee_apple_search_ads`.`apple_search_ads__keyword_report`\n group by organization_id, campaign_id, ad_group_id, keyword_id, date_day\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "column_name": null, "file_key_name": "models.apple_search_ads__keyword_report"}, "test.apple_search_ads.not_null_apple_search_ads__organization_report_organization_id.b6cf7d69f8": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "organization_id", "model": "{{ get_where_subquery(ref('apple_search_ads__organization_report')) }}"}, "namespace": null}, "database": "dbt-package-testing", "schema": "zz_dbt_renee_dbt_test__audit", "name": "not_null_apple_search_ads__organization_report_organization_id", "resource_type": "test", "package_name": "apple_search_ads", "path": "not_null_apple_search_ads__organization_report_organization_id.sql", "original_file_path": "models/apple_search_ads.yml", "unique_id": "test.apple_search_ads.not_null_apple_search_ads__organization_report_organization_id.b6cf7d69f8", "fqn": ["apple_search_ads", "not_null_apple_search_ads__organization_report_organization_id"], "alias": "not_null_apple_search_ads__organization_report_organization_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1688398941.198718, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [["apple_search_ads__organization_report"]], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.apple_search_ads.apple_search_ads__organization_report"]}, "compiled_path": "target/compiled/apple_search_ads/models/apple_search_ads.yml/not_null_apple_search_ads__organization_report_organization_id.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect organization_id\nfrom `dbt-package-testing`.`zz_dbt_renee_apple_search_ads`.`apple_search_ads__organization_report`\nwhere organization_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "column_name": "organization_id", "file_key_name": "models.apple_search_ads__organization_report"}, "test.apple_search_ads.not_null_apple_search_ads__organization_report_date_day.5784fed523": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "date_day", "model": "{{ get_where_subquery(ref('apple_search_ads__organization_report')) }}"}, "namespace": null}, "database": "dbt-package-testing", "schema": "zz_dbt_renee_dbt_test__audit", "name": "not_null_apple_search_ads__organization_report_date_day", "resource_type": "test", "package_name": "apple_search_ads", "path": "not_null_apple_search_ads__organization_report_date_day.sql", "original_file_path": "models/apple_search_ads.yml", "unique_id": "test.apple_search_ads.not_null_apple_search_ads__organization_report_date_day.5784fed523", "fqn": ["apple_search_ads", "not_null_apple_search_ads__organization_report_date_day"], "alias": "not_null_apple_search_ads__organization_report_date_day", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1688398941.201098, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [["apple_search_ads__organization_report"]], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.apple_search_ads.apple_search_ads__organization_report"]}, "compiled_path": "target/compiled/apple_search_ads/models/apple_search_ads.yml/not_null_apple_search_ads__organization_report_date_day.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect date_day\nfrom `dbt-package-testing`.`zz_dbt_renee_apple_search_ads`.`apple_search_ads__organization_report`\nwhere date_day is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "column_name": "date_day", "file_key_name": "models.apple_search_ads__organization_report"}, "test.apple_search_ads.dbt_utils_unique_combination_of_columns_apple_search_ads__organization_report_organization_id__date_day.8bc84fccc3": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["organization_id", "date_day"], "model": "{{ get_where_subquery(ref('apple_search_ads__organization_report')) }}"}, "namespace": "dbt_utils"}, "database": "dbt-package-testing", "schema": "zz_dbt_renee_dbt_test__audit", "name": "dbt_utils_unique_combination_of_columns_apple_search_ads__organization_report_organization_id__date_day", "resource_type": "test", "package_name": "apple_search_ads", "path": "dbt_utils_unique_combination_o_f2f453668a8bb7c0387ed85fc7bfaf2d.sql", "original_file_path": "models/apple_search_ads.yml", "unique_id": "test.apple_search_ads.dbt_utils_unique_combination_of_columns_apple_search_ads__organization_report_organization_id__date_day.8bc84fccc3", "fqn": ["apple_search_ads", "dbt_utils_unique_combination_of_columns_apple_search_ads__organization_report_organization_id__date_day"], "alias": "dbt_utils_unique_combination_o_f2f453668a8bb7c0387ed85fc7bfaf2d", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_f2f453668a8bb7c0387ed85fc7bfaf2d", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_f2f453668a8bb7c0387ed85fc7bfaf2d"}, "created_at": 1688398941.2037592, "relation_name": null, "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_f2f453668a8bb7c0387ed85fc7bfaf2d\") }}", "language": "sql", "refs": [["apple_search_ads__organization_report"]], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.apple_search_ads.apple_search_ads__organization_report"]}, "compiled_path": "target/compiled/apple_search_ads/models/apple_search_ads.yml/dbt_utils_unique_combination_o_f2f453668a8bb7c0387ed85fc7bfaf2d.sql", "compiled": true, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n organization_id, date_day\n from `dbt-package-testing`.`zz_dbt_renee_apple_search_ads`.`apple_search_ads__organization_report`\n group by organization_id, date_day\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "column_name": null, "file_key_name": "models.apple_search_ads__organization_report"}, "test.apple_search_ads.not_null_apple_search_ads__search_term_report_date_day.1bc3b0d57c": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "date_day", "model": "{{ get_where_subquery(ref('apple_search_ads__search_term_report')) }}"}, "namespace": null}, "database": "dbt-package-testing", "schema": "zz_dbt_renee_dbt_test__audit", "name": "not_null_apple_search_ads__search_term_report_date_day", "resource_type": "test", "package_name": "apple_search_ads", "path": "not_null_apple_search_ads__search_term_report_date_day.sql", "original_file_path": "models/apple_search_ads.yml", "unique_id": "test.apple_search_ads.not_null_apple_search_ads__search_term_report_date_day.1bc3b0d57c", "fqn": ["apple_search_ads", "not_null_apple_search_ads__search_term_report_date_day"], "alias": "not_null_apple_search_ads__search_term_report_date_day", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1688398941.2121549, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [["apple_search_ads__search_term_report"]], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.apple_search_ads.apple_search_ads__search_term_report"]}, "compiled_path": "target/compiled/apple_search_ads/models/apple_search_ads.yml/not_null_apple_search_ads__search_term_report_date_day.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect date_day\nfrom `dbt-package-testing`.`zz_dbt_renee_apple_search_ads`.`apple_search_ads__search_term_report`\nwhere date_day is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "column_name": "date_day", "file_key_name": "models.apple_search_ads__search_term_report"}, "test.apple_search_ads.not_null_apple_search_ads__search_term_report_search_term_text.aecc7447f7": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "search_term_text", "model": "{{ get_where_subquery(ref('apple_search_ads__search_term_report')) }}"}, "namespace": null}, "database": "dbt-package-testing", "schema": "zz_dbt_renee_dbt_test__audit", "name": "not_null_apple_search_ads__search_term_report_search_term_text", "resource_type": "test", "package_name": "apple_search_ads", "path": "not_null_apple_search_ads__search_term_report_search_term_text.sql", "original_file_path": "models/apple_search_ads.yml", "unique_id": "test.apple_search_ads.not_null_apple_search_ads__search_term_report_search_term_text.aecc7447f7", "fqn": ["apple_search_ads", "not_null_apple_search_ads__search_term_report_search_term_text"], "alias": "not_null_apple_search_ads__search_term_report_search_term_text", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1688398941.215574, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [["apple_search_ads__search_term_report"]], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.apple_search_ads.apple_search_ads__search_term_report"]}, "compiled_path": "target/compiled/apple_search_ads/models/apple_search_ads.yml/not_null_apple_search_ads__search_term_report_search_term_text.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect search_term_text\nfrom `dbt-package-testing`.`zz_dbt_renee_apple_search_ads`.`apple_search_ads__search_term_report`\nwhere search_term_text is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "column_name": "search_term_text", "file_key_name": "models.apple_search_ads__search_term_report"}, "test.apple_search_ads.dbt_utils_unique_combination_of_columns_apple_search_ads__search_term_report_search_term_text__match_type__date_day__keyword_id__ad_group_id__campaign_id__organization_id.33f66e0a30": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["search_term_text", "match_type", "date_day", "keyword_id", "ad_group_id", "campaign_id", "organization_id"], "model": "{{ get_where_subquery(ref('apple_search_ads__search_term_report')) }}"}, "namespace": "dbt_utils"}, "database": "dbt-package-testing", "schema": "zz_dbt_renee_dbt_test__audit", "name": "dbt_utils_unique_combination_of_columns_apple_search_ads__search_term_report_search_term_text__match_type__date_day__keyword_id__ad_group_id__campaign_id__organization_id", "resource_type": "test", "package_name": "apple_search_ads", "path": "dbt_utils_unique_combination_o_5b989fdc429d3695cceb009288d6cd7f.sql", "original_file_path": "models/apple_search_ads.yml", "unique_id": "test.apple_search_ads.dbt_utils_unique_combination_of_columns_apple_search_ads__search_term_report_search_term_text__match_type__date_day__keyword_id__ad_group_id__campaign_id__organization_id.33f66e0a30", "fqn": ["apple_search_ads", "dbt_utils_unique_combination_of_columns_apple_search_ads__search_term_report_search_term_text__match_type__date_day__keyword_id__ad_group_id__campaign_id__organization_id"], "alias": "dbt_utils_unique_combination_o_5b989fdc429d3695cceb009288d6cd7f", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_5b989fdc429d3695cceb009288d6cd7f", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_5b989fdc429d3695cceb009288d6cd7f"}, "created_at": 1688398941.218508, "relation_name": null, "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_5b989fdc429d3695cceb009288d6cd7f\") }}", "language": "sql", "refs": [["apple_search_ads__search_term_report"]], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.apple_search_ads.apple_search_ads__search_term_report"]}, "compiled_path": "target/compiled/apple_search_ads/models/apple_search_ads.yml/dbt_utils_unique_combination_o_5b989fdc429d3695cceb009288d6cd7f.sql", "compiled": true, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n search_term_text, match_type, date_day, keyword_id, ad_group_id, campaign_id, organization_id\n from `dbt-package-testing`.`zz_dbt_renee_apple_search_ads`.`apple_search_ads__search_term_report`\n group by search_term_text, match_type, date_day, keyword_id, ad_group_id, campaign_id, organization_id\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "column_name": null, "file_key_name": "models.apple_search_ads__search_term_report"}, "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_group_history_modified_at.e5d65fa28f": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "modified_at", "model": "{{ get_where_subquery(ref('stg_apple_search_ads__ad_group_history')) }}"}, "namespace": null}, "database": "dbt-package-testing", "schema": "zz_dbt_renee_dbt_test__audit", "name": "not_null_stg_apple_search_ads__ad_group_history_modified_at", "resource_type": "test", "package_name": "apple_search_ads_source", "path": "not_null_stg_apple_search_ads__ad_group_history_modified_at.sql", "original_file_path": "models/stg_apple_search_ads.yml", "unique_id": "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_group_history_modified_at.e5d65fa28f", "fqn": ["apple_search_ads_source", "not_null_stg_apple_search_ads__ad_group_history_modified_at"], "alias": "not_null_stg_apple_search_ads__ad_group_history_modified_at", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1688398941.45714, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [["stg_apple_search_ads__ad_group_history"]], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.apple_search_ads_source.stg_apple_search_ads__ad_group_history"]}, "compiled_path": "target/compiled/apple_search_ads_source/models/stg_apple_search_ads.yml/not_null_stg_apple_search_ads__ad_group_history_modified_at.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect modified_at\nfrom `dbt-package-testing`.`zz_dbt_renee_apple_search_ads_source`.`stg_apple_search_ads__ad_group_history`\nwhere modified_at is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "column_name": "modified_at", "file_key_name": "models.stg_apple_search_ads__ad_group_history"}, "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_group_history_ad_group_id.dc128eecb7": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "ad_group_id", "model": "{{ get_where_subquery(ref('stg_apple_search_ads__ad_group_history')) }}"}, "namespace": null}, "database": "dbt-package-testing", "schema": "zz_dbt_renee_dbt_test__audit", "name": "not_null_stg_apple_search_ads__ad_group_history_ad_group_id", "resource_type": "test", "package_name": "apple_search_ads_source", "path": "not_null_stg_apple_search_ads__ad_group_history_ad_group_id.sql", "original_file_path": "models/stg_apple_search_ads.yml", "unique_id": "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_group_history_ad_group_id.dc128eecb7", "fqn": ["apple_search_ads_source", "not_null_stg_apple_search_ads__ad_group_history_ad_group_id"], "alias": "not_null_stg_apple_search_ads__ad_group_history_ad_group_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1688398941.4596539, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [["stg_apple_search_ads__ad_group_history"]], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.apple_search_ads_source.stg_apple_search_ads__ad_group_history"]}, "compiled_path": "target/compiled/apple_search_ads_source/models/stg_apple_search_ads.yml/not_null_stg_apple_search_ads__ad_group_history_ad_group_id.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect ad_group_id\nfrom `dbt-package-testing`.`zz_dbt_renee_apple_search_ads_source`.`stg_apple_search_ads__ad_group_history`\nwhere ad_group_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "column_name": "ad_group_id", "file_key_name": "models.stg_apple_search_ads__ad_group_history"}, "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__ad_group_history_ad_group_id__modified_at.84af14c83b": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["ad_group_id", "modified_at"], "model": "{{ get_where_subquery(ref('stg_apple_search_ads__ad_group_history')) }}"}, "namespace": "dbt_utils"}, "database": "dbt-package-testing", "schema": "zz_dbt_renee_dbt_test__audit", "name": "dbt_utils_unique_combination_of_columns_stg_apple_search_ads__ad_group_history_ad_group_id__modified_at", "resource_type": "test", "package_name": "apple_search_ads_source", "path": "dbt_utils_unique_combination_o_d82553a0f3b4daa8d59460c85a542d4f.sql", "original_file_path": "models/stg_apple_search_ads.yml", "unique_id": "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__ad_group_history_ad_group_id__modified_at.84af14c83b", "fqn": ["apple_search_ads_source", "dbt_utils_unique_combination_of_columns_stg_apple_search_ads__ad_group_history_ad_group_id__modified_at"], "alias": "dbt_utils_unique_combination_o_d82553a0f3b4daa8d59460c85a542d4f", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_d82553a0f3b4daa8d59460c85a542d4f", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_d82553a0f3b4daa8d59460c85a542d4f"}, "created_at": 1688398941.462162, "relation_name": null, "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_d82553a0f3b4daa8d59460c85a542d4f\") }}", "language": "sql", "refs": [["stg_apple_search_ads__ad_group_history"]], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.apple_search_ads_source.stg_apple_search_ads__ad_group_history"]}, "compiled_path": "target/compiled/apple_search_ads_source/models/stg_apple_search_ads.yml/dbt_utils_unique_combination_o_d82553a0f3b4daa8d59460c85a542d4f.sql", "compiled": true, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n ad_group_id, modified_at\n from `dbt-package-testing`.`zz_dbt_renee_apple_search_ads_source`.`stg_apple_search_ads__ad_group_history`\n group by ad_group_id, modified_at\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "column_name": null, "file_key_name": "models.stg_apple_search_ads__ad_group_history"}, "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_group_report_ad_group_id.a115f9cfc1": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "ad_group_id", "model": "{{ get_where_subquery(ref('stg_apple_search_ads__ad_group_report')) }}"}, "namespace": null}, "database": "dbt-package-testing", "schema": "zz_dbt_renee_dbt_test__audit", "name": "not_null_stg_apple_search_ads__ad_group_report_ad_group_id", "resource_type": "test", "package_name": "apple_search_ads_source", "path": "not_null_stg_apple_search_ads__ad_group_report_ad_group_id.sql", "original_file_path": "models/stg_apple_search_ads.yml", "unique_id": "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_group_report_ad_group_id.a115f9cfc1", "fqn": ["apple_search_ads_source", "not_null_stg_apple_search_ads__ad_group_report_ad_group_id"], "alias": "not_null_stg_apple_search_ads__ad_group_report_ad_group_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1688398941.469028, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [["stg_apple_search_ads__ad_group_report"]], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.apple_search_ads_source.stg_apple_search_ads__ad_group_report"]}, "compiled_path": "target/compiled/apple_search_ads_source/models/stg_apple_search_ads.yml/not_null_stg_apple_search_ads__ad_group_report_ad_group_id.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect ad_group_id\nfrom `dbt-package-testing`.`zz_dbt_renee_apple_search_ads_source`.`stg_apple_search_ads__ad_group_report`\nwhere ad_group_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "column_name": "ad_group_id", "file_key_name": "models.stg_apple_search_ads__ad_group_report"}, "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_group_report_date_day.4dfd46a43b": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "date_day", "model": "{{ get_where_subquery(ref('stg_apple_search_ads__ad_group_report')) }}"}, "namespace": null}, "database": "dbt-package-testing", "schema": "zz_dbt_renee_dbt_test__audit", "name": "not_null_stg_apple_search_ads__ad_group_report_date_day", "resource_type": "test", "package_name": "apple_search_ads_source", "path": "not_null_stg_apple_search_ads__ad_group_report_date_day.sql", "original_file_path": "models/stg_apple_search_ads.yml", "unique_id": "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_group_report_date_day.4dfd46a43b", "fqn": ["apple_search_ads_source", "not_null_stg_apple_search_ads__ad_group_report_date_day"], "alias": "not_null_stg_apple_search_ads__ad_group_report_date_day", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1688398941.47152, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [["stg_apple_search_ads__ad_group_report"]], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.apple_search_ads_source.stg_apple_search_ads__ad_group_report"]}, "compiled_path": "target/compiled/apple_search_ads_source/models/stg_apple_search_ads.yml/not_null_stg_apple_search_ads__ad_group_report_date_day.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect date_day\nfrom `dbt-package-testing`.`zz_dbt_renee_apple_search_ads_source`.`stg_apple_search_ads__ad_group_report`\nwhere date_day is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "column_name": "date_day", "file_key_name": "models.stg_apple_search_ads__ad_group_report"}, "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__ad_group_report_ad_group_id__date_day.a0fcc4e33c": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["ad_group_id", "date_day"], "model": "{{ get_where_subquery(ref('stg_apple_search_ads__ad_group_report')) }}"}, "namespace": "dbt_utils"}, "database": "dbt-package-testing", "schema": "zz_dbt_renee_dbt_test__audit", "name": "dbt_utils_unique_combination_of_columns_stg_apple_search_ads__ad_group_report_ad_group_id__date_day", "resource_type": "test", "package_name": "apple_search_ads_source", "path": "dbt_utils_unique_combination_o_107a9492c163887581fde6b34131e42d.sql", "original_file_path": "models/stg_apple_search_ads.yml", "unique_id": "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__ad_group_report_ad_group_id__date_day.a0fcc4e33c", "fqn": ["apple_search_ads_source", "dbt_utils_unique_combination_of_columns_stg_apple_search_ads__ad_group_report_ad_group_id__date_day"], "alias": "dbt_utils_unique_combination_o_107a9492c163887581fde6b34131e42d", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_107a9492c163887581fde6b34131e42d", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_107a9492c163887581fde6b34131e42d"}, "created_at": 1688398941.4746099, "relation_name": null, "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_107a9492c163887581fde6b34131e42d\") }}", "language": "sql", "refs": [["stg_apple_search_ads__ad_group_report"]], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.apple_search_ads_source.stg_apple_search_ads__ad_group_report"]}, "compiled_path": "target/compiled/apple_search_ads_source/models/stg_apple_search_ads.yml/dbt_utils_unique_combination_o_107a9492c163887581fde6b34131e42d.sql", "compiled": true, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n ad_group_id, date_day\n from `dbt-package-testing`.`zz_dbt_renee_apple_search_ads_source`.`stg_apple_search_ads__ad_group_report`\n group by ad_group_id, date_day\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "column_name": null, "file_key_name": "models.stg_apple_search_ads__ad_group_report"}, "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_history_modified_at.2eea7e006d": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "modified_at", "model": "{{ get_where_subquery(ref('stg_apple_search_ads__ad_history')) }}"}, "namespace": null}, "database": "dbt-package-testing", "schema": "zz_dbt_renee_dbt_test__audit", "name": "not_null_stg_apple_search_ads__ad_history_modified_at", "resource_type": "test", "package_name": "apple_search_ads_source", "path": "not_null_stg_apple_search_ads__ad_history_modified_at.sql", "original_file_path": "models/stg_apple_search_ads.yml", "unique_id": "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_history_modified_at.2eea7e006d", "fqn": ["apple_search_ads_source", "not_null_stg_apple_search_ads__ad_history_modified_at"], "alias": "not_null_stg_apple_search_ads__ad_history_modified_at", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1688398941.4830039, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [["stg_apple_search_ads__ad_history"]], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.apple_search_ads_source.stg_apple_search_ads__ad_history"]}, "compiled_path": "target/compiled/apple_search_ads_source/models/stg_apple_search_ads.yml/not_null_stg_apple_search_ads__ad_history_modified_at.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect modified_at\nfrom `dbt-package-testing`.`zz_dbt_renee_apple_search_ads_source`.`stg_apple_search_ads__ad_history`\nwhere modified_at is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "column_name": "modified_at", "file_key_name": "models.stg_apple_search_ads__ad_history"}, "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_history_ad_id.4ad3bde32a": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "ad_id", "model": "{{ get_where_subquery(ref('stg_apple_search_ads__ad_history')) }}"}, "namespace": null}, "database": "dbt-package-testing", "schema": "zz_dbt_renee_dbt_test__audit", "name": "not_null_stg_apple_search_ads__ad_history_ad_id", "resource_type": "test", "package_name": "apple_search_ads_source", "path": "not_null_stg_apple_search_ads__ad_history_ad_id.sql", "original_file_path": "models/stg_apple_search_ads.yml", "unique_id": "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_history_ad_id.4ad3bde32a", "fqn": ["apple_search_ads_source", "not_null_stg_apple_search_ads__ad_history_ad_id"], "alias": "not_null_stg_apple_search_ads__ad_history_ad_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1688398941.4857259, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [["stg_apple_search_ads__ad_history"]], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.apple_search_ads_source.stg_apple_search_ads__ad_history"]}, "compiled_path": "target/compiled/apple_search_ads_source/models/stg_apple_search_ads.yml/not_null_stg_apple_search_ads__ad_history_ad_id.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect ad_id\nfrom `dbt-package-testing`.`zz_dbt_renee_apple_search_ads_source`.`stg_apple_search_ads__ad_history`\nwhere ad_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "column_name": "ad_id", "file_key_name": "models.stg_apple_search_ads__ad_history"}, "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__ad_history_ad_id__modified_at.38599b8cba": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["ad_id", "modified_at"], "model": "{{ get_where_subquery(ref('stg_apple_search_ads__ad_history')) }}"}, "namespace": "dbt_utils"}, "database": "dbt-package-testing", "schema": "zz_dbt_renee_dbt_test__audit", "name": "dbt_utils_unique_combination_of_columns_stg_apple_search_ads__ad_history_ad_id__modified_at", "resource_type": "test", "package_name": "apple_search_ads_source", "path": "dbt_utils_unique_combination_o_ed0f61b146739c836defcf2fb6005d31.sql", "original_file_path": "models/stg_apple_search_ads.yml", "unique_id": "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__ad_history_ad_id__modified_at.38599b8cba", "fqn": ["apple_search_ads_source", "dbt_utils_unique_combination_of_columns_stg_apple_search_ads__ad_history_ad_id__modified_at"], "alias": "dbt_utils_unique_combination_o_ed0f61b146739c836defcf2fb6005d31", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_ed0f61b146739c836defcf2fb6005d31", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_ed0f61b146739c836defcf2fb6005d31"}, "created_at": 1688398941.4882162, "relation_name": null, "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_ed0f61b146739c836defcf2fb6005d31\") }}", "language": "sql", "refs": [["stg_apple_search_ads__ad_history"]], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.apple_search_ads_source.stg_apple_search_ads__ad_history"]}, "compiled_path": "target/compiled/apple_search_ads_source/models/stg_apple_search_ads.yml/dbt_utils_unique_combination_o_ed0f61b146739c836defcf2fb6005d31.sql", "compiled": true, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n ad_id, modified_at\n from `dbt-package-testing`.`zz_dbt_renee_apple_search_ads_source`.`stg_apple_search_ads__ad_history`\n group by ad_id, modified_at\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "column_name": null, "file_key_name": "models.stg_apple_search_ads__ad_history"}, "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_report_date_day.e6252346d8": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "date_day", "model": "{{ get_where_subquery(ref('stg_apple_search_ads__ad_report')) }}"}, "namespace": null}, "database": "dbt-package-testing", "schema": "zz_dbt_renee_dbt_test__audit", "name": "not_null_stg_apple_search_ads__ad_report_date_day", "resource_type": "test", "package_name": "apple_search_ads_source", "path": "not_null_stg_apple_search_ads__ad_report_date_day.sql", "original_file_path": "models/stg_apple_search_ads.yml", "unique_id": "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_report_date_day.e6252346d8", "fqn": ["apple_search_ads_source", "not_null_stg_apple_search_ads__ad_report_date_day"], "alias": "not_null_stg_apple_search_ads__ad_report_date_day", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1688398941.4953249, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [["stg_apple_search_ads__ad_report"]], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.apple_search_ads_source.stg_apple_search_ads__ad_report"]}, "compiled_path": "target/compiled/apple_search_ads_source/models/stg_apple_search_ads.yml/not_null_stg_apple_search_ads__ad_report_date_day.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect date_day\nfrom `dbt-package-testing`.`zz_dbt_renee_apple_search_ads_source`.`stg_apple_search_ads__ad_report`\nwhere date_day is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "column_name": "date_day", "file_key_name": "models.stg_apple_search_ads__ad_report"}, "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_report_ad_group_id.a397755e9f": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "ad_group_id", "model": "{{ get_where_subquery(ref('stg_apple_search_ads__ad_report')) }}"}, "namespace": null}, "database": "dbt-package-testing", "schema": "zz_dbt_renee_dbt_test__audit", "name": "not_null_stg_apple_search_ads__ad_report_ad_group_id", "resource_type": "test", "package_name": "apple_search_ads_source", "path": "not_null_stg_apple_search_ads__ad_report_ad_group_id.sql", "original_file_path": "models/stg_apple_search_ads.yml", "unique_id": "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_report_ad_group_id.a397755e9f", "fqn": ["apple_search_ads_source", "not_null_stg_apple_search_ads__ad_report_ad_group_id"], "alias": "not_null_stg_apple_search_ads__ad_report_ad_group_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1688398941.497696, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [["stg_apple_search_ads__ad_report"]], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.apple_search_ads_source.stg_apple_search_ads__ad_report"]}, "compiled_path": "target/compiled/apple_search_ads_source/models/stg_apple_search_ads.yml/not_null_stg_apple_search_ads__ad_report_ad_group_id.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect ad_group_id\nfrom `dbt-package-testing`.`zz_dbt_renee_apple_search_ads_source`.`stg_apple_search_ads__ad_report`\nwhere ad_group_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "column_name": "ad_group_id", "file_key_name": "models.stg_apple_search_ads__ad_report"}, "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_report_ad_id.d08e760c58": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "ad_id", "model": "{{ get_where_subquery(ref('stg_apple_search_ads__ad_report')) }}"}, "namespace": null}, "database": "dbt-package-testing", "schema": "zz_dbt_renee_dbt_test__audit", "name": "not_null_stg_apple_search_ads__ad_report_ad_id", "resource_type": "test", "package_name": "apple_search_ads_source", "path": "not_null_stg_apple_search_ads__ad_report_ad_id.sql", "original_file_path": "models/stg_apple_search_ads.yml", "unique_id": "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_report_ad_id.d08e760c58", "fqn": ["apple_search_ads_source", "not_null_stg_apple_search_ads__ad_report_ad_id"], "alias": "not_null_stg_apple_search_ads__ad_report_ad_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1688398941.5000708, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [["stg_apple_search_ads__ad_report"]], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.apple_search_ads_source.stg_apple_search_ads__ad_report"]}, "compiled_path": "target/compiled/apple_search_ads_source/models/stg_apple_search_ads.yml/not_null_stg_apple_search_ads__ad_report_ad_id.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect ad_id\nfrom `dbt-package-testing`.`zz_dbt_renee_apple_search_ads_source`.`stg_apple_search_ads__ad_report`\nwhere ad_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "column_name": "ad_id", "file_key_name": "models.stg_apple_search_ads__ad_report"}, "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__ad_report_ad_id__date_day__ad_group_id.0d8d23c516": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["ad_id", "date_day", "ad_group_id"], "model": "{{ get_where_subquery(ref('stg_apple_search_ads__ad_report')) }}"}, "namespace": "dbt_utils"}, "database": "dbt-package-testing", "schema": "zz_dbt_renee_dbt_test__audit", "name": "dbt_utils_unique_combination_of_columns_stg_apple_search_ads__ad_report_ad_id__date_day__ad_group_id", "resource_type": "test", "package_name": "apple_search_ads_source", "path": "dbt_utils_unique_combination_o_9ce5e828ce9fa0987b5e86cbcb1207b9.sql", "original_file_path": "models/stg_apple_search_ads.yml", "unique_id": "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__ad_report_ad_id__date_day__ad_group_id.0d8d23c516", "fqn": ["apple_search_ads_source", "dbt_utils_unique_combination_of_columns_stg_apple_search_ads__ad_report_ad_id__date_day__ad_group_id"], "alias": "dbt_utils_unique_combination_o_9ce5e828ce9fa0987b5e86cbcb1207b9", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_9ce5e828ce9fa0987b5e86cbcb1207b9", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_9ce5e828ce9fa0987b5e86cbcb1207b9"}, "created_at": 1688398941.502754, "relation_name": null, "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_9ce5e828ce9fa0987b5e86cbcb1207b9\") }}", "language": "sql", "refs": [["stg_apple_search_ads__ad_report"]], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.apple_search_ads_source.stg_apple_search_ads__ad_report"]}, "compiled_path": "target/compiled/apple_search_ads_source/models/stg_apple_search_ads.yml/dbt_utils_unique_combination_o_9ce5e828ce9fa0987b5e86cbcb1207b9.sql", "compiled": true, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n ad_id, date_day, ad_group_id\n from `dbt-package-testing`.`zz_dbt_renee_apple_search_ads_source`.`stg_apple_search_ads__ad_report`\n group by ad_id, date_day, ad_group_id\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "column_name": null, "file_key_name": "models.stg_apple_search_ads__ad_report"}, "test.apple_search_ads_source.not_null_stg_apple_search_ads__campaign_history_modified_at.f34a7a97c9": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "modified_at", "model": "{{ get_where_subquery(ref('stg_apple_search_ads__campaign_history')) }}"}, "namespace": null}, "database": "dbt-package-testing", "schema": "zz_dbt_renee_dbt_test__audit", "name": "not_null_stg_apple_search_ads__campaign_history_modified_at", "resource_type": "test", "package_name": "apple_search_ads_source", "path": "not_null_stg_apple_search_ads__campaign_history_modified_at.sql", "original_file_path": "models/stg_apple_search_ads.yml", "unique_id": "test.apple_search_ads_source.not_null_stg_apple_search_ads__campaign_history_modified_at.f34a7a97c9", "fqn": ["apple_search_ads_source", "not_null_stg_apple_search_ads__campaign_history_modified_at"], "alias": "not_null_stg_apple_search_ads__campaign_history_modified_at", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1688398941.511043, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [["stg_apple_search_ads__campaign_history"]], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.apple_search_ads_source.stg_apple_search_ads__campaign_history"]}, "compiled_path": "target/compiled/apple_search_ads_source/models/stg_apple_search_ads.yml/not_null_stg_apple_search_ads__campaign_history_modified_at.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect modified_at\nfrom `dbt-package-testing`.`zz_dbt_renee_apple_search_ads_source`.`stg_apple_search_ads__campaign_history`\nwhere modified_at is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "column_name": "modified_at", "file_key_name": "models.stg_apple_search_ads__campaign_history"}, "test.apple_search_ads_source.not_null_stg_apple_search_ads__campaign_history_campaign_id.3f0f7502b8": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "campaign_id", "model": "{{ get_where_subquery(ref('stg_apple_search_ads__campaign_history')) }}"}, "namespace": null}, "database": "dbt-package-testing", "schema": "zz_dbt_renee_dbt_test__audit", "name": "not_null_stg_apple_search_ads__campaign_history_campaign_id", "resource_type": "test", "package_name": "apple_search_ads_source", "path": "not_null_stg_apple_search_ads__campaign_history_campaign_id.sql", "original_file_path": "models/stg_apple_search_ads.yml", "unique_id": "test.apple_search_ads_source.not_null_stg_apple_search_ads__campaign_history_campaign_id.3f0f7502b8", "fqn": ["apple_search_ads_source", "not_null_stg_apple_search_ads__campaign_history_campaign_id"], "alias": "not_null_stg_apple_search_ads__campaign_history_campaign_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1688398941.514336, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [["stg_apple_search_ads__campaign_history"]], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.apple_search_ads_source.stg_apple_search_ads__campaign_history"]}, "compiled_path": "target/compiled/apple_search_ads_source/models/stg_apple_search_ads.yml/not_null_stg_apple_search_ads__campaign_history_campaign_id.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect campaign_id\nfrom `dbt-package-testing`.`zz_dbt_renee_apple_search_ads_source`.`stg_apple_search_ads__campaign_history`\nwhere campaign_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "column_name": "campaign_id", "file_key_name": "models.stg_apple_search_ads__campaign_history"}, "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__campaign_history_campaign_id__modified_at.317f970af9": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["campaign_id", "modified_at"], "model": "{{ get_where_subquery(ref('stg_apple_search_ads__campaign_history')) }}"}, "namespace": "dbt_utils"}, "database": "dbt-package-testing", "schema": "zz_dbt_renee_dbt_test__audit", "name": "dbt_utils_unique_combination_of_columns_stg_apple_search_ads__campaign_history_campaign_id__modified_at", "resource_type": "test", "package_name": "apple_search_ads_source", "path": "dbt_utils_unique_combination_o_055fa7e8a6c292e0f56d1feec61284a9.sql", "original_file_path": "models/stg_apple_search_ads.yml", "unique_id": "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__campaign_history_campaign_id__modified_at.317f970af9", "fqn": ["apple_search_ads_source", "dbt_utils_unique_combination_of_columns_stg_apple_search_ads__campaign_history_campaign_id__modified_at"], "alias": "dbt_utils_unique_combination_o_055fa7e8a6c292e0f56d1feec61284a9", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_055fa7e8a6c292e0f56d1feec61284a9", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_055fa7e8a6c292e0f56d1feec61284a9"}, "created_at": 1688398941.516793, "relation_name": null, "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_055fa7e8a6c292e0f56d1feec61284a9\") }}", "language": "sql", "refs": [["stg_apple_search_ads__campaign_history"]], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.apple_search_ads_source.stg_apple_search_ads__campaign_history"]}, "compiled_path": "target/compiled/apple_search_ads_source/models/stg_apple_search_ads.yml/dbt_utils_unique_combination_o_055fa7e8a6c292e0f56d1feec61284a9.sql", "compiled": true, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n campaign_id, modified_at\n from `dbt-package-testing`.`zz_dbt_renee_apple_search_ads_source`.`stg_apple_search_ads__campaign_history`\n group by campaign_id, modified_at\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "column_name": null, "file_key_name": "models.stg_apple_search_ads__campaign_history"}, "test.apple_search_ads_source.not_null_stg_apple_search_ads__campaign_report_campaign_id.b83941e728": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "campaign_id", "model": "{{ get_where_subquery(ref('stg_apple_search_ads__campaign_report')) }}"}, "namespace": null}, "database": "dbt-package-testing", "schema": "zz_dbt_renee_dbt_test__audit", "name": "not_null_stg_apple_search_ads__campaign_report_campaign_id", "resource_type": "test", "package_name": "apple_search_ads_source", "path": "not_null_stg_apple_search_ads__campaign_report_campaign_id.sql", "original_file_path": "models/stg_apple_search_ads.yml", "unique_id": "test.apple_search_ads_source.not_null_stg_apple_search_ads__campaign_report_campaign_id.b83941e728", "fqn": ["apple_search_ads_source", "not_null_stg_apple_search_ads__campaign_report_campaign_id"], "alias": "not_null_stg_apple_search_ads__campaign_report_campaign_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1688398941.523823, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [["stg_apple_search_ads__campaign_report"]], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.apple_search_ads_source.stg_apple_search_ads__campaign_report"]}, "compiled_path": "target/compiled/apple_search_ads_source/models/stg_apple_search_ads.yml/not_null_stg_apple_search_ads__campaign_report_campaign_id.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect campaign_id\nfrom `dbt-package-testing`.`zz_dbt_renee_apple_search_ads_source`.`stg_apple_search_ads__campaign_report`\nwhere campaign_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "column_name": "campaign_id", "file_key_name": "models.stg_apple_search_ads__campaign_report"}, "test.apple_search_ads_source.not_null_stg_apple_search_ads__campaign_report_date_day.c8dc10a6f3": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "date_day", "model": "{{ get_where_subquery(ref('stg_apple_search_ads__campaign_report')) }}"}, "namespace": null}, "database": "dbt-package-testing", "schema": "zz_dbt_renee_dbt_test__audit", "name": "not_null_stg_apple_search_ads__campaign_report_date_day", "resource_type": "test", "package_name": "apple_search_ads_source", "path": "not_null_stg_apple_search_ads__campaign_report_date_day.sql", "original_file_path": "models/stg_apple_search_ads.yml", "unique_id": "test.apple_search_ads_source.not_null_stg_apple_search_ads__campaign_report_date_day.c8dc10a6f3", "fqn": ["apple_search_ads_source", "not_null_stg_apple_search_ads__campaign_report_date_day"], "alias": "not_null_stg_apple_search_ads__campaign_report_date_day", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1688398941.527492, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [["stg_apple_search_ads__campaign_report"]], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.apple_search_ads_source.stg_apple_search_ads__campaign_report"]}, "compiled_path": "target/compiled/apple_search_ads_source/models/stg_apple_search_ads.yml/not_null_stg_apple_search_ads__campaign_report_date_day.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect date_day\nfrom `dbt-package-testing`.`zz_dbt_renee_apple_search_ads_source`.`stg_apple_search_ads__campaign_report`\nwhere date_day is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "column_name": "date_day", "file_key_name": "models.stg_apple_search_ads__campaign_report"}, "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__campaign_report_campaign_id__date_day.bad41b0481": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["campaign_id", "date_day"], "model": "{{ get_where_subquery(ref('stg_apple_search_ads__campaign_report')) }}"}, "namespace": "dbt_utils"}, "database": "dbt-package-testing", "schema": "zz_dbt_renee_dbt_test__audit", "name": "dbt_utils_unique_combination_of_columns_stg_apple_search_ads__campaign_report_campaign_id__date_day", "resource_type": "test", "package_name": "apple_search_ads_source", "path": "dbt_utils_unique_combination_o_d8bdb244aa45cb237ef5189371733c07.sql", "original_file_path": "models/stg_apple_search_ads.yml", "unique_id": "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__campaign_report_campaign_id__date_day.bad41b0481", "fqn": ["apple_search_ads_source", "dbt_utils_unique_combination_of_columns_stg_apple_search_ads__campaign_report_campaign_id__date_day"], "alias": "dbt_utils_unique_combination_o_d8bdb244aa45cb237ef5189371733c07", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_d8bdb244aa45cb237ef5189371733c07", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_d8bdb244aa45cb237ef5189371733c07"}, "created_at": 1688398941.5307982, "relation_name": null, "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_d8bdb244aa45cb237ef5189371733c07\") }}", "language": "sql", "refs": [["stg_apple_search_ads__campaign_report"]], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.apple_search_ads_source.stg_apple_search_ads__campaign_report"]}, "compiled_path": "target/compiled/apple_search_ads_source/models/stg_apple_search_ads.yml/dbt_utils_unique_combination_o_d8bdb244aa45cb237ef5189371733c07.sql", "compiled": true, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n campaign_id, date_day\n from `dbt-package-testing`.`zz_dbt_renee_apple_search_ads_source`.`stg_apple_search_ads__campaign_report`\n group by campaign_id, date_day\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "column_name": null, "file_key_name": "models.stg_apple_search_ads__campaign_report"}, "test.apple_search_ads_source.not_null_stg_apple_search_ads__keyword_history_modified_at.42fde5a287": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "modified_at", "model": "{{ get_where_subquery(ref('stg_apple_search_ads__keyword_history')) }}"}, "namespace": null}, "database": "dbt-package-testing", "schema": "zz_dbt_renee_dbt_test__audit", "name": "not_null_stg_apple_search_ads__keyword_history_modified_at", "resource_type": "test", "package_name": "apple_search_ads_source", "path": "not_null_stg_apple_search_ads__keyword_history_modified_at.sql", "original_file_path": "models/stg_apple_search_ads.yml", "unique_id": "test.apple_search_ads_source.not_null_stg_apple_search_ads__keyword_history_modified_at.42fde5a287", "fqn": ["apple_search_ads_source", "not_null_stg_apple_search_ads__keyword_history_modified_at"], "alias": "not_null_stg_apple_search_ads__keyword_history_modified_at", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1688398941.539767, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [["stg_apple_search_ads__keyword_history"]], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.apple_search_ads_source.stg_apple_search_ads__keyword_history"]}, "compiled_path": "target/compiled/apple_search_ads_source/models/stg_apple_search_ads.yml/not_null_stg_apple_search_ads__keyword_history_modified_at.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect modified_at\nfrom `dbt-package-testing`.`zz_dbt_renee_apple_search_ads_source`.`stg_apple_search_ads__keyword_history`\nwhere modified_at is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "column_name": "modified_at", "file_key_name": "models.stg_apple_search_ads__keyword_history"}, "test.apple_search_ads_source.not_null_stg_apple_search_ads__keyword_history_keyword_id.889f83cfd2": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "keyword_id", "model": "{{ get_where_subquery(ref('stg_apple_search_ads__keyword_history')) }}"}, "namespace": null}, "database": "dbt-package-testing", "schema": "zz_dbt_renee_dbt_test__audit", "name": "not_null_stg_apple_search_ads__keyword_history_keyword_id", "resource_type": "test", "package_name": "apple_search_ads_source", "path": "not_null_stg_apple_search_ads__keyword_history_keyword_id.sql", "original_file_path": "models/stg_apple_search_ads.yml", "unique_id": "test.apple_search_ads_source.not_null_stg_apple_search_ads__keyword_history_keyword_id.889f83cfd2", "fqn": ["apple_search_ads_source", "not_null_stg_apple_search_ads__keyword_history_keyword_id"], "alias": "not_null_stg_apple_search_ads__keyword_history_keyword_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1688398941.543287, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [["stg_apple_search_ads__keyword_history"]], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.apple_search_ads_source.stg_apple_search_ads__keyword_history"]}, "compiled_path": "target/compiled/apple_search_ads_source/models/stg_apple_search_ads.yml/not_null_stg_apple_search_ads__keyword_history_keyword_id.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect keyword_id\nfrom `dbt-package-testing`.`zz_dbt_renee_apple_search_ads_source`.`stg_apple_search_ads__keyword_history`\nwhere keyword_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "column_name": "keyword_id", "file_key_name": "models.stg_apple_search_ads__keyword_history"}, "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__keyword_history_keyword_id__modified_at.7b06162d24": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["keyword_id", "modified_at"], "model": "{{ get_where_subquery(ref('stg_apple_search_ads__keyword_history')) }}"}, "namespace": "dbt_utils"}, "database": "dbt-package-testing", "schema": "zz_dbt_renee_dbt_test__audit", "name": "dbt_utils_unique_combination_of_columns_stg_apple_search_ads__keyword_history_keyword_id__modified_at", "resource_type": "test", "package_name": "apple_search_ads_source", "path": "dbt_utils_unique_combination_o_26b09b2f81a50b0ba84b566cd7df85b5.sql", "original_file_path": "models/stg_apple_search_ads.yml", "unique_id": "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__keyword_history_keyword_id__modified_at.7b06162d24", "fqn": ["apple_search_ads_source", "dbt_utils_unique_combination_of_columns_stg_apple_search_ads__keyword_history_keyword_id__modified_at"], "alias": "dbt_utils_unique_combination_o_26b09b2f81a50b0ba84b566cd7df85b5", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_26b09b2f81a50b0ba84b566cd7df85b5", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_26b09b2f81a50b0ba84b566cd7df85b5"}, "created_at": 1688398941.546876, "relation_name": null, "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_26b09b2f81a50b0ba84b566cd7df85b5\") }}", "language": "sql", "refs": [["stg_apple_search_ads__keyword_history"]], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.apple_search_ads_source.stg_apple_search_ads__keyword_history"]}, "compiled_path": "target/compiled/apple_search_ads_source/models/stg_apple_search_ads.yml/dbt_utils_unique_combination_o_26b09b2f81a50b0ba84b566cd7df85b5.sql", "compiled": true, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n keyword_id, modified_at\n from `dbt-package-testing`.`zz_dbt_renee_apple_search_ads_source`.`stg_apple_search_ads__keyword_history`\n group by keyword_id, modified_at\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "column_name": null, "file_key_name": "models.stg_apple_search_ads__keyword_history"}, "test.apple_search_ads_source.not_null_stg_apple_search_ads__keyword_report_keyword_id.501725b09e": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "keyword_id", "model": "{{ get_where_subquery(ref('stg_apple_search_ads__keyword_report')) }}"}, "namespace": null}, "database": "dbt-package-testing", "schema": "zz_dbt_renee_dbt_test__audit", "name": "not_null_stg_apple_search_ads__keyword_report_keyword_id", "resource_type": "test", "package_name": "apple_search_ads_source", "path": "not_null_stg_apple_search_ads__keyword_report_keyword_id.sql", "original_file_path": "models/stg_apple_search_ads.yml", "unique_id": "test.apple_search_ads_source.not_null_stg_apple_search_ads__keyword_report_keyword_id.501725b09e", "fqn": ["apple_search_ads_source", "not_null_stg_apple_search_ads__keyword_report_keyword_id"], "alias": "not_null_stg_apple_search_ads__keyword_report_keyword_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1688398941.5549078, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [["stg_apple_search_ads__keyword_report"]], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.apple_search_ads_source.stg_apple_search_ads__keyword_report"]}, "compiled_path": "target/compiled/apple_search_ads_source/models/stg_apple_search_ads.yml/not_null_stg_apple_search_ads__keyword_report_keyword_id.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect keyword_id\nfrom `dbt-package-testing`.`zz_dbt_renee_apple_search_ads_source`.`stg_apple_search_ads__keyword_report`\nwhere keyword_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "column_name": "keyword_id", "file_key_name": "models.stg_apple_search_ads__keyword_report"}, "test.apple_search_ads_source.not_null_stg_apple_search_ads__keyword_report_date_day.16098db928": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "date_day", "model": "{{ get_where_subquery(ref('stg_apple_search_ads__keyword_report')) }}"}, "namespace": null}, "database": "dbt-package-testing", "schema": "zz_dbt_renee_dbt_test__audit", "name": "not_null_stg_apple_search_ads__keyword_report_date_day", "resource_type": "test", "package_name": "apple_search_ads_source", "path": "not_null_stg_apple_search_ads__keyword_report_date_day.sql", "original_file_path": "models/stg_apple_search_ads.yml", "unique_id": "test.apple_search_ads_source.not_null_stg_apple_search_ads__keyword_report_date_day.16098db928", "fqn": ["apple_search_ads_source", "not_null_stg_apple_search_ads__keyword_report_date_day"], "alias": "not_null_stg_apple_search_ads__keyword_report_date_day", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1688398941.5576031, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [["stg_apple_search_ads__keyword_report"]], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.apple_search_ads_source.stg_apple_search_ads__keyword_report"]}, "compiled_path": "target/compiled/apple_search_ads_source/models/stg_apple_search_ads.yml/not_null_stg_apple_search_ads__keyword_report_date_day.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect date_day\nfrom `dbt-package-testing`.`zz_dbt_renee_apple_search_ads_source`.`stg_apple_search_ads__keyword_report`\nwhere date_day is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "column_name": "date_day", "file_key_name": "models.stg_apple_search_ads__keyword_report"}, "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__keyword_report_keyword_id__date_day.9f0099cff8": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["keyword_id", "date_day"], "model": "{{ get_where_subquery(ref('stg_apple_search_ads__keyword_report')) }}"}, "namespace": "dbt_utils"}, "database": "dbt-package-testing", "schema": "zz_dbt_renee_dbt_test__audit", "name": "dbt_utils_unique_combination_of_columns_stg_apple_search_ads__keyword_report_keyword_id__date_day", "resource_type": "test", "package_name": "apple_search_ads_source", "path": "dbt_utils_unique_combination_o_2ec7f68205f05a3b68cfa7324135a1a5.sql", "original_file_path": "models/stg_apple_search_ads.yml", "unique_id": "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__keyword_report_keyword_id__date_day.9f0099cff8", "fqn": ["apple_search_ads_source", "dbt_utils_unique_combination_of_columns_stg_apple_search_ads__keyword_report_keyword_id__date_day"], "alias": "dbt_utils_unique_combination_o_2ec7f68205f05a3b68cfa7324135a1a5", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_2ec7f68205f05a3b68cfa7324135a1a5", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_2ec7f68205f05a3b68cfa7324135a1a5"}, "created_at": 1688398941.5603468, "relation_name": null, "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_2ec7f68205f05a3b68cfa7324135a1a5\") }}", "language": "sql", "refs": [["stg_apple_search_ads__keyword_report"]], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.apple_search_ads_source.stg_apple_search_ads__keyword_report"]}, "compiled_path": "target/compiled/apple_search_ads_source/models/stg_apple_search_ads.yml/dbt_utils_unique_combination_o_2ec7f68205f05a3b68cfa7324135a1a5.sql", "compiled": true, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n keyword_id, date_day\n from `dbt-package-testing`.`zz_dbt_renee_apple_search_ads_source`.`stg_apple_search_ads__keyword_report`\n group by keyword_id, date_day\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "column_name": null, "file_key_name": "models.stg_apple_search_ads__keyword_report"}, "test.apple_search_ads_source.not_null_stg_apple_search_ads__organization_organization_id.b013ce33cb": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "organization_id", "model": "{{ get_where_subquery(ref('stg_apple_search_ads__organization')) }}"}, "namespace": null}, "database": "dbt-package-testing", "schema": "zz_dbt_renee_dbt_test__audit", "name": "not_null_stg_apple_search_ads__organization_organization_id", "resource_type": "test", "package_name": "apple_search_ads_source", "path": "not_null_stg_apple_search_ads__organization_organization_id.sql", "original_file_path": "models/stg_apple_search_ads.yml", "unique_id": "test.apple_search_ads_source.not_null_stg_apple_search_ads__organization_organization_id.b013ce33cb", "fqn": ["apple_search_ads_source", "not_null_stg_apple_search_ads__organization_organization_id"], "alias": "not_null_stg_apple_search_ads__organization_organization_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1688398941.567334, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [["stg_apple_search_ads__organization"]], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.apple_search_ads_source.stg_apple_search_ads__organization"]}, "compiled_path": "target/compiled/apple_search_ads_source/models/stg_apple_search_ads.yml/not_null_stg_apple_search_ads__organization_organization_id.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect organization_id\nfrom `dbt-package-testing`.`zz_dbt_renee_apple_search_ads_source`.`stg_apple_search_ads__organization`\nwhere organization_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "column_name": "organization_id", "file_key_name": "models.stg_apple_search_ads__organization"}, "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__organization_organization_id.8647048f7a": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["organization_id"], "model": "{{ get_where_subquery(ref('stg_apple_search_ads__organization')) }}"}, "namespace": "dbt_utils"}, "database": "dbt-package-testing", "schema": "zz_dbt_renee_dbt_test__audit", "name": "dbt_utils_unique_combination_of_columns_stg_apple_search_ads__organization_organization_id", "resource_type": "test", "package_name": "apple_search_ads_source", "path": "dbt_utils_unique_combination_o_53ded9060f9d3981217ae23e5d2ba89b.sql", "original_file_path": "models/stg_apple_search_ads.yml", "unique_id": "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__organization_organization_id.8647048f7a", "fqn": ["apple_search_ads_source", "dbt_utils_unique_combination_of_columns_stg_apple_search_ads__organization_organization_id"], "alias": "dbt_utils_unique_combination_o_53ded9060f9d3981217ae23e5d2ba89b", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_53ded9060f9d3981217ae23e5d2ba89b", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_53ded9060f9d3981217ae23e5d2ba89b"}, "created_at": 1688398941.56968, "relation_name": null, "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_53ded9060f9d3981217ae23e5d2ba89b\") }}", "language": "sql", "refs": [["stg_apple_search_ads__organization"]], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.apple_search_ads_source.stg_apple_search_ads__organization"]}, "compiled_path": "target/compiled/apple_search_ads_source/models/stg_apple_search_ads.yml/dbt_utils_unique_combination_o_53ded9060f9d3981217ae23e5d2ba89b.sql", "compiled": true, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n organization_id\n from `dbt-package-testing`.`zz_dbt_renee_apple_search_ads_source`.`stg_apple_search_ads__organization`\n group by organization_id\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "column_name": null, "file_key_name": "models.stg_apple_search_ads__organization"}, "test.apple_search_ads_source.not_null_stg_apple_search_ads__search_term_report__fivetran_id.aa430d1dad": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "_fivetran_id", "model": "{{ get_where_subquery(ref('stg_apple_search_ads__search_term_report')) }}"}, "namespace": null}, "database": "dbt-package-testing", "schema": "zz_dbt_renee_dbt_test__audit", "name": "not_null_stg_apple_search_ads__search_term_report__fivetran_id", "resource_type": "test", "package_name": "apple_search_ads_source", "path": "not_null_stg_apple_search_ads__search_term_report__fivetran_id.sql", "original_file_path": "models/stg_apple_search_ads.yml", "unique_id": "test.apple_search_ads_source.not_null_stg_apple_search_ads__search_term_report__fivetran_id.aa430d1dad", "fqn": ["apple_search_ads_source", "not_null_stg_apple_search_ads__search_term_report__fivetran_id"], "alias": "not_null_stg_apple_search_ads__search_term_report__fivetran_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1688398941.576352, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [["stg_apple_search_ads__search_term_report"]], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.apple_search_ads_source.stg_apple_search_ads__search_term_report"]}, "compiled_path": "target/compiled/apple_search_ads_source/models/stg_apple_search_ads.yml/not_null_stg_apple_search_ads__search_term_report__fivetran_id.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect _fivetran_id\nfrom `dbt-package-testing`.`zz_dbt_renee_apple_search_ads_source`.`stg_apple_search_ads__search_term_report`\nwhere _fivetran_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "column_name": "_fivetran_id", "file_key_name": "models.stg_apple_search_ads__search_term_report"}, "test.apple_search_ads_source.not_null_stg_apple_search_ads__search_term_report_date_day.fd93df3302": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "date_day", "model": "{{ get_where_subquery(ref('stg_apple_search_ads__search_term_report')) }}"}, "namespace": null}, "database": "dbt-package-testing", "schema": "zz_dbt_renee_dbt_test__audit", "name": "not_null_stg_apple_search_ads__search_term_report_date_day", "resource_type": "test", "package_name": "apple_search_ads_source", "path": "not_null_stg_apple_search_ads__search_term_report_date_day.sql", "original_file_path": "models/stg_apple_search_ads.yml", "unique_id": "test.apple_search_ads_source.not_null_stg_apple_search_ads__search_term_report_date_day.fd93df3302", "fqn": ["apple_search_ads_source", "not_null_stg_apple_search_ads__search_term_report_date_day"], "alias": "not_null_stg_apple_search_ads__search_term_report_date_day", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1688398941.579742, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [["stg_apple_search_ads__search_term_report"]], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.apple_search_ads_source.stg_apple_search_ads__search_term_report"]}, "compiled_path": "target/compiled/apple_search_ads_source/models/stg_apple_search_ads.yml/not_null_stg_apple_search_ads__search_term_report_date_day.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect date_day\nfrom `dbt-package-testing`.`zz_dbt_renee_apple_search_ads_source`.`stg_apple_search_ads__search_term_report`\nwhere date_day is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "column_name": "date_day", "file_key_name": "models.stg_apple_search_ads__search_term_report"}, "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__search_term_report__fivetran_id__date_day.aad2a48344": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["_fivetran_id", "date_day"], "model": "{{ get_where_subquery(ref('stg_apple_search_ads__search_term_report')) }}"}, "namespace": "dbt_utils"}, "database": "dbt-package-testing", "schema": "zz_dbt_renee_dbt_test__audit", "name": "dbt_utils_unique_combination_of_columns_stg_apple_search_ads__search_term_report__fivetran_id__date_day", "resource_type": "test", "package_name": "apple_search_ads_source", "path": "dbt_utils_unique_combination_o_4b957c6b8a75dcd1a6055884f71d71c1.sql", "original_file_path": "models/stg_apple_search_ads.yml", "unique_id": "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__search_term_report__fivetran_id__date_day.aad2a48344", "fqn": ["apple_search_ads_source", "dbt_utils_unique_combination_of_columns_stg_apple_search_ads__search_term_report__fivetran_id__date_day"], "alias": "dbt_utils_unique_combination_o_4b957c6b8a75dcd1a6055884f71d71c1", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_4b957c6b8a75dcd1a6055884f71d71c1", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_4b957c6b8a75dcd1a6055884f71d71c1"}, "created_at": 1688398941.582294, "relation_name": null, "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_4b957c6b8a75dcd1a6055884f71d71c1\") }}", "language": "sql", "refs": [["stg_apple_search_ads__search_term_report"]], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.apple_search_ads_source.stg_apple_search_ads__search_term_report"]}, "compiled_path": "target/compiled/apple_search_ads_source/models/stg_apple_search_ads.yml/dbt_utils_unique_combination_o_4b957c6b8a75dcd1a6055884f71d71c1.sql", "compiled": true, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n _fivetran_id, date_day\n from `dbt-package-testing`.`zz_dbt_renee_apple_search_ads_source`.`stg_apple_search_ads__search_term_report`\n group by _fivetran_id, date_day\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "column_name": null, "file_key_name": "models.stg_apple_search_ads__search_term_report"}}, "sources": {"source.apple_search_ads_source.apple_search_ads.ad_group_history": {"database": "dbt-package-testing", "schema": "apple_search_ads", "name": "ad_group_history", "resource_type": "source", "package_name": "apple_search_ads_source", "path": "models/src_apple_search_ads.yml", "original_file_path": "models/src_apple_search_ads.yml", "unique_id": "source.apple_search_ads_source.apple_search_ads.ad_group_history", "fqn": ["apple_search_ads_source", "apple_search_ads", "ad_group_history"], "source_name": "apple_search_ads", "source_description": "", "loader": "Fivetran", "identifier": "ad_group_history", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "Each record represents a version of an ad group in Apple Search Ads.", "columns": {"modification_time": {"name": "modification_time", "description": "Timestamp of when the ad group object was last modified.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "id": {"name": "id", "description": "Ad group ID associated with the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_id": {"name": "campaign_id", "description": "Campaign ID associated with the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "start_time": {"name": "start_time", "description": "Timestamp of designated ad group start time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "end_time": {"name": "end_time", "description": "The designated ad group end time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Ad group name.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "organization_id": {"name": "organization_id", "description": "Organization ID associated with the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status": {"name": "status", "description": "The current status of the ad group, values include ENABLED and PAUSED.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {"enabled": true}, "relation_name": "`dbt-package-testing`.`apple_search_ads`.`ad_group_history`", "created_at": 1688398941.588663}, "source.apple_search_ads_source.apple_search_ads.ad_group_report": {"database": "dbt-package-testing", "schema": "apple_search_ads", "name": "ad_group_report", "resource_type": "source", "package_name": "apple_search_ads_source", "path": "models/src_apple_search_ads.yml", "original_file_path": "models/src_apple_search_ads.yml", "unique_id": "source.apple_search_ads_source.apple_search_ads.ad_group_report", "fqn": ["apple_search_ads_source", "apple_search_ads", "ad_group_report"], "source_name": "apple_search_ads", "source_description": "", "loader": "Fivetran", "identifier": "ad_group_report", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "Each record represents the daily performance of an ad group in Apple Search Ads.", "columns": {"ad_group_id": {"name": "ad_group_id", "description": "Ad group ID associated with the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "date": {"name": "date", "description": "Date for daily report aggregation.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "Number of times your ad appeared in App Store search results.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "local_spend_amount": {"name": "local_spend_amount", "description": "The sum of costs associated with the number of impressions served; Spend is measured in the currency used in the campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "local_spend_currency": {"name": "local_spend_currency", "description": "This currency value should match the respective organization's currency value.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "new_downloads": {"name": "new_downloads", "description": "App downloads from new users who have never before installed the respective app.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "redownloads": {"name": "redownloads", "description": "Occurs when a user downloads respective app, deletes it, and downloads the same app again following a tap on an ad on the App Store, or downloads the same app to an additional device.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "taps": {"name": "taps", "description": "The number of times ad was tapped by users within the reporting time period.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {"enabled": true}, "relation_name": "`dbt-package-testing`.`apple_search_ads`.`ad_group_report`", "created_at": 1688398941.5889978}, "source.apple_search_ads_source.apple_search_ads.ad_history": {"database": "dbt-package-testing", "schema": "apple_search_ads", "name": "ad_history", "resource_type": "source", "package_name": "apple_search_ads_source", "path": "models/src_apple_search_ads.yml", "original_file_path": "models/src_apple_search_ads.yml", "unique_id": "source.apple_search_ads_source.apple_search_ads.ad_history", "fqn": ["apple_search_ads_source", "apple_search_ads", "ad_history"], "source_name": "apple_search_ads", "source_description": "", "loader": "Fivetran", "identifier": "ad_history", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "Each record represents a version of an ad in Apple Search Ads.", "columns": {"creation_time": {"name": "creation_time", "description": "Timestamp of when ad was created.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "modification_time": {"name": "modification_time", "description": "Timestamp of when the ad object was last modified.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "org_id": {"name": "org_id", "description": "Organization ID associated with the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_id": {"name": "campaign_id", "description": "Campaign ID associated with the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "Ad group ID associated with the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Ad name associated with the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "id": {"name": "id", "description": "Ad ID associated with the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status": {"name": "status", "description": "The current status of the ad, values include ENABLED and PAUSED.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {"enabled": true}, "relation_name": "`dbt-package-testing`.`apple_search_ads`.`ad_history`", "created_at": 1688398941.5893}, "source.apple_search_ads_source.apple_search_ads.ad_level_report": {"database": "dbt-package-testing", "schema": "apple_search_ads", "name": "ad_level_report", "resource_type": "source", "package_name": "apple_search_ads_source", "path": "models/src_apple_search_ads.yml", "original_file_path": "models/src_apple_search_ads.yml", "unique_id": "source.apple_search_ads_source.apple_search_ads.ad_level_report", "fqn": ["apple_search_ads_source", "apple_search_ads", "ad_level_report"], "source_name": "apple_search_ads", "source_description": "", "loader": "Fivetran", "identifier": "ad_level_report", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "Each record represents the daily performance of an ad in Apple Search Ads.", "columns": {"date": {"name": "date", "description": "Date for daily report aggregation.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_id": {"name": "campaign_id", "description": "Campaign ID associated with the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "Ad group ID associated with the record", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_id": {"name": "ad_id", "description": "Ad ID associated with the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "Number of times your ad appeared in App Store search results.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "local_spend_amount": {"name": "local_spend_amount", "description": "The sum of costs associated with the number of impressions served; Spend is measured in the currency used in the campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "local_spend_currency": {"name": "local_spend_currency", "description": "This currency value should match the respective organization's currency value.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "new_downloads": {"name": "new_downloads", "description": "App downloads from new users who have never before installed the respective app.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "redownloads": {"name": "redownloads", "description": "Occurs when a user downloads respective app, deletes it, and downloads the same app again following a tap on an ad on the App Store, or downloads the same app to an additional device.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "taps": {"name": "taps", "description": "The number of times ad was tapped by users within the reporting time period.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {"enabled": true}, "relation_name": "`dbt-package-testing`.`apple_search_ads`.`ad_level_report`", "created_at": 1688398941.589609}, "source.apple_search_ads_source.apple_search_ads.campaign_history": {"database": "dbt-package-testing", "schema": "apple_search_ads", "name": "campaign_history", "resource_type": "source", "package_name": "apple_search_ads_source", "path": "models/src_apple_search_ads.yml", "original_file_path": "models/src_apple_search_ads.yml", "unique_id": "source.apple_search_ads_source.apple_search_ads.campaign_history", "fqn": ["apple_search_ads_source", "apple_search_ads", "campaign_history"], "source_name": "apple_search_ads", "source_description": "", "loader": "Fivetran", "identifier": "campaign_history", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "Each record represents a version of a campaign in Apple Search Ads.", "columns": {"modification_time": {"name": "modification_time", "description": "Timestamp of when the campaign object was last modified.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "id": {"name": "id", "description": "Campaign ID associated with the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "start_time": {"name": "start_time", "description": "The designated ad group start time (ad group with the earliest start time associated with this campaign).", "meta": {}, "data_type": null, "quote": null, "tags": []}, "end_time": {"name": "end_time", "description": "The designated campaign end time (ad group with the latest start time associated with this campaign).", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Campaign name for the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "organization_id": {"name": "organization_id", "description": "Organization ID associated with the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status": {"name": "status", "description": "The current status of the campaign, values include ENABLED and PAUSED.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {"enabled": true}, "relation_name": "`dbt-package-testing`.`apple_search_ads`.`campaign_history`", "created_at": 1688398941.58991}, "source.apple_search_ads_source.apple_search_ads.campaign_report": {"database": "dbt-package-testing", "schema": "apple_search_ads", "name": "campaign_report", "resource_type": "source", "package_name": "apple_search_ads_source", "path": "models/src_apple_search_ads.yml", "original_file_path": "models/src_apple_search_ads.yml", "unique_id": "source.apple_search_ads_source.apple_search_ads.campaign_report", "fqn": ["apple_search_ads_source", "apple_search_ads", "campaign_report"], "source_name": "apple_search_ads", "source_description": "", "loader": "Fivetran", "identifier": "campaign_report", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "Each record represents the daily performance of a campaign in Apple Search Ads.", "columns": {"id": {"name": "id", "description": "Campaign ID associated with the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "date": {"name": "date", "description": "Date for daily report aggregation.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "Number of times your ad appeared in App Store search results.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "local_spend_amount": {"name": "local_spend_amount", "description": "The sum of costs associated with the number of impressions served; Spend is measured in the currency used in the campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "local_spend_currency": {"name": "local_spend_currency", "description": "This currency value should match the respective organization's currency value.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "new_downloads": {"name": "new_downloads", "description": "App downloads from new users who have never before installed the respective app.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "redownloads": {"name": "redownloads", "description": "Occurs when a user downloads respective app, deletes it, and downloads the same app again following a tap on an ad on the App Store, or downloads the same app to an additional device.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "taps": {"name": "taps", "description": "The number of times ad was tapped by users within the reporting time period.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {"enabled": true}, "relation_name": "`dbt-package-testing`.`apple_search_ads`.`campaign_report`", "created_at": 1688398941.59021}, "source.apple_search_ads_source.apple_search_ads.keyword_history": {"database": "dbt-package-testing", "schema": "apple_search_ads", "name": "keyword_history", "resource_type": "source", "package_name": "apple_search_ads_source", "path": "models/src_apple_search_ads.yml", "original_file_path": "models/src_apple_search_ads.yml", "unique_id": "source.apple_search_ads_source.apple_search_ads.keyword_history", "fqn": ["apple_search_ads_source", "apple_search_ads", "keyword_history"], "source_name": "apple_search_ads", "source_description": "", "loader": "Fivetran", "identifier": "keyword_history", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "Each record represents a version of a keyword in Apple Search Ads.", "columns": {"modification_time": {"name": "modification_time", "description": "Timestamp of when the keyword object was last modified.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "id": {"name": "id", "description": "Keyword ID associated with the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_id": {"name": "campaign_id", "description": "Campaign ID associated with the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "Ad group ID associated with the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "bid_amount": {"name": "bid_amount", "description": "The bid amount to display your ad for the matching text value.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "bid_currency": {"name": "bid_currency", "description": "This currency value should match the respective organization's currency value.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "match_type": {"name": "match_type", "description": "Controls how ads are matched to user searches; EXACT or BROAD.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status": {"name": "status", "description": "The current status of the keyword, values include ENABLED and PAUSED.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "text": {"name": "text", "description": "The word or phrase to match in user searches, to show respective ad.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {"enabled": true}, "relation_name": "`dbt-package-testing`.`apple_search_ads`.`keyword_history`", "created_at": 1688398941.590518}, "source.apple_search_ads_source.apple_search_ads.keyword_report": {"database": "dbt-package-testing", "schema": "apple_search_ads", "name": "keyword_report", "resource_type": "source", "package_name": "apple_search_ads_source", "path": "models/src_apple_search_ads.yml", "original_file_path": "models/src_apple_search_ads.yml", "unique_id": "source.apple_search_ads_source.apple_search_ads.keyword_report", "fqn": ["apple_search_ads_source", "apple_search_ads", "keyword_report"], "source_name": "apple_search_ads", "source_description": "", "loader": "Fivetran", "identifier": "keyword_report", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "Each record represents the daily performance of a keyword in Apple Search Ads.", "columns": {"id": {"name": "id", "description": "Keyword ID associated with the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "date": {"name": "date", "description": "Date for daily report aggregation.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "Number of times your ad appeared in App Store search results.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "local_spend_amount": {"name": "local_spend_amount", "description": "The sum of costs associated with the number of impressions served; Spend is measured in the currency used in the campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "local_spend_currency": {"name": "local_spend_currency", "description": "This currency value should match the respective organization's currency value.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "new_downloads": {"name": "new_downloads", "description": "App downloads from new users who have never before installed the respective app.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "redownloads": {"name": "redownloads", "description": "Occurs when a user downloads respective app, deletes it, and downloads the same app again following a tap on an ad on the App Store, or downloads the same app to an additional device.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "taps": {"name": "taps", "description": "The number of times ad was tapped by users within the reporting time period.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {"enabled": true}, "relation_name": "`dbt-package-testing`.`apple_search_ads`.`keyword_report`", "created_at": 1688398941.5908191}, "source.apple_search_ads_source.apple_search_ads.organization": {"database": "dbt-package-testing", "schema": "apple_search_ads", "name": "organization", "resource_type": "source", "package_name": "apple_search_ads_source", "path": "models/src_apple_search_ads.yml", "original_file_path": "models/src_apple_search_ads.yml", "unique_id": "source.apple_search_ads_source.apple_search_ads.organization", "fqn": ["apple_search_ads_source", "apple_search_ads", "organization"], "source_name": "apple_search_ads", "source_description": "", "loader": "Fivetran", "identifier": "organization", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "Each record represents an organization in Apple Search Ads.", "columns": {"organization_id": {"name": "organization_id", "description": "Organization ID associated with the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "currency": {"name": "currency", "description": "Specified currency for respective organization.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "payment_model": {"name": "payment_model", "description": "Values include 'LOC', 'PAYG' or (payment method hasn't been set).", "meta": {}, "data_type": null, "quote": null, "tags": []}, "organization_name": {"name": "organization_name", "description": "Name of organization.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "time_zone": {"name": "time_zone", "description": "Organization default timezone; values can be ORTZ or UTC.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {"enabled": true}, "relation_name": "`dbt-package-testing`.`apple_search_ads`.`organization`", "created_at": 1688398941.591111}, "source.apple_search_ads_source.apple_search_ads.search_term_report": {"database": "dbt-package-testing", "schema": "apple_search_ads", "name": "search_term_report", "resource_type": "source", "package_name": "apple_search_ads_source", "path": "models/src_apple_search_ads.yml", "original_file_path": "models/src_apple_search_ads.yml", "unique_id": "source.apple_search_ads_source.apple_search_ads.search_term_report", "fqn": ["apple_search_ads_source", "apple_search_ads", "search_term_report"], "source_name": "apple_search_ads", "source_description": "", "loader": "Fivetran", "identifier": "search_term_report", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "Each record represents the daily performance of a search term in Apple Search Ads.", "columns": {"_fivetran_id": {"name": "_fivetran_id", "description": "A Fivetran internal unique id that helps us avoid duplicate rows in primary keyless tables.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "Ad group ID associated with the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_id": {"name": "campaign_id", "description": "Campaign ID associated with the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "date": {"name": "date", "description": "Date for daily report aggregation.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_name": {"name": "ad_group_name", "description": "Ad group name.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "bid_amount_amount": {"name": "bid_amount_amount", "description": "The bid amount to display your ad for the matching text value.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "bid_amount_currency": {"name": "bid_amount_currency", "description": "This currency value should match the respective organization's currency value.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "keyword": {"name": "keyword", "description": "The word or phrase to match in user searches, to show respective ad.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "keyword_display_status": {"name": "keyword_display_status", "description": "The keyword display status can either be ACTIVE or PAUSED.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "keyword_id": {"name": "keyword_id", "description": "Keyword ID associated with the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "local_spend_amount": {"name": "local_spend_amount", "description": "The sum of costs associated with the number of impressions served; Spend is measured in the currency used in the campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "local_spend_currency": {"name": "local_spend_currency", "description": "This currency value should match the respective organization's currency value.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "match_type": {"name": "match_type", "description": "Controls how ads are matched to user searches; values include EXACT, BROAD or AUTO.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "search_term_source": {"name": "search_term_source", "description": "The search term source can either be TARGETED or AUTO; if this value is AUTO so will match_type.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "search_term_text": {"name": "search_term_text", "description": "The word or phrase to match of user searches.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "Number of times your ad appeared in App Store search results.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "taps": {"name": "taps", "description": "The number of times ad was tapped by users within the reporting time period.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "new_downloads": {"name": "new_downloads", "description": "App downloads from new users who have never before installed the respective app.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "redownloads": {"name": "redownloads", "description": "Occurs when a user downloads respective app, deletes it, and downloads the same app again following a tap on an ad on the App Store, or downloads the same app to an additional device.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {"enabled": true}, "relation_name": "`dbt-package-testing`.`apple_search_ads`.`search_term_report`", "created_at": 1688398941.591438}}, "macros": {"macro.dbt_bigquery.date_sharded_table": {"name": "date_sharded_table", "resource_type": "macro", "package_name": "dbt_bigquery", "path": "macros/etc.sql", "original_file_path": "macros/etc.sql", "unique_id": "macro.dbt_bigquery.date_sharded_table", "macro_sql": "{% macro date_sharded_table(base_name) %}\n {{ return(base_name ~ \"[DBT__PARTITION_DATE]\") }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.2237709, "supported_languages": null}, "macro.dbt_bigquery.grant_access_to": {"name": "grant_access_to", "resource_type": "macro", "package_name": "dbt_bigquery", "path": "macros/etc.sql", "original_file_path": "macros/etc.sql", "unique_id": "macro.dbt_bigquery.grant_access_to", "macro_sql": "{% macro grant_access_to(entity, entity_type, role, grant_target_dict) -%}\n {% do adapter.grant_access_to(entity, entity_type, role, grant_target_dict) %}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.2245839, "supported_languages": null}, "macro.dbt_bigquery.get_partitions_metadata": {"name": "get_partitions_metadata", "resource_type": "macro", "package_name": "dbt_bigquery", "path": "macros/etc.sql", "original_file_path": "macros/etc.sql", "unique_id": "macro.dbt_bigquery.get_partitions_metadata", "macro_sql": "\n\n{%- macro get_partitions_metadata(table) -%}\n {%- if execute -%}\n {%- set res = adapter.get_partitions_metadata(table) -%}\n {{- return(res) -}}\n {%- endif -%}\n {{- return(None) -}}\n{%- endmacro -%}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.225512, "supported_languages": null}, "macro.dbt_bigquery.bigquery__get_catalog": {"name": "bigquery__get_catalog", "resource_type": "macro", "package_name": "dbt_bigquery", "path": "macros/catalog.sql", "original_file_path": "macros/catalog.sql", "unique_id": "macro.dbt_bigquery.bigquery__get_catalog", "macro_sql": "{% macro bigquery__get_catalog(information_schema, schemas) -%}\n\n {%- if (schemas | length) == 0 -%}\n {# Hopefully nothing cares about the columns we return when there are no rows #}\n {%- set query = \"select 1 as id limit 0\" -%}\n {%- else -%}\n\n {%- set query -%}\n with tables as (\n select\n project_id as table_database,\n dataset_id as table_schema,\n table_id as original_table_name,\n\n concat(project_id, '.', dataset_id, '.', table_id) as relation_id,\n\n row_count,\n size_bytes as size_bytes,\n case\n when type = 1 then 'table'\n when type = 2 then 'view'\n else 'external'\n end as table_type,\n\n REGEXP_CONTAINS(table_id, '^.+[0-9]{8}$') and coalesce(type, 0) = 1 as is_date_shard,\n REGEXP_EXTRACT(table_id, '^(.+)[0-9]{8}$') as shard_base_name,\n REGEXP_EXTRACT(table_id, '^.+([0-9]{8})$') as shard_name\n\n from {{ information_schema.replace(information_schema_view='__TABLES__') }}\n where (\n {%- for schema in schemas -%}\n upper(dataset_id) = upper('{{ schema }}'){%- if not loop.last %} or {% endif -%}\n {%- endfor -%}\n )\n ),\n\n table_options as (\n select\n concat(table_catalog, '.', table_schema, '.', table_name) as relation_id,\n JSON_VALUE(option_value) as table_comment\n\n from {{ information_schema.replace(information_schema_view='TABLE_OPTIONS') }}\n where option_name = 'description'\n ),\n extracted as (\n\n select *,\n case\n when is_date_shard then shard_base_name\n else original_table_name\n end as table_name\n\n from tables\n\n ),\n\n unsharded_tables as (\n\n select\n table_database,\n table_schema,\n table_name,\n coalesce(table_type, 'external') as table_type,\n is_date_shard,\n\n struct(\n min(shard_name) as shard_min,\n max(shard_name) as shard_max,\n count(*) as shard_count\n ) as table_shards,\n\n sum(size_bytes) as size_bytes,\n sum(row_count) as row_count,\n\n max(relation_id) as relation_id\n\n from extracted\n group by 1,2,3,4,5\n\n ),\n\n info_schema_columns as (\n\n select\n concat(table_catalog, '.', table_schema, '.', table_name) as relation_id,\n table_catalog as table_database,\n table_schema,\n table_name,\n\n -- use the \"real\" column name from the paths query below\n column_name as base_column_name,\n ordinal_position as column_index,\n\n is_partitioning_column,\n clustering_ordinal_position\n\n from {{ information_schema.replace(information_schema_view='COLUMNS') }}\n where ordinal_position is not null\n\n ),\n\n info_schema_column_paths as (\n\n select\n concat(table_catalog, '.', table_schema, '.', table_name) as relation_id,\n field_path as column_name,\n data_type as column_type,\n column_name as base_column_name,\n description as column_comment\n\n from {{ information_schema.replace(information_schema_view='COLUMN_FIELD_PATHS') }}\n\n ),\n\n columns as (\n\n select * except (base_column_name)\n from info_schema_columns\n join info_schema_column_paths using (relation_id, base_column_name)\n\n ),\n\n column_stats as (\n\n select\n table_database,\n table_schema,\n table_name,\n max(relation_id) as relation_id,\n max(case when is_partitioning_column = 'YES' then 1 else 0 end) = 1 as is_partitioned,\n max(case when is_partitioning_column = 'YES' then column_name else null end) as partition_column,\n max(case when clustering_ordinal_position is not null then 1 else 0 end) = 1 as is_clustered,\n array_to_string(\n array_agg(\n case\n when clustering_ordinal_position is not null then column_name\n else null\n end ignore nulls\n order by clustering_ordinal_position\n ), ', '\n ) as clustering_columns\n\n from columns\n group by 1,2,3\n\n )\n\n select\n unsharded_tables.table_database,\n unsharded_tables.table_schema,\n case\n when is_date_shard then concat(unsharded_tables.table_name, '*')\n else unsharded_tables.table_name\n end as table_name,\n unsharded_tables.table_type,\n table_options.table_comment,\n\n -- coalesce name and type for External tables - these columns are not\n -- present in the COLUMN_FIELD_PATHS resultset\n coalesce(columns.column_name, '') as column_name,\n -- invent a row number to account for nested fields -- BQ does\n -- not treat these nested properties as independent fields\n row_number() over (\n partition by relation_id\n order by columns.column_index, columns.column_name\n ) as column_index,\n coalesce(columns.column_type, '') as column_type,\n columns.column_comment,\n\n 'Shard count' as `stats__date_shards__label`,\n table_shards.shard_count as `stats__date_shards__value`,\n 'The number of date shards in this table' as `stats__date_shards__description`,\n is_date_shard as `stats__date_shards__include`,\n\n 'Shard (min)' as `stats__date_shard_min__label`,\n table_shards.shard_min as `stats__date_shard_min__value`,\n 'The first date shard in this table' as `stats__date_shard_min__description`,\n is_date_shard as `stats__date_shard_min__include`,\n\n 'Shard (max)' as `stats__date_shard_max__label`,\n table_shards.shard_max as `stats__date_shard_max__value`,\n 'The last date shard in this table' as `stats__date_shard_max__description`,\n is_date_shard as `stats__date_shard_max__include`,\n\n '# Rows' as `stats__num_rows__label`,\n row_count as `stats__num_rows__value`,\n 'Approximate count of rows in this table' as `stats__num_rows__description`,\n (unsharded_tables.table_type = 'table') as `stats__num_rows__include`,\n\n 'Approximate Size' as `stats__num_bytes__label`,\n size_bytes as `stats__num_bytes__value`,\n 'Approximate size of table as reported by BigQuery' as `stats__num_bytes__description`,\n (unsharded_tables.table_type = 'table') as `stats__num_bytes__include`,\n\n 'Partitioned By' as `stats__partitioning_type__label`,\n partition_column as `stats__partitioning_type__value`,\n 'The partitioning column for this table' as `stats__partitioning_type__description`,\n is_partitioned as `stats__partitioning_type__include`,\n\n 'Clustered By' as `stats__clustering_fields__label`,\n clustering_columns as `stats__clustering_fields__value`,\n 'The clustering columns for this table' as `stats__clustering_fields__description`,\n is_clustered as `stats__clustering_fields__include`\n\n -- join using relation_id (an actual relation, not a shard prefix) to make\n -- sure that column metadata is picked up through the join. This will only\n -- return the column information for the \"max\" table in a date-sharded table set\n from unsharded_tables\n left join table_options using (relation_id)\n left join columns using (relation_id)\n left join column_stats using (relation_id)\n {%- endset -%}\n\n {%- endif -%}\n\n {{ return(run_query(query)) }}\n\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.replace", "macro.dbt.run_query"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.23338, "supported_languages": null}, "macro.dbt_bigquery.partition_by": {"name": "partition_by", "resource_type": "macro", "package_name": "dbt_bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "unique_id": "macro.dbt_bigquery.partition_by", "macro_sql": "{% macro partition_by(partition_config) -%}\n {%- if partition_config is none -%}\n {% do return('') %}\n {%- elif partition_config.data_type | lower in ('date','timestamp','datetime') -%}\n partition by {{ partition_config.render() }}\n {%- elif partition_config.data_type | lower in ('int64') -%}\n {%- set range = partition_config.range -%}\n partition by range_bucket(\n {{ partition_config.field }},\n generate_array({{ range.start}}, {{ range.end }}, {{ range.interval }})\n )\n {%- endif -%}\n{%- endmacro -%}\n\n", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.241586, "supported_languages": null}, "macro.dbt_bigquery.cluster_by": {"name": "cluster_by", "resource_type": "macro", "package_name": "dbt_bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "unique_id": "macro.dbt_bigquery.cluster_by", "macro_sql": "{% macro cluster_by(raw_cluster_by) %}\n {%- if raw_cluster_by is not none -%}\n cluster by {% if raw_cluster_by is string -%}\n {% set raw_cluster_by = [raw_cluster_by] %}\n {%- endif -%}\n {%- for cluster in raw_cluster_by -%}\n {{ cluster }}\n {%- if not loop.last -%}, {% endif -%}\n {%- endfor -%}\n\n {% endif %}\n\n{%- endmacro -%}\n\n", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.242711, "supported_languages": null}, "macro.dbt_bigquery.bigquery_options": {"name": "bigquery_options", "resource_type": "macro", "package_name": "dbt_bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "unique_id": "macro.dbt_bigquery.bigquery_options", "macro_sql": "{% macro bigquery_options(opts) %}\n {% set options -%}\n OPTIONS({% for opt_key, opt_val in opts.items() %}\n {{ opt_key }}={{ opt_val }}{{ \",\" if not loop.last }}\n {% endfor %})\n {%- endset %}\n {%- do return(options) -%}\n{%- endmacro -%}\n\n", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.243676, "supported_languages": null}, "macro.dbt_bigquery.bigquery_table_options": {"name": "bigquery_table_options", "resource_type": "macro", "package_name": "dbt_bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "unique_id": "macro.dbt_bigquery.bigquery_table_options", "macro_sql": "{% macro bigquery_table_options(config, node, temporary) %}\n {% set opts = adapter.get_table_options(config, node, temporary) %}\n {%- do return(bigquery_options(opts)) -%}\n{%- endmacro -%}\n\n", "depends_on": {"macros": ["macro.dbt_bigquery.bigquery_options"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.244394, "supported_languages": null}, "macro.dbt_bigquery.bigquery__create_table_as": {"name": "bigquery__create_table_as", "resource_type": "macro", "package_name": "dbt_bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "unique_id": "macro.dbt_bigquery.bigquery__create_table_as", "macro_sql": "{% macro bigquery__create_table_as(temporary, relation, compiled_code, language='sql') -%}\n {%- if language == 'sql' -%}\n {%- set raw_partition_by = config.get('partition_by', none) -%}\n {%- set raw_cluster_by = config.get('cluster_by', none) -%}\n {%- set sql_header = config.get('sql_header', none) -%}\n\n {%- set partition_config = adapter.parse_partition_by(raw_partition_by) -%}\n\n {{ sql_header if sql_header is not none }}\n\n create or replace table {{ relation }}\n {{ partition_by(partition_config) }}\n {{ cluster_by(raw_cluster_by) }}\n {{ bigquery_table_options(config, model, temporary) }}\n as (\n {{ compiled_code }}\n );\n {%- elif language == 'python' -%}\n {#--\n N.B. Python models _can_ write to temp views HOWEVER they use a different session\n and have already expired by the time they need to be used (I.E. in merges for incremental models)\n\n TODO: Deep dive into spark sessions to see if we can reuse a single session for an entire\n dbt invocation.\n --#}\n {{ py_write_table(compiled_code=compiled_code, target_relation=relation.quote(database=False, schema=False, identifier=False)) }}\n {%- else -%}\n {% do exceptions.raise_compiler_error(\"bigquery__create_table_as macro didn't get supported language, it got %s\" % language) %}\n {%- endif -%}\n\n{%- endmacro -%}\n\n", "depends_on": {"macros": ["macro.dbt_bigquery.partition_by", "macro.dbt_bigquery.cluster_by", "macro.dbt_bigquery.bigquery_table_options", "macro.dbt_bigquery.py_write_table"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.246973, "supported_languages": null}, "macro.dbt_bigquery.bigquery_view_options": {"name": "bigquery_view_options", "resource_type": "macro", "package_name": "dbt_bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "unique_id": "macro.dbt_bigquery.bigquery_view_options", "macro_sql": "{% macro bigquery_view_options(config, node) %}\n {% set opts = adapter.get_view_options(config, node) %}\n {%- do return(bigquery_options(opts)) -%}\n{%- endmacro -%}\n\n", "depends_on": {"macros": ["macro.dbt_bigquery.bigquery_options"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.247616, "supported_languages": null}, "macro.dbt_bigquery.bigquery__create_view_as": {"name": "bigquery__create_view_as", "resource_type": "macro", "package_name": "dbt_bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "unique_id": "macro.dbt_bigquery.bigquery__create_view_as", "macro_sql": "{% macro bigquery__create_view_as(relation, sql) -%}\n {%- set sql_header = config.get('sql_header', none) -%}\n\n {{ sql_header if sql_header is not none }}\n\n create or replace view {{ relation }}\n {{ bigquery_view_options(config, model) }}\n as {{ sql }};\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_bigquery.bigquery_view_options"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.2484539, "supported_languages": null}, "macro.dbt_bigquery.bigquery__drop_schema": {"name": "bigquery__drop_schema", "resource_type": "macro", "package_name": "dbt_bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "unique_id": "macro.dbt_bigquery.bigquery__drop_schema", "macro_sql": "{% macro bigquery__drop_schema(relation) -%}\n {{ adapter.drop_schema(relation) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.2488241, "supported_languages": null}, "macro.dbt_bigquery.bigquery__drop_relation": {"name": "bigquery__drop_relation", "resource_type": "macro", "package_name": "dbt_bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "unique_id": "macro.dbt_bigquery.bigquery__drop_relation", "macro_sql": "{% macro bigquery__drop_relation(relation) -%}\n {% call statement('drop_relation') -%}\n drop {{ relation.type }} if exists {{ relation }}\n {%- endcall %}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.249362, "supported_languages": null}, "macro.dbt_bigquery.bigquery__get_columns_in_relation": {"name": "bigquery__get_columns_in_relation", "resource_type": "macro", "package_name": "dbt_bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "unique_id": "macro.dbt_bigquery.bigquery__get_columns_in_relation", "macro_sql": "{% macro bigquery__get_columns_in_relation(relation) -%}\n {{ return(adapter.get_columns_in_relation(relation)) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.24978, "supported_languages": null}, "macro.dbt_bigquery.bigquery__list_relations_without_caching": {"name": "bigquery__list_relations_without_caching", "resource_type": "macro", "package_name": "dbt_bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "unique_id": "macro.dbt_bigquery.bigquery__list_relations_without_caching", "macro_sql": "{% macro bigquery__list_relations_without_caching(schema_relation) -%}\n {{ return(adapter.list_relations_without_caching(schema_relation)) }}\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.2501912, "supported_languages": null}, "macro.dbt_bigquery.bigquery__list_schemas": {"name": "bigquery__list_schemas", "resource_type": "macro", "package_name": "dbt_bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "unique_id": "macro.dbt_bigquery.bigquery__list_schemas", "macro_sql": "{% macro bigquery__list_schemas(database) -%}\n {{ return(adapter.list_schemas(database)) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.250601, "supported_languages": null}, "macro.dbt_bigquery.bigquery__check_schema_exists": {"name": "bigquery__check_schema_exists", "resource_type": "macro", "package_name": "dbt_bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "unique_id": "macro.dbt_bigquery.bigquery__check_schema_exists", "macro_sql": "{% macro bigquery__check_schema_exists(information_schema, schema) %}\n {{ return(adapter.check_schema_exists(information_schema.database, schema)) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.251242, "supported_languages": null}, "macro.dbt_bigquery.bigquery__persist_docs": {"name": "bigquery__persist_docs", "resource_type": "macro", "package_name": "dbt_bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "unique_id": "macro.dbt_bigquery.bigquery__persist_docs", "macro_sql": "{% macro bigquery__persist_docs(relation, model, for_relation, for_columns) -%}\n {% if for_columns and config.persist_column_docs() and model.columns %}\n {% do alter_column_comment(relation, model.columns) %}\n {% endif %}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.alter_column_comment"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.252033, "supported_languages": null}, "macro.dbt_bigquery.bigquery__alter_column_comment": {"name": "bigquery__alter_column_comment", "resource_type": "macro", "package_name": "dbt_bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "unique_id": "macro.dbt_bigquery.bigquery__alter_column_comment", "macro_sql": "{% macro bigquery__alter_column_comment(relation, column_dict) -%}\n {% do adapter.update_columns(relation, column_dict) %}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.2524931, "supported_languages": null}, "macro.dbt_bigquery.bigquery__rename_relation": {"name": "bigquery__rename_relation", "resource_type": "macro", "package_name": "dbt_bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "unique_id": "macro.dbt_bigquery.bigquery__rename_relation", "macro_sql": "{% macro bigquery__rename_relation(from_relation, to_relation) -%}\n {% do adapter.rename_relation(from_relation, to_relation) %}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.2529159, "supported_languages": null}, "macro.dbt_bigquery.bigquery__alter_relation_add_columns": {"name": "bigquery__alter_relation_add_columns", "resource_type": "macro", "package_name": "dbt_bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "unique_id": "macro.dbt_bigquery.bigquery__alter_relation_add_columns", "macro_sql": "{% macro bigquery__alter_relation_add_columns(relation, add_columns) %}\n\n {% set sql -%}\n\n alter {{ relation.type }} {{ relation }}\n {% for column in add_columns %}\n add column {{ column.name }} {{ column.data_type }}{{ ',' if not loop.last }}\n {% endfor %}\n\n {%- endset -%}\n\n {{ return(run_query(sql)) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.run_query"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.253983, "supported_languages": null}, "macro.dbt_bigquery.bigquery__alter_relation_drop_columns": {"name": "bigquery__alter_relation_drop_columns", "resource_type": "macro", "package_name": "dbt_bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "unique_id": "macro.dbt_bigquery.bigquery__alter_relation_drop_columns", "macro_sql": "{% macro bigquery__alter_relation_drop_columns(relation, drop_columns) %}\n\n {% set sql -%}\n\n alter {{ relation.type }} {{ relation }}\n\n {% for column in drop_columns %}\n drop column {{ column.name }}{{ ',' if not loop.last }}\n {% endfor %}\n\n {%- endset -%}\n\n {{ return(run_query(sql)) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.run_query"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.2549918, "supported_languages": null}, "macro.dbt_bigquery.bigquery__alter_column_type": {"name": "bigquery__alter_column_type", "resource_type": "macro", "package_name": "dbt_bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "unique_id": "macro.dbt_bigquery.bigquery__alter_column_type", "macro_sql": "{% macro bigquery__alter_column_type(relation, column_name, new_column_type) -%}\n {#-- Changing a column's data type using a query requires you to scan the entire table.\n The query charges can be significant if the table is very large.\n\n https://cloud.google.com/bigquery/docs/manually-changing-schemas#changing_a_columns_data_type\n #}\n {% set relation_columns = get_columns_in_relation(relation) %}\n\n {% set sql %}\n select\n {%- for col in relation_columns -%}\n {% if col.column == column_name %}\n CAST({{ col.quoted }} AS {{ new_column_type }}) AS {{ col.quoted }}\n {%- else %}\n {{ col.quoted }}\n {%- endif %}\n {%- if not loop.last %},{% endif -%}\n {%- endfor %}\n from {{ relation }}\n {% endset %}\n\n {% call statement('alter_column_type') %}\n {{ create_table_as(False, relation, sql)}}\n {%- endcall %}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.get_columns_in_relation", "macro.dbt.statement", "macro.dbt.create_table_as"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.256737, "supported_languages": null}, "macro.dbt_bigquery.bigquery__test_unique": {"name": "bigquery__test_unique", "resource_type": "macro", "package_name": "dbt_bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "unique_id": "macro.dbt_bigquery.bigquery__test_unique", "macro_sql": "{% macro bigquery__test_unique(model, column_name) %}\n\nwith dbt_test__target as (\n\n select {{ column_name }} as unique_field\n from {{ model }}\n where {{ column_name }} is not null\n\n)\n\nselect\n unique_field,\n count(*) as n_records\n\nfrom dbt_test__target\ngroup by unique_field\nhaving count(*) > 1\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.2571971, "supported_languages": null}, "macro.dbt_bigquery.bigquery__upload_file": {"name": "bigquery__upload_file", "resource_type": "macro", "package_name": "dbt_bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "unique_id": "macro.dbt_bigquery.bigquery__upload_file", "macro_sql": "{% macro bigquery__upload_file(local_file_path, database, table_schema, table_name) %}\n\n {{ log(\"kwargs: \" ~ kwargs) }}\n\n {% do adapter.upload_file(local_file_path, database, table_schema, table_name, kwargs=kwargs) %}\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.2579489, "supported_languages": null}, "macro.dbt_bigquery.bigquery__create_csv_table": {"name": "bigquery__create_csv_table", "resource_type": "macro", "package_name": "dbt_bigquery", "path": "macros/materializations/seed.sql", "original_file_path": "macros/materializations/seed.sql", "unique_id": "macro.dbt_bigquery.bigquery__create_csv_table", "macro_sql": "{% macro bigquery__create_csv_table(model, agate_table) %}\n -- no-op\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.2587662, "supported_languages": null}, "macro.dbt_bigquery.bigquery__reset_csv_table": {"name": "bigquery__reset_csv_table", "resource_type": "macro", "package_name": "dbt_bigquery", "path": "macros/materializations/seed.sql", "original_file_path": "macros/materializations/seed.sql", "unique_id": "macro.dbt_bigquery.bigquery__reset_csv_table", "macro_sql": "{% macro bigquery__reset_csv_table(model, full_refresh, old_relation, agate_table) %}\n {{ adapter.drop_relation(old_relation) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.2592041, "supported_languages": null}, "macro.dbt_bigquery.bigquery__load_csv_rows": {"name": "bigquery__load_csv_rows", "resource_type": "macro", "package_name": "dbt_bigquery", "path": "macros/materializations/seed.sql", "original_file_path": "macros/materializations/seed.sql", "unique_id": "macro.dbt_bigquery.bigquery__load_csv_rows", "macro_sql": "{% macro bigquery__load_csv_rows(model, agate_table) %}\n\n {%- set column_override = model['config'].get('column_types', {}) -%}\n {{ adapter.load_dataframe(model['database'], model['schema'], model['alias'],\n \t\t\t\t\t\t\tagate_table, column_override) }}\n\n {% call statement() %}\n alter table {{ this.render() }} set {{ bigquery_table_options(config, model) }}\n {% endcall %}\n\n {% if config.persist_relation_docs() and 'description' in model %}\n\n \t{{ adapter.update_table_description(model['database'], model['schema'], model['alias'], model['description']) }}\n {% endif %}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement", "macro.dbt_bigquery.bigquery_table_options"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.261178, "supported_languages": null}, "macro.dbt_bigquery.bigquery__handle_existing_table": {"name": "bigquery__handle_existing_table", "resource_type": "macro", "package_name": "dbt_bigquery", "path": "macros/materializations/view.sql", "original_file_path": "macros/materializations/view.sql", "unique_id": "macro.dbt_bigquery.bigquery__handle_existing_table", "macro_sql": "{% macro bigquery__handle_existing_table(full_refresh, old_relation) %}\n {%- if full_refresh -%}\n {{ adapter.drop_relation(old_relation) }}\n {%- else -%}\n {{ exceptions.relation_wrong_type(old_relation, 'view') }}\n {%- endif -%}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.2624729, "supported_languages": null}, "macro.dbt_bigquery.materialization_view_bigquery": {"name": "materialization_view_bigquery", "resource_type": "macro", "package_name": "dbt_bigquery", "path": "macros/materializations/view.sql", "original_file_path": "macros/materializations/view.sql", "unique_id": "macro.dbt_bigquery.materialization_view_bigquery", "macro_sql": "{% materialization view, adapter='bigquery' -%}\n -- grab current tables grants config for comparision later on\n {% set grant_config = config.get('grants') %}\n\n {% set to_return = create_or_replace_view() %}\n\n {% set target_relation = this.incorporate(type='view') %}\n\n {% do persist_docs(target_relation, model) %}\n\n {% if config.get('grant_access_to') %}\n {% for grant_target_dict in config.get('grant_access_to') %}\n {% do adapter.grant_access_to(this, 'view', None, grant_target_dict) %}\n {% endfor %}\n {% endif %}\n\n {% do return(to_return) %}\n\n{%- endmaterialization %}", "depends_on": {"macros": ["macro.dbt.create_or_replace_view", "macro.dbt.persist_docs"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.264239, "supported_languages": ["sql"]}, "macro.dbt_bigquery.materialization_table_bigquery": {"name": "materialization_table_bigquery", "resource_type": "macro", "package_name": "dbt_bigquery", "path": "macros/materializations/table.sql", "original_file_path": "macros/materializations/table.sql", "unique_id": "macro.dbt_bigquery.materialization_table_bigquery", "macro_sql": "{% materialization table, adapter='bigquery', supported_languages=['sql', 'python']-%}\n\n {%- set language = model['language'] -%}\n {%- set identifier = model['alias'] -%}\n {%- set old_relation = adapter.get_relation(database=database, schema=schema, identifier=identifier) -%}\n {%- set exists_not_as_table = (old_relation is not none and not old_relation.is_table) -%}\n {%- set target_relation = api.Relation.create(database=database, schema=schema, identifier=identifier, type='table') -%}\n\n -- grab current tables grants config for comparision later on\n {%- set grant_config = config.get('grants') -%}\n\n {{ run_hooks(pre_hooks) }}\n\n {#\n We only need to drop this thing if it is not a table.\n If it _is_ already a table, then we can overwrite it without downtime\n Unlike table -> view, no need for `--full-refresh`: dropping a view is no big deal\n #}\n {%- if exists_not_as_table -%}\n {{ adapter.drop_relation(old_relation) }}\n {%- endif -%}\n\n -- build model\n {%- set raw_partition_by = config.get('partition_by', none) -%}\n {%- set partition_by = adapter.parse_partition_by(raw_partition_by) -%}\n {%- set cluster_by = config.get('cluster_by', none) -%}\n {% if not adapter.is_replaceable(old_relation, partition_by, cluster_by) %}\n {% do log(\"Hard refreshing \" ~ old_relation ~ \" because it is not replaceable\") %}\n {% do adapter.drop_relation(old_relation) %}\n {% endif %}\n\n -- build model\n {%- call statement('main', language=language) -%}\n {{ create_table_as(False, target_relation, compiled_code, language) }}\n {%- endcall -%}\n\n {{ run_hooks(post_hooks) }}\n\n {% set should_revoke = should_revoke(old_relation, full_refresh_mode=True) %}\n {% do apply_grants(target_relation, grant_config, should_revoke) %}\n\n {% do persist_docs(target_relation, model) %}\n\n {{ return({'relations': [target_relation]}) }}\n\n{% endmaterialization %}", "depends_on": {"macros": ["macro.dbt.run_hooks", "macro.dbt.statement", "macro.dbt.create_table_as", "macro.dbt.should_revoke", "macro.dbt.apply_grants", "macro.dbt.persist_docs"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.2714071, "supported_languages": ["sql", "python"]}, "macro.dbt_bigquery.py_write_table": {"name": "py_write_table", "resource_type": "macro", "package_name": "dbt_bigquery", "path": "macros/materializations/table.sql", "original_file_path": "macros/materializations/table.sql", "unique_id": "macro.dbt_bigquery.py_write_table", "macro_sql": "{% macro py_write_table(compiled_code, target_relation) %}\nfrom pyspark.sql import SparkSession\n\nspark = SparkSession.builder.appName('smallTest').getOrCreate()\n\nspark.conf.set(\"viewsEnabled\",\"true\")\nspark.conf.set(\"temporaryGcsBucket\",\"{{target.gcs_bucket}}\")\n\n{{ compiled_code }}\ndbt = dbtObj(spark.read.format(\"bigquery\").load)\ndf = model(dbt, spark)\n\n# COMMAND ----------\n# this is materialization code dbt generated, please do not modify\n\nimport pyspark\n# make sure pandas exists before using it\ntry:\n import pandas\n pandas_available = True\nexcept ImportError:\n pandas_available = False\n\n# make sure pyspark.pandas exists before using it\ntry:\n import pyspark.pandas\n pyspark_pandas_api_available = True\nexcept ImportError:\n pyspark_pandas_api_available = False\n\n# make sure databricks.koalas exists before using it\ntry:\n import databricks.koalas\n koalas_available = True\nexcept ImportError:\n koalas_available = False\n\n# preferentially convert pandas DataFrames to pandas-on-Spark or Koalas DataFrames first\n# since they know how to convert pandas DataFrames better than `spark.createDataFrame(df)`\n# and converting from pandas-on-Spark to Spark DataFrame has no overhead\nif pyspark_pandas_api_available and pandas_available and isinstance(df, pandas.core.frame.DataFrame):\n df = pyspark.pandas.frame.DataFrame(df)\nelif koalas_available and pandas_available and isinstance(df, pandas.core.frame.DataFrame):\n df = databricks.koalas.frame.DataFrame(df)\n\n# convert to pyspark.sql.dataframe.DataFrame\nif isinstance(df, pyspark.sql.dataframe.DataFrame):\n pass # since it is already a Spark DataFrame\nelif pyspark_pandas_api_available and isinstance(df, pyspark.pandas.frame.DataFrame):\n df = df.to_spark()\nelif koalas_available and isinstance(df, databricks.koalas.frame.DataFrame):\n df = df.to_spark()\nelif pandas_available and isinstance(df, pandas.core.frame.DataFrame):\n df = spark.createDataFrame(df)\nelse:\n msg = f\"{type(df)} is not a supported type for dbt Python materialization\"\n raise Exception(msg)\n\ndf.write \\\n .mode(\"overwrite\") \\\n .format(\"bigquery\") \\\n .option(\"writeMethod\", \"direct\").option(\"writeDisposition\", 'WRITE_TRUNCATE') \\\n .save(\"{{target_relation}}\")\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.2722402, "supported_languages": null}, "macro.dbt_bigquery.materialization_copy_bigquery": {"name": "materialization_copy_bigquery", "resource_type": "macro", "package_name": "dbt_bigquery", "path": "macros/materializations/copy.sql", "original_file_path": "macros/materializations/copy.sql", "unique_id": "macro.dbt_bigquery.materialization_copy_bigquery", "macro_sql": "{% materialization copy, adapter='bigquery' -%}\n\n {# Setup #}\n {{ run_hooks(pre_hooks) }}\n\n {% set destination = this.incorporate(type='table') %}\n\n {# there can be several ref() or source() according to BQ copy API docs #}\n {# cycle over ref() and source() to create source tables array #}\n {% set source_array = [] %}\n {% for ref_table in model.refs %}\n {{ source_array.append(ref(*ref_table)) }}\n {% endfor %}\n\n {% for src_table in model.sources %}\n {{ source_array.append(source(*src_table)) }}\n {% endfor %}\n\n {# Call adapter copy_table function #}\n {%- set result_str = adapter.copy_table(\n source_array,\n destination,\n config.get('copy_materialization', default = 'table')) -%}\n\n {{ store_result('main', response=result_str) }}\n\n {# Clean up #}\n {{ run_hooks(post_hooks) }}\n {%- do apply_grants(target_relation, grant_config) -%}\n {{ adapter.commit() }}\n\n {{ return({'relations': [destination]}) }}\n{%- endmaterialization %}", "depends_on": {"macros": ["macro.dbt.run_hooks", "macro.dbt.apply_grants"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.275415, "supported_languages": ["sql"]}, "macro.dbt_bigquery.dbt_bigquery_validate_get_incremental_strategy": {"name": "dbt_bigquery_validate_get_incremental_strategy", "resource_type": "macro", "package_name": "dbt_bigquery", "path": "macros/materializations/incremental.sql", "original_file_path": "macros/materializations/incremental.sql", "unique_id": "macro.dbt_bigquery.dbt_bigquery_validate_get_incremental_strategy", "macro_sql": "{% macro dbt_bigquery_validate_get_incremental_strategy(config) %}\n {#-- Find and validate the incremental strategy #}\n {%- set strategy = config.get(\"incremental_strategy\") or 'merge' -%}\n\n {% set invalid_strategy_msg -%}\n Invalid incremental strategy provided: {{ strategy }}\n Expected one of: 'merge', 'insert_overwrite'\n {%- endset %}\n {% if strategy not in ['merge', 'insert_overwrite'] %}\n {% do exceptions.raise_compiler_error(invalid_strategy_msg) %}\n {% endif %}\n\n {% do return(strategy) %}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.279833, "supported_languages": null}, "macro.dbt_bigquery.source_sql_with_partition": {"name": "source_sql_with_partition", "resource_type": "macro", "package_name": "dbt_bigquery", "path": "macros/materializations/incremental.sql", "original_file_path": "macros/materializations/incremental.sql", "unique_id": "macro.dbt_bigquery.source_sql_with_partition", "macro_sql": "{% macro source_sql_with_partition(partition_by, source_sql) %}\n\n {%- if partition_by.time_ingestion_partitioning %}\n {{ return(wrap_with_time_ingestion_partitioning_sql(build_partition_time_exp(partition_by.field), source_sql, False)) }}\n {% else %}\n {{ return(source_sql) }}\n {%- endif -%}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_bigquery.wrap_with_time_ingestion_partitioning_sql", "macro.dbt_bigquery.build_partition_time_exp"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.280687, "supported_languages": null}, "macro.dbt_bigquery.bq_create_table_as": {"name": "bq_create_table_as", "resource_type": "macro", "package_name": "dbt_bigquery", "path": "macros/materializations/incremental.sql", "original_file_path": "macros/materializations/incremental.sql", "unique_id": "macro.dbt_bigquery.bq_create_table_as", "macro_sql": "{% macro bq_create_table_as(is_time_ingestion_partitioning, temporary, relation, compiled_code, language='sql') %}\n {% if is_time_ingestion_partitioning and language == 'python' %}\n {% do exceptions.raise_compiler_error(\n \"Python models do not support ingestion time partitioning\"\n ) %}\n {% endif %}\n {% if is_time_ingestion_partitioning and language == 'sql' %}\n {#-- Create the table before inserting data as ingestion time partitioned tables can't be created with the transformed data --#}\n {% do run_query(create_ingestion_time_partitioned_table_as_sql(temporary, relation, compiled_code)) %}\n {{ return(bq_insert_into_ingestion_time_partitioned_table_sql(relation, compiled_code)) }}\n {% else %}\n {{ return(create_table_as(temporary, relation, compiled_code, language)) }}\n {% endif %}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.run_query", "macro.dbt_bigquery.create_ingestion_time_partitioned_table_as_sql", "macro.dbt_bigquery.bq_insert_into_ingestion_time_partitioned_table_sql", "macro.dbt.create_table_as"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.282364, "supported_languages": null}, "macro.dbt_bigquery.bq_generate_incremental_build_sql": {"name": "bq_generate_incremental_build_sql", "resource_type": "macro", "package_name": "dbt_bigquery", "path": "macros/materializations/incremental.sql", "original_file_path": "macros/materializations/incremental.sql", "unique_id": "macro.dbt_bigquery.bq_generate_incremental_build_sql", "macro_sql": "{% macro bq_generate_incremental_build_sql(\n strategy, tmp_relation, target_relation, sql, unique_key, partition_by, partitions, dest_columns, tmp_relation_exists, copy_partitions, incremental_predicates\n) %}\n {#-- if partitioned, use BQ scripting to get the range of partition values to be updated --#}\n {% if strategy == 'insert_overwrite' %}\n\n {% set build_sql = bq_generate_incremental_insert_overwrite_build_sql(\n tmp_relation, target_relation, sql, unique_key, partition_by, partitions, dest_columns, tmp_relation_exists, copy_partitions\n ) %}\n\n {% else %} {# strategy == 'merge' #}\n\n {% set build_sql = bq_generate_incremental_merge_build_sql(\n tmp_relation, target_relation, sql, unique_key, partition_by, dest_columns, tmp_relation_exists, incremental_predicates\n ) %}\n\n {% endif %}\n\n {{ return(build_sql) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_bigquery.bq_generate_incremental_insert_overwrite_build_sql", "macro.dbt_bigquery.bq_generate_incremental_merge_build_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.28401, "supported_languages": null}, "macro.dbt_bigquery.materialization_incremental_bigquery": {"name": "materialization_incremental_bigquery", "resource_type": "macro", "package_name": "dbt_bigquery", "path": "macros/materializations/incremental.sql", "original_file_path": "macros/materializations/incremental.sql", "unique_id": "macro.dbt_bigquery.materialization_incremental_bigquery", "macro_sql": "{% materialization incremental, adapter='bigquery', supported_languages=['sql', 'python'] -%}\n\n {%- set unique_key = config.get('unique_key') -%}\n {%- set full_refresh_mode = (should_full_refresh()) -%}\n {%- set language = model['language'] %}\n\n {%- set target_relation = this %}\n {%- set existing_relation = load_relation(this) %}\n {%- set tmp_relation = make_temp_relation(this) %}\n\n {#-- Validate early so we don't run SQL if the strategy is invalid --#}\n {% set strategy = dbt_bigquery_validate_get_incremental_strategy(config) -%}\n\n {%- set raw_partition_by = config.get('partition_by', none) -%}\n {%- set partition_by = adapter.parse_partition_by(raw_partition_by) -%}\n {%- set partitions = config.get('partitions', none) -%}\n {%- set cluster_by = config.get('cluster_by', none) -%}\n\n {% set on_schema_change = incremental_validate_on_schema_change(config.get('on_schema_change'), default='ignore') %}\n {% set incremental_predicates = config.get('predicates', default=none) or config.get('incremental_predicates', default=none) %}\n\n -- grab current tables grants config for comparison later on\n {% set grant_config = config.get('grants') %}\n\n {{ run_hooks(pre_hooks) }}\n\n {% if partition_by.copy_partitions is true and strategy != 'insert_overwrite' %} {#-- We can't copy partitions with merge strategy --#}\n {% set wrong_strategy_msg -%}\n The 'copy_partitions' option requires the 'incremental_strategy' option to be set to 'insert_overwrite'.\n {%- endset %}\n {% do exceptions.raise_compiler_error(wrong_strategy_msg) %}\n\n {% elif existing_relation is none %}\n {%- call statement('main', language=language) -%}\n {{ bq_create_table_as(partition_by.time_ingestion_partitioning, False, target_relation, compiled_code, language) }}\n {%- endcall -%}\n\n {% elif existing_relation.is_view %}\n {#-- There's no way to atomically replace a view with a table on BQ --#}\n {{ adapter.drop_relation(existing_relation) }}\n {%- call statement('main', language=language) -%}\n {{ bq_create_table_as(partition_by.time_ingestion_partitioning, False, target_relation, compiled_code, language) }}\n {%- endcall -%}\n\n {% elif full_refresh_mode %}\n {#-- If the partition/cluster config has changed, then we must drop and recreate --#}\n {% if not adapter.is_replaceable(existing_relation, partition_by, cluster_by) %}\n {% do log(\"Hard refreshing \" ~ existing_relation ~ \" because it is not replaceable\") %}\n {{ adapter.drop_relation(existing_relation) }}\n {% endif %}\n {%- call statement('main', language=language) -%}\n {{ bq_create_table_as(partition_by.time_ingestion_partitioning, False, target_relation, compiled_code, language) }}\n {%- endcall -%}\n\n {% else %}\n {%- if language == 'python' and strategy == 'insert_overwrite' -%}\n {#-- This lets us move forward assuming no python will be directly templated into a query --#}\n {%- set python_unsupported_msg -%}\n The 'insert_overwrite' strategy is not yet supported for python models.\n {%- endset %}\n {% do exceptions.raise_compiler_error(python_unsupported_msg) %}\n {%- endif -%}\n\n {% set tmp_relation_exists = false %}\n {% if on_schema_change != 'ignore' or language == 'python' %}\n {#-- Check first, since otherwise we may not build a temp table --#}\n {#-- Python always needs to create a temp table --#}\n {%- call statement('create_tmp_relation', language=language) -%}\n {{ declare_dbt_max_partition(this, partition_by, compiled_code, language) +\n bq_create_table_as(partition_by.time_ingestion_partitioning, True, tmp_relation, compiled_code, language)\n }}\n {%- endcall -%}\n {% set tmp_relation_exists = true %}\n {#-- Process schema changes. Returns dict of changes if successful. Use source columns for upserting/merging --#}\n {% set dest_columns = process_schema_changes(on_schema_change, tmp_relation, existing_relation) %}\n {% endif %}\n\n {% if not dest_columns %}\n {% set dest_columns = adapter.get_columns_in_relation(existing_relation) %}\n {% endif %}\n {% if partition_by.time_ingestion_partitioning %}\n {% set dest_columns = adapter.add_time_ingestion_partition_column(dest_columns) %}\n {% endif %}\n {% set build_sql = bq_generate_incremental_build_sql(\n strategy, tmp_relation, target_relation, compiled_code, unique_key, partition_by, partitions, dest_columns, tmp_relation_exists, partition_by.copy_partitions, incremental_predicates\n ) %}\n\n {%- call statement('main') -%}\n {{ build_sql }}\n {% endcall %}\n\n {%- if language == 'python' and tmp_relation -%}\n {{ adapter.drop_relation(tmp_relation) }}\n {%- endif -%}\n\n {% endif %}\n\n {{ run_hooks(post_hooks) }}\n\n {% set target_relation = this.incorporate(type='table') %}\n\n {% set should_revoke = should_revoke(existing_relation, full_refresh_mode) %}\n {% do apply_grants(target_relation, grant_config, should_revoke) %}\n\n {% do persist_docs(target_relation, model) %}\n\n {{ return({'relations': [target_relation]}) }}\n\n{%- endmaterialization %}", "depends_on": {"macros": ["macro.dbt.should_full_refresh", "macro.dbt.load_relation", "macro.dbt.make_temp_relation", "macro.dbt_bigquery.dbt_bigquery_validate_get_incremental_strategy", "macro.dbt.incremental_validate_on_schema_change", "macro.dbt.run_hooks", "macro.dbt.statement", "macro.dbt_bigquery.bq_create_table_as", "macro.dbt_bigquery.declare_dbt_max_partition", "macro.dbt.process_schema_changes", "macro.dbt_bigquery.bq_generate_incremental_build_sql", "macro.dbt.should_revoke", "macro.dbt.apply_grants", "macro.dbt.persist_docs"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.2946198, "supported_languages": ["sql", "python"]}, "macro.dbt_bigquery.bigquery__snapshot_hash_arguments": {"name": "bigquery__snapshot_hash_arguments", "resource_type": "macro", "package_name": "dbt_bigquery", "path": "macros/materializations/snapshot.sql", "original_file_path": "macros/materializations/snapshot.sql", "unique_id": "macro.dbt_bigquery.bigquery__snapshot_hash_arguments", "macro_sql": "{% macro bigquery__snapshot_hash_arguments(args) -%}\n to_hex(md5(concat({%- for arg in args -%}\n coalesce(cast({{ arg }} as string), ''){% if not loop.last %}, '|',{% endif -%}\n {%- endfor -%}\n )))\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.295651, "supported_languages": null}, "macro.dbt_bigquery.bigquery__create_columns": {"name": "bigquery__create_columns", "resource_type": "macro", "package_name": "dbt_bigquery", "path": "macros/materializations/snapshot.sql", "original_file_path": "macros/materializations/snapshot.sql", "unique_id": "macro.dbt_bigquery.bigquery__create_columns", "macro_sql": "{% macro bigquery__create_columns(relation, columns) %}\n {{ adapter.alter_table_add_columns(relation, columns) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.296084, "supported_languages": null}, "macro.dbt_bigquery.bigquery__post_snapshot": {"name": "bigquery__post_snapshot", "resource_type": "macro", "package_name": "dbt_bigquery", "path": "macros/materializations/snapshot.sql", "original_file_path": "macros/materializations/snapshot.sql", "unique_id": "macro.dbt_bigquery.bigquery__post_snapshot", "macro_sql": "{% macro bigquery__post_snapshot(staging_relation) %}\n -- Clean up the snapshot temp table\n {% do drop_relation(staging_relation) %}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.drop_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.296444, "supported_languages": null}, "macro.dbt_bigquery.bq_generate_incremental_merge_build_sql": {"name": "bq_generate_incremental_merge_build_sql", "resource_type": "macro", "package_name": "dbt_bigquery", "path": "macros/materializations/incremental_strategy/merge.sql", "original_file_path": "macros/materializations/incremental_strategy/merge.sql", "unique_id": "macro.dbt_bigquery.bq_generate_incremental_merge_build_sql", "macro_sql": "{% macro bq_generate_incremental_merge_build_sql(\n tmp_relation, target_relation, sql, unique_key, partition_by, dest_columns, tmp_relation_exists, incremental_predicates\n) %}\n {%- set source_sql -%}\n {%- if tmp_relation_exists -%}\n (\n select\n {% if partition_by.time_ingestion_partitioning -%}\n _PARTITIONTIME,\n {%- endif -%}\n * from {{ tmp_relation }}\n )\n {%- else -%} {#-- wrap sql in parens to make it a subquery --#}\n (\n {%- if partition_by.time_ingestion_partitioning -%}\n {{ wrap_with_time_ingestion_partitioning_sql(build_partition_time_exp(partition_by), sql, True) }}\n {%- else -%}\n {{sql}}\n {%- endif %}\n )\n {%- endif -%}\n {%- endset -%}\n\n {% set build_sql = get_merge_sql(target_relation, source_sql, unique_key, dest_columns, incremental_predicates) %}\n\n {{ return(build_sql) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_bigquery.wrap_with_time_ingestion_partitioning_sql", "macro.dbt_bigquery.build_partition_time_exp", "macro.dbt.get_merge_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.298681, "supported_languages": null}, "macro.dbt_bigquery.build_partition_time_exp": {"name": "build_partition_time_exp", "resource_type": "macro", "package_name": "dbt_bigquery", "path": "macros/materializations/incremental_strategy/common.sql", "original_file_path": "macros/materializations/incremental_strategy/common.sql", "unique_id": "macro.dbt_bigquery.build_partition_time_exp", "macro_sql": "{% macro build_partition_time_exp(partition_by) %}\n {% if partition_by.data_type == 'timestamp' %}\n {% set partition_value = partition_by.field %}\n {% else %}\n {% set partition_value = 'timestamp(' + partition_by.field + ')' %}\n {% endif %}\n {{ return({'value': partition_value, 'field': partition_by.field}) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.3001852, "supported_languages": null}, "macro.dbt_bigquery.declare_dbt_max_partition": {"name": "declare_dbt_max_partition", "resource_type": "macro", "package_name": "dbt_bigquery", "path": "macros/materializations/incremental_strategy/common.sql", "original_file_path": "macros/materializations/incremental_strategy/common.sql", "unique_id": "macro.dbt_bigquery.declare_dbt_max_partition", "macro_sql": "{% macro declare_dbt_max_partition(relation, partition_by, compiled_code, language='sql') %}\n\n {#-- TODO: revisit partitioning with python models --#}\n {%- if '_dbt_max_partition' in compiled_code and language == 'sql' -%}\n\n declare _dbt_max_partition {{ partition_by.data_type_for_partition() }} default (\n select max({{ partition_by.field }}) from {{ this }}\n where {{ partition_by.field }} is not null\n );\n\n {%- endif -%}\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.301074, "supported_languages": null}, "macro.dbt_bigquery.bq_generate_incremental_insert_overwrite_build_sql": {"name": "bq_generate_incremental_insert_overwrite_build_sql", "resource_type": "macro", "package_name": "dbt_bigquery", "path": "macros/materializations/incremental_strategy/insert_overwrite.sql", "original_file_path": "macros/materializations/incremental_strategy/insert_overwrite.sql", "unique_id": "macro.dbt_bigquery.bq_generate_incremental_insert_overwrite_build_sql", "macro_sql": "{% macro bq_generate_incremental_insert_overwrite_build_sql(\n tmp_relation, target_relation, sql, unique_key, partition_by, partitions, dest_columns, on_schema_change, copy_partitions\n) %}\n {% if partition_by is none %}\n {% set missing_partition_msg -%}\n The 'insert_overwrite' strategy requires the `partition_by` config.\n {%- endset %}\n {% do exceptions.raise_compiler_error(missing_partition_msg) %}\n {% endif %}\n\n {% set build_sql = bq_insert_overwrite_sql(\n tmp_relation, target_relation, sql, unique_key, partition_by, partitions, dest_columns, on_schema_change, copy_partitions\n ) %}\n\n {{ return(build_sql) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_bigquery.bq_insert_overwrite_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.3058188, "supported_languages": null}, "macro.dbt_bigquery.bq_copy_partitions": {"name": "bq_copy_partitions", "resource_type": "macro", "package_name": "dbt_bigquery", "path": "macros/materializations/incremental_strategy/insert_overwrite.sql", "original_file_path": "macros/materializations/incremental_strategy/insert_overwrite.sql", "unique_id": "macro.dbt_bigquery.bq_copy_partitions", "macro_sql": "{% macro bq_copy_partitions(tmp_relation, target_relation, partitions, partition_by) %}\n\n {% for partition in partitions %}\n {% if partition_by.granularity == 'hour' %}\n {% set partition = partition.strftime(\"%Y%m%d%H\") %}\n {% elif partition_by.granularity == 'day' %}\n {% set partition = partition.strftime(\"%Y%m%d\") %}\n {% elif partition_by.granularity == 'month' %}\n {% set partition = partition.strftime(\"%Y%m\") %}\n {% elif partition_by.granularity == 'year' %}\n {% set partition = partition.strftime(\"%Y\") %}\n {% endif %}\n {% set tmp_relation_partitioned = api.Relation.create(database=tmp_relation.database, schema=tmp_relation.schema, identifier=tmp_relation.table ~ '$' ~ partition, type=tmp_relation.type) %}\n {% set target_relation_partitioned = api.Relation.create(database=target_relation.database, schema=target_relation.schema, identifier=target_relation.table ~ '$' ~ partition, type=target_relation.type) %}\n {% do adapter.copy_table(tmp_relation_partitioned, target_relation_partitioned, \"table\") %}\n {% endfor %}\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.309108, "supported_languages": null}, "macro.dbt_bigquery.bq_insert_overwrite_sql": {"name": "bq_insert_overwrite_sql", "resource_type": "macro", "package_name": "dbt_bigquery", "path": "macros/materializations/incremental_strategy/insert_overwrite.sql", "original_file_path": "macros/materializations/incremental_strategy/insert_overwrite.sql", "unique_id": "macro.dbt_bigquery.bq_insert_overwrite_sql", "macro_sql": "{% macro bq_insert_overwrite_sql(\n tmp_relation, target_relation, sql, unique_key, partition_by, partitions, dest_columns, tmp_relation_exists, copy_partitions\n) %}\n {% if partitions is not none and partitions != [] %} {# static #}\n {{ bq_static_insert_overwrite_sql(tmp_relation, target_relation, sql, partition_by, partitions, dest_columns, copy_partitions) }}\n {% else %} {# dynamic #}\n {{ bq_dynamic_insert_overwrite_sql(tmp_relation, target_relation, sql, unique_key, partition_by, dest_columns, tmp_relation_exists, copy_partitions) }}\n {% endif %}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_bigquery.bq_static_insert_overwrite_sql", "macro.dbt_bigquery.bq_dynamic_insert_overwrite_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.310634, "supported_languages": null}, "macro.dbt_bigquery.bq_static_insert_overwrite_sql": {"name": "bq_static_insert_overwrite_sql", "resource_type": "macro", "package_name": "dbt_bigquery", "path": "macros/materializations/incremental_strategy/insert_overwrite.sql", "original_file_path": "macros/materializations/incremental_strategy/insert_overwrite.sql", "unique_id": "macro.dbt_bigquery.bq_static_insert_overwrite_sql", "macro_sql": "{% macro bq_static_insert_overwrite_sql(\n tmp_relation, target_relation, sql, partition_by, partitions, dest_columns, copy_partitions\n) %}\n\n {% set predicate -%}\n {{ partition_by.render_wrapped(alias='DBT_INTERNAL_DEST') }} in (\n {{ partitions | join (', ') }}\n )\n {%- endset %}\n\n {%- set source_sql -%}\n (\n {%- if partition_by.time_ingestion_partitioning -%}\n {{ wrap_with_time_ingestion_partitioning_sql(build_partition_time_exp(partition_by), sql, True) }}\n {%- else -%}\n {{sql}}\n {%- endif -%}\n )\n {%- endset -%}\n\n {% if copy_partitions %}\n {% do bq_copy_partitions(tmp_relation, target_relation, partitions, partition_by) %}\n {% else %}\n\n {#-- Because we're putting the model SQL _directly_ into the MERGE statement,\n we need to prepend the MERGE statement with the user-configured sql_header,\n which may be needed to resolve that model SQL (e.g. referencing a variable or UDF in the header)\n in the \"dynamic\" case, we save the model SQL result as a temp table first, wherein the\n sql_header is included by the create_table_as macro.\n #}\n {{ get_insert_overwrite_merge_sql(target_relation, source_sql, dest_columns, [predicate], include_sql_header=true) }}\n\n {% endif %}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_bigquery.wrap_with_time_ingestion_partitioning_sql", "macro.dbt_bigquery.build_partition_time_exp", "macro.dbt_bigquery.bq_copy_partitions", "macro.dbt.get_insert_overwrite_merge_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.312781, "supported_languages": null}, "macro.dbt_bigquery.bq_dynamic_copy_partitions_insert_overwrite_sql": {"name": "bq_dynamic_copy_partitions_insert_overwrite_sql", "resource_type": "macro", "package_name": "dbt_bigquery", "path": "macros/materializations/incremental_strategy/insert_overwrite.sql", "original_file_path": "macros/materializations/incremental_strategy/insert_overwrite.sql", "unique_id": "macro.dbt_bigquery.bq_dynamic_copy_partitions_insert_overwrite_sql", "macro_sql": "{% macro bq_dynamic_copy_partitions_insert_overwrite_sql(\n tmp_relation, target_relation, sql, unique_key, partition_by, dest_columns, tmp_relation_exists, copy_partitions\n ) %}\n {# We run temp table creation in a separated script to move to partitions copy #}\n {%- call statement('create_tmp_relation_for_copy', language='sql') -%}\n {{ declare_dbt_max_partition(this, partition_by, sql, 'sql') +\n bq_create_table_as(partition_by.time_ingestion_partitioning, True, tmp_relation, sql, 'sql')\n }}\n {%- endcall %}\n {%- set partitions_sql -%}\n select distinct {{ partition_by.render_wrapped() }}\n from {{ tmp_relation }}\n {%- endset -%}\n {%- set partitions = run_query(partitions_sql).columns[0].values() -%}\n {# We copy the partitions #}\n {%- do bq_copy_partitions(tmp_relation, target_relation, partitions, partition_by) -%}\n -- Clean up the temp table\n drop table if exists {{ tmp_relation }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement", "macro.dbt_bigquery.declare_dbt_max_partition", "macro.dbt_bigquery.bq_create_table_as", "macro.dbt.run_query", "macro.dbt_bigquery.bq_copy_partitions"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.3147619, "supported_languages": null}, "macro.dbt_bigquery.bq_dynamic_insert_overwrite_sql": {"name": "bq_dynamic_insert_overwrite_sql", "resource_type": "macro", "package_name": "dbt_bigquery", "path": "macros/materializations/incremental_strategy/insert_overwrite.sql", "original_file_path": "macros/materializations/incremental_strategy/insert_overwrite.sql", "unique_id": "macro.dbt_bigquery.bq_dynamic_insert_overwrite_sql", "macro_sql": "{% macro bq_dynamic_insert_overwrite_sql(tmp_relation, target_relation, sql, unique_key, partition_by, dest_columns, tmp_relation_exists, copy_partitions) %}\n {%- if copy_partitions is true %}\n {{ bq_dynamic_copy_partitions_insert_overwrite_sql(tmp_relation, target_relation, sql, unique_key, partition_by, dest_columns, tmp_relation_exists, copy_partitions) }}\n {% else -%}\n {% set predicate -%}\n {{ partition_by.render_wrapped(alias='DBT_INTERNAL_DEST') }} in unnest(dbt_partitions_for_replacement)\n {%- endset %}\n\n {%- set source_sql -%}\n (\n select\n {% if partition_by.time_ingestion_partitioning -%}\n _PARTITIONTIME,\n {%- endif -%}\n * from {{ tmp_relation }}\n )\n {%- endset -%}\n\n -- generated script to merge partitions into {{ target_relation }}\n declare dbt_partitions_for_replacement array<{{ partition_by.data_type_for_partition() }}>;\n\n {# have we already created the temp table to check for schema changes? #}\n {% if not tmp_relation_exists %}\n {{ declare_dbt_max_partition(this, partition_by, sql) }}\n\n -- 1. create a temp table with model data\n {{ bq_create_table_as(partition_by.time_ingestion_partitioning, True, tmp_relation, sql, 'sql') }}\n {% else %}\n -- 1. temp table already exists, we used it to check for schema changes\n {% endif %}\n\n -- 2. define partitions to update\n set (dbt_partitions_for_replacement) = (\n select as struct\n array_agg(distinct {{ partition_by.render_wrapped() }})\n from {{ tmp_relation }}\n );\n\n -- 3. run the merge statement\n {{ get_insert_overwrite_merge_sql(target_relation, source_sql, dest_columns, [predicate]) }};\n\n -- 4. clean up the temp table\n drop table if exists {{ tmp_relation }}\n\n {% endif %}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_bigquery.bq_dynamic_copy_partitions_insert_overwrite_sql", "macro.dbt_bigquery.declare_dbt_max_partition", "macro.dbt_bigquery.bq_create_table_as", "macro.dbt.get_insert_overwrite_merge_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.317662, "supported_languages": null}, "macro.dbt_bigquery.wrap_with_time_ingestion_partitioning_sql": {"name": "wrap_with_time_ingestion_partitioning_sql", "resource_type": "macro", "package_name": "dbt_bigquery", "path": "macros/materializations/incremental_strategy/time_ingestion_tables.sql", "original_file_path": "macros/materializations/incremental_strategy/time_ingestion_tables.sql", "unique_id": "macro.dbt_bigquery.wrap_with_time_ingestion_partitioning_sql", "macro_sql": "{% macro wrap_with_time_ingestion_partitioning_sql(partition_time_exp, sql, is_nested) %}\n\n select {{ partition_time_exp['value'] }} as _partitiontime, * EXCEPT({{ partition_time_exp['field'] }}) from (\n {{ sql }}\n ){%- if not is_nested -%};{%- endif -%}\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.321463, "supported_languages": null}, "macro.dbt_bigquery.create_ingestion_time_partitioned_table_as_sql": {"name": "create_ingestion_time_partitioned_table_as_sql", "resource_type": "macro", "package_name": "dbt_bigquery", "path": "macros/materializations/incremental_strategy/time_ingestion_tables.sql", "original_file_path": "macros/materializations/incremental_strategy/time_ingestion_tables.sql", "unique_id": "macro.dbt_bigquery.create_ingestion_time_partitioned_table_as_sql", "macro_sql": "{% macro create_ingestion_time_partitioned_table_as_sql(temporary, relation, sql) -%}\n {%- set raw_partition_by = config.get('partition_by', none) -%}\n {%- set raw_cluster_by = config.get('cluster_by', none) -%}\n {%- set sql_header = config.get('sql_header', none) -%}\n\n {%- set partition_config = adapter.parse_partition_by(raw_partition_by) -%}\n\n {%- set columns = get_columns_with_types_in_query_sql(sql) -%}\n {%- set table_dest_columns_csv = columns_without_partition_fields_csv(partition_config, columns) -%}\n\n {{ sql_header if sql_header is not none }}\n\n {% set ingestion_time_partition_config_raw = fromjson(tojson(raw_partition_by)) %}\n {% do ingestion_time_partition_config_raw.update({'field':'_PARTITIONTIME'}) %}\n\n {%- set ingestion_time_partition_config = adapter.parse_partition_by(ingestion_time_partition_config_raw) -%}\n\n create or replace table {{ relation }} ({{table_dest_columns_csv}})\n {{ partition_by(ingestion_time_partition_config) }}\n {{ cluster_by(raw_cluster_by) }}\n {{ bigquery_table_options(config, model, temporary) }}\n\n{%- endmacro -%}\n\n", "depends_on": {"macros": ["macro.dbt_bigquery.get_columns_with_types_in_query_sql", "macro.dbt_bigquery.columns_without_partition_fields_csv", "macro.dbt_bigquery.partition_by", "macro.dbt_bigquery.cluster_by", "macro.dbt_bigquery.bigquery_table_options"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.3241699, "supported_languages": null}, "macro.dbt_bigquery.get_quoted_with_types_csv": {"name": "get_quoted_with_types_csv", "resource_type": "macro", "package_name": "dbt_bigquery", "path": "macros/materializations/incremental_strategy/time_ingestion_tables.sql", "original_file_path": "macros/materializations/incremental_strategy/time_ingestion_tables.sql", "unique_id": "macro.dbt_bigquery.get_quoted_with_types_csv", "macro_sql": "{% macro get_quoted_with_types_csv(columns) %}\n {% set quoted = [] %}\n {% for col in columns -%}\n {%- do quoted.append(adapter.quote(col.name) ~ \" \" ~ col.data_type) -%}\n {%- endfor %}\n {%- set dest_cols_csv = quoted | join(', ') -%}\n {{ return(dest_cols_csv) }}\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.3256378, "supported_languages": null}, "macro.dbt_bigquery.columns_without_partition_fields_csv": {"name": "columns_without_partition_fields_csv", "resource_type": "macro", "package_name": "dbt_bigquery", "path": "macros/materializations/incremental_strategy/time_ingestion_tables.sql", "original_file_path": "macros/materializations/incremental_strategy/time_ingestion_tables.sql", "unique_id": "macro.dbt_bigquery.columns_without_partition_fields_csv", "macro_sql": "{% macro columns_without_partition_fields_csv(partition_config, columns) -%}\n {%- set columns_no_partition = partition_config.reject_partition_field_column(columns) -%}\n {% set columns_names = get_quoted_with_types_csv(columns_no_partition) %}\n {{ return(columns_names) }}\n\n{%- endmacro -%}\n\n", "depends_on": {"macros": ["macro.dbt_bigquery.get_quoted_with_types_csv"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.3263638, "supported_languages": null}, "macro.dbt_bigquery.bq_insert_into_ingestion_time_partitioned_table_sql": {"name": "bq_insert_into_ingestion_time_partitioned_table_sql", "resource_type": "macro", "package_name": "dbt_bigquery", "path": "macros/materializations/incremental_strategy/time_ingestion_tables.sql", "original_file_path": "macros/materializations/incremental_strategy/time_ingestion_tables.sql", "unique_id": "macro.dbt_bigquery.bq_insert_into_ingestion_time_partitioned_table_sql", "macro_sql": "{% macro bq_insert_into_ingestion_time_partitioned_table_sql(target_relation, sql) -%}\n {%- set partition_by = config.get('partition_by', none) -%}\n {% set dest_columns = adapter.get_columns_in_relation(target_relation) %}\n {%- set dest_columns_csv = get_quoted_csv(dest_columns | map(attribute=\"name\")) -%}\n\n insert into {{ target_relation }} (_partitiontime, {{ dest_columns_csv }})\n {{ wrap_with_time_ingestion_partitioning_sql(build_partition_time_exp(partition_by), sql, False) }}\n\n{%- endmacro -%}\n\n", "depends_on": {"macros": ["macro.dbt.get_quoted_csv", "macro.dbt_bigquery.wrap_with_time_ingestion_partitioning_sql", "macro.dbt_bigquery.build_partition_time_exp"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.327636, "supported_languages": null}, "macro.dbt_bigquery.get_columns_with_types_in_query_sql": {"name": "get_columns_with_types_in_query_sql", "resource_type": "macro", "package_name": "dbt_bigquery", "path": "macros/materializations/incremental_strategy/time_ingestion_tables.sql", "original_file_path": "macros/materializations/incremental_strategy/time_ingestion_tables.sql", "unique_id": "macro.dbt_bigquery.get_columns_with_types_in_query_sql", "macro_sql": "{% macro get_columns_with_types_in_query_sql(select_sql) %}\n {% set sql %}\n select * from (\n {{ select_sql }}\n ) as __dbt_sbq\n where false\n limit 0\n {% endset %}\n {{ return(adapter.get_columns_in_select_sql(sql)) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.328306, "supported_languages": null}, "macro.dbt_bigquery.bigquery__except": {"name": "bigquery__except", "resource_type": "macro", "package_name": "dbt_bigquery", "path": "macros/utils/except.sql", "original_file_path": "macros/utils/except.sql", "unique_id": "macro.dbt_bigquery.bigquery__except", "macro_sql": "{% macro bigquery__except() %}\n\n except distinct\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.328635, "supported_languages": null}, "macro.dbt_bigquery.bigquery__dateadd": {"name": "bigquery__dateadd", "resource_type": "macro", "package_name": "dbt_bigquery", "path": "macros/utils/dateadd.sql", "original_file_path": "macros/utils/dateadd.sql", "unique_id": "macro.dbt_bigquery.bigquery__dateadd", "macro_sql": "{% macro bigquery__dateadd(datepart, interval, from_date_or_timestamp) %}\n\n datetime_add(\n cast( {{ from_date_or_timestamp }} as datetime),\n interval {{ interval }} {{ datepart }}\n )\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.3293152, "supported_languages": null}, "macro.dbt_bigquery.bigquery__current_timestamp": {"name": "bigquery__current_timestamp", "resource_type": "macro", "package_name": "dbt_bigquery", "path": "macros/utils/timestamps.sql", "original_file_path": "macros/utils/timestamps.sql", "unique_id": "macro.dbt_bigquery.bigquery__current_timestamp", "macro_sql": "{% macro bigquery__current_timestamp() -%}\n current_timestamp()\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.3297431, "supported_languages": null}, "macro.dbt_bigquery.bigquery__snapshot_string_as_time": {"name": "bigquery__snapshot_string_as_time", "resource_type": "macro", "package_name": "dbt_bigquery", "path": "macros/utils/timestamps.sql", "original_file_path": "macros/utils/timestamps.sql", "unique_id": "macro.dbt_bigquery.bigquery__snapshot_string_as_time", "macro_sql": "{% macro bigquery__snapshot_string_as_time(timestamp) -%}\n {%- set result = 'TIMESTAMP(\"' ~ timestamp ~ '\")' -%}\n {{ return(result) }}\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.3302279, "supported_languages": null}, "macro.dbt_bigquery.bigquery__current_timestamp_backcompat": {"name": "bigquery__current_timestamp_backcompat", "resource_type": "macro", "package_name": "dbt_bigquery", "path": "macros/utils/timestamps.sql", "original_file_path": "macros/utils/timestamps.sql", "unique_id": "macro.dbt_bigquery.bigquery__current_timestamp_backcompat", "macro_sql": "{% macro bigquery__current_timestamp_backcompat() -%}\n current_timestamp\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.330442, "supported_languages": null}, "macro.dbt_bigquery.bigquery__intersect": {"name": "bigquery__intersect", "resource_type": "macro", "package_name": "dbt_bigquery", "path": "macros/utils/intersect.sql", "original_file_path": "macros/utils/intersect.sql", "unique_id": "macro.dbt_bigquery.bigquery__intersect", "macro_sql": "{% macro bigquery__intersect() %}\n\n intersect distinct\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.3307211, "supported_languages": null}, "macro.dbt_bigquery.bigquery__escape_single_quotes": {"name": "bigquery__escape_single_quotes", "resource_type": "macro", "package_name": "dbt_bigquery", "path": "macros/utils/escape_single_quotes.sql", "original_file_path": "macros/utils/escape_single_quotes.sql", "unique_id": "macro.dbt_bigquery.bigquery__escape_single_quotes", "macro_sql": "{% macro bigquery__escape_single_quotes(expression) -%}\n{{ expression | replace(\"'\", \"\\\\'\") }}\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.33121, "supported_languages": null}, "macro.dbt_bigquery.bigquery__right": {"name": "bigquery__right", "resource_type": "macro", "package_name": "dbt_bigquery", "path": "macros/utils/right.sql", "original_file_path": "macros/utils/right.sql", "unique_id": "macro.dbt_bigquery.bigquery__right", "macro_sql": "{% macro bigquery__right(string_text, length_expression) %}\n\n case when {{ length_expression }} = 0\n then ''\n else\n substr(\n {{ string_text }},\n -1 * ({{ length_expression }})\n )\n end\n\n{%- endmacro -%}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.3318012, "supported_languages": null}, "macro.dbt_bigquery.bigquery__listagg": {"name": "bigquery__listagg", "resource_type": "macro", "package_name": "dbt_bigquery", "path": "macros/utils/listagg.sql", "original_file_path": "macros/utils/listagg.sql", "unique_id": "macro.dbt_bigquery.bigquery__listagg", "macro_sql": "{% macro bigquery__listagg(measure, delimiter_text, order_by_clause, limit_num) -%}\n\n string_agg(\n {{ measure }},\n {{ delimiter_text }}\n {% if order_by_clause -%}\n {{ order_by_clause }}\n {%- endif %}\n {% if limit_num -%}\n limit {{ limit_num }}\n {%- endif %}\n )\n\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.332791, "supported_languages": null}, "macro.dbt_bigquery.bigquery__datediff": {"name": "bigquery__datediff", "resource_type": "macro", "package_name": "dbt_bigquery", "path": "macros/utils/datediff.sql", "original_file_path": "macros/utils/datediff.sql", "unique_id": "macro.dbt_bigquery.bigquery__datediff", "macro_sql": "{% macro bigquery__datediff(first_date, second_date, datepart) -%}\n\n {% if dbt_version[0] == 1 and dbt_version[2] >= 2 %}\n {{ return(dbt.datediff(first_date, second_date, datepart)) }}\n {% else %}\n\n datetime_diff(\n cast({{second_date}} as datetime),\n cast({{first_date}} as datetime),\n {{datepart}}\n )\n\n {% endif %}\n\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.datediff"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.334029, "supported_languages": null}, "macro.dbt_bigquery.bigquery__safe_cast": {"name": "bigquery__safe_cast", "resource_type": "macro", "package_name": "dbt_bigquery", "path": "macros/utils/safe_cast.sql", "original_file_path": "macros/utils/safe_cast.sql", "unique_id": "macro.dbt_bigquery.bigquery__safe_cast", "macro_sql": "{% macro bigquery__safe_cast(field, type) %}\n safe_cast({{field}} as {{type}})\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.3344798, "supported_languages": null}, "macro.dbt_bigquery.bigquery__hash": {"name": "bigquery__hash", "resource_type": "macro", "package_name": "dbt_bigquery", "path": "macros/utils/hash.sql", "original_file_path": "macros/utils/hash.sql", "unique_id": "macro.dbt_bigquery.bigquery__hash", "macro_sql": "{% macro bigquery__hash(field) -%}\n to_hex({{dbt.default__hash(field)}})\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__hash"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.3349109, "supported_languages": null}, "macro.dbt_bigquery.bigquery__position": {"name": "bigquery__position", "resource_type": "macro", "package_name": "dbt_bigquery", "path": "macros/utils/position.sql", "original_file_path": "macros/utils/position.sql", "unique_id": "macro.dbt_bigquery.bigquery__position", "macro_sql": "{% macro bigquery__position(substring_text, string_text) %}\n\n strpos(\n {{ string_text }},\n {{ substring_text }}\n\n )\n\n{%- endmacro -%}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.335398, "supported_languages": null}, "macro.dbt_bigquery.bigquery__array_concat": {"name": "bigquery__array_concat", "resource_type": "macro", "package_name": "dbt_bigquery", "path": "macros/utils/array_concat.sql", "original_file_path": "macros/utils/array_concat.sql", "unique_id": "macro.dbt_bigquery.bigquery__array_concat", "macro_sql": "{% macro bigquery__array_concat(array_1, array_2) -%}\n array_concat({{ array_1 }}, {{ array_2 }})\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.335854, "supported_languages": null}, "macro.dbt_bigquery.bigquery__bool_or": {"name": "bigquery__bool_or", "resource_type": "macro", "package_name": "dbt_bigquery", "path": "macros/utils/bool_or.sql", "original_file_path": "macros/utils/bool_or.sql", "unique_id": "macro.dbt_bigquery.bigquery__bool_or", "macro_sql": "{% macro bigquery__bool_or(expression) -%}\n\n logical_or({{ expression }})\n\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.336214, "supported_languages": null}, "macro.dbt_bigquery.bigquery__split_part": {"name": "bigquery__split_part", "resource_type": "macro", "package_name": "dbt_bigquery", "path": "macros/utils/split_part.sql", "original_file_path": "macros/utils/split_part.sql", "unique_id": "macro.dbt_bigquery.bigquery__split_part", "macro_sql": "{% macro bigquery__split_part(string_text, delimiter_text, part_number) %}\n\n {% if part_number >= 0 %}\n split(\n {{ string_text }},\n {{ delimiter_text }}\n )[safe_offset({{ part_number - 1 }})]\n {% else %}\n split(\n {{ string_text }},\n {{ delimiter_text }}\n )[safe_offset(\n length({{ string_text }})\n - length(\n replace({{ string_text }}, {{ delimiter_text }}, '')\n ) + 1\n )]\n {% endif %}\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.337545, "supported_languages": null}, "macro.dbt_bigquery.bigquery__date_trunc": {"name": "bigquery__date_trunc", "resource_type": "macro", "package_name": "dbt_bigquery", "path": "macros/utils/date_trunc.sql", "original_file_path": "macros/utils/date_trunc.sql", "unique_id": "macro.dbt_bigquery.bigquery__date_trunc", "macro_sql": "{% macro bigquery__date_trunc(datepart, date) -%}\n timestamp_trunc(\n cast({{date}} as timestamp),\n {{datepart}}\n )\n\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.3380082, "supported_languages": null}, "macro.dbt_bigquery.bigquery__array_construct": {"name": "bigquery__array_construct", "resource_type": "macro", "package_name": "dbt_bigquery", "path": "macros/utils/array_construct.sql", "original_file_path": "macros/utils/array_construct.sql", "unique_id": "macro.dbt_bigquery.bigquery__array_construct", "macro_sql": "{% macro bigquery__array_construct(inputs, data_type) -%}\n {% if inputs|length > 0 %}\n [ {{ inputs|join(' , ') }} ]\n {% else %}\n ARRAY<{{data_type}}>[]\n {% endif %}\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.338794, "supported_languages": null}, "macro.dbt_bigquery.bigquery__array_append": {"name": "bigquery__array_append", "resource_type": "macro", "package_name": "dbt_bigquery", "path": "macros/utils/array_append.sql", "original_file_path": "macros/utils/array_append.sql", "unique_id": "macro.dbt_bigquery.bigquery__array_append", "macro_sql": "{% macro bigquery__array_append(array, new_element) -%}\n {{ array_concat(array, array_construct([new_element])) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.array_concat", "macro.dbt.array_construct"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.339349, "supported_languages": null}, "macro.dbt_bigquery.bigquery__get_show_grant_sql": {"name": "bigquery__get_show_grant_sql", "resource_type": "macro", "package_name": "dbt_bigquery", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "unique_id": "macro.dbt_bigquery.bigquery__get_show_grant_sql", "macro_sql": "{% macro bigquery__get_show_grant_sql(relation) %}\n {% set location = adapter.get_dataset_location(relation) %}\n {% set relation = relation.incorporate(location=location) %}\n\n select privilege_type, grantee\n from {{ relation.information_schema(\"OBJECT_PRIVILEGES\") }}\n where object_schema = \"{{ relation.dataset }}\"\n and object_name = \"{{ relation.identifier }}\"\n -- filter out current user\n and split(grantee, ':')[offset(1)] != session_user()\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.340823, "supported_languages": null}, "macro.dbt_bigquery.bigquery__get_grant_sql": {"name": "bigquery__get_grant_sql", "resource_type": "macro", "package_name": "dbt_bigquery", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "unique_id": "macro.dbt_bigquery.bigquery__get_grant_sql", "macro_sql": "\n\n\n{%- macro bigquery__get_grant_sql(relation, privilege, grantee) -%}\n grant `{{ privilege }}` on {{ relation.type }} {{ relation }} to {{ '\\\"' + grantee|join('\\\", \\\"') + '\\\"' }}\n{%- endmacro -%}\n\n", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.341656, "supported_languages": null}, "macro.dbt_bigquery.bigquery__get_revoke_sql": {"name": "bigquery__get_revoke_sql", "resource_type": "macro", "package_name": "dbt_bigquery", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "unique_id": "macro.dbt_bigquery.bigquery__get_revoke_sql", "macro_sql": "{%- macro bigquery__get_revoke_sql(relation, privilege, grantee) -%}\n revoke `{{ privilege }}` on {{ relation.type }} {{ relation }} from {{ '\\\"' + grantee|join('\\\", \\\"') + '\\\"' }}\n{%- endmacro -%}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.342304, "supported_languages": null}, "macro.dbt_bigquery.bigquery__resolve_model_name": {"name": "bigquery__resolve_model_name", "resource_type": "macro", "package_name": "dbt_bigquery", "path": "macros/python_model/python.sql", "original_file_path": "macros/python_model/python.sql", "unique_id": "macro.dbt_bigquery.bigquery__resolve_model_name", "macro_sql": "{% macro bigquery__resolve_model_name(input_model_name) -%}\n {{ input_model_name | string | replace('`', '') | replace('\"', '\\\"') }}\n{%- endmacro -%}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.342989, "supported_languages": null}, "macro.dbt.run_hooks": {"name": "run_hooks", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/hooks.sql", "original_file_path": "macros/materializations/hooks.sql", "unique_id": "macro.dbt.run_hooks", "macro_sql": "{% macro run_hooks(hooks, inside_transaction=True) %}\n {% for hook in hooks | selectattr('transaction', 'equalto', inside_transaction) %}\n {% if not inside_transaction and loop.first %}\n {% call statement(auto_begin=inside_transaction) %}\n commit;\n {% endcall %}\n {% endif %}\n {% set rendered = render(hook.get('sql')) | trim %}\n {% if (rendered | length) > 0 %}\n {% call statement(auto_begin=inside_transaction) %}\n {{ rendered }}\n {% endcall %}\n {% endif %}\n {% endfor %}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.345539, "supported_languages": null}, "macro.dbt.make_hook_config": {"name": "make_hook_config", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/hooks.sql", "original_file_path": "macros/materializations/hooks.sql", "unique_id": "macro.dbt.make_hook_config", "macro_sql": "{% macro make_hook_config(sql, inside_transaction) %}\n {{ tojson({\"sql\": sql, \"transaction\": inside_transaction}) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.346067, "supported_languages": null}, "macro.dbt.before_begin": {"name": "before_begin", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/hooks.sql", "original_file_path": "macros/materializations/hooks.sql", "unique_id": "macro.dbt.before_begin", "macro_sql": "{% macro before_begin(sql) %}\n {{ make_hook_config(sql, inside_transaction=False) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.make_hook_config"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.346457, "supported_languages": null}, "macro.dbt.in_transaction": {"name": "in_transaction", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/hooks.sql", "original_file_path": "macros/materializations/hooks.sql", "unique_id": "macro.dbt.in_transaction", "macro_sql": "{% macro in_transaction(sql) %}\n {{ make_hook_config(sql, inside_transaction=True) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.make_hook_config"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.346851, "supported_languages": null}, "macro.dbt.after_commit": {"name": "after_commit", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/hooks.sql", "original_file_path": "macros/materializations/hooks.sql", "unique_id": "macro.dbt.after_commit", "macro_sql": "{% macro after_commit(sql) %}\n {{ make_hook_config(sql, inside_transaction=False) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.make_hook_config"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.3472419, "supported_languages": null}, "macro.dbt.set_sql_header": {"name": "set_sql_header", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/configs.sql", "original_file_path": "macros/materializations/configs.sql", "unique_id": "macro.dbt.set_sql_header", "macro_sql": "{% macro set_sql_header(config) -%}\n {{ config.set('sql_header', caller()) }}\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.3481998, "supported_languages": null}, "macro.dbt.should_full_refresh": {"name": "should_full_refresh", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/configs.sql", "original_file_path": "macros/materializations/configs.sql", "unique_id": "macro.dbt.should_full_refresh", "macro_sql": "{% macro should_full_refresh() %}\n {% set config_full_refresh = config.get('full_refresh') %}\n {% if config_full_refresh is none %}\n {% set config_full_refresh = flags.FULL_REFRESH %}\n {% endif %}\n {% do return(config_full_refresh) %}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.349039, "supported_languages": null}, "macro.dbt.should_store_failures": {"name": "should_store_failures", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/configs.sql", "original_file_path": "macros/materializations/configs.sql", "unique_id": "macro.dbt.should_store_failures", "macro_sql": "{% macro should_store_failures() %}\n {% set config_store_failures = config.get('store_failures') %}\n {% if config_store_failures is none %}\n {% set config_store_failures = flags.STORE_FAILURES %}\n {% endif %}\n {% do return(config_store_failures) %}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.349858, "supported_languages": null}, "macro.dbt.snapshot_merge_sql": {"name": "snapshot_merge_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/snapshot_merge.sql", "original_file_path": "macros/materializations/snapshots/snapshot_merge.sql", "unique_id": "macro.dbt.snapshot_merge_sql", "macro_sql": "{% macro snapshot_merge_sql(target, source, insert_cols) -%}\n {{ adapter.dispatch('snapshot_merge_sql', 'dbt')(target, source, insert_cols) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__snapshot_merge_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.350836, "supported_languages": null}, "macro.dbt.default__snapshot_merge_sql": {"name": "default__snapshot_merge_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/snapshot_merge.sql", "original_file_path": "macros/materializations/snapshots/snapshot_merge.sql", "unique_id": "macro.dbt.default__snapshot_merge_sql", "macro_sql": "{% macro default__snapshot_merge_sql(target, source, insert_cols) -%}\n {%- set insert_cols_csv = insert_cols | join(', ') -%}\n\n merge into {{ target }} as DBT_INTERNAL_DEST\n using {{ source }} as DBT_INTERNAL_SOURCE\n on DBT_INTERNAL_SOURCE.dbt_scd_id = DBT_INTERNAL_DEST.dbt_scd_id\n\n when matched\n and DBT_INTERNAL_DEST.dbt_valid_to is null\n and DBT_INTERNAL_SOURCE.dbt_change_type in ('update', 'delete')\n then update\n set dbt_valid_to = DBT_INTERNAL_SOURCE.dbt_valid_to\n\n when not matched\n and DBT_INTERNAL_SOURCE.dbt_change_type = 'insert'\n then insert ({{ insert_cols_csv }})\n values ({{ insert_cols_csv }})\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.351535, "supported_languages": null}, "macro.dbt.strategy_dispatch": {"name": "strategy_dispatch", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/strategies.sql", "original_file_path": "macros/materializations/snapshots/strategies.sql", "unique_id": "macro.dbt.strategy_dispatch", "macro_sql": "{% macro strategy_dispatch(name) -%}\n{% set original_name = name %}\n {% if '.' in name %}\n {% set package_name, name = name.split(\".\", 1) %}\n {% else %}\n {% set package_name = none %}\n {% endif %}\n\n {% if package_name is none %}\n {% set package_context = context %}\n {% elif package_name in context %}\n {% set package_context = context[package_name] %}\n {% else %}\n {% set error_msg %}\n Could not find package '{{package_name}}', called with '{{original_name}}'\n {% endset %}\n {{ exceptions.raise_compiler_error(error_msg | trim) }}\n {% endif %}\n\n {%- set search_name = 'snapshot_' ~ name ~ '_strategy' -%}\n\n {% if search_name not in package_context %}\n {% set error_msg %}\n The specified strategy macro '{{name}}' was not found in package '{{ package_name }}'\n {% endset %}\n {{ exceptions.raise_compiler_error(error_msg | trim) }}\n {% endif %}\n {{ return(package_context[search_name]) }}\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.358602, "supported_languages": null}, "macro.dbt.snapshot_hash_arguments": {"name": "snapshot_hash_arguments", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/strategies.sql", "original_file_path": "macros/materializations/snapshots/strategies.sql", "unique_id": "macro.dbt.snapshot_hash_arguments", "macro_sql": "{% macro snapshot_hash_arguments(args) -%}\n {{ adapter.dispatch('snapshot_hash_arguments', 'dbt')(args) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__snapshot_hash_arguments"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.359072, "supported_languages": null}, "macro.dbt.default__snapshot_hash_arguments": {"name": "default__snapshot_hash_arguments", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/strategies.sql", "original_file_path": "macros/materializations/snapshots/strategies.sql", "unique_id": "macro.dbt.default__snapshot_hash_arguments", "macro_sql": "{% macro default__snapshot_hash_arguments(args) -%}\n md5({%- for arg in args -%}\n coalesce(cast({{ arg }} as varchar ), '')\n {% if not loop.last %} || '|' || {% endif %}\n {%- endfor -%})\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.359667, "supported_languages": null}, "macro.dbt.snapshot_timestamp_strategy": {"name": "snapshot_timestamp_strategy", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/strategies.sql", "original_file_path": "macros/materializations/snapshots/strategies.sql", "unique_id": "macro.dbt.snapshot_timestamp_strategy", "macro_sql": "{% macro snapshot_timestamp_strategy(node, snapshotted_rel, current_rel, config, target_exists) %}\n {% set primary_key = config['unique_key'] %}\n {% set updated_at = config['updated_at'] %}\n {% set invalidate_hard_deletes = config.get('invalidate_hard_deletes', false) %}\n\n {#/*\n The snapshot relation might not have an {{ updated_at }} value if the\n snapshot strategy is changed from `check` to `timestamp`. We\n should use a dbt-created column for the comparison in the snapshot\n table instead of assuming that the user-supplied {{ updated_at }}\n will be present in the historical data.\n\n See https://github.com/dbt-labs/dbt-core/issues/2350\n */ #}\n {% set row_changed_expr -%}\n ({{ snapshotted_rel }}.dbt_valid_from < {{ current_rel }}.{{ updated_at }})\n {%- endset %}\n\n {% set scd_id_expr = snapshot_hash_arguments([primary_key, updated_at]) %}\n\n {% do return({\n \"unique_key\": primary_key,\n \"updated_at\": updated_at,\n \"row_changed\": row_changed_expr,\n \"scd_id\": scd_id_expr,\n \"invalidate_hard_deletes\": invalidate_hard_deletes\n }) %}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.snapshot_hash_arguments"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.361515, "supported_languages": null}, "macro.dbt.snapshot_string_as_time": {"name": "snapshot_string_as_time", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/strategies.sql", "original_file_path": "macros/materializations/snapshots/strategies.sql", "unique_id": "macro.dbt.snapshot_string_as_time", "macro_sql": "{% macro snapshot_string_as_time(timestamp) -%}\n {{ adapter.dispatch('snapshot_string_as_time', 'dbt')(timestamp) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__snapshot_string_as_time"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.361949, "supported_languages": null}, "macro.dbt.default__snapshot_string_as_time": {"name": "default__snapshot_string_as_time", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/strategies.sql", "original_file_path": "macros/materializations/snapshots/strategies.sql", "unique_id": "macro.dbt.default__snapshot_string_as_time", "macro_sql": "{% macro default__snapshot_string_as_time(timestamp) %}\n {% do exceptions.raise_not_implemented(\n 'snapshot_string_as_time macro not implemented for adapter '+adapter.type()\n ) %}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.362426, "supported_languages": null}, "macro.dbt.snapshot_check_all_get_existing_columns": {"name": "snapshot_check_all_get_existing_columns", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/strategies.sql", "original_file_path": "macros/materializations/snapshots/strategies.sql", "unique_id": "macro.dbt.snapshot_check_all_get_existing_columns", "macro_sql": "{% macro snapshot_check_all_get_existing_columns(node, target_exists, check_cols_config) -%}\n {%- if not target_exists -%}\n {#-- no table yet -> return whatever the query does --#}\n {{ return((false, query_columns)) }}\n {%- endif -%}\n\n {#-- handle any schema changes --#}\n {%- set target_relation = adapter.get_relation(database=node.database, schema=node.schema, identifier=node.alias) -%}\n\n {% if check_cols_config == 'all' %}\n {%- set query_columns = get_columns_in_query(node['compiled_code']) -%}\n\n {% elif check_cols_config is iterable and (check_cols_config | length) > 0 %}\n {#-- query for proper casing/quoting, to support comparison below --#}\n {%- set select_check_cols_from_target -%}\n select {{ check_cols_config | join(', ') }} from ({{ node['compiled_code'] }}) subq\n {%- endset -%}\n {% set query_columns = get_columns_in_query(select_check_cols_from_target) %}\n\n {% else %}\n {% do exceptions.raise_compiler_error(\"Invalid value for 'check_cols': \" ~ check_cols_config) %}\n {% endif %}\n\n {%- set existing_cols = adapter.get_columns_in_relation(target_relation) | map(attribute = 'name') | list -%}\n {%- set ns = namespace() -%} {#-- handle for-loop scoping with a namespace --#}\n {%- set ns.column_added = false -%}\n\n {%- set intersection = [] -%}\n {%- for col in query_columns -%}\n {%- if col in existing_cols -%}\n {%- do intersection.append(adapter.quote(col)) -%}\n {%- else -%}\n {% set ns.column_added = true %}\n {%- endif -%}\n {%- endfor -%}\n {{ return((ns.column_added, intersection)) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.get_columns_in_query"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.3662279, "supported_languages": null}, "macro.dbt.snapshot_check_strategy": {"name": "snapshot_check_strategy", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/strategies.sql", "original_file_path": "macros/materializations/snapshots/strategies.sql", "unique_id": "macro.dbt.snapshot_check_strategy", "macro_sql": "{% macro snapshot_check_strategy(node, snapshotted_rel, current_rel, config, target_exists) %}\n {% set check_cols_config = config['check_cols'] %}\n {% set primary_key = config['unique_key'] %}\n {% set invalidate_hard_deletes = config.get('invalidate_hard_deletes', false) %}\n {% set updated_at = config.get('updated_at', snapshot_get_time()) %}\n\n {% set column_added = false %}\n\n {% set column_added, check_cols = snapshot_check_all_get_existing_columns(node, target_exists, check_cols_config) %}\n\n {%- set row_changed_expr -%}\n (\n {%- if column_added -%}\n {{ get_true_sql() }}\n {%- else -%}\n {%- for col in check_cols -%}\n {{ snapshotted_rel }}.{{ col }} != {{ current_rel }}.{{ col }}\n or\n (\n (({{ snapshotted_rel }}.{{ col }} is null) and not ({{ current_rel }}.{{ col }} is null))\n or\n ((not {{ snapshotted_rel }}.{{ col }} is null) and ({{ current_rel }}.{{ col }} is null))\n )\n {%- if not loop.last %} or {% endif -%}\n {%- endfor -%}\n {%- endif -%}\n )\n {%- endset %}\n\n {% set scd_id_expr = snapshot_hash_arguments([primary_key, updated_at]) %}\n\n {% do return({\n \"unique_key\": primary_key,\n \"updated_at\": updated_at,\n \"row_changed\": row_changed_expr,\n \"scd_id\": scd_id_expr,\n \"invalidate_hard_deletes\": invalidate_hard_deletes\n }) %}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.snapshot_get_time", "macro.dbt.snapshot_check_all_get_existing_columns", "macro.dbt.get_true_sql", "macro.dbt.snapshot_hash_arguments"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.369623, "supported_languages": null}, "macro.dbt.create_columns": {"name": "create_columns", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/helpers.sql", "original_file_path": "macros/materializations/snapshots/helpers.sql", "unique_id": "macro.dbt.create_columns", "macro_sql": "{% macro create_columns(relation, columns) %}\n {{ adapter.dispatch('create_columns', 'dbt')(relation, columns) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__create_columns"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.3764548, "supported_languages": null}, "macro.dbt.default__create_columns": {"name": "default__create_columns", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/helpers.sql", "original_file_path": "macros/materializations/snapshots/helpers.sql", "unique_id": "macro.dbt.default__create_columns", "macro_sql": "{% macro default__create_columns(relation, columns) %}\n {% for column in columns %}\n {% call statement() %}\n alter table {{ relation }} add column \"{{ column.name }}\" {{ column.data_type }};\n {% endcall %}\n {% endfor %}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.377213, "supported_languages": null}, "macro.dbt.post_snapshot": {"name": "post_snapshot", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/helpers.sql", "original_file_path": "macros/materializations/snapshots/helpers.sql", "unique_id": "macro.dbt.post_snapshot", "macro_sql": "{% macro post_snapshot(staging_relation) %}\n {{ adapter.dispatch('post_snapshot', 'dbt')(staging_relation) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__post_snapshot"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.377648, "supported_languages": null}, "macro.dbt.default__post_snapshot": {"name": "default__post_snapshot", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/helpers.sql", "original_file_path": "macros/materializations/snapshots/helpers.sql", "unique_id": "macro.dbt.default__post_snapshot", "macro_sql": "{% macro default__post_snapshot(staging_relation) %}\n {# no-op #}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.3779058, "supported_languages": null}, "macro.dbt.get_true_sql": {"name": "get_true_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/helpers.sql", "original_file_path": "macros/materializations/snapshots/helpers.sql", "unique_id": "macro.dbt.get_true_sql", "macro_sql": "{% macro get_true_sql() %}\n {{ adapter.dispatch('get_true_sql', 'dbt')() }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_true_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.378299, "supported_languages": null}, "macro.dbt.default__get_true_sql": {"name": "default__get_true_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/helpers.sql", "original_file_path": "macros/materializations/snapshots/helpers.sql", "unique_id": "macro.dbt.default__get_true_sql", "macro_sql": "{% macro default__get_true_sql() %}\n {{ return('TRUE') }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.378626, "supported_languages": null}, "macro.dbt.snapshot_staging_table": {"name": "snapshot_staging_table", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/helpers.sql", "original_file_path": "macros/materializations/snapshots/helpers.sql", "unique_id": "macro.dbt.snapshot_staging_table", "macro_sql": "{% macro snapshot_staging_table(strategy, source_sql, target_relation) -%}\n {{ adapter.dispatch('snapshot_staging_table', 'dbt')(strategy, source_sql, target_relation) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__snapshot_staging_table"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.379167, "supported_languages": null}, "macro.dbt.default__snapshot_staging_table": {"name": "default__snapshot_staging_table", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/helpers.sql", "original_file_path": "macros/materializations/snapshots/helpers.sql", "unique_id": "macro.dbt.default__snapshot_staging_table", "macro_sql": "{% macro default__snapshot_staging_table(strategy, source_sql, target_relation) -%}\n\n with snapshot_query as (\n\n {{ source_sql }}\n\n ),\n\n snapshotted_data as (\n\n select *,\n {{ strategy.unique_key }} as dbt_unique_key\n\n from {{ target_relation }}\n where dbt_valid_to is null\n\n ),\n\n insertions_source_data as (\n\n select\n *,\n {{ strategy.unique_key }} as dbt_unique_key,\n {{ strategy.updated_at }} as dbt_updated_at,\n {{ strategy.updated_at }} as dbt_valid_from,\n nullif({{ strategy.updated_at }}, {{ strategy.updated_at }}) as dbt_valid_to,\n {{ strategy.scd_id }} as dbt_scd_id\n\n from snapshot_query\n ),\n\n updates_source_data as (\n\n select\n *,\n {{ strategy.unique_key }} as dbt_unique_key,\n {{ strategy.updated_at }} as dbt_updated_at,\n {{ strategy.updated_at }} as dbt_valid_from,\n {{ strategy.updated_at }} as dbt_valid_to\n\n from snapshot_query\n ),\n\n {%- if strategy.invalidate_hard_deletes %}\n\n deletes_source_data as (\n\n select\n *,\n {{ strategy.unique_key }} as dbt_unique_key\n from snapshot_query\n ),\n {% endif %}\n\n insertions as (\n\n select\n 'insert' as dbt_change_type,\n source_data.*\n\n from insertions_source_data as source_data\n left outer join snapshotted_data on snapshotted_data.dbt_unique_key = source_data.dbt_unique_key\n where snapshotted_data.dbt_unique_key is null\n or (\n snapshotted_data.dbt_unique_key is not null\n and (\n {{ strategy.row_changed }}\n )\n )\n\n ),\n\n updates as (\n\n select\n 'update' as dbt_change_type,\n source_data.*,\n snapshotted_data.dbt_scd_id\n\n from updates_source_data as source_data\n join snapshotted_data on snapshotted_data.dbt_unique_key = source_data.dbt_unique_key\n where (\n {{ strategy.row_changed }}\n )\n )\n\n {%- if strategy.invalidate_hard_deletes -%}\n ,\n\n deletes as (\n\n select\n 'delete' as dbt_change_type,\n source_data.*,\n {{ snapshot_get_time() }} as dbt_valid_from,\n {{ snapshot_get_time() }} as dbt_updated_at,\n {{ snapshot_get_time() }} as dbt_valid_to,\n snapshotted_data.dbt_scd_id\n\n from snapshotted_data\n left join deletes_source_data as source_data on snapshotted_data.dbt_unique_key = source_data.dbt_unique_key\n where source_data.dbt_unique_key is null\n )\n {%- endif %}\n\n select * from insertions\n union all\n select * from updates\n {%- if strategy.invalidate_hard_deletes %}\n union all\n select * from deletes\n {%- endif %}\n\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.snapshot_get_time"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.3813848, "supported_languages": null}, "macro.dbt.build_snapshot_table": {"name": "build_snapshot_table", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/helpers.sql", "original_file_path": "macros/materializations/snapshots/helpers.sql", "unique_id": "macro.dbt.build_snapshot_table", "macro_sql": "{% macro build_snapshot_table(strategy, sql) -%}\n {{ adapter.dispatch('build_snapshot_table', 'dbt')(strategy, sql) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__build_snapshot_table"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.381888, "supported_languages": null}, "macro.dbt.default__build_snapshot_table": {"name": "default__build_snapshot_table", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/helpers.sql", "original_file_path": "macros/materializations/snapshots/helpers.sql", "unique_id": "macro.dbt.default__build_snapshot_table", "macro_sql": "{% macro default__build_snapshot_table(strategy, sql) %}\n\n select *,\n {{ strategy.scd_id }} as dbt_scd_id,\n {{ strategy.updated_at }} as dbt_updated_at,\n {{ strategy.updated_at }} as dbt_valid_from,\n nullif({{ strategy.updated_at }}, {{ strategy.updated_at }}) as dbt_valid_to\n from (\n {{ sql }}\n ) sbq\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.38257, "supported_languages": null}, "macro.dbt.build_snapshot_staging_table": {"name": "build_snapshot_staging_table", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/helpers.sql", "original_file_path": "macros/materializations/snapshots/helpers.sql", "unique_id": "macro.dbt.build_snapshot_staging_table", "macro_sql": "{% macro build_snapshot_staging_table(strategy, sql, target_relation) %}\n {% set temp_relation = make_temp_relation(target_relation) %}\n\n {% set select = snapshot_staging_table(strategy, sql, target_relation) %}\n\n {% call statement('build_snapshot_staging_relation') %}\n {{ create_table_as(True, temp_relation, select) }}\n {% endcall %}\n\n {% do return(temp_relation) %}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.make_temp_relation", "macro.dbt.snapshot_staging_table", "macro.dbt.statement", "macro.dbt.create_table_as"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.383712, "supported_languages": null}, "macro.dbt.materialization_snapshot_default": {"name": "materialization_snapshot_default", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/snapshot.sql", "original_file_path": "macros/materializations/snapshots/snapshot.sql", "unique_id": "macro.dbt.materialization_snapshot_default", "macro_sql": "{% materialization snapshot, default %}\n {%- set config = model['config'] -%}\n\n {%- set target_table = model.get('alias', model.get('name')) -%}\n\n {%- set strategy_name = config.get('strategy') -%}\n {%- set unique_key = config.get('unique_key') %}\n -- grab current tables grants config for comparision later on\n {%- set grant_config = config.get('grants') -%}\n\n {% set target_relation_exists, target_relation = get_or_create_relation(\n database=model.database,\n schema=model.schema,\n identifier=target_table,\n type='table') -%}\n\n {%- if not target_relation.is_table -%}\n {% do exceptions.relation_wrong_type(target_relation, 'table') %}\n {%- endif -%}\n\n\n {{ run_hooks(pre_hooks, inside_transaction=False) }}\n\n {{ run_hooks(pre_hooks, inside_transaction=True) }}\n\n {% set strategy_macro = strategy_dispatch(strategy_name) %}\n {% set strategy = strategy_macro(model, \"snapshotted_data\", \"source_data\", config, target_relation_exists) %}\n\n {% if not target_relation_exists %}\n\n {% set build_sql = build_snapshot_table(strategy, model['compiled_code']) %}\n {% set final_sql = create_table_as(False, target_relation, build_sql) %}\n\n {% else %}\n\n {{ adapter.valid_snapshot_target(target_relation) }}\n\n {% set staging_table = build_snapshot_staging_table(strategy, sql, target_relation) %}\n\n -- this may no-op if the database does not require column expansion\n {% do adapter.expand_target_column_types(from_relation=staging_table,\n to_relation=target_relation) %}\n\n {% set missing_columns = adapter.get_missing_columns(staging_table, target_relation)\n | rejectattr('name', 'equalto', 'dbt_change_type')\n | rejectattr('name', 'equalto', 'DBT_CHANGE_TYPE')\n | rejectattr('name', 'equalto', 'dbt_unique_key')\n | rejectattr('name', 'equalto', 'DBT_UNIQUE_KEY')\n | list %}\n\n {% do create_columns(target_relation, missing_columns) %}\n\n {% set source_columns = adapter.get_columns_in_relation(staging_table)\n | rejectattr('name', 'equalto', 'dbt_change_type')\n | rejectattr('name', 'equalto', 'DBT_CHANGE_TYPE')\n | rejectattr('name', 'equalto', 'dbt_unique_key')\n | rejectattr('name', 'equalto', 'DBT_UNIQUE_KEY')\n | list %}\n\n {% set quoted_source_columns = [] %}\n {% for column in source_columns %}\n {% do quoted_source_columns.append(adapter.quote(column.name)) %}\n {% endfor %}\n\n {% set final_sql = snapshot_merge_sql(\n target = target_relation,\n source = staging_table,\n insert_cols = quoted_source_columns\n )\n %}\n\n {% endif %}\n\n {% call statement('main') %}\n {{ final_sql }}\n {% endcall %}\n\n {% set should_revoke = should_revoke(target_relation_exists, full_refresh_mode=False) %}\n {% do apply_grants(target_relation, grant_config, should_revoke=should_revoke) %}\n\n {% do persist_docs(target_relation, model) %}\n\n {% if not target_relation_exists %}\n {% do create_indexes(target_relation) %}\n {% endif %}\n\n {{ run_hooks(post_hooks, inside_transaction=True) }}\n\n {{ adapter.commit() }}\n\n {% if staging_table is defined %}\n {% do post_snapshot(staging_table) %}\n {% endif %}\n\n {{ run_hooks(post_hooks, inside_transaction=False) }}\n\n {{ return({'relations': [target_relation]}) }}\n\n{% endmaterialization %}", "depends_on": {"macros": ["macro.dbt.get_or_create_relation", "macro.dbt.run_hooks", "macro.dbt.strategy_dispatch", "macro.dbt.build_snapshot_table", "macro.dbt.create_table_as", "macro.dbt.build_snapshot_staging_table", "macro.dbt.create_columns", "macro.dbt.snapshot_merge_sql", "macro.dbt.statement", "macro.dbt.should_revoke", "macro.dbt.apply_grants", "macro.dbt.persist_docs", "macro.dbt.create_indexes", "macro.dbt.post_snapshot"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.3964071, "supported_languages": ["sql"]}, "macro.dbt.materialization_test_default": {"name": "materialization_test_default", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/tests/test.sql", "original_file_path": "macros/materializations/tests/test.sql", "unique_id": "macro.dbt.materialization_test_default", "macro_sql": "{%- materialization test, default -%}\n\n {% set relations = [] %}\n\n {% if should_store_failures() %}\n\n {% set identifier = model['alias'] %}\n {% set old_relation = adapter.get_relation(database=database, schema=schema, identifier=identifier) %}\n {% set target_relation = api.Relation.create(\n identifier=identifier, schema=schema, database=database, type='table') -%} %}\n\n {% if old_relation %}\n {% do adapter.drop_relation(old_relation) %}\n {% endif %}\n\n {% call statement(auto_begin=True) %}\n {{ create_table_as(False, target_relation, sql) }}\n {% endcall %}\n\n {% do relations.append(target_relation) %}\n\n {% set main_sql %}\n select *\n from {{ target_relation }}\n {% endset %}\n\n {{ adapter.commit() }}\n\n {% else %}\n\n {% set main_sql = sql %}\n\n {% endif %}\n\n {% set limit = config.get('limit') %}\n {% set fail_calc = config.get('fail_calc') %}\n {% set warn_if = config.get('warn_if') %}\n {% set error_if = config.get('error_if') %}\n\n {% call statement('main', fetch_result=True) -%}\n\n {{ get_test_sql(main_sql, fail_calc, warn_if, error_if, limit)}}\n\n {%- endcall %}\n\n {{ return({'relations': relations}) }}\n\n{%- endmaterialization -%}", "depends_on": {"macros": ["macro.dbt.should_store_failures", "macro.dbt.statement", "macro.dbt.create_table_as", "macro.dbt.get_test_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.400915, "supported_languages": ["sql"]}, "macro.dbt.get_test_sql": {"name": "get_test_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/tests/helpers.sql", "original_file_path": "macros/materializations/tests/helpers.sql", "unique_id": "macro.dbt.get_test_sql", "macro_sql": "{% macro get_test_sql(main_sql, fail_calc, warn_if, error_if, limit) -%}\n {{ adapter.dispatch('get_test_sql', 'dbt')(main_sql, fail_calc, warn_if, error_if, limit) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_test_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.4017851, "supported_languages": null}, "macro.dbt.default__get_test_sql": {"name": "default__get_test_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/tests/helpers.sql", "original_file_path": "macros/materializations/tests/helpers.sql", "unique_id": "macro.dbt.default__get_test_sql", "macro_sql": "{% macro default__get_test_sql(main_sql, fail_calc, warn_if, error_if, limit) -%}\n select\n {{ fail_calc }} as failures,\n {{ fail_calc }} {{ warn_if }} as should_warn,\n {{ fail_calc }} {{ error_if }} as should_error\n from (\n {{ main_sql }}\n {{ \"limit \" ~ limit if limit != none }}\n ) dbt_internal_test\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.4027772, "supported_languages": null}, "macro.dbt.get_where_subquery": {"name": "get_where_subquery", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/tests/where_subquery.sql", "original_file_path": "macros/materializations/tests/where_subquery.sql", "unique_id": "macro.dbt.get_where_subquery", "macro_sql": "{% macro get_where_subquery(relation) -%}\n {% do return(adapter.dispatch('get_where_subquery', 'dbt')(relation)) %}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_where_subquery"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.4035032, "supported_languages": null}, "macro.dbt.default__get_where_subquery": {"name": "default__get_where_subquery", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/tests/where_subquery.sql", "original_file_path": "macros/materializations/tests/where_subquery.sql", "unique_id": "macro.dbt.default__get_where_subquery", "macro_sql": "{% macro default__get_where_subquery(relation) -%}\n {% set where = config.get('where', '') %}\n {% if where %}\n {%- set filtered -%}\n (select * from {{ relation }} where {{ where }}) dbt_subquery\n {%- endset -%}\n {% do return(filtered) %}\n {%- else -%}\n {% do return(relation) %}\n {%- endif -%}\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.404711, "supported_languages": null}, "macro.dbt.get_quoted_csv": {"name": "get_quoted_csv", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/column_helpers.sql", "original_file_path": "macros/materializations/models/incremental/column_helpers.sql", "unique_id": "macro.dbt.get_quoted_csv", "macro_sql": "{% macro get_quoted_csv(column_names) %}\n\n {% set quoted = [] %}\n {% for col in column_names -%}\n {%- do quoted.append(adapter.quote(col)) -%}\n {%- endfor %}\n\n {%- set dest_cols_csv = quoted | join(', ') -%}\n {{ return(dest_cols_csv) }}\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.4076102, "supported_languages": null}, "macro.dbt.diff_columns": {"name": "diff_columns", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/column_helpers.sql", "original_file_path": "macros/materializations/models/incremental/column_helpers.sql", "unique_id": "macro.dbt.diff_columns", "macro_sql": "{% macro diff_columns(source_columns, target_columns) %}\n\n {% set result = [] %}\n {% set source_names = source_columns | map(attribute = 'column') | list %}\n {% set target_names = target_columns | map(attribute = 'column') | list %}\n\n {# --check whether the name attribute exists in the target - this does not perform a data type check #}\n {% for sc in source_columns %}\n {% if sc.name not in target_names %}\n {{ result.append(sc) }}\n {% endif %}\n {% endfor %}\n\n {{ return(result) }}\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.408818, "supported_languages": null}, "macro.dbt.diff_column_data_types": {"name": "diff_column_data_types", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/column_helpers.sql", "original_file_path": "macros/materializations/models/incremental/column_helpers.sql", "unique_id": "macro.dbt.diff_column_data_types", "macro_sql": "{% macro diff_column_data_types(source_columns, target_columns) %}\n\n {% set result = [] %}\n {% for sc in source_columns %}\n {% set tc = target_columns | selectattr(\"name\", \"equalto\", sc.name) | list | first %}\n {% if tc %}\n {% if sc.data_type != tc.data_type and not sc.can_expand_to(other_column=tc) %}\n {{ result.append( { 'column_name': tc.name, 'new_type': sc.data_type } ) }}\n {% endif %}\n {% endif %}\n {% endfor %}\n\n {{ return(result) }}\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.410269, "supported_languages": null}, "macro.dbt.get_merge_update_columns": {"name": "get_merge_update_columns", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/column_helpers.sql", "original_file_path": "macros/materializations/models/incremental/column_helpers.sql", "unique_id": "macro.dbt.get_merge_update_columns", "macro_sql": "{% macro get_merge_update_columns(merge_update_columns, merge_exclude_columns, dest_columns) %}\n {{ return(adapter.dispatch('get_merge_update_columns', 'dbt')(merge_update_columns, merge_exclude_columns, dest_columns)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_merge_update_columns"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.410773, "supported_languages": null}, "macro.dbt.default__get_merge_update_columns": {"name": "default__get_merge_update_columns", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/column_helpers.sql", "original_file_path": "macros/materializations/models/incremental/column_helpers.sql", "unique_id": "macro.dbt.default__get_merge_update_columns", "macro_sql": "{% macro default__get_merge_update_columns(merge_update_columns, merge_exclude_columns, dest_columns) %}\n {%- set default_cols = dest_columns | map(attribute=\"quoted\") | list -%}\n\n {%- if merge_update_columns and merge_exclude_columns -%}\n {{ exceptions.raise_compiler_error(\n 'Model cannot specify merge_update_columns and merge_exclude_columns. Please update model to use only one config'\n )}}\n {%- elif merge_update_columns -%}\n {%- set update_columns = merge_update_columns -%}\n {%- elif merge_exclude_columns -%}\n {%- set update_columns = [] -%}\n {%- for column in dest_columns -%}\n {% if column.column | lower not in merge_exclude_columns | map(\"lower\") | list %}\n {%- do update_columns.append(column.quoted) -%}\n {% endif %}\n {%- endfor -%}\n {%- else -%}\n {%- set update_columns = default_cols -%}\n {%- endif -%}\n\n {{ return(update_columns) }}\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.412386, "supported_languages": null}, "macro.dbt.get_merge_sql": {"name": "get_merge_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/merge.sql", "original_file_path": "macros/materializations/models/incremental/merge.sql", "unique_id": "macro.dbt.get_merge_sql", "macro_sql": "{% macro get_merge_sql(target, source, unique_key, dest_columns, incremental_predicates=none) -%}\n -- back compat for old kwarg name\n {% set incremental_predicates = kwargs.get('predicates', incremental_predicates) %}\n {{ adapter.dispatch('get_merge_sql', 'dbt')(target, source, unique_key, dest_columns, incremental_predicates) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_merge_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.421608, "supported_languages": null}, "macro.dbt.default__get_merge_sql": {"name": "default__get_merge_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/merge.sql", "original_file_path": "macros/materializations/models/incremental/merge.sql", "unique_id": "macro.dbt.default__get_merge_sql", "macro_sql": "{% macro default__get_merge_sql(target, source, unique_key, dest_columns, incremental_predicates=none) -%}\n {%- set predicates = [] if incremental_predicates is none else [] + incremental_predicates -%}\n {%- set dest_cols_csv = get_quoted_csv(dest_columns | map(attribute=\"name\")) -%}\n {%- set merge_update_columns = config.get('merge_update_columns') -%}\n {%- set merge_exclude_columns = config.get('merge_exclude_columns') -%}\n {%- set update_columns = get_merge_update_columns(merge_update_columns, merge_exclude_columns, dest_columns) -%}\n {%- set sql_header = config.get('sql_header', none) -%}\n\n {% if unique_key %}\n {% if unique_key is sequence and unique_key is not mapping and unique_key is not string %}\n {% for key in unique_key %}\n {% set this_key_match %}\n DBT_INTERNAL_SOURCE.{{ key }} = DBT_INTERNAL_DEST.{{ key }}\n {% endset %}\n {% do predicates.append(this_key_match) %}\n {% endfor %}\n {% else %}\n {% set unique_key_match %}\n DBT_INTERNAL_SOURCE.{{ unique_key }} = DBT_INTERNAL_DEST.{{ unique_key }}\n {% endset %}\n {% do predicates.append(unique_key_match) %}\n {% endif %}\n {% else %}\n {% do predicates.append('FALSE') %}\n {% endif %}\n\n {{ sql_header if sql_header is not none }}\n\n merge into {{ target }} as DBT_INTERNAL_DEST\n using {{ source }} as DBT_INTERNAL_SOURCE\n on {{\"(\" ~ predicates | join(\") and (\") ~ \")\"}}\n\n {% if unique_key %}\n when matched then update set\n {% for column_name in update_columns -%}\n {{ column_name }} = DBT_INTERNAL_SOURCE.{{ column_name }}\n {%- if not loop.last %}, {%- endif %}\n {%- endfor %}\n {% endif %}\n\n when not matched then insert\n ({{ dest_cols_csv }})\n values\n ({{ dest_cols_csv }})\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.get_quoted_csv", "macro.dbt.get_merge_update_columns"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.4253418, "supported_languages": null}, "macro.dbt.get_delete_insert_merge_sql": {"name": "get_delete_insert_merge_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/merge.sql", "original_file_path": "macros/materializations/models/incremental/merge.sql", "unique_id": "macro.dbt.get_delete_insert_merge_sql", "macro_sql": "{% macro get_delete_insert_merge_sql(target, source, unique_key, dest_columns, incremental_predicates) -%}\n {{ adapter.dispatch('get_delete_insert_merge_sql', 'dbt')(target, source, unique_key, dest_columns, incremental_predicates) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_delete_insert_merge_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.4258912, "supported_languages": null}, "macro.dbt.default__get_delete_insert_merge_sql": {"name": "default__get_delete_insert_merge_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/merge.sql", "original_file_path": "macros/materializations/models/incremental/merge.sql", "unique_id": "macro.dbt.default__get_delete_insert_merge_sql", "macro_sql": "{% macro default__get_delete_insert_merge_sql(target, source, unique_key, dest_columns, incremental_predicates) -%}\n\n {%- set dest_cols_csv = get_quoted_csv(dest_columns | map(attribute=\"name\")) -%}\n\n {% if unique_key %}\n {% if unique_key is sequence and unique_key is not string %}\n delete from {{target }}\n using {{ source }}\n where (\n {% for key in unique_key %}\n {{ source }}.{{ key }} = {{ target }}.{{ key }}\n {{ \"and \" if not loop.last}}\n {% endfor %}\n {% if incremental_predicates %}\n {% for predicate in incremental_predicates %}\n and {{ predicate }}\n {% endfor %}\n {% endif %}\n );\n {% else %}\n delete from {{ target }}\n where (\n {{ unique_key }}) in (\n select ({{ unique_key }})\n from {{ source }}\n )\n {%- if incremental_predicates %}\n {% for predicate in incremental_predicates %}\n and {{ predicate }}\n {% endfor %}\n {%- endif -%};\n\n {% endif %}\n {% endif %}\n\n insert into {{ target }} ({{ dest_cols_csv }})\n (\n select {{ dest_cols_csv }}\n from {{ source }}\n )\n\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.get_quoted_csv"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.4280581, "supported_languages": null}, "macro.dbt.get_insert_overwrite_merge_sql": {"name": "get_insert_overwrite_merge_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/merge.sql", "original_file_path": "macros/materializations/models/incremental/merge.sql", "unique_id": "macro.dbt.get_insert_overwrite_merge_sql", "macro_sql": "{% macro get_insert_overwrite_merge_sql(target, source, dest_columns, predicates, include_sql_header=false) -%}\n {{ adapter.dispatch('get_insert_overwrite_merge_sql', 'dbt')(target, source, dest_columns, predicates, include_sql_header) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_insert_overwrite_merge_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.42863, "supported_languages": null}, "macro.dbt.default__get_insert_overwrite_merge_sql": {"name": "default__get_insert_overwrite_merge_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/merge.sql", "original_file_path": "macros/materializations/models/incremental/merge.sql", "unique_id": "macro.dbt.default__get_insert_overwrite_merge_sql", "macro_sql": "{% macro default__get_insert_overwrite_merge_sql(target, source, dest_columns, predicates, include_sql_header) -%}\n {#-- The only time include_sql_header is True: --#}\n {#-- BigQuery + insert_overwrite strategy + \"static\" partitions config --#}\n {#-- We should consider including the sql header at the materialization level instead --#}\n\n {%- set predicates = [] if predicates is none else [] + predicates -%}\n {%- set dest_cols_csv = get_quoted_csv(dest_columns | map(attribute=\"name\")) -%}\n {%- set sql_header = config.get('sql_header', none) -%}\n\n {{ sql_header if sql_header is not none and include_sql_header }}\n\n merge into {{ target }} as DBT_INTERNAL_DEST\n using {{ source }} as DBT_INTERNAL_SOURCE\n on FALSE\n\n when not matched by source\n {% if predicates %} and {{ predicates | join(' and ') }} {% endif %}\n then delete\n\n when not matched then insert\n ({{ dest_cols_csv }})\n values\n ({{ dest_cols_csv }})\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.get_quoted_csv"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.430006, "supported_languages": null}, "macro.dbt.is_incremental": {"name": "is_incremental", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/is_incremental.sql", "original_file_path": "macros/materializations/models/incremental/is_incremental.sql", "unique_id": "macro.dbt.is_incremental", "macro_sql": "{% macro is_incremental() %}\n {#-- do not run introspective queries in parsing #}\n {% if not execute %}\n {{ return(False) }}\n {% else %}\n {% set relation = adapter.get_relation(this.database, this.schema, this.table) %}\n {{ return(relation is not none\n and relation.type == 'table'\n and model.config.materialized == 'incremental'\n and not should_full_refresh()) }}\n {% endif %}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.should_full_refresh"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.431288, "supported_languages": null}, "macro.dbt.get_incremental_append_sql": {"name": "get_incremental_append_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/strategies.sql", "original_file_path": "macros/materializations/models/incremental/strategies.sql", "unique_id": "macro.dbt.get_incremental_append_sql", "macro_sql": "{% macro get_incremental_append_sql(arg_dict) %}\n\n {{ return(adapter.dispatch('get_incremental_append_sql', 'dbt')(arg_dict)) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_incremental_append_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.4327989, "supported_languages": null}, "macro.dbt.default__get_incremental_append_sql": {"name": "default__get_incremental_append_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/strategies.sql", "original_file_path": "macros/materializations/models/incremental/strategies.sql", "unique_id": "macro.dbt.default__get_incremental_append_sql", "macro_sql": "{% macro default__get_incremental_append_sql(arg_dict) %}\n\n {% do return(get_insert_into_sql(arg_dict[\"target_relation\"], arg_dict[\"temp_relation\"], arg_dict[\"dest_columns\"])) %}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.get_insert_into_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.433304, "supported_languages": null}, "macro.dbt.get_incremental_delete_insert_sql": {"name": "get_incremental_delete_insert_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/strategies.sql", "original_file_path": "macros/materializations/models/incremental/strategies.sql", "unique_id": "macro.dbt.get_incremental_delete_insert_sql", "macro_sql": "{% macro get_incremental_delete_insert_sql(arg_dict) %}\n\n {{ return(adapter.dispatch('get_incremental_delete_insert_sql', 'dbt')(arg_dict)) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_incremental_delete_insert_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.4337049, "supported_languages": null}, "macro.dbt.default__get_incremental_delete_insert_sql": {"name": "default__get_incremental_delete_insert_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/strategies.sql", "original_file_path": "macros/materializations/models/incremental/strategies.sql", "unique_id": "macro.dbt.default__get_incremental_delete_insert_sql", "macro_sql": "{% macro default__get_incremental_delete_insert_sql(arg_dict) %}\n\n {% do return(get_delete_insert_merge_sql(arg_dict[\"target_relation\"], arg_dict[\"temp_relation\"], arg_dict[\"unique_key\"], arg_dict[\"dest_columns\"], arg_dict[\"incremental_predicates\"])) %}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.get_delete_insert_merge_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.4343328, "supported_languages": null}, "macro.dbt.get_incremental_merge_sql": {"name": "get_incremental_merge_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/strategies.sql", "original_file_path": "macros/materializations/models/incremental/strategies.sql", "unique_id": "macro.dbt.get_incremental_merge_sql", "macro_sql": "{% macro get_incremental_merge_sql(arg_dict) %}\n\n {{ return(adapter.dispatch('get_incremental_merge_sql', 'dbt')(arg_dict)) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_incremental_merge_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.434735, "supported_languages": null}, "macro.dbt.default__get_incremental_merge_sql": {"name": "default__get_incremental_merge_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/strategies.sql", "original_file_path": "macros/materializations/models/incremental/strategies.sql", "unique_id": "macro.dbt.default__get_incremental_merge_sql", "macro_sql": "{% macro default__get_incremental_merge_sql(arg_dict) %}\n\n {% do return(get_merge_sql(arg_dict[\"target_relation\"], arg_dict[\"temp_relation\"], arg_dict[\"unique_key\"], arg_dict[\"dest_columns\"], arg_dict[\"incremental_predicates\"])) %}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.get_merge_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.4353752, "supported_languages": null}, "macro.dbt.get_incremental_insert_overwrite_sql": {"name": "get_incremental_insert_overwrite_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/strategies.sql", "original_file_path": "macros/materializations/models/incremental/strategies.sql", "unique_id": "macro.dbt.get_incremental_insert_overwrite_sql", "macro_sql": "{% macro get_incremental_insert_overwrite_sql(arg_dict) %}\n\n {{ return(adapter.dispatch('get_incremental_insert_overwrite_sql', 'dbt')(arg_dict)) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_incremental_insert_overwrite_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.435798, "supported_languages": null}, "macro.dbt.default__get_incremental_insert_overwrite_sql": {"name": "default__get_incremental_insert_overwrite_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/strategies.sql", "original_file_path": "macros/materializations/models/incremental/strategies.sql", "unique_id": "macro.dbt.default__get_incremental_insert_overwrite_sql", "macro_sql": "{% macro default__get_incremental_insert_overwrite_sql(arg_dict) %}\n\n {% do return(get_insert_overwrite_merge_sql(arg_dict[\"target_relation\"], arg_dict[\"temp_relation\"], arg_dict[\"dest_columns\"], arg_dict[\"incremental_predicates\"])) %}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.get_insert_overwrite_merge_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.436501, "supported_languages": null}, "macro.dbt.get_incremental_default_sql": {"name": "get_incremental_default_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/strategies.sql", "original_file_path": "macros/materializations/models/incremental/strategies.sql", "unique_id": "macro.dbt.get_incremental_default_sql", "macro_sql": "{% macro get_incremental_default_sql(arg_dict) %}\n\n {{ return(adapter.dispatch('get_incremental_default_sql', 'dbt')(arg_dict)) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_incremental_default_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.437122, "supported_languages": null}, "macro.dbt.default__get_incremental_default_sql": {"name": "default__get_incremental_default_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/strategies.sql", "original_file_path": "macros/materializations/models/incremental/strategies.sql", "unique_id": "macro.dbt.default__get_incremental_default_sql", "macro_sql": "{% macro default__get_incremental_default_sql(arg_dict) %}\n\n {% do return(get_incremental_append_sql(arg_dict)) %}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.get_incremental_append_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.437512, "supported_languages": null}, "macro.dbt.get_insert_into_sql": {"name": "get_insert_into_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/strategies.sql", "original_file_path": "macros/materializations/models/incremental/strategies.sql", "unique_id": "macro.dbt.get_insert_into_sql", "macro_sql": "{% macro get_insert_into_sql(target_relation, temp_relation, dest_columns) %}\n\n {%- set dest_cols_csv = get_quoted_csv(dest_columns | map(attribute=\"name\")) -%}\n\n insert into {{ target_relation }} ({{ dest_cols_csv }})\n (\n select {{ dest_cols_csv }}\n from {{ temp_relation }}\n )\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.get_quoted_csv"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.438418, "supported_languages": null}, "macro.dbt.materialization_incremental_default": {"name": "materialization_incremental_default", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/incremental.sql", "original_file_path": "macros/materializations/models/incremental/incremental.sql", "unique_id": "macro.dbt.materialization_incremental_default", "macro_sql": "{% materialization incremental, default -%}\n\n -- relations\n {%- set existing_relation = load_cached_relation(this) -%}\n {%- set target_relation = this.incorporate(type='table') -%}\n {%- set temp_relation = make_temp_relation(target_relation)-%}\n {%- set intermediate_relation = make_intermediate_relation(target_relation)-%}\n {%- set backup_relation_type = 'table' if existing_relation is none else existing_relation.type -%}\n {%- set backup_relation = make_backup_relation(target_relation, backup_relation_type) -%}\n\n -- configs\n {%- set unique_key = config.get('unique_key') -%}\n {%- set full_refresh_mode = (should_full_refresh() or existing_relation.is_view) -%}\n {%- set on_schema_change = incremental_validate_on_schema_change(config.get('on_schema_change'), default='ignore') -%}\n\n -- the temp_ and backup_ relations should not already exist in the database; get_relation\n -- will return None in that case. Otherwise, we get a relation that we can drop\n -- later, before we try to use this name for the current operation. This has to happen before\n -- BEGIN, in a separate transaction\n {%- set preexisting_intermediate_relation = load_cached_relation(intermediate_relation)-%}\n {%- set preexisting_backup_relation = load_cached_relation(backup_relation) -%}\n -- grab current tables grants config for comparision later on\n {% set grant_config = config.get('grants') %}\n {{ drop_relation_if_exists(preexisting_intermediate_relation) }}\n {{ drop_relation_if_exists(preexisting_backup_relation) }}\n\n {{ run_hooks(pre_hooks, inside_transaction=False) }}\n\n -- `BEGIN` happens here:\n {{ run_hooks(pre_hooks, inside_transaction=True) }}\n\n {% set to_drop = [] %}\n\n {% if existing_relation is none %}\n {% set build_sql = get_create_table_as_sql(False, target_relation, sql) %}\n {% elif full_refresh_mode %}\n {% set build_sql = get_create_table_as_sql(False, intermediate_relation, sql) %}\n {% set need_swap = true %}\n {% else %}\n {% do run_query(get_create_table_as_sql(True, temp_relation, sql)) %}\n {% do adapter.expand_target_column_types(\n from_relation=temp_relation,\n to_relation=target_relation) %}\n {#-- Process schema changes. Returns dict of changes if successful. Use source columns for upserting/merging --#}\n {% set dest_columns = process_schema_changes(on_schema_change, temp_relation, existing_relation) %}\n {% if not dest_columns %}\n {% set dest_columns = adapter.get_columns_in_relation(existing_relation) %}\n {% endif %}\n\n {#-- Get the incremental_strategy, the macro to use for the strategy, and build the sql --#}\n {% set incremental_strategy = config.get('incremental_strategy') or 'default' %}\n {% set incremental_predicates = config.get('predicates', none) or config.get('incremental_predicates', none) %}\n {% set strategy_sql_macro_func = adapter.get_incremental_strategy_macro(context, incremental_strategy) %}\n {% set strategy_arg_dict = ({'target_relation': target_relation, 'temp_relation': temp_relation, 'unique_key': unique_key, 'dest_columns': dest_columns, 'incremental_predicates': incremental_predicates }) %}\n {% set build_sql = strategy_sql_macro_func(strategy_arg_dict) %}\n\n {% endif %}\n\n {% call statement(\"main\") %}\n {{ build_sql }}\n {% endcall %}\n\n {% if need_swap %}\n {% do adapter.rename_relation(target_relation, backup_relation) %}\n {% do adapter.rename_relation(intermediate_relation, target_relation) %}\n {% do to_drop.append(backup_relation) %}\n {% endif %}\n\n {% set should_revoke = should_revoke(existing_relation, full_refresh_mode) %}\n {% do apply_grants(target_relation, grant_config, should_revoke=should_revoke) %}\n\n {% do persist_docs(target_relation, model) %}\n\n {% if existing_relation is none or existing_relation.is_view or should_full_refresh() %}\n {% do create_indexes(target_relation) %}\n {% endif %}\n\n {{ run_hooks(post_hooks, inside_transaction=True) }}\n\n -- `COMMIT` happens here\n {% do adapter.commit() %}\n\n {% for rel in to_drop %}\n {% do adapter.drop_relation(rel) %}\n {% endfor %}\n\n {{ run_hooks(post_hooks, inside_transaction=False) }}\n\n {{ return({'relations': [target_relation]}) }}\n\n{%- endmaterialization %}", "depends_on": {"macros": ["macro.dbt.load_cached_relation", "macro.dbt.make_temp_relation", "macro.dbt.make_intermediate_relation", "macro.dbt.make_backup_relation", "macro.dbt.should_full_refresh", "macro.dbt.incremental_validate_on_schema_change", "macro.dbt.drop_relation_if_exists", "macro.dbt.run_hooks", "macro.dbt.get_create_table_as_sql", "macro.dbt.run_query", "macro.dbt.process_schema_changes", "macro.dbt.statement", "macro.dbt.should_revoke", "macro.dbt.apply_grants", "macro.dbt.persist_docs", "macro.dbt.create_indexes"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.449006, "supported_languages": ["sql"]}, "macro.dbt.incremental_validate_on_schema_change": {"name": "incremental_validate_on_schema_change", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/on_schema_change.sql", "original_file_path": "macros/materializations/models/incremental/on_schema_change.sql", "unique_id": "macro.dbt.incremental_validate_on_schema_change", "macro_sql": "{% macro incremental_validate_on_schema_change(on_schema_change, default='ignore') %}\n\n {% if on_schema_change not in ['sync_all_columns', 'append_new_columns', 'fail', 'ignore'] %}\n\n {% set log_message = 'Invalid value for on_schema_change (%s) specified. Setting default value of %s.' % (on_schema_change, default) %}\n {% do log(log_message) %}\n\n {{ return(default) }}\n\n {% else %}\n\n {{ return(on_schema_change) }}\n\n {% endif %}\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.457459, "supported_languages": null}, "macro.dbt.check_for_schema_changes": {"name": "check_for_schema_changes", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/on_schema_change.sql", "original_file_path": "macros/materializations/models/incremental/on_schema_change.sql", "unique_id": "macro.dbt.check_for_schema_changes", "macro_sql": "{% macro check_for_schema_changes(source_relation, target_relation) %}\n\n {% set schema_changed = False %}\n\n {%- set source_columns = adapter.get_columns_in_relation(source_relation) -%}\n {%- set target_columns = adapter.get_columns_in_relation(target_relation) -%}\n {%- set source_not_in_target = diff_columns(source_columns, target_columns) -%}\n {%- set target_not_in_source = diff_columns(target_columns, source_columns) -%}\n\n {% set new_target_types = diff_column_data_types(source_columns, target_columns) %}\n\n {% if source_not_in_target != [] %}\n {% set schema_changed = True %}\n {% elif target_not_in_source != [] or new_target_types != [] %}\n {% set schema_changed = True %}\n {% elif new_target_types != [] %}\n {% set schema_changed = True %}\n {% endif %}\n\n {% set changes_dict = {\n 'schema_changed': schema_changed,\n 'source_not_in_target': source_not_in_target,\n 'target_not_in_source': target_not_in_source,\n 'source_columns': source_columns,\n 'target_columns': target_columns,\n 'new_target_types': new_target_types\n } %}\n\n {% set msg %}\n In {{ target_relation }}:\n Schema changed: {{ schema_changed }}\n Source columns not in target: {{ source_not_in_target }}\n Target columns not in source: {{ target_not_in_source }}\n New column types: {{ new_target_types }}\n {% endset %}\n\n {% do log(msg) %}\n\n {{ return(changes_dict) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.diff_columns", "macro.dbt.diff_column_data_types"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.4601011, "supported_languages": null}, "macro.dbt.sync_column_schemas": {"name": "sync_column_schemas", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/on_schema_change.sql", "original_file_path": "macros/materializations/models/incremental/on_schema_change.sql", "unique_id": "macro.dbt.sync_column_schemas", "macro_sql": "{% macro sync_column_schemas(on_schema_change, target_relation, schema_changes_dict) %}\n\n {%- set add_to_target_arr = schema_changes_dict['source_not_in_target'] -%}\n\n {%- if on_schema_change == 'append_new_columns'-%}\n {%- if add_to_target_arr | length > 0 -%}\n {%- do alter_relation_add_remove_columns(target_relation, add_to_target_arr, none) -%}\n {%- endif -%}\n\n {% elif on_schema_change == 'sync_all_columns' %}\n {%- set remove_from_target_arr = schema_changes_dict['target_not_in_source'] -%}\n {%- set new_target_types = schema_changes_dict['new_target_types'] -%}\n\n {% if add_to_target_arr | length > 0 or remove_from_target_arr | length > 0 %}\n {%- do alter_relation_add_remove_columns(target_relation, add_to_target_arr, remove_from_target_arr) -%}\n {% endif %}\n\n {% if new_target_types != [] %}\n {% for ntt in new_target_types %}\n {% set column_name = ntt['column_name'] %}\n {% set new_type = ntt['new_type'] %}\n {% do alter_column_type(target_relation, column_name, new_type) %}\n {% endfor %}\n {% endif %}\n\n {% endif %}\n\n {% set schema_change_message %}\n In {{ target_relation }}:\n Schema change approach: {{ on_schema_change }}\n Columns added: {{ add_to_target_arr }}\n Columns removed: {{ remove_from_target_arr }}\n Data types changed: {{ new_target_types }}\n {% endset %}\n\n {% do log(schema_change_message) %}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.alter_relation_add_remove_columns", "macro.dbt.alter_column_type"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.462616, "supported_languages": null}, "macro.dbt.process_schema_changes": {"name": "process_schema_changes", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/on_schema_change.sql", "original_file_path": "macros/materializations/models/incremental/on_schema_change.sql", "unique_id": "macro.dbt.process_schema_changes", "macro_sql": "{% macro process_schema_changes(on_schema_change, source_relation, target_relation) %}\n\n {% if on_schema_change == 'ignore' %}\n\n {{ return({}) }}\n\n {% else %}\n\n {% set schema_changes_dict = check_for_schema_changes(source_relation, target_relation) %}\n\n {% if schema_changes_dict['schema_changed'] %}\n\n {% if on_schema_change == 'fail' %}\n\n {% set fail_msg %}\n The source and target schemas on this incremental model are out of sync!\n They can be reconciled in several ways:\n - set the `on_schema_change` config to either append_new_columns or sync_all_columns, depending on your situation.\n - Re-run the incremental model with `full_refresh: True` to update the target schema.\n - update the schema manually and re-run the process.\n\n Additional troubleshooting context:\n Source columns not in target: {{ schema_changes_dict['source_not_in_target'] }}\n Target columns not in source: {{ schema_changes_dict['target_not_in_source'] }}\n New column types: {{ schema_changes_dict['new_target_types'] }}\n {% endset %}\n\n {% do exceptions.raise_compiler_error(fail_msg) %}\n\n {# -- unless we ignore, run the sync operation per the config #}\n {% else %}\n\n {% do sync_column_schemas(on_schema_change, target_relation, schema_changes_dict) %}\n\n {% endif %}\n\n {% endif %}\n\n {{ return(schema_changes_dict['source_columns']) }}\n\n {% endif %}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.check_for_schema_changes", "macro.dbt.sync_column_schemas"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.4649239, "supported_languages": null}, "macro.dbt.materialization_table_default": {"name": "materialization_table_default", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/table/table.sql", "original_file_path": "macros/materializations/models/table/table.sql", "unique_id": "macro.dbt.materialization_table_default", "macro_sql": "{% materialization table, default %}\n\n {%- set existing_relation = load_cached_relation(this) -%}\n {%- set target_relation = this.incorporate(type='table') %}\n {%- set intermediate_relation = make_intermediate_relation(target_relation) -%}\n -- the intermediate_relation should not already exist in the database; get_relation\n -- will return None in that case. Otherwise, we get a relation that we can drop\n -- later, before we try to use this name for the current operation\n {%- set preexisting_intermediate_relation = load_cached_relation(intermediate_relation) -%}\n /*\n See ../view/view.sql for more information about this relation.\n */\n {%- set backup_relation_type = 'table' if existing_relation is none else existing_relation.type -%}\n {%- set backup_relation = make_backup_relation(target_relation, backup_relation_type) -%}\n -- as above, the backup_relation should not already exist\n {%- set preexisting_backup_relation = load_cached_relation(backup_relation) -%}\n -- grab current tables grants config for comparision later on\n {% set grant_config = config.get('grants') %}\n\n -- drop the temp relations if they exist already in the database\n {{ drop_relation_if_exists(preexisting_intermediate_relation) }}\n {{ drop_relation_if_exists(preexisting_backup_relation) }}\n\n {{ run_hooks(pre_hooks, inside_transaction=False) }}\n\n -- `BEGIN` happens here:\n {{ run_hooks(pre_hooks, inside_transaction=True) }}\n\n -- build model\n {% call statement('main') -%}\n {{ get_create_table_as_sql(False, intermediate_relation, sql) }}\n {%- endcall %}\n\n -- cleanup\n {% if existing_relation is not none %}\n {{ adapter.rename_relation(existing_relation, backup_relation) }}\n {% endif %}\n\n {{ adapter.rename_relation(intermediate_relation, target_relation) }}\n\n {% do create_indexes(target_relation) %}\n\n {{ run_hooks(post_hooks, inside_transaction=True) }}\n\n {% set should_revoke = should_revoke(existing_relation, full_refresh_mode=True) %}\n {% do apply_grants(target_relation, grant_config, should_revoke=should_revoke) %}\n\n {% do persist_docs(target_relation, model) %}\n\n -- `COMMIT` happens here\n {{ adapter.commit() }}\n\n -- finally, drop the existing/backup relation after the commit\n {{ drop_relation_if_exists(backup_relation) }}\n\n {{ run_hooks(post_hooks, inside_transaction=False) }}\n\n {{ return({'relations': [target_relation]}) }}\n{% endmaterialization %}", "depends_on": {"macros": ["macro.dbt.load_cached_relation", "macro.dbt.make_intermediate_relation", "macro.dbt.make_backup_relation", "macro.dbt.drop_relation_if_exists", "macro.dbt.run_hooks", "macro.dbt.statement", "macro.dbt.get_create_table_as_sql", "macro.dbt.create_indexes", "macro.dbt.should_revoke", "macro.dbt.apply_grants", "macro.dbt.persist_docs"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.4703648, "supported_languages": ["sql"]}, "macro.dbt.get_create_table_as_sql": {"name": "get_create_table_as_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/table/create_table_as.sql", "original_file_path": "macros/materializations/models/table/create_table_as.sql", "unique_id": "macro.dbt.get_create_table_as_sql", "macro_sql": "{% macro get_create_table_as_sql(temporary, relation, sql) -%}\n {{ adapter.dispatch('get_create_table_as_sql', 'dbt')(temporary, relation, sql) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_create_table_as_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.471355, "supported_languages": null}, "macro.dbt.default__get_create_table_as_sql": {"name": "default__get_create_table_as_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/table/create_table_as.sql", "original_file_path": "macros/materializations/models/table/create_table_as.sql", "unique_id": "macro.dbt.default__get_create_table_as_sql", "macro_sql": "{% macro default__get_create_table_as_sql(temporary, relation, sql) -%}\n {{ return(create_table_as(temporary, relation, sql)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.create_table_as"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.471749, "supported_languages": null}, "macro.dbt.create_table_as": {"name": "create_table_as", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/table/create_table_as.sql", "original_file_path": "macros/materializations/models/table/create_table_as.sql", "unique_id": "macro.dbt.create_table_as", "macro_sql": "{% macro create_table_as(temporary, relation, compiled_code, language='sql') -%}\n {# backward compatibility for create_table_as that does not support language #}\n {% if language == \"sql\" %}\n {{ adapter.dispatch('create_table_as', 'dbt')(temporary, relation, compiled_code)}}\n {% else %}\n {{ adapter.dispatch('create_table_as', 'dbt')(temporary, relation, compiled_code, language) }}\n {% endif %}\n\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__create_table_as"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.472666, "supported_languages": null}, "macro.dbt.default__create_table_as": {"name": "default__create_table_as", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/table/create_table_as.sql", "original_file_path": "macros/materializations/models/table/create_table_as.sql", "unique_id": "macro.dbt.default__create_table_as", "macro_sql": "{% macro default__create_table_as(temporary, relation, sql) -%}\n {%- set sql_header = config.get('sql_header', none) -%}\n\n {{ sql_header if sql_header is not none }}\n\n create {% if temporary: -%}temporary{%- endif %} table\n {{ relation.include(database=(not temporary), schema=(not temporary)) }}\n as (\n {{ sql }}\n );\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.47374, "supported_languages": null}, "macro.dbt.materialization_view_default": {"name": "materialization_view_default", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/view/view.sql", "original_file_path": "macros/materializations/models/view/view.sql", "unique_id": "macro.dbt.materialization_view_default", "macro_sql": "{%- materialization view, default -%}\n\n {%- set existing_relation = load_cached_relation(this) -%}\n {%- set target_relation = this.incorporate(type='view') -%}\n {%- set intermediate_relation = make_intermediate_relation(target_relation) -%}\n\n -- the intermediate_relation should not already exist in the database; get_relation\n -- will return None in that case. Otherwise, we get a relation that we can drop\n -- later, before we try to use this name for the current operation\n {%- set preexisting_intermediate_relation = load_cached_relation(intermediate_relation) -%}\n /*\n This relation (probably) doesn't exist yet. If it does exist, it's a leftover from\n a previous run, and we're going to try to drop it immediately. At the end of this\n materialization, we're going to rename the \"existing_relation\" to this identifier,\n and then we're going to drop it. In order to make sure we run the correct one of:\n - drop view ...\n - drop table ...\n\n We need to set the type of this relation to be the type of the existing_relation, if it exists,\n or else \"view\" as a sane default if it does not. Note that if the existing_relation does not\n exist, then there is nothing to move out of the way and subsequentally drop. In that case,\n this relation will be effectively unused.\n */\n {%- set backup_relation_type = 'view' if existing_relation is none else existing_relation.type -%}\n {%- set backup_relation = make_backup_relation(target_relation, backup_relation_type) -%}\n -- as above, the backup_relation should not already exist\n {%- set preexisting_backup_relation = load_cached_relation(backup_relation) -%}\n -- grab current tables grants config for comparision later on\n {% set grant_config = config.get('grants') %}\n\n {{ run_hooks(pre_hooks, inside_transaction=False) }}\n\n -- drop the temp relations if they exist already in the database\n {{ drop_relation_if_exists(preexisting_intermediate_relation) }}\n {{ drop_relation_if_exists(preexisting_backup_relation) }}\n\n -- `BEGIN` happens here:\n {{ run_hooks(pre_hooks, inside_transaction=True) }}\n\n -- build model\n {% call statement('main') -%}\n {{ get_create_view_as_sql(intermediate_relation, sql) }}\n {%- endcall %}\n\n -- cleanup\n -- move the existing view out of the way\n {% if existing_relation is not none %}\n {{ adapter.rename_relation(existing_relation, backup_relation) }}\n {% endif %}\n {{ adapter.rename_relation(intermediate_relation, target_relation) }}\n\n {% set should_revoke = should_revoke(existing_relation, full_refresh_mode=True) %}\n {% do apply_grants(target_relation, grant_config, should_revoke=should_revoke) %}\n\n {% do persist_docs(target_relation, model) %}\n\n {{ run_hooks(post_hooks, inside_transaction=True) }}\n\n {{ adapter.commit() }}\n\n {{ drop_relation_if_exists(backup_relation) }}\n\n {{ run_hooks(post_hooks, inside_transaction=False) }}\n\n {{ return({'relations': [target_relation]}) }}\n\n{%- endmaterialization -%}", "depends_on": {"macros": ["macro.dbt.load_cached_relation", "macro.dbt.make_intermediate_relation", "macro.dbt.make_backup_relation", "macro.dbt.run_hooks", "macro.dbt.drop_relation_if_exists", "macro.dbt.statement", "macro.dbt.get_create_view_as_sql", "macro.dbt.should_revoke", "macro.dbt.apply_grants", "macro.dbt.persist_docs"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.479541, "supported_languages": ["sql"]}, "macro.dbt.handle_existing_table": {"name": "handle_existing_table", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/view/helpers.sql", "original_file_path": "macros/materializations/models/view/helpers.sql", "unique_id": "macro.dbt.handle_existing_table", "macro_sql": "{% macro handle_existing_table(full_refresh, old_relation) %}\n {{ adapter.dispatch('handle_existing_table', 'dbt')(full_refresh, old_relation) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__handle_existing_table"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.480211, "supported_languages": null}, "macro.dbt.default__handle_existing_table": {"name": "default__handle_existing_table", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/view/helpers.sql", "original_file_path": "macros/materializations/models/view/helpers.sql", "unique_id": "macro.dbt.default__handle_existing_table", "macro_sql": "{% macro default__handle_existing_table(full_refresh, old_relation) %}\n {{ log(\"Dropping relation \" ~ old_relation ~ \" because it is of type \" ~ old_relation.type) }}\n {{ adapter.drop_relation(old_relation) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.4807, "supported_languages": null}, "macro.dbt.create_or_replace_view": {"name": "create_or_replace_view", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/view/create_or_replace_view.sql", "original_file_path": "macros/materializations/models/view/create_or_replace_view.sql", "unique_id": "macro.dbt.create_or_replace_view", "macro_sql": "{% macro create_or_replace_view() %}\n {%- set identifier = model['alias'] -%}\n\n {%- set old_relation = adapter.get_relation(database=database, schema=schema, identifier=identifier) -%}\n {%- set exists_as_view = (old_relation is not none and old_relation.is_view) -%}\n\n {%- set target_relation = api.Relation.create(\n identifier=identifier, schema=schema, database=database,\n type='view') -%}\n {% set grant_config = config.get('grants') %}\n\n {{ run_hooks(pre_hooks) }}\n\n -- If there's a table with the same name and we weren't told to full refresh,\n -- that's an error. If we were told to full refresh, drop it. This behavior differs\n -- for Snowflake and BigQuery, so multiple dispatch is used.\n {%- if old_relation is not none and old_relation.is_table -%}\n {{ handle_existing_table(should_full_refresh(), old_relation) }}\n {%- endif -%}\n\n -- build model\n {% call statement('main') -%}\n {{ get_create_view_as_sql(target_relation, sql) }}\n {%- endcall %}\n\n {% set should_revoke = should_revoke(exists_as_view, full_refresh_mode=True) %}\n {% do apply_grants(target_relation, grant_config, should_revoke=True) %}\n\n {{ run_hooks(post_hooks) }}\n\n {{ return({'relations': [target_relation]}) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.run_hooks", "macro.dbt.handle_existing_table", "macro.dbt.should_full_refresh", "macro.dbt.statement", "macro.dbt.get_create_view_as_sql", "macro.dbt.should_revoke", "macro.dbt.apply_grants"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.484604, "supported_languages": null}, "macro.dbt.get_create_view_as_sql": {"name": "get_create_view_as_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/view/create_view_as.sql", "original_file_path": "macros/materializations/models/view/create_view_as.sql", "unique_id": "macro.dbt.get_create_view_as_sql", "macro_sql": "{% macro get_create_view_as_sql(relation, sql) -%}\n {{ adapter.dispatch('get_create_view_as_sql', 'dbt')(relation, sql) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_create_view_as_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.485746, "supported_languages": null}, "macro.dbt.default__get_create_view_as_sql": {"name": "default__get_create_view_as_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/view/create_view_as.sql", "original_file_path": "macros/materializations/models/view/create_view_as.sql", "unique_id": "macro.dbt.default__get_create_view_as_sql", "macro_sql": "{% macro default__get_create_view_as_sql(relation, sql) -%}\n {{ return(create_view_as(relation, sql)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.create_view_as"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.486269, "supported_languages": null}, "macro.dbt.create_view_as": {"name": "create_view_as", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/view/create_view_as.sql", "original_file_path": "macros/materializations/models/view/create_view_as.sql", "unique_id": "macro.dbt.create_view_as", "macro_sql": "{% macro create_view_as(relation, sql) -%}\n {{ adapter.dispatch('create_view_as', 'dbt')(relation, sql) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__create_view_as"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.4868212, "supported_languages": null}, "macro.dbt.default__create_view_as": {"name": "default__create_view_as", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/view/create_view_as.sql", "original_file_path": "macros/materializations/models/view/create_view_as.sql", "unique_id": "macro.dbt.default__create_view_as", "macro_sql": "{% macro default__create_view_as(relation, sql) -%}\n {%- set sql_header = config.get('sql_header', none) -%}\n\n {{ sql_header if sql_header is not none }}\n create view {{ relation }} as (\n {{ sql }}\n );\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.487605, "supported_languages": null}, "macro.dbt.materialization_seed_default": {"name": "materialization_seed_default", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/seeds/seed.sql", "original_file_path": "macros/materializations/seeds/seed.sql", "unique_id": "macro.dbt.materialization_seed_default", "macro_sql": "{% materialization seed, default %}\n\n {%- set identifier = model['alias'] -%}\n {%- set full_refresh_mode = (should_full_refresh()) -%}\n\n {%- set old_relation = adapter.get_relation(database=database, schema=schema, identifier=identifier) -%}\n\n {%- set exists_as_table = (old_relation is not none and old_relation.is_table) -%}\n {%- set exists_as_view = (old_relation is not none and old_relation.is_view) -%}\n\n {%- set grant_config = config.get('grants') -%}\n {%- set agate_table = load_agate_table() -%}\n -- grab current tables grants config for comparision later on\n\n {%- do store_result('agate_table', response='OK', agate_table=agate_table) -%}\n\n {{ run_hooks(pre_hooks, inside_transaction=False) }}\n\n -- `BEGIN` happens here:\n {{ run_hooks(pre_hooks, inside_transaction=True) }}\n\n -- build model\n {% set create_table_sql = \"\" %}\n {% if exists_as_view %}\n {{ exceptions.raise_compiler_error(\"Cannot seed to '{}', it is a view\".format(old_relation)) }}\n {% elif exists_as_table %}\n {% set create_table_sql = reset_csv_table(model, full_refresh_mode, old_relation, agate_table) %}\n {% else %}\n {% set create_table_sql = create_csv_table(model, agate_table) %}\n {% endif %}\n\n {% set code = 'CREATE' if full_refresh_mode else 'INSERT' %}\n {% set rows_affected = (agate_table.rows | length) %}\n {% set sql = load_csv_rows(model, agate_table) %}\n\n {% call noop_statement('main', code ~ ' ' ~ rows_affected, code, rows_affected) %}\n {{ get_csv_sql(create_table_sql, sql) }};\n {% endcall %}\n\n {% set target_relation = this.incorporate(type='table') %}\n\n {% set should_revoke = should_revoke(old_relation, full_refresh_mode) %}\n {% do apply_grants(target_relation, grant_config, should_revoke=should_revoke) %}\n\n {% do persist_docs(target_relation, model) %}\n\n {% if full_refresh_mode or not exists_as_table %}\n {% do create_indexes(target_relation) %}\n {% endif %}\n\n {{ run_hooks(post_hooks, inside_transaction=True) }}\n\n -- `COMMIT` happens here\n {{ adapter.commit() }}\n\n {{ run_hooks(post_hooks, inside_transaction=False) }}\n\n {{ return({'relations': [target_relation]}) }}\n\n{% endmaterialization %}", "depends_on": {"macros": ["macro.dbt.should_full_refresh", "macro.dbt.run_hooks", "macro.dbt.reset_csv_table", "macro.dbt.create_csv_table", "macro.dbt.load_csv_rows", "macro.dbt.noop_statement", "macro.dbt.get_csv_sql", "macro.dbt.should_revoke", "macro.dbt.apply_grants", "macro.dbt.persist_docs", "macro.dbt.create_indexes"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.4959302, "supported_languages": ["sql"]}, "macro.dbt.create_csv_table": {"name": "create_csv_table", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "unique_id": "macro.dbt.create_csv_table", "macro_sql": "{% macro create_csv_table(model, agate_table) -%}\n {{ adapter.dispatch('create_csv_table', 'dbt')(model, agate_table) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__create_csv_table"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.50544, "supported_languages": null}, "macro.dbt.default__create_csv_table": {"name": "default__create_csv_table", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "unique_id": "macro.dbt.default__create_csv_table", "macro_sql": "{% macro default__create_csv_table(model, agate_table) %}\n {%- set column_override = model['config'].get('column_types', {}) -%}\n {%- set quote_seed_column = model['config'].get('quote_columns', None) -%}\n\n {% set sql %}\n create table {{ this.render() }} (\n {%- for col_name in agate_table.column_names -%}\n {%- set inferred_type = adapter.convert_type(agate_table, loop.index0) -%}\n {%- set type = column_override.get(col_name, inferred_type) -%}\n {%- set column_name = (col_name | string) -%}\n {{ adapter.quote_seed_column(column_name, quote_seed_column) }} {{ type }} {%- if not loop.last -%}, {%- endif -%}\n {%- endfor -%}\n )\n {% endset %}\n\n {% call statement('_') -%}\n {{ sql }}\n {%- endcall %}\n\n {{ return(sql) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.507854, "supported_languages": null}, "macro.dbt.reset_csv_table": {"name": "reset_csv_table", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "unique_id": "macro.dbt.reset_csv_table", "macro_sql": "{% macro reset_csv_table(model, full_refresh, old_relation, agate_table) -%}\n {{ adapter.dispatch('reset_csv_table', 'dbt')(model, full_refresh, old_relation, agate_table) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__reset_csv_table"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.5084732, "supported_languages": null}, "macro.dbt.default__reset_csv_table": {"name": "default__reset_csv_table", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "unique_id": "macro.dbt.default__reset_csv_table", "macro_sql": "{% macro default__reset_csv_table(model, full_refresh, old_relation, agate_table) %}\n {% set sql = \"\" %}\n {% if full_refresh %}\n {{ adapter.drop_relation(old_relation) }}\n {% set sql = create_csv_table(model, agate_table) %}\n {% else %}\n {{ adapter.truncate_relation(old_relation) }}\n {% set sql = \"truncate table \" ~ old_relation %}\n {% endif %}\n\n {{ return(sql) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.create_csv_table"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.509761, "supported_languages": null}, "macro.dbt.get_csv_sql": {"name": "get_csv_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "unique_id": "macro.dbt.get_csv_sql", "macro_sql": "{% macro get_csv_sql(create_or_truncate_sql, insert_sql) %}\n {{ adapter.dispatch('get_csv_sql', 'dbt')(create_or_truncate_sql, insert_sql) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_csv_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.5102751, "supported_languages": null}, "macro.dbt.default__get_csv_sql": {"name": "default__get_csv_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "unique_id": "macro.dbt.default__get_csv_sql", "macro_sql": "{% macro default__get_csv_sql(create_or_truncate_sql, insert_sql) %}\n {{ create_or_truncate_sql }};\n -- dbt seed --\n {{ insert_sql }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.510635, "supported_languages": null}, "macro.dbt.get_binding_char": {"name": "get_binding_char", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "unique_id": "macro.dbt.get_binding_char", "macro_sql": "{% macro get_binding_char() -%}\n {{ adapter.dispatch('get_binding_char', 'dbt')() }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_binding_char"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.5110168, "supported_languages": null}, "macro.dbt.default__get_binding_char": {"name": "default__get_binding_char", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "unique_id": "macro.dbt.default__get_binding_char", "macro_sql": "{% macro default__get_binding_char() %}\n {{ return('%s') }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.511337, "supported_languages": null}, "macro.dbt.get_batch_size": {"name": "get_batch_size", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "unique_id": "macro.dbt.get_batch_size", "macro_sql": "{% macro get_batch_size() -%}\n {{ return(adapter.dispatch('get_batch_size', 'dbt')()) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_batch_size"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.511765, "supported_languages": null}, "macro.dbt.default__get_batch_size": {"name": "default__get_batch_size", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "unique_id": "macro.dbt.default__get_batch_size", "macro_sql": "{% macro default__get_batch_size() %}\n {{ return(10000) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.5120819, "supported_languages": null}, "macro.dbt.get_seed_column_quoted_csv": {"name": "get_seed_column_quoted_csv", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "unique_id": "macro.dbt.get_seed_column_quoted_csv", "macro_sql": "{% macro get_seed_column_quoted_csv(model, column_names) %}\n {%- set quote_seed_column = model['config'].get('quote_columns', None) -%}\n {% set quoted = [] %}\n {% for col in column_names -%}\n {%- do quoted.append(adapter.quote_seed_column(col, quote_seed_column)) -%}\n {%- endfor %}\n\n {%- set dest_cols_csv = quoted | join(', ') -%}\n {{ return(dest_cols_csv) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.513331, "supported_languages": null}, "macro.dbt.load_csv_rows": {"name": "load_csv_rows", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "unique_id": "macro.dbt.load_csv_rows", "macro_sql": "{% macro load_csv_rows(model, agate_table) -%}\n {{ adapter.dispatch('load_csv_rows', 'dbt')(model, agate_table) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__load_csv_rows"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.513819, "supported_languages": null}, "macro.dbt.default__load_csv_rows": {"name": "default__load_csv_rows", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "unique_id": "macro.dbt.default__load_csv_rows", "macro_sql": "{% macro default__load_csv_rows(model, agate_table) %}\n\n {% set batch_size = get_batch_size() %}\n\n {% set cols_sql = get_seed_column_quoted_csv(model, agate_table.column_names) %}\n {% set bindings = [] %}\n\n {% set statements = [] %}\n\n {% for chunk in agate_table.rows | batch(batch_size) %}\n {% set bindings = [] %}\n\n {% for row in chunk %}\n {% do bindings.extend(row) %}\n {% endfor %}\n\n {% set sql %}\n insert into {{ this.render() }} ({{ cols_sql }}) values\n {% for row in chunk -%}\n ({%- for column in agate_table.column_names -%}\n {{ get_binding_char() }}\n {%- if not loop.last%},{%- endif %}\n {%- endfor -%})\n {%- if not loop.last%},{%- endif %}\n {%- endfor %}\n {% endset %}\n\n {% do adapter.add_query(sql, bindings=bindings, abridge_sql_log=True) %}\n\n {% if loop.index0 == 0 %}\n {% do statements.append(sql) %}\n {% endif %}\n {% endfor %}\n\n {# Return SQL so we can render it out into the compiled files #}\n {{ return(statements[0]) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.get_batch_size", "macro.dbt.get_seed_column_quoted_csv", "macro.dbt.get_binding_char"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.51699, "supported_languages": null}, "macro.dbt.generate_alias_name": {"name": "generate_alias_name", "resource_type": "macro", "package_name": "dbt", "path": "macros/get_custom_name/get_custom_alias.sql", "original_file_path": "macros/get_custom_name/get_custom_alias.sql", "unique_id": "macro.dbt.generate_alias_name", "macro_sql": "{% macro generate_alias_name(custom_alias_name=none, node=none) -%}\n {% do return(adapter.dispatch('generate_alias_name', 'dbt')(custom_alias_name, node)) %}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__generate_alias_name"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.5179148, "supported_languages": null}, "macro.dbt.default__generate_alias_name": {"name": "default__generate_alias_name", "resource_type": "macro", "package_name": "dbt", "path": "macros/get_custom_name/get_custom_alias.sql", "original_file_path": "macros/get_custom_name/get_custom_alias.sql", "unique_id": "macro.dbt.default__generate_alias_name", "macro_sql": "{% macro default__generate_alias_name(custom_alias_name=none, node=none) -%}\n\n {%- if custom_alias_name is none -%}\n\n {{ node.name }}\n\n {%- else -%}\n\n {{ custom_alias_name | trim }}\n\n {%- endif -%}\n\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.5185332, "supported_languages": null}, "macro.dbt.generate_schema_name": {"name": "generate_schema_name", "resource_type": "macro", "package_name": "dbt", "path": "macros/get_custom_name/get_custom_schema.sql", "original_file_path": "macros/get_custom_name/get_custom_schema.sql", "unique_id": "macro.dbt.generate_schema_name", "macro_sql": "{% macro generate_schema_name(custom_schema_name=none, node=none) -%}\n {{ return(adapter.dispatch('generate_schema_name', 'dbt')(custom_schema_name, node)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__generate_schema_name"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.5197, "supported_languages": null}, "macro.dbt.default__generate_schema_name": {"name": "default__generate_schema_name", "resource_type": "macro", "package_name": "dbt", "path": "macros/get_custom_name/get_custom_schema.sql", "original_file_path": "macros/get_custom_name/get_custom_schema.sql", "unique_id": "macro.dbt.default__generate_schema_name", "macro_sql": "{% macro default__generate_schema_name(custom_schema_name, node) -%}\n\n {%- set default_schema = target.schema -%}\n {%- if custom_schema_name is none -%}\n\n {{ default_schema }}\n\n {%- else -%}\n\n {{ default_schema }}_{{ custom_schema_name | trim }}\n\n {%- endif -%}\n\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.520396, "supported_languages": null}, "macro.dbt.generate_schema_name_for_env": {"name": "generate_schema_name_for_env", "resource_type": "macro", "package_name": "dbt", "path": "macros/get_custom_name/get_custom_schema.sql", "original_file_path": "macros/get_custom_name/get_custom_schema.sql", "unique_id": "macro.dbt.generate_schema_name_for_env", "macro_sql": "{% macro generate_schema_name_for_env(custom_schema_name, node) -%}\n\n {%- set default_schema = target.schema -%}\n {%- if target.name == 'prod' and custom_schema_name is not none -%}\n\n {{ custom_schema_name | trim }}\n\n {%- else -%}\n\n {{ default_schema }}\n\n {%- endif -%}\n\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.521153, "supported_languages": null}, "macro.dbt.generate_database_name": {"name": "generate_database_name", "resource_type": "macro", "package_name": "dbt", "path": "macros/get_custom_name/get_custom_database.sql", "original_file_path": "macros/get_custom_name/get_custom_database.sql", "unique_id": "macro.dbt.generate_database_name", "macro_sql": "{% macro generate_database_name(custom_database_name=none, node=none) -%}\n {% do return(adapter.dispatch('generate_database_name', 'dbt')(custom_database_name, node)) %}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__generate_database_name"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.5220742, "supported_languages": null}, "macro.dbt.default__generate_database_name": {"name": "default__generate_database_name", "resource_type": "macro", "package_name": "dbt", "path": "macros/get_custom_name/get_custom_database.sql", "original_file_path": "macros/get_custom_name/get_custom_database.sql", "unique_id": "macro.dbt.default__generate_database_name", "macro_sql": "{% macro default__generate_database_name(custom_database_name=none, node=none) -%}\n {%- set default_database = target.database -%}\n {%- if custom_database_name is none -%}\n\n {{ default_database }}\n\n {%- else -%}\n\n {{ custom_database_name }}\n\n {%- endif -%}\n\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.5227468, "supported_languages": null}, "macro.dbt.default__test_relationships": {"name": "default__test_relationships", "resource_type": "macro", "package_name": "dbt", "path": "macros/generic_test_sql/relationships.sql", "original_file_path": "macros/generic_test_sql/relationships.sql", "unique_id": "macro.dbt.default__test_relationships", "macro_sql": "{% macro default__test_relationships(model, column_name, to, field) %}\n\nwith child as (\n select {{ column_name }} as from_field\n from {{ model }}\n where {{ column_name }} is not null\n),\n\nparent as (\n select {{ field }} as to_field\n from {{ to }}\n)\n\nselect\n from_field\n\nfrom child\nleft join parent\n on child.from_field = parent.to_field\n\nwhere parent.to_field is null\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.52356, "supported_languages": null}, "macro.dbt.default__test_not_null": {"name": "default__test_not_null", "resource_type": "macro", "package_name": "dbt", "path": "macros/generic_test_sql/not_null.sql", "original_file_path": "macros/generic_test_sql/not_null.sql", "unique_id": "macro.dbt.default__test_not_null", "macro_sql": "{% macro default__test_not_null(model, column_name) %}\n\n{% set column_list = '*' if should_store_failures() else column_name %}\n\nselect {{ column_list }}\nfrom {{ model }}\nwhere {{ column_name }} is null\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.should_store_failures"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.524321, "supported_languages": null}, "macro.dbt.default__test_unique": {"name": "default__test_unique", "resource_type": "macro", "package_name": "dbt", "path": "macros/generic_test_sql/unique.sql", "original_file_path": "macros/generic_test_sql/unique.sql", "unique_id": "macro.dbt.default__test_unique", "macro_sql": "{% macro default__test_unique(model, column_name) %}\n\nselect\n {{ column_name }} as unique_field,\n count(*) as n_records\n\nfrom {{ model }}\nwhere {{ column_name }} is not null\ngroup by {{ column_name }}\nhaving count(*) > 1\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.52494, "supported_languages": null}, "macro.dbt.default__test_accepted_values": {"name": "default__test_accepted_values", "resource_type": "macro", "package_name": "dbt", "path": "macros/generic_test_sql/accepted_values.sql", "original_file_path": "macros/generic_test_sql/accepted_values.sql", "unique_id": "macro.dbt.default__test_accepted_values", "macro_sql": "{% macro default__test_accepted_values(model, column_name, values, quote=True) %}\n\nwith all_values as (\n\n select\n {{ column_name }} as value_field,\n count(*) as n_records\n\n from {{ model }}\n group by {{ column_name }}\n\n)\n\nselect *\nfrom all_values\nwhere value_field not in (\n {% for value in values -%}\n {% if quote -%}\n '{{ value }}'\n {%- else -%}\n {{ value }}\n {%- endif -%}\n {%- if not loop.last -%},{%- endif %}\n {%- endfor %}\n)\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.526465, "supported_languages": null}, "macro.dbt.statement": {"name": "statement", "resource_type": "macro", "package_name": "dbt", "path": "macros/etc/statement.sql", "original_file_path": "macros/etc/statement.sql", "unique_id": "macro.dbt.statement", "macro_sql": "\n{%- macro statement(name=None, fetch_result=False, auto_begin=True, language='sql') -%}\n {%- if execute: -%}\n {%- set compiled_code = caller() -%}\n\n {%- if name == 'main' -%}\n {{ log('Writing runtime {} for node \"{}\"'.format(language, model['unique_id'])) }}\n {{ write(compiled_code) }}\n {%- endif -%}\n {%- if language == 'sql'-%}\n {%- set res, table = adapter.execute(compiled_code, auto_begin=auto_begin, fetch=fetch_result) -%}\n {%- elif language == 'python' -%}\n {%- set res = submit_python_job(model, compiled_code) -%}\n {#-- TODO: What should table be for python models? --#}\n {%- set table = None -%}\n {%- else -%}\n {% do exceptions.raise_compiler_error(\"statement macro didn't get supported language\") %}\n {%- endif -%}\n\n {%- if name is not none -%}\n {{ store_result(name, response=res, agate_table=table) }}\n {%- endif -%}\n\n {%- endif -%}\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.530109, "supported_languages": null}, "macro.dbt.noop_statement": {"name": "noop_statement", "resource_type": "macro", "package_name": "dbt", "path": "macros/etc/statement.sql", "original_file_path": "macros/etc/statement.sql", "unique_id": "macro.dbt.noop_statement", "macro_sql": "{% macro noop_statement(name=None, message=None, code=None, rows_affected=None, res=None) -%}\n {%- set sql = caller() -%}\n\n {%- if name == 'main' -%}\n {{ log('Writing runtime SQL for node \"{}\"'.format(model['unique_id'])) }}\n {{ write(sql) }}\n {%- endif -%}\n\n {%- if name is not none -%}\n {{ store_raw_result(name, message=message, code=code, rows_affected=rows_affected, agate_table=res) }}\n {%- endif -%}\n\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.5318139, "supported_languages": null}, "macro.dbt.run_query": {"name": "run_query", "resource_type": "macro", "package_name": "dbt", "path": "macros/etc/statement.sql", "original_file_path": "macros/etc/statement.sql", "unique_id": "macro.dbt.run_query", "macro_sql": "{% macro run_query(sql) %}\n {% call statement(\"run_query_statement\", fetch_result=true, auto_begin=false) %}\n {{ sql }}\n {% endcall %}\n\n {% do return(load_result(\"run_query_statement\").table) %}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.533309, "supported_languages": null}, "macro.dbt.convert_datetime": {"name": "convert_datetime", "resource_type": "macro", "package_name": "dbt", "path": "macros/etc/datetime.sql", "original_file_path": "macros/etc/datetime.sql", "unique_id": "macro.dbt.convert_datetime", "macro_sql": "{% macro convert_datetime(date_str, date_fmt) %}\n\n {% set error_msg -%}\n The provided partition date '{{ date_str }}' does not match the expected format '{{ date_fmt }}'\n {%- endset %}\n\n {% set res = try_or_compiler_error(error_msg, modules.datetime.datetime.strptime, date_str.strip(), date_fmt) %}\n {{ return(res) }}\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.537002, "supported_languages": null}, "macro.dbt.dates_in_range": {"name": "dates_in_range", "resource_type": "macro", "package_name": "dbt", "path": "macros/etc/datetime.sql", "original_file_path": "macros/etc/datetime.sql", "unique_id": "macro.dbt.dates_in_range", "macro_sql": "{% macro dates_in_range(start_date_str, end_date_str=none, in_fmt=\"%Y%m%d\", out_fmt=\"%Y%m%d\") %}\n {% set end_date_str = start_date_str if end_date_str is none else end_date_str %}\n\n {% set start_date = convert_datetime(start_date_str, in_fmt) %}\n {% set end_date = convert_datetime(end_date_str, in_fmt) %}\n\n {% set day_count = (end_date - start_date).days %}\n {% if day_count < 0 %}\n {% set msg -%}\n Partiton start date is after the end date ({{ start_date }}, {{ end_date }})\n {%- endset %}\n\n {{ exceptions.raise_compiler_error(msg, model) }}\n {% endif %}\n\n {% set date_list = [] %}\n {% for i in range(0, day_count + 1) %}\n {% set the_date = (modules.datetime.timedelta(days=i) + start_date) %}\n {% if not out_fmt %}\n {% set _ = date_list.append(the_date) %}\n {% else %}\n {% set _ = date_list.append(the_date.strftime(out_fmt)) %}\n {% endif %}\n {% endfor %}\n\n {{ return(date_list) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.convert_datetime"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.540236, "supported_languages": null}, "macro.dbt.partition_range": {"name": "partition_range", "resource_type": "macro", "package_name": "dbt", "path": "macros/etc/datetime.sql", "original_file_path": "macros/etc/datetime.sql", "unique_id": "macro.dbt.partition_range", "macro_sql": "{% macro partition_range(raw_partition_date, date_fmt='%Y%m%d') %}\n {% set partition_range = (raw_partition_date | string).split(\",\") %}\n\n {% if (partition_range | length) == 1 %}\n {% set start_date = partition_range[0] %}\n {% set end_date = none %}\n {% elif (partition_range | length) == 2 %}\n {% set start_date = partition_range[0] %}\n {% set end_date = partition_range[1] %}\n {% else %}\n {{ exceptions.raise_compiler_error(\"Invalid partition time. Expected format: {Start Date}[,{End Date}]. Got: \" ~ raw_partition_date) }}\n {% endif %}\n\n {{ return(dates_in_range(start_date, end_date, in_fmt=date_fmt)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.dates_in_range"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.542175, "supported_languages": null}, "macro.dbt.py_current_timestring": {"name": "py_current_timestring", "resource_type": "macro", "package_name": "dbt", "path": "macros/etc/datetime.sql", "original_file_path": "macros/etc/datetime.sql", "unique_id": "macro.dbt.py_current_timestring", "macro_sql": "{% macro py_current_timestring() %}\n {% set dt = modules.datetime.datetime.now() %}\n {% do return(dt.strftime(\"%Y%m%d%H%M%S%f\")) %}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.5427918, "supported_languages": null}, "macro.dbt.except": {"name": "except", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/except.sql", "original_file_path": "macros/utils/except.sql", "unique_id": "macro.dbt.except", "macro_sql": "{% macro except() %}\n {{ return(adapter.dispatch('except', 'dbt')()) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__except"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.5433972, "supported_languages": null}, "macro.dbt.default__except": {"name": "default__except", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/except.sql", "original_file_path": "macros/utils/except.sql", "unique_id": "macro.dbt.default__except", "macro_sql": "{% macro default__except() %}\n\n except\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.5436091, "supported_languages": null}, "macro.dbt.replace": {"name": "replace", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/replace.sql", "original_file_path": "macros/utils/replace.sql", "unique_id": "macro.dbt.replace", "macro_sql": "{% macro replace(field, old_chars, new_chars) -%}\n {{ return(adapter.dispatch('replace', 'dbt') (field, old_chars, new_chars)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__replace"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.5444102, "supported_languages": null}, "macro.dbt.default__replace": {"name": "default__replace", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/replace.sql", "original_file_path": "macros/utils/replace.sql", "unique_id": "macro.dbt.default__replace", "macro_sql": "{% macro default__replace(field, old_chars, new_chars) %}\n\n replace(\n {{ field }},\n {{ old_chars }},\n {{ new_chars }}\n )\n\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.544849, "supported_languages": null}, "macro.dbt.concat": {"name": "concat", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/concat.sql", "original_file_path": "macros/utils/concat.sql", "unique_id": "macro.dbt.concat", "macro_sql": "{% macro concat(fields) -%}\n {{ return(adapter.dispatch('concat', 'dbt')(fields)) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__concat"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.545469, "supported_languages": null}, "macro.dbt.default__concat": {"name": "default__concat", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/concat.sql", "original_file_path": "macros/utils/concat.sql", "unique_id": "macro.dbt.default__concat", "macro_sql": "{% macro default__concat(fields) -%}\n {{ fields|join(' || ') }}\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.5458019, "supported_languages": null}, "macro.dbt.length": {"name": "length", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/length.sql", "original_file_path": "macros/utils/length.sql", "unique_id": "macro.dbt.length", "macro_sql": "{% macro length(expression) -%}\n {{ return(adapter.dispatch('length', 'dbt') (expression)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__length"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.5464342, "supported_languages": null}, "macro.dbt.default__length": {"name": "default__length", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/length.sql", "original_file_path": "macros/utils/length.sql", "unique_id": "macro.dbt.default__length", "macro_sql": "{% macro default__length(expression) %}\n\n length(\n {{ expression }}\n )\n\n{%- endmacro -%}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.546722, "supported_languages": null}, "macro.dbt.dateadd": {"name": "dateadd", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/dateadd.sql", "original_file_path": "macros/utils/dateadd.sql", "unique_id": "macro.dbt.dateadd", "macro_sql": "{% macro dateadd(datepart, interval, from_date_or_timestamp) %}\n {{ return(adapter.dispatch('dateadd', 'dbt')(datepart, interval, from_date_or_timestamp)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__dateadd"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.547539, "supported_languages": null}, "macro.dbt.default__dateadd": {"name": "default__dateadd", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/dateadd.sql", "original_file_path": "macros/utils/dateadd.sql", "unique_id": "macro.dbt.default__dateadd", "macro_sql": "{% macro default__dateadd(datepart, interval, from_date_or_timestamp) %}\n\n dateadd(\n {{ datepart }},\n {{ interval }},\n {{ from_date_or_timestamp }}\n )\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.547977, "supported_languages": null}, "macro.dbt.intersect": {"name": "intersect", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/intersect.sql", "original_file_path": "macros/utils/intersect.sql", "unique_id": "macro.dbt.intersect", "macro_sql": "{% macro intersect() %}\n {{ return(adapter.dispatch('intersect', 'dbt')()) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__intersect"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.548579, "supported_languages": null}, "macro.dbt.default__intersect": {"name": "default__intersect", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/intersect.sql", "original_file_path": "macros/utils/intersect.sql", "unique_id": "macro.dbt.default__intersect", "macro_sql": "{% macro default__intersect() %}\n\n intersect\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.548796, "supported_languages": null}, "macro.dbt.escape_single_quotes": {"name": "escape_single_quotes", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/escape_single_quotes.sql", "original_file_path": "macros/utils/escape_single_quotes.sql", "unique_id": "macro.dbt.escape_single_quotes", "macro_sql": "{% macro escape_single_quotes(expression) %}\n {{ return(adapter.dispatch('escape_single_quotes', 'dbt') (expression)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__escape_single_quotes"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.549484, "supported_languages": null}, "macro.dbt.default__escape_single_quotes": {"name": "default__escape_single_quotes", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/escape_single_quotes.sql", "original_file_path": "macros/utils/escape_single_quotes.sql", "unique_id": "macro.dbt.default__escape_single_quotes", "macro_sql": "{% macro default__escape_single_quotes(expression) -%}\n{{ expression | replace(\"'\",\"''\") }}\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.54987, "supported_languages": null}, "macro.dbt.right": {"name": "right", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/right.sql", "original_file_path": "macros/utils/right.sql", "unique_id": "macro.dbt.right", "macro_sql": "{% macro right(string_text, length_expression) -%}\n {{ return(adapter.dispatch('right', 'dbt') (string_text, length_expression)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__right"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.550602, "supported_languages": null}, "macro.dbt.default__right": {"name": "default__right", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/right.sql", "original_file_path": "macros/utils/right.sql", "unique_id": "macro.dbt.default__right", "macro_sql": "{% macro default__right(string_text, length_expression) %}\n\n right(\n {{ string_text }},\n {{ length_expression }}\n )\n\n{%- endmacro -%}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.550981, "supported_languages": null}, "macro.dbt.listagg": {"name": "listagg", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/listagg.sql", "original_file_path": "macros/utils/listagg.sql", "unique_id": "macro.dbt.listagg", "macro_sql": "{% macro listagg(measure, delimiter_text=\"','\", order_by_clause=none, limit_num=none) -%}\n {{ return(adapter.dispatch('listagg', 'dbt') (measure, delimiter_text, order_by_clause, limit_num)) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__listagg"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.5525079, "supported_languages": null}, "macro.dbt.default__listagg": {"name": "default__listagg", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/listagg.sql", "original_file_path": "macros/utils/listagg.sql", "unique_id": "macro.dbt.default__listagg", "macro_sql": "{% macro default__listagg(measure, delimiter_text, order_by_clause, limit_num) -%}\n\n {% if limit_num -%}\n array_to_string(\n array_slice(\n array_agg(\n {{ measure }}\n ){% if order_by_clause -%}\n within group ({{ order_by_clause }})\n {%- endif %}\n ,0\n ,{{ limit_num }}\n ),\n {{ delimiter_text }}\n )\n {%- else %}\n listagg(\n {{ measure }},\n {{ delimiter_text }}\n )\n {% if order_by_clause -%}\n within group ({{ order_by_clause }})\n {%- endif %}\n {%- endif %}\n\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.5535731, "supported_languages": null}, "macro.dbt.datediff": {"name": "datediff", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/datediff.sql", "original_file_path": "macros/utils/datediff.sql", "unique_id": "macro.dbt.datediff", "macro_sql": "{% macro datediff(first_date, second_date, datepart) %}\n {{ return(adapter.dispatch('datediff', 'dbt')(first_date, second_date, datepart)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__datediff"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.554386, "supported_languages": null}, "macro.dbt.default__datediff": {"name": "default__datediff", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/datediff.sql", "original_file_path": "macros/utils/datediff.sql", "unique_id": "macro.dbt.default__datediff", "macro_sql": "{% macro default__datediff(first_date, second_date, datepart) -%}\n\n datediff(\n {{ datepart }},\n {{ first_date }},\n {{ second_date }}\n )\n\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.554828, "supported_languages": null}, "macro.dbt.safe_cast": {"name": "safe_cast", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/safe_cast.sql", "original_file_path": "macros/utils/safe_cast.sql", "unique_id": "macro.dbt.safe_cast", "macro_sql": "{% macro safe_cast(field, type) %}\n {{ return(adapter.dispatch('safe_cast', 'dbt') (field, type)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__safe_cast"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.5556118, "supported_languages": null}, "macro.dbt.default__safe_cast": {"name": "default__safe_cast", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/safe_cast.sql", "original_file_path": "macros/utils/safe_cast.sql", "unique_id": "macro.dbt.default__safe_cast", "macro_sql": "{% macro default__safe_cast(field, type) %}\n {# most databases don't support this function yet\n so we just need to use cast #}\n cast({{field}} as {{type}})\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.556088, "supported_languages": null}, "macro.dbt.hash": {"name": "hash", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/hash.sql", "original_file_path": "macros/utils/hash.sql", "unique_id": "macro.dbt.hash", "macro_sql": "{% macro hash(field) -%}\n {{ return(adapter.dispatch('hash', 'dbt') (field)) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__hash"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.5567439, "supported_languages": null}, "macro.dbt.default__hash": {"name": "default__hash", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/hash.sql", "original_file_path": "macros/utils/hash.sql", "unique_id": "macro.dbt.default__hash", "macro_sql": "{% macro default__hash(field) -%}\n md5(cast({{ field }} as {{ api.Column.translate_type('string') }}))\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.557173, "supported_languages": null}, "macro.dbt.cast_bool_to_text": {"name": "cast_bool_to_text", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/cast_bool_to_text.sql", "original_file_path": "macros/utils/cast_bool_to_text.sql", "unique_id": "macro.dbt.cast_bool_to_text", "macro_sql": "{% macro cast_bool_to_text(field) %}\n {{ adapter.dispatch('cast_bool_to_text', 'dbt') (field) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__cast_bool_to_text"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.5577888, "supported_languages": null}, "macro.dbt.default__cast_bool_to_text": {"name": "default__cast_bool_to_text", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/cast_bool_to_text.sql", "original_file_path": "macros/utils/cast_bool_to_text.sql", "unique_id": "macro.dbt.default__cast_bool_to_text", "macro_sql": "{% macro default__cast_bool_to_text(field) %}\n cast({{ field }} as {{ api.Column.translate_type('string') }})\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.558217, "supported_languages": null}, "macro.dbt.any_value": {"name": "any_value", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/any_value.sql", "original_file_path": "macros/utils/any_value.sql", "unique_id": "macro.dbt.any_value", "macro_sql": "{% macro any_value(expression) -%}\n {{ return(adapter.dispatch('any_value', 'dbt') (expression)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__any_value"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.5588539, "supported_languages": null}, "macro.dbt.default__any_value": {"name": "default__any_value", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/any_value.sql", "original_file_path": "macros/utils/any_value.sql", "unique_id": "macro.dbt.default__any_value", "macro_sql": "{% macro default__any_value(expression) -%}\n\n any_value({{ expression }})\n\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.559139, "supported_languages": null}, "macro.dbt.position": {"name": "position", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/position.sql", "original_file_path": "macros/utils/position.sql", "unique_id": "macro.dbt.position", "macro_sql": "{% macro position(substring_text, string_text) -%}\n {{ return(adapter.dispatch('position', 'dbt') (substring_text, string_text)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__position"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.559854, "supported_languages": null}, "macro.dbt.default__position": {"name": "default__position", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/position.sql", "original_file_path": "macros/utils/position.sql", "unique_id": "macro.dbt.default__position", "macro_sql": "{% macro default__position(substring_text, string_text) %}\n\n position(\n {{ substring_text }} in {{ string_text }}\n )\n\n{%- endmacro -%}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.5602188, "supported_languages": null}, "macro.dbt.string_literal": {"name": "string_literal", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/literal.sql", "original_file_path": "macros/utils/literal.sql", "unique_id": "macro.dbt.string_literal", "macro_sql": "{%- macro string_literal(value) -%}\n {{ return(adapter.dispatch('string_literal', 'dbt') (value)) }}\n{%- endmacro -%}\n\n", "depends_on": {"macros": ["macro.dbt.default__string_literal"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.560839, "supported_languages": null}, "macro.dbt.default__string_literal": {"name": "default__string_literal", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/literal.sql", "original_file_path": "macros/utils/literal.sql", "unique_id": "macro.dbt.default__string_literal", "macro_sql": "{% macro default__string_literal(value) -%}\n '{{ value }}'\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.5611231, "supported_languages": null}, "macro.dbt.type_string": {"name": "type_string", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/data_types.sql", "original_file_path": "macros/utils/data_types.sql", "unique_id": "macro.dbt.type_string", "macro_sql": "\n\n{%- macro type_string() -%}\n {{ return(adapter.dispatch('type_string', 'dbt')()) }}\n{%- endmacro -%}\n\n", "depends_on": {"macros": ["macro.dbt.default__type_string"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.5632472, "supported_languages": null}, "macro.dbt.default__type_string": {"name": "default__type_string", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/data_types.sql", "original_file_path": "macros/utils/data_types.sql", "unique_id": "macro.dbt.default__type_string", "macro_sql": "{% macro default__type_string() %}\n {{ return(api.Column.translate_type(\"string\")) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.563732, "supported_languages": null}, "macro.dbt.type_timestamp": {"name": "type_timestamp", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/data_types.sql", "original_file_path": "macros/utils/data_types.sql", "unique_id": "macro.dbt.type_timestamp", "macro_sql": "\n\n{%- macro type_timestamp() -%}\n {{ return(adapter.dispatch('type_timestamp', 'dbt')()) }}\n{%- endmacro -%}\n\n", "depends_on": {"macros": ["macro.dbt.default__type_timestamp"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.564213, "supported_languages": null}, "macro.dbt.default__type_timestamp": {"name": "default__type_timestamp", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/data_types.sql", "original_file_path": "macros/utils/data_types.sql", "unique_id": "macro.dbt.default__type_timestamp", "macro_sql": "{% macro default__type_timestamp() %}\n {{ return(api.Column.translate_type(\"timestamp\")) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.56465, "supported_languages": null}, "macro.dbt.type_float": {"name": "type_float", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/data_types.sql", "original_file_path": "macros/utils/data_types.sql", "unique_id": "macro.dbt.type_float", "macro_sql": "\n\n{%- macro type_float() -%}\n {{ return(adapter.dispatch('type_float', 'dbt')()) }}\n{%- endmacro -%}\n\n", "depends_on": {"macros": ["macro.dbt.default__type_float"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.565242, "supported_languages": null}, "macro.dbt.default__type_float": {"name": "default__type_float", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/data_types.sql", "original_file_path": "macros/utils/data_types.sql", "unique_id": "macro.dbt.default__type_float", "macro_sql": "{% macro default__type_float() %}\n {{ return(api.Column.translate_type(\"float\")) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.5660532, "supported_languages": null}, "macro.dbt.type_numeric": {"name": "type_numeric", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/data_types.sql", "original_file_path": "macros/utils/data_types.sql", "unique_id": "macro.dbt.type_numeric", "macro_sql": "\n\n{%- macro type_numeric() -%}\n {{ return(adapter.dispatch('type_numeric', 'dbt')()) }}\n{%- endmacro -%}\n\n", "depends_on": {"macros": ["macro.dbt.default__type_numeric"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.567016, "supported_languages": null}, "macro.dbt.default__type_numeric": {"name": "default__type_numeric", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/data_types.sql", "original_file_path": "macros/utils/data_types.sql", "unique_id": "macro.dbt.default__type_numeric", "macro_sql": "{% macro default__type_numeric() %}\n {{ return(api.Column.numeric_type(\"numeric\", 28, 6)) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.567791, "supported_languages": null}, "macro.dbt.type_bigint": {"name": "type_bigint", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/data_types.sql", "original_file_path": "macros/utils/data_types.sql", "unique_id": "macro.dbt.type_bigint", "macro_sql": "\n\n{%- macro type_bigint() -%}\n {{ return(adapter.dispatch('type_bigint', 'dbt')()) }}\n{%- endmacro -%}\n\n", "depends_on": {"macros": ["macro.dbt.default__type_bigint"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.5682418, "supported_languages": null}, "macro.dbt.default__type_bigint": {"name": "default__type_bigint", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/data_types.sql", "original_file_path": "macros/utils/data_types.sql", "unique_id": "macro.dbt.default__type_bigint", "macro_sql": "{% macro default__type_bigint() %}\n {{ return(api.Column.translate_type(\"bigint\")) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.5686688, "supported_languages": null}, "macro.dbt.type_int": {"name": "type_int", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/data_types.sql", "original_file_path": "macros/utils/data_types.sql", "unique_id": "macro.dbt.type_int", "macro_sql": "\n\n{%- macro type_int() -%}\n {{ return(adapter.dispatch('type_int', 'dbt')()) }}\n{%- endmacro -%}\n\n", "depends_on": {"macros": ["macro.dbt.default__type_int"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.569098, "supported_languages": null}, "macro.dbt.default__type_int": {"name": "default__type_int", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/data_types.sql", "original_file_path": "macros/utils/data_types.sql", "unique_id": "macro.dbt.default__type_int", "macro_sql": "{%- macro default__type_int() -%}\n {{ return(api.Column.translate_type(\"integer\")) }}\n{%- endmacro -%}\n\n", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.56948, "supported_languages": null}, "macro.dbt.type_boolean": {"name": "type_boolean", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/data_types.sql", "original_file_path": "macros/utils/data_types.sql", "unique_id": "macro.dbt.type_boolean", "macro_sql": "\n\n{%- macro type_boolean() -%}\n {{ return(adapter.dispatch('type_boolean', 'dbt')()) }}\n{%- endmacro -%}\n\n", "depends_on": {"macros": ["macro.dbt.default__type_boolean"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.5699048, "supported_languages": null}, "macro.dbt.default__type_boolean": {"name": "default__type_boolean", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/data_types.sql", "original_file_path": "macros/utils/data_types.sql", "unique_id": "macro.dbt.default__type_boolean", "macro_sql": "{%- macro default__type_boolean() -%}\n {{ return(api.Column.translate_type(\"boolean\")) }}\n{%- endmacro -%}\n\n", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.570291, "supported_languages": null}, "macro.dbt.array_concat": {"name": "array_concat", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/array_concat.sql", "original_file_path": "macros/utils/array_concat.sql", "unique_id": "macro.dbt.array_concat", "macro_sql": "{% macro array_concat(array_1, array_2) -%}\n {{ return(adapter.dispatch('array_concat', 'dbt')(array_1, array_2)) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__array_concat"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.571003, "supported_languages": null}, "macro.dbt.default__array_concat": {"name": "default__array_concat", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/array_concat.sql", "original_file_path": "macros/utils/array_concat.sql", "unique_id": "macro.dbt.default__array_concat", "macro_sql": "{% macro default__array_concat(array_1, array_2) -%}\n array_cat({{ array_1 }}, {{ array_2 }})\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.571359, "supported_languages": null}, "macro.dbt.bool_or": {"name": "bool_or", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/bool_or.sql", "original_file_path": "macros/utils/bool_or.sql", "unique_id": "macro.dbt.bool_or", "macro_sql": "{% macro bool_or(expression) -%}\n {{ return(adapter.dispatch('bool_or', 'dbt') (expression)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__bool_or"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.571987, "supported_languages": null}, "macro.dbt.default__bool_or": {"name": "default__bool_or", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/bool_or.sql", "original_file_path": "macros/utils/bool_or.sql", "unique_id": "macro.dbt.default__bool_or", "macro_sql": "{% macro default__bool_or(expression) -%}\n\n bool_or({{ expression }})\n\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.572267, "supported_languages": null}, "macro.dbt.last_day": {"name": "last_day", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/last_day.sql", "original_file_path": "macros/utils/last_day.sql", "unique_id": "macro.dbt.last_day", "macro_sql": "{% macro last_day(date, datepart) %}\n {{ return(adapter.dispatch('last_day', 'dbt') (date, datepart)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__last_day"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.573081, "supported_languages": null}, "macro.dbt.default_last_day": {"name": "default_last_day", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/last_day.sql", "original_file_path": "macros/utils/last_day.sql", "unique_id": "macro.dbt.default_last_day", "macro_sql": "\n\n{%- macro default_last_day(date, datepart) -%}\n cast(\n {{dbt.dateadd('day', '-1',\n dbt.dateadd(datepart, '1', dbt.date_trunc(datepart, date))\n )}}\n as date)\n{%- endmacro -%}\n\n", "depends_on": {"macros": ["macro.dbt.dateadd", "macro.dbt.date_trunc"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.57377, "supported_languages": null}, "macro.dbt.default__last_day": {"name": "default__last_day", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/last_day.sql", "original_file_path": "macros/utils/last_day.sql", "unique_id": "macro.dbt.default__last_day", "macro_sql": "{% macro default__last_day(date, datepart) -%}\n {{dbt.default_last_day(date, datepart)}}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default_last_day"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.574164, "supported_languages": null}, "macro.dbt.split_part": {"name": "split_part", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/split_part.sql", "original_file_path": "macros/utils/split_part.sql", "unique_id": "macro.dbt.split_part", "macro_sql": "{% macro split_part(string_text, delimiter_text, part_number) %}\n {{ return(adapter.dispatch('split_part', 'dbt') (string_text, delimiter_text, part_number)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__split_part"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.575295, "supported_languages": null}, "macro.dbt.default__split_part": {"name": "default__split_part", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/split_part.sql", "original_file_path": "macros/utils/split_part.sql", "unique_id": "macro.dbt.default__split_part", "macro_sql": "{% macro default__split_part(string_text, delimiter_text, part_number) %}\n\n split_part(\n {{ string_text }},\n {{ delimiter_text }},\n {{ part_number }}\n )\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.5757382, "supported_languages": null}, "macro.dbt._split_part_negative": {"name": "_split_part_negative", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/split_part.sql", "original_file_path": "macros/utils/split_part.sql", "unique_id": "macro.dbt._split_part_negative", "macro_sql": "{% macro _split_part_negative(string_text, delimiter_text, part_number) %}\n\n split_part(\n {{ string_text }},\n {{ delimiter_text }},\n length({{ string_text }})\n - length(\n replace({{ string_text }}, {{ delimiter_text }}, '')\n ) + 2 {{ part_number }}\n )\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.576331, "supported_languages": null}, "macro.dbt.date_trunc": {"name": "date_trunc", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/date_trunc.sql", "original_file_path": "macros/utils/date_trunc.sql", "unique_id": "macro.dbt.date_trunc", "macro_sql": "{% macro date_trunc(datepart, date) -%}\n {{ return(adapter.dispatch('date_trunc', 'dbt') (datepart, date)) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__date_trunc"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.5770292, "supported_languages": null}, "macro.dbt.default__date_trunc": {"name": "default__date_trunc", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/date_trunc.sql", "original_file_path": "macros/utils/date_trunc.sql", "unique_id": "macro.dbt.default__date_trunc", "macro_sql": "{% macro default__date_trunc(datepart, date) -%}\n date_trunc('{{datepart}}', {{date}})\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.5773811, "supported_languages": null}, "macro.dbt.array_construct": {"name": "array_construct", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/array_construct.sql", "original_file_path": "macros/utils/array_construct.sql", "unique_id": "macro.dbt.array_construct", "macro_sql": "{% macro array_construct(inputs=[], data_type=api.Column.translate_type('integer')) -%}\n {{ return(adapter.dispatch('array_construct', 'dbt')(inputs, data_type)) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__array_construct"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.5783, "supported_languages": null}, "macro.dbt.default__array_construct": {"name": "default__array_construct", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/array_construct.sql", "original_file_path": "macros/utils/array_construct.sql", "unique_id": "macro.dbt.default__array_construct", "macro_sql": "{% macro default__array_construct(inputs, data_type) -%}\n {% if inputs|length > 0 %}\n array[ {{ inputs|join(' , ') }} ]\n {% else %}\n array[]::{{data_type}}[]\n {% endif %}\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.5789492, "supported_languages": null}, "macro.dbt.array_append": {"name": "array_append", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/array_append.sql", "original_file_path": "macros/utils/array_append.sql", "unique_id": "macro.dbt.array_append", "macro_sql": "{% macro array_append(array, new_element) -%}\n {{ return(adapter.dispatch('array_append', 'dbt')(array, new_element)) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__array_append"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.579652, "supported_languages": null}, "macro.dbt.default__array_append": {"name": "default__array_append", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/array_append.sql", "original_file_path": "macros/utils/array_append.sql", "unique_id": "macro.dbt.default__array_append", "macro_sql": "{% macro default__array_append(array, new_element) -%}\n array_append({{ array }}, {{ new_element }})\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.580033, "supported_languages": null}, "macro.dbt.create_schema": {"name": "create_schema", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/schema.sql", "original_file_path": "macros/adapters/schema.sql", "unique_id": "macro.dbt.create_schema", "macro_sql": "{% macro create_schema(relation) -%}\n {{ adapter.dispatch('create_schema', 'dbt')(relation) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__create_schema"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.5809019, "supported_languages": null}, "macro.dbt.default__create_schema": {"name": "default__create_schema", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/schema.sql", "original_file_path": "macros/adapters/schema.sql", "unique_id": "macro.dbt.default__create_schema", "macro_sql": "{% macro default__create_schema(relation) -%}\n {%- call statement('create_schema') -%}\n create schema if not exists {{ relation.without_identifier() }}\n {% endcall %}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.581412, "supported_languages": null}, "macro.dbt.drop_schema": {"name": "drop_schema", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/schema.sql", "original_file_path": "macros/adapters/schema.sql", "unique_id": "macro.dbt.drop_schema", "macro_sql": "{% macro drop_schema(relation) -%}\n {{ adapter.dispatch('drop_schema', 'dbt')(relation) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__drop_schema"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.582039, "supported_languages": null}, "macro.dbt.default__drop_schema": {"name": "default__drop_schema", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/schema.sql", "original_file_path": "macros/adapters/schema.sql", "unique_id": "macro.dbt.default__drop_schema", "macro_sql": "{% macro default__drop_schema(relation) -%}\n {%- call statement('drop_schema') -%}\n drop schema if exists {{ relation.without_identifier() }} cascade\n {% endcall %}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.582531, "supported_languages": null}, "macro.dbt.current_timestamp": {"name": "current_timestamp", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/timestamps.sql", "original_file_path": "macros/adapters/timestamps.sql", "unique_id": "macro.dbt.current_timestamp", "macro_sql": "{%- macro current_timestamp() -%}\n {{ adapter.dispatch('current_timestamp', 'dbt')() }}\n{%- endmacro -%}\n\n", "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__current_timestamp"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.583592, "supported_languages": null}, "macro.dbt.default__current_timestamp": {"name": "default__current_timestamp", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/timestamps.sql", "original_file_path": "macros/adapters/timestamps.sql", "unique_id": "macro.dbt.default__current_timestamp", "macro_sql": "{% macro default__current_timestamp() -%}\n {{ exceptions.raise_not_implemented(\n 'current_timestamp macro not implemented for adapter ' + adapter.type()) }}\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.5839942, "supported_languages": null}, "macro.dbt.snapshot_get_time": {"name": "snapshot_get_time", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/timestamps.sql", "original_file_path": "macros/adapters/timestamps.sql", "unique_id": "macro.dbt.snapshot_get_time", "macro_sql": "\n\n{%- macro snapshot_get_time() -%}\n {{ adapter.dispatch('snapshot_get_time', 'dbt')() }}\n{%- endmacro -%}\n\n", "depends_on": {"macros": ["macro.dbt.default__snapshot_get_time"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.584378, "supported_languages": null}, "macro.dbt.default__snapshot_get_time": {"name": "default__snapshot_get_time", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/timestamps.sql", "original_file_path": "macros/adapters/timestamps.sql", "unique_id": "macro.dbt.default__snapshot_get_time", "macro_sql": "{% macro default__snapshot_get_time() %}\n {{ current_timestamp() }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.current_timestamp"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.584668, "supported_languages": null}, "macro.dbt.current_timestamp_backcompat": {"name": "current_timestamp_backcompat", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/timestamps.sql", "original_file_path": "macros/adapters/timestamps.sql", "unique_id": "macro.dbt.current_timestamp_backcompat", "macro_sql": "{% macro current_timestamp_backcompat() %}\n {{ return(adapter.dispatch('current_timestamp_backcompat', 'dbt')()) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__current_timestamp_backcompat"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.585114, "supported_languages": null}, "macro.dbt.default__current_timestamp_backcompat": {"name": "default__current_timestamp_backcompat", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/timestamps.sql", "original_file_path": "macros/adapters/timestamps.sql", "unique_id": "macro.dbt.default__current_timestamp_backcompat", "macro_sql": "{% macro default__current_timestamp_backcompat() %}\n current_timestamp::timestamp\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.5853472, "supported_languages": null}, "macro.dbt.current_timestamp_in_utc_backcompat": {"name": "current_timestamp_in_utc_backcompat", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/timestamps.sql", "original_file_path": "macros/adapters/timestamps.sql", "unique_id": "macro.dbt.current_timestamp_in_utc_backcompat", "macro_sql": "{% macro current_timestamp_in_utc_backcompat() %}\n {{ return(adapter.dispatch('current_timestamp_in_utc_backcompat', 'dbt')()) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__current_timestamp_in_utc_backcompat"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.585794, "supported_languages": null}, "macro.dbt.default__current_timestamp_in_utc_backcompat": {"name": "default__current_timestamp_in_utc_backcompat", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/timestamps.sql", "original_file_path": "macros/adapters/timestamps.sql", "unique_id": "macro.dbt.default__current_timestamp_in_utc_backcompat", "macro_sql": "{% macro default__current_timestamp_in_utc_backcompat() %}\n {{ return(adapter.dispatch('current_timestamp_backcompat', 'dbt')()) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.current_timestamp_backcompat", "macro.dbt_bigquery.bigquery__current_timestamp_backcompat"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.58624, "supported_languages": null}, "macro.dbt.get_create_index_sql": {"name": "get_create_index_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/indexes.sql", "original_file_path": "macros/adapters/indexes.sql", "unique_id": "macro.dbt.get_create_index_sql", "macro_sql": "{% macro get_create_index_sql(relation, index_dict) -%}\n {{ return(adapter.dispatch('get_create_index_sql', 'dbt')(relation, index_dict)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_create_index_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.5872881, "supported_languages": null}, "macro.dbt.default__get_create_index_sql": {"name": "default__get_create_index_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/indexes.sql", "original_file_path": "macros/adapters/indexes.sql", "unique_id": "macro.dbt.default__get_create_index_sql", "macro_sql": "{% macro default__get_create_index_sql(relation, index_dict) -%}\n {% do return(None) %}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.587656, "supported_languages": null}, "macro.dbt.create_indexes": {"name": "create_indexes", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/indexes.sql", "original_file_path": "macros/adapters/indexes.sql", "unique_id": "macro.dbt.create_indexes", "macro_sql": "{% macro create_indexes(relation) -%}\n {{ adapter.dispatch('create_indexes', 'dbt')(relation) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__create_indexes"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.588078, "supported_languages": null}, "macro.dbt.default__create_indexes": {"name": "default__create_indexes", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/indexes.sql", "original_file_path": "macros/adapters/indexes.sql", "unique_id": "macro.dbt.default__create_indexes", "macro_sql": "{% macro default__create_indexes(relation) -%}\n {%- set _indexes = config.get('indexes', default=[]) -%}\n\n {% for _index_dict in _indexes %}\n {% set create_index_sql = get_create_index_sql(relation, _index_dict) %}\n {% if create_index_sql %}\n {% do run_query(create_index_sql) %}\n {% endif %}\n {% endfor %}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.get_create_index_sql", "macro.dbt.run_query"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.589144, "supported_languages": null}, "macro.dbt.make_intermediate_relation": {"name": "make_intermediate_relation", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "unique_id": "macro.dbt.make_intermediate_relation", "macro_sql": "{% macro make_intermediate_relation(base_relation, suffix='__dbt_tmp') %}\n {{ return(adapter.dispatch('make_intermediate_relation', 'dbt')(base_relation, suffix)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__make_intermediate_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.595225, "supported_languages": null}, "macro.dbt.default__make_intermediate_relation": {"name": "default__make_intermediate_relation", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "unique_id": "macro.dbt.default__make_intermediate_relation", "macro_sql": "{% macro default__make_intermediate_relation(base_relation, suffix) %}\n {{ return(default__make_temp_relation(base_relation, suffix)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__make_temp_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.595714, "supported_languages": null}, "macro.dbt.make_temp_relation": {"name": "make_temp_relation", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "unique_id": "macro.dbt.make_temp_relation", "macro_sql": "{% macro make_temp_relation(base_relation, suffix='__dbt_tmp') %}\n {{ return(adapter.dispatch('make_temp_relation', 'dbt')(base_relation, suffix)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__make_temp_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.596329, "supported_languages": null}, "macro.dbt.default__make_temp_relation": {"name": "default__make_temp_relation", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "unique_id": "macro.dbt.default__make_temp_relation", "macro_sql": "{% macro default__make_temp_relation(base_relation, suffix) %}\n {%- set temp_identifier = base_relation.identifier ~ suffix -%}\n {%- set temp_relation = base_relation.incorporate(\n path={\"identifier\": temp_identifier}) -%}\n\n {{ return(temp_relation) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.597245, "supported_languages": null}, "macro.dbt.make_backup_relation": {"name": "make_backup_relation", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "unique_id": "macro.dbt.make_backup_relation", "macro_sql": "{% macro make_backup_relation(base_relation, backup_relation_type, suffix='__dbt_backup') %}\n {{ return(adapter.dispatch('make_backup_relation', 'dbt')(base_relation, backup_relation_type, suffix)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__make_backup_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.5981162, "supported_languages": null}, "macro.dbt.default__make_backup_relation": {"name": "default__make_backup_relation", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "unique_id": "macro.dbt.default__make_backup_relation", "macro_sql": "{% macro default__make_backup_relation(base_relation, backup_relation_type, suffix) %}\n {%- set backup_identifier = base_relation.identifier ~ suffix -%}\n {%- set backup_relation = base_relation.incorporate(\n path={\"identifier\": backup_identifier},\n type=backup_relation_type\n ) -%}\n {{ return(backup_relation) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.5998468, "supported_languages": null}, "macro.dbt.drop_relation": {"name": "drop_relation", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "unique_id": "macro.dbt.drop_relation", "macro_sql": "{% macro drop_relation(relation) -%}\n {{ return(adapter.dispatch('drop_relation', 'dbt')(relation)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__drop_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.6011572, "supported_languages": null}, "macro.dbt.default__drop_relation": {"name": "default__drop_relation", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "unique_id": "macro.dbt.default__drop_relation", "macro_sql": "{% macro default__drop_relation(relation) -%}\n {% call statement('drop_relation', auto_begin=False) -%}\n drop {{ relation.type }} if exists {{ relation }} cascade\n {%- endcall %}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.6019268, "supported_languages": null}, "macro.dbt.truncate_relation": {"name": "truncate_relation", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "unique_id": "macro.dbt.truncate_relation", "macro_sql": "{% macro truncate_relation(relation) -%}\n {{ return(adapter.dispatch('truncate_relation', 'dbt')(relation)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__truncate_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.602484, "supported_languages": null}, "macro.dbt.default__truncate_relation": {"name": "default__truncate_relation", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "unique_id": "macro.dbt.default__truncate_relation", "macro_sql": "{% macro default__truncate_relation(relation) -%}\n {% call statement('truncate_relation') -%}\n truncate table {{ relation }}\n {%- endcall %}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.603171, "supported_languages": null}, "macro.dbt.rename_relation": {"name": "rename_relation", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "unique_id": "macro.dbt.rename_relation", "macro_sql": "{% macro rename_relation(from_relation, to_relation) -%}\n {{ return(adapter.dispatch('rename_relation', 'dbt')(from_relation, to_relation)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__rename_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.603735, "supported_languages": null}, "macro.dbt.default__rename_relation": {"name": "default__rename_relation", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "unique_id": "macro.dbt.default__rename_relation", "macro_sql": "{% macro default__rename_relation(from_relation, to_relation) -%}\n {% set target_name = adapter.quote_as_configured(to_relation.identifier, 'identifier') %}\n {% call statement('rename_relation') -%}\n alter table {{ from_relation }} rename to {{ target_name }}\n {%- endcall %}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.604512, "supported_languages": null}, "macro.dbt.get_or_create_relation": {"name": "get_or_create_relation", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "unique_id": "macro.dbt.get_or_create_relation", "macro_sql": "{% macro get_or_create_relation(database, schema, identifier, type) -%}\n {{ return(adapter.dispatch('get_or_create_relation', 'dbt')(database, schema, identifier, type)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_or_create_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.605183, "supported_languages": null}, "macro.dbt.default__get_or_create_relation": {"name": "default__get_or_create_relation", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "unique_id": "macro.dbt.default__get_or_create_relation", "macro_sql": "{% macro default__get_or_create_relation(database, schema, identifier, type) %}\n {%- set target_relation = adapter.get_relation(database=database, schema=schema, identifier=identifier) %}\n\n {% if target_relation %}\n {% do return([true, target_relation]) %}\n {% endif %}\n\n {%- set new_relation = api.Relation.create(\n database=database,\n schema=schema,\n identifier=identifier,\n type=type\n ) -%}\n {% do return([false, new_relation]) %}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.606658, "supported_languages": null}, "macro.dbt.load_cached_relation": {"name": "load_cached_relation", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "unique_id": "macro.dbt.load_cached_relation", "macro_sql": "{% macro load_cached_relation(relation) %}\n {% do return(adapter.get_relation(\n database=relation.database,\n schema=relation.schema,\n identifier=relation.identifier\n )) -%}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.607286, "supported_languages": null}, "macro.dbt.load_relation": {"name": "load_relation", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "unique_id": "macro.dbt.load_relation", "macro_sql": "{% macro load_relation(relation) %}\n {{ return(load_cached_relation(relation)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.load_cached_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.607693, "supported_languages": null}, "macro.dbt.drop_relation_if_exists": {"name": "drop_relation_if_exists", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "unique_id": "macro.dbt.drop_relation_if_exists", "macro_sql": "{% macro drop_relation_if_exists(relation) %}\n {% if relation is not none %}\n {{ adapter.drop_relation(relation) }}\n {% endif %}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.608299, "supported_languages": null}, "macro.dbt.collect_freshness": {"name": "collect_freshness", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/freshness.sql", "original_file_path": "macros/adapters/freshness.sql", "unique_id": "macro.dbt.collect_freshness", "macro_sql": "{% macro collect_freshness(source, loaded_at_field, filter) %}\n {{ return(adapter.dispatch('collect_freshness', 'dbt')(source, loaded_at_field, filter))}}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__collect_freshness"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.609344, "supported_languages": null}, "macro.dbt.default__collect_freshness": {"name": "default__collect_freshness", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/freshness.sql", "original_file_path": "macros/adapters/freshness.sql", "unique_id": "macro.dbt.default__collect_freshness", "macro_sql": "{% macro default__collect_freshness(source, loaded_at_field, filter) %}\n {% call statement('collect_freshness', fetch_result=True, auto_begin=False) -%}\n select\n max({{ loaded_at_field }}) as max_loaded_at,\n {{ current_timestamp() }} as snapshotted_at\n from {{ source }}\n {% if filter %}\n where {{ filter }}\n {% endif %}\n {% endcall %}\n {{ return(load_result('collect_freshness').table) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement", "macro.dbt.current_timestamp"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.610473, "supported_languages": null}, "macro.dbt.copy_grants": {"name": "copy_grants", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "unique_id": "macro.dbt.copy_grants", "macro_sql": "{% macro copy_grants() %}\n {{ return(adapter.dispatch('copy_grants', 'dbt')()) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__copy_grants"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.61396, "supported_languages": null}, "macro.dbt.default__copy_grants": {"name": "default__copy_grants", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "unique_id": "macro.dbt.default__copy_grants", "macro_sql": "{% macro default__copy_grants() %}\n {{ return(True) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.614357, "supported_languages": null}, "macro.dbt.support_multiple_grantees_per_dcl_statement": {"name": "support_multiple_grantees_per_dcl_statement", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "unique_id": "macro.dbt.support_multiple_grantees_per_dcl_statement", "macro_sql": "{% macro support_multiple_grantees_per_dcl_statement() %}\n {{ return(adapter.dispatch('support_multiple_grantees_per_dcl_statement', 'dbt')()) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__support_multiple_grantees_per_dcl_statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.614857, "supported_languages": null}, "macro.dbt.default__support_multiple_grantees_per_dcl_statement": {"name": "default__support_multiple_grantees_per_dcl_statement", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "unique_id": "macro.dbt.default__support_multiple_grantees_per_dcl_statement", "macro_sql": "\n\n{%- macro default__support_multiple_grantees_per_dcl_statement() -%}\n {{ return(True) }}\n{%- endmacro -%}\n\n\n", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.615191, "supported_languages": null}, "macro.dbt.should_revoke": {"name": "should_revoke", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "unique_id": "macro.dbt.should_revoke", "macro_sql": "{% macro should_revoke(existing_relation, full_refresh_mode=True) %}\n\n {% if not existing_relation %}\n {#-- The table doesn't already exist, so no grants to copy over --#}\n {{ return(False) }}\n {% elif full_refresh_mode %}\n {#-- The object is being REPLACED -- whether grants are copied over depends on the value of user config --#}\n {{ return(copy_grants()) }}\n {% else %}\n {#-- The table is being merged/upserted/inserted -- grants will be carried over --#}\n {{ return(True) }}\n {% endif %}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.copy_grants"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.6161568, "supported_languages": null}, "macro.dbt.get_show_grant_sql": {"name": "get_show_grant_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "unique_id": "macro.dbt.get_show_grant_sql", "macro_sql": "{% macro get_show_grant_sql(relation) %}\n {{ return(adapter.dispatch(\"get_show_grant_sql\", \"dbt\")(relation)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__get_show_grant_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.616686, "supported_languages": null}, "macro.dbt.default__get_show_grant_sql": {"name": "default__get_show_grant_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "unique_id": "macro.dbt.default__get_show_grant_sql", "macro_sql": "{% macro default__get_show_grant_sql(relation) %}\n show grants on {{ relation }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.616999, "supported_languages": null}, "macro.dbt.get_grant_sql": {"name": "get_grant_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "unique_id": "macro.dbt.get_grant_sql", "macro_sql": "{% macro get_grant_sql(relation, privilege, grantees) %}\n {{ return(adapter.dispatch('get_grant_sql', 'dbt')(relation, privilege, grantees)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__get_grant_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.617643, "supported_languages": null}, "macro.dbt.default__get_grant_sql": {"name": "default__get_grant_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "unique_id": "macro.dbt.default__get_grant_sql", "macro_sql": "\n\n{%- macro default__get_grant_sql(relation, privilege, grantees) -%}\n grant {{ privilege }} on {{ relation }} to {{ grantees | join(', ') }}\n{%- endmacro -%}\n\n\n", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.6181881, "supported_languages": null}, "macro.dbt.get_revoke_sql": {"name": "get_revoke_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "unique_id": "macro.dbt.get_revoke_sql", "macro_sql": "{% macro get_revoke_sql(relation, privilege, grantees) %}\n {{ return(adapter.dispatch('get_revoke_sql', 'dbt')(relation, privilege, grantees)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__get_revoke_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.618828, "supported_languages": null}, "macro.dbt.default__get_revoke_sql": {"name": "default__get_revoke_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "unique_id": "macro.dbt.default__get_revoke_sql", "macro_sql": "\n\n{%- macro default__get_revoke_sql(relation, privilege, grantees) -%}\n revoke {{ privilege }} on {{ relation }} from {{ grantees | join(', ') }}\n{%- endmacro -%}\n\n\n", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.619361, "supported_languages": null}, "macro.dbt.get_dcl_statement_list": {"name": "get_dcl_statement_list", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "unique_id": "macro.dbt.get_dcl_statement_list", "macro_sql": "{% macro get_dcl_statement_list(relation, grant_config, get_dcl_macro) %}\n {{ return(adapter.dispatch('get_dcl_statement_list', 'dbt')(relation, grant_config, get_dcl_macro)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_dcl_statement_list"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.6200058, "supported_languages": null}, "macro.dbt.default__get_dcl_statement_list": {"name": "default__get_dcl_statement_list", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "unique_id": "macro.dbt.default__get_dcl_statement_list", "macro_sql": "\n\n{%- macro default__get_dcl_statement_list(relation, grant_config, get_dcl_macro) -%}\n {#\n -- Unpack grant_config into specific privileges and the set of users who need them granted/revoked.\n -- Depending on whether this database supports multiple grantees per statement, pass in the list of\n -- all grantees per privilege, or (if not) template one statement per privilege-grantee pair.\n -- `get_dcl_macro` will be either `get_grant_sql` or `get_revoke_sql`\n #}\n {%- set dcl_statements = [] -%}\n {%- for privilege, grantees in grant_config.items() %}\n {%- if support_multiple_grantees_per_dcl_statement() and grantees -%}\n {%- set dcl = get_dcl_macro(relation, privilege, grantees) -%}\n {%- do dcl_statements.append(dcl) -%}\n {%- else -%}\n {%- for grantee in grantees -%}\n {% set dcl = get_dcl_macro(relation, privilege, [grantee]) %}\n {%- do dcl_statements.append(dcl) -%}\n {% endfor -%}\n {%- endif -%}\n {%- endfor -%}\n {{ return(dcl_statements) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.support_multiple_grantees_per_dcl_statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.6223, "supported_languages": null}, "macro.dbt.call_dcl_statements": {"name": "call_dcl_statements", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "unique_id": "macro.dbt.call_dcl_statements", "macro_sql": "{% macro call_dcl_statements(dcl_statement_list) %}\n {{ return(adapter.dispatch(\"call_dcl_statements\", \"dbt\")(dcl_statement_list)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__call_dcl_statements"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.6229582, "supported_languages": null}, "macro.dbt.default__call_dcl_statements": {"name": "default__call_dcl_statements", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "unique_id": "macro.dbt.default__call_dcl_statements", "macro_sql": "{% macro default__call_dcl_statements(dcl_statement_list) %}\n {#\n -- By default, supply all grant + revoke statements in a single semicolon-separated block,\n -- so that they're all processed together.\n\n -- Some databases do not support this. Those adapters will need to override this macro\n -- to run each statement individually.\n #}\n {% call statement('grants') %}\n {% for dcl_statement in dcl_statement_list %}\n {{ dcl_statement }};\n {% endfor %}\n {% endcall %}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.62374, "supported_languages": null}, "macro.dbt.apply_grants": {"name": "apply_grants", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "unique_id": "macro.dbt.apply_grants", "macro_sql": "{% macro apply_grants(relation, grant_config, should_revoke) %}\n {{ return(adapter.dispatch(\"apply_grants\", \"dbt\")(relation, grant_config, should_revoke)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__apply_grants"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.624407, "supported_languages": null}, "macro.dbt.default__apply_grants": {"name": "default__apply_grants", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "unique_id": "macro.dbt.default__apply_grants", "macro_sql": "{% macro default__apply_grants(relation, grant_config, should_revoke=True) %}\n {#-- If grant_config is {} or None, this is a no-op --#}\n {% if grant_config %}\n {% if should_revoke %}\n {#-- We think previous grants may have carried over --#}\n {#-- Show current grants and calculate diffs --#}\n {% set current_grants_table = run_query(get_show_grant_sql(relation)) %}\n {% set current_grants_dict = adapter.standardize_grants_dict(current_grants_table) %}\n {% set needs_granting = diff_of_two_dicts(grant_config, current_grants_dict) %}\n {% set needs_revoking = diff_of_two_dicts(current_grants_dict, grant_config) %}\n {% if not (needs_granting or needs_revoking) %}\n {{ log('On ' ~ relation ~': All grants are in place, no revocation or granting needed.')}}\n {% endif %}\n {% else %}\n {#-- We don't think there's any chance of previous grants having carried over. --#}\n {#-- Jump straight to granting what the user has configured. --#}\n {% set needs_revoking = {} %}\n {% set needs_granting = grant_config %}\n {% endif %}\n {% if needs_granting or needs_revoking %}\n {% set revoke_statement_list = get_dcl_statement_list(relation, needs_revoking, get_revoke_sql) %}\n {% set grant_statement_list = get_dcl_statement_list(relation, needs_granting, get_grant_sql) %}\n {% set dcl_statement_list = revoke_statement_list + grant_statement_list %}\n {% if dcl_statement_list %}\n {{ call_dcl_statements(dcl_statement_list) }}\n {% endif %}\n {% endif %}\n {% endif %}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.run_query", "macro.dbt.get_show_grant_sql", "macro.dbt.get_dcl_statement_list", "macro.dbt.call_dcl_statements"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.627578, "supported_languages": null}, "macro.dbt.alter_column_comment": {"name": "alter_column_comment", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/persist_docs.sql", "original_file_path": "macros/adapters/persist_docs.sql", "unique_id": "macro.dbt.alter_column_comment", "macro_sql": "{% macro alter_column_comment(relation, column_dict) -%}\n {{ return(adapter.dispatch('alter_column_comment', 'dbt')(relation, column_dict)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__alter_column_comment"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.6292028, "supported_languages": null}, "macro.dbt.default__alter_column_comment": {"name": "default__alter_column_comment", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/persist_docs.sql", "original_file_path": "macros/adapters/persist_docs.sql", "unique_id": "macro.dbt.default__alter_column_comment", "macro_sql": "{% macro default__alter_column_comment(relation, column_dict) -%}\n {{ exceptions.raise_not_implemented(\n 'alter_column_comment macro not implemented for adapter '+adapter.type()) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.629758, "supported_languages": null}, "macro.dbt.alter_relation_comment": {"name": "alter_relation_comment", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/persist_docs.sql", "original_file_path": "macros/adapters/persist_docs.sql", "unique_id": "macro.dbt.alter_relation_comment", "macro_sql": "{% macro alter_relation_comment(relation, relation_comment) -%}\n {{ return(adapter.dispatch('alter_relation_comment', 'dbt')(relation, relation_comment)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__alter_relation_comment"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.630319, "supported_languages": null}, "macro.dbt.default__alter_relation_comment": {"name": "default__alter_relation_comment", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/persist_docs.sql", "original_file_path": "macros/adapters/persist_docs.sql", "unique_id": "macro.dbt.default__alter_relation_comment", "macro_sql": "{% macro default__alter_relation_comment(relation, relation_comment) -%}\n {{ exceptions.raise_not_implemented(\n 'alter_relation_comment macro not implemented for adapter '+adapter.type()) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.630781, "supported_languages": null}, "macro.dbt.persist_docs": {"name": "persist_docs", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/persist_docs.sql", "original_file_path": "macros/adapters/persist_docs.sql", "unique_id": "macro.dbt.persist_docs", "macro_sql": "{% macro persist_docs(relation, model, for_relation=true, for_columns=true) -%}\n {{ return(adapter.dispatch('persist_docs', 'dbt')(relation, model, for_relation, for_columns)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__persist_docs"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.631499, "supported_languages": null}, "macro.dbt.default__persist_docs": {"name": "default__persist_docs", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/persist_docs.sql", "original_file_path": "macros/adapters/persist_docs.sql", "unique_id": "macro.dbt.default__persist_docs", "macro_sql": "{% macro default__persist_docs(relation, model, for_relation, for_columns) -%}\n {% if for_relation and config.persist_relation_docs() and model.description %}\n {% do run_query(alter_relation_comment(relation, model.description)) %}\n {% endif %}\n\n {% if for_columns and config.persist_column_docs() and model.columns %}\n {% do run_query(alter_column_comment(relation, model.columns)) %}\n {% endif %}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.run_query", "macro.dbt.alter_relation_comment", "macro.dbt.alter_column_comment"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.6328661, "supported_languages": null}, "macro.dbt.get_catalog": {"name": "get_catalog", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "unique_id": "macro.dbt.get_catalog", "macro_sql": "{% macro get_catalog(information_schema, schemas) -%}\n {{ return(adapter.dispatch('get_catalog', 'dbt')(information_schema, schemas)) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__get_catalog"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.637247, "supported_languages": null}, "macro.dbt.default__get_catalog": {"name": "default__get_catalog", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "unique_id": "macro.dbt.default__get_catalog", "macro_sql": "{% macro default__get_catalog(information_schema, schemas) -%}\n\n {% set typename = adapter.type() %}\n {% set msg -%}\n get_catalog not implemented for {{ typename }}\n {%- endset %}\n\n {{ exceptions.raise_compiler_error(msg) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.6384718, "supported_languages": null}, "macro.dbt.information_schema_name": {"name": "information_schema_name", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "unique_id": "macro.dbt.information_schema_name", "macro_sql": "{% macro information_schema_name(database) %}\n {{ return(adapter.dispatch('information_schema_name', 'dbt')(database)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__information_schema_name"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.6390731, "supported_languages": null}, "macro.dbt.default__information_schema_name": {"name": "default__information_schema_name", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "unique_id": "macro.dbt.default__information_schema_name", "macro_sql": "{% macro default__information_schema_name(database) -%}\n {%- if database -%}\n {{ database }}.INFORMATION_SCHEMA\n {%- else -%}\n INFORMATION_SCHEMA\n {%- endif -%}\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.639572, "supported_languages": null}, "macro.dbt.list_schemas": {"name": "list_schemas", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "unique_id": "macro.dbt.list_schemas", "macro_sql": "{% macro list_schemas(database) -%}\n {{ return(adapter.dispatch('list_schemas', 'dbt')(database)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__list_schemas"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.640099, "supported_languages": null}, "macro.dbt.default__list_schemas": {"name": "default__list_schemas", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "unique_id": "macro.dbt.default__list_schemas", "macro_sql": "{% macro default__list_schemas(database) -%}\n {% set sql %}\n select distinct schema_name\n from {{ information_schema_name(database) }}.SCHEMATA\n where catalog_name ilike '{{ database }}'\n {% endset %}\n {{ return(run_query(sql)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.information_schema_name", "macro.dbt.run_query"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.6407669, "supported_languages": null}, "macro.dbt.check_schema_exists": {"name": "check_schema_exists", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "unique_id": "macro.dbt.check_schema_exists", "macro_sql": "{% macro check_schema_exists(information_schema, schema) -%}\n {{ return(adapter.dispatch('check_schema_exists', 'dbt')(information_schema, schema)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__check_schema_exists"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.6413372, "supported_languages": null}, "macro.dbt.default__check_schema_exists": {"name": "default__check_schema_exists", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "unique_id": "macro.dbt.default__check_schema_exists", "macro_sql": "{% macro default__check_schema_exists(information_schema, schema) -%}\n {% set sql -%}\n select count(*)\n from {{ information_schema.replace(information_schema_view='SCHEMATA') }}\n where catalog_name='{{ information_schema.database }}'\n and schema_name='{{ schema }}'\n {%- endset %}\n {{ return(run_query(sql)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.replace", "macro.dbt.run_query"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.64219, "supported_languages": null}, "macro.dbt.list_relations_without_caching": {"name": "list_relations_without_caching", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "unique_id": "macro.dbt.list_relations_without_caching", "macro_sql": "{% macro list_relations_without_caching(schema_relation) %}\n {{ return(adapter.dispatch('list_relations_without_caching', 'dbt')(schema_relation)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__list_relations_without_caching"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.642735, "supported_languages": null}, "macro.dbt.default__list_relations_without_caching": {"name": "default__list_relations_without_caching", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "unique_id": "macro.dbt.default__list_relations_without_caching", "macro_sql": "{% macro default__list_relations_without_caching(schema_relation) %}\n {{ exceptions.raise_not_implemented(\n 'list_relations_without_caching macro not implemented for adapter '+adapter.type()) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.643198, "supported_languages": null}, "macro.dbt.get_columns_in_relation": {"name": "get_columns_in_relation", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/columns.sql", "original_file_path": "macros/adapters/columns.sql", "unique_id": "macro.dbt.get_columns_in_relation", "macro_sql": "{% macro get_columns_in_relation(relation) -%}\n {{ return(adapter.dispatch('get_columns_in_relation', 'dbt')(relation)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__get_columns_in_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.646518, "supported_languages": null}, "macro.dbt.default__get_columns_in_relation": {"name": "default__get_columns_in_relation", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/columns.sql", "original_file_path": "macros/adapters/columns.sql", "unique_id": "macro.dbt.default__get_columns_in_relation", "macro_sql": "{% macro default__get_columns_in_relation(relation) -%}\n {{ exceptions.raise_not_implemented(\n 'get_columns_in_relation macro not implemented for adapter '+adapter.type()) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.646987, "supported_languages": null}, "macro.dbt.sql_convert_columns_in_relation": {"name": "sql_convert_columns_in_relation", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/columns.sql", "original_file_path": "macros/adapters/columns.sql", "unique_id": "macro.dbt.sql_convert_columns_in_relation", "macro_sql": "{% macro sql_convert_columns_in_relation(table) -%}\n {% set columns = [] %}\n {% for row in table %}\n {% do columns.append(api.Column(*row)) %}\n {% endfor %}\n {{ return(columns) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.647826, "supported_languages": null}, "macro.dbt.get_columns_in_query": {"name": "get_columns_in_query", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/columns.sql", "original_file_path": "macros/adapters/columns.sql", "unique_id": "macro.dbt.get_columns_in_query", "macro_sql": "{% macro get_columns_in_query(select_sql) -%}\n {{ return(adapter.dispatch('get_columns_in_query', 'dbt')(select_sql)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_columns_in_query"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.648336, "supported_languages": null}, "macro.dbt.default__get_columns_in_query": {"name": "default__get_columns_in_query", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/columns.sql", "original_file_path": "macros/adapters/columns.sql", "unique_id": "macro.dbt.default__get_columns_in_query", "macro_sql": "{% macro default__get_columns_in_query(select_sql) %}\n {% call statement('get_columns_in_query', fetch_result=True, auto_begin=False) -%}\n select * from (\n {{ select_sql }}\n ) as __dbt_sbq\n where false\n limit 0\n {% endcall %}\n\n {{ return(load_result('get_columns_in_query').table.columns | map(attribute='name') | list) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.649466, "supported_languages": null}, "macro.dbt.alter_column_type": {"name": "alter_column_type", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/columns.sql", "original_file_path": "macros/adapters/columns.sql", "unique_id": "macro.dbt.alter_column_type", "macro_sql": "{% macro alter_column_type(relation, column_name, new_column_type) -%}\n {{ return(adapter.dispatch('alter_column_type', 'dbt')(relation, column_name, new_column_type)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__alter_column_type"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.650082, "supported_languages": null}, "macro.dbt.default__alter_column_type": {"name": "default__alter_column_type", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/columns.sql", "original_file_path": "macros/adapters/columns.sql", "unique_id": "macro.dbt.default__alter_column_type", "macro_sql": "{% macro default__alter_column_type(relation, column_name, new_column_type) -%}\n {#\n 1. Create a new column (w/ temp name and correct type)\n 2. Copy data over to it\n 3. Drop the existing column (cascade!)\n 4. Rename the new column to existing column\n #}\n {%- set tmp_column = column_name + \"__dbt_alter\" -%}\n\n {% call statement('alter_column_type') %}\n alter table {{ relation }} add column {{ adapter.quote(tmp_column) }} {{ new_column_type }};\n update {{ relation }} set {{ adapter.quote(tmp_column) }} = {{ adapter.quote(column_name) }};\n alter table {{ relation }} drop column {{ adapter.quote(column_name) }} cascade;\n alter table {{ relation }} rename column {{ adapter.quote(tmp_column) }} to {{ adapter.quote(column_name) }}\n {% endcall %}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.651686, "supported_languages": null}, "macro.dbt.alter_relation_add_remove_columns": {"name": "alter_relation_add_remove_columns", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/columns.sql", "original_file_path": "macros/adapters/columns.sql", "unique_id": "macro.dbt.alter_relation_add_remove_columns", "macro_sql": "{% macro alter_relation_add_remove_columns(relation, add_columns = none, remove_columns = none) -%}\n {{ return(adapter.dispatch('alter_relation_add_remove_columns', 'dbt')(relation, add_columns, remove_columns)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__alter_relation_add_remove_columns"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.652425, "supported_languages": null}, "macro.dbt.default__alter_relation_add_remove_columns": {"name": "default__alter_relation_add_remove_columns", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/columns.sql", "original_file_path": "macros/adapters/columns.sql", "unique_id": "macro.dbt.default__alter_relation_add_remove_columns", "macro_sql": "{% macro default__alter_relation_add_remove_columns(relation, add_columns, remove_columns) %}\n\n {% if add_columns is none %}\n {% set add_columns = [] %}\n {% endif %}\n {% if remove_columns is none %}\n {% set remove_columns = [] %}\n {% endif %}\n\n {% set sql -%}\n\n alter {{ relation.type }} {{ relation }}\n\n {% for column in add_columns %}\n add column {{ column.name }} {{ column.data_type }}{{ ',' if not loop.last }}\n {% endfor %}{{ ',' if add_columns and remove_columns }}\n\n {% for column in remove_columns %}\n drop column {{ column.name }}{{ ',' if not loop.last }}\n {% endfor %}\n\n {%- endset -%}\n\n {% do run_query(sql) %}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.run_query"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.654538, "supported_languages": null}, "macro.dbt.resolve_model_name": {"name": "resolve_model_name", "resource_type": "macro", "package_name": "dbt", "path": "macros/python_model/python.sql", "original_file_path": "macros/python_model/python.sql", "unique_id": "macro.dbt.resolve_model_name", "macro_sql": "{% macro resolve_model_name(input_model_name) %}\n {{ return(adapter.dispatch('resolve_model_name', 'dbt')(input_model_name)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__resolve_model_name"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.657235, "supported_languages": null}, "macro.dbt.default__resolve_model_name": {"name": "default__resolve_model_name", "resource_type": "macro", "package_name": "dbt", "path": "macros/python_model/python.sql", "original_file_path": "macros/python_model/python.sql", "unique_id": "macro.dbt.default__resolve_model_name", "macro_sql": "\n\n{%- macro default__resolve_model_name(input_model_name) -%}\n {{ input_model_name | string | replace('\"', '\\\"') }}\n{%- endmacro -%}\n\n", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.657665, "supported_languages": null}, "macro.dbt.build_ref_function": {"name": "build_ref_function", "resource_type": "macro", "package_name": "dbt", "path": "macros/python_model/python.sql", "original_file_path": "macros/python_model/python.sql", "unique_id": "macro.dbt.build_ref_function", "macro_sql": "{% macro build_ref_function(model) %}\n\n {%- set ref_dict = {} -%}\n {%- for _ref in model.refs -%}\n {%- set resolved = ref(*_ref) -%}\n {%- do ref_dict.update({_ref | join('.'): resolve_model_name(resolved)}) -%}\n {%- endfor -%}\n\ndef ref(*args,dbt_load_df_function):\n refs = {{ ref_dict | tojson }}\n key = '.'.join(args)\n return dbt_load_df_function(refs[key])\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.resolve_model_name"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.65874, "supported_languages": null}, "macro.dbt.build_source_function": {"name": "build_source_function", "resource_type": "macro", "package_name": "dbt", "path": "macros/python_model/python.sql", "original_file_path": "macros/python_model/python.sql", "unique_id": "macro.dbt.build_source_function", "macro_sql": "{% macro build_source_function(model) %}\n\n {%- set source_dict = {} -%}\n {%- for _source in model.sources -%}\n {%- set resolved = source(*_source) -%}\n {%- do source_dict.update({_source | join('.'): resolve_model_name(resolved)}) -%}\n {%- endfor -%}\n\ndef source(*args, dbt_load_df_function):\n sources = {{ source_dict | tojson }}\n key = '.'.join(args)\n return dbt_load_df_function(sources[key])\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.resolve_model_name"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.65981, "supported_languages": null}, "macro.dbt.build_config_dict": {"name": "build_config_dict", "resource_type": "macro", "package_name": "dbt", "path": "macros/python_model/python.sql", "original_file_path": "macros/python_model/python.sql", "unique_id": "macro.dbt.build_config_dict", "macro_sql": "{% macro build_config_dict(model) %}\n {%- set config_dict = {} -%}\n {% set config_dbt_used = zip(model.config.config_keys_used, model.config.config_keys_defaults) | list %}\n {%- for key, default in config_dbt_used -%}\n {# weird type testing with enum, would be much easier to write this logic in Python! #}\n {%- if key == \"language\" -%}\n {%- set value = \"python\" -%}\n {%- endif -%}\n {%- set value = model.config.get(key, default) -%}\n {%- do config_dict.update({key: value}) -%}\n {%- endfor -%}\nconfig_dict = {{ config_dict }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.661341, "supported_languages": null}, "macro.dbt.py_script_postfix": {"name": "py_script_postfix", "resource_type": "macro", "package_name": "dbt", "path": "macros/python_model/python.sql", "original_file_path": "macros/python_model/python.sql", "unique_id": "macro.dbt.py_script_postfix", "macro_sql": "{% macro py_script_postfix(model) %}\n# This part is user provided model code\n# you will need to copy the next section to run the code\n# COMMAND ----------\n# this part is dbt logic for get ref work, do not modify\n\n{{ build_ref_function(model ) }}\n{{ build_source_function(model ) }}\n{{ build_config_dict(model) }}\n\nclass config:\n def __init__(self, *args, **kwargs):\n pass\n\n @staticmethod\n def get(key, default=None):\n return config_dict.get(key, default)\n\nclass this:\n \"\"\"dbt.this() or dbt.this.identifier\"\"\"\n database = \"{{ this.database }}\"\n schema = \"{{ this.schema }}\"\n identifier = \"{{ this.identifier }}\"\n {% set this_relation_name = resolve_model_name(this) %}\n def __repr__(self):\n return '{{ this_relation_name }}'\n\n\nclass dbtObj:\n def __init__(self, load_df_function) -> None:\n self.source = lambda *args: source(*args, dbt_load_df_function=load_df_function)\n self.ref = lambda *args: ref(*args, dbt_load_df_function=load_df_function)\n self.config = config\n self.this = this()\n self.is_incremental = {{ is_incremental() }}\n\n# COMMAND ----------\n{{py_script_comment()}}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.build_ref_function", "macro.dbt.build_source_function", "macro.dbt.build_config_dict", "macro.dbt.resolve_model_name", "macro.dbt.is_incremental", "macro.dbt.py_script_comment"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.6626182, "supported_languages": null}, "macro.dbt.py_script_comment": {"name": "py_script_comment", "resource_type": "macro", "package_name": "dbt", "path": "macros/python_model/python.sql", "original_file_path": "macros/python_model/python.sql", "unique_id": "macro.dbt.py_script_comment", "macro_sql": "{%macro py_script_comment()%}\n{%endmacro%}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.662854, "supported_languages": null}, "macro.dbt.test_unique": {"name": "test_unique", "resource_type": "macro", "package_name": "dbt", "path": "tests/generic/builtin.sql", "original_file_path": "tests/generic/builtin.sql", "unique_id": "macro.dbt.test_unique", "macro_sql": "{% test unique(model, column_name) %}\n {% set macro = adapter.dispatch('test_unique', 'dbt') %}\n {{ macro(model, column_name) }}\n{% endtest %}", "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__test_unique"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.6640809, "supported_languages": null}, "macro.dbt.test_not_null": {"name": "test_not_null", "resource_type": "macro", "package_name": "dbt", "path": "tests/generic/builtin.sql", "original_file_path": "tests/generic/builtin.sql", "unique_id": "macro.dbt.test_not_null", "macro_sql": "{% test not_null(model, column_name) %}\n {% set macro = adapter.dispatch('test_not_null', 'dbt') %}\n {{ macro(model, column_name) }}\n{% endtest %}", "depends_on": {"macros": ["macro.dbt.default__test_not_null"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.6647391, "supported_languages": null}, "macro.dbt.test_accepted_values": {"name": "test_accepted_values", "resource_type": "macro", "package_name": "dbt", "path": "tests/generic/builtin.sql", "original_file_path": "tests/generic/builtin.sql", "unique_id": "macro.dbt.test_accepted_values", "macro_sql": "{% test accepted_values(model, column_name, values, quote=True) %}\n {% set macro = adapter.dispatch('test_accepted_values', 'dbt') %}\n {{ macro(model, column_name, values, quote) }}\n{% endtest %}", "depends_on": {"macros": ["macro.dbt.default__test_accepted_values"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.665548, "supported_languages": null}, "macro.dbt.test_relationships": {"name": "test_relationships", "resource_type": "macro", "package_name": "dbt", "path": "tests/generic/builtin.sql", "original_file_path": "tests/generic/builtin.sql", "unique_id": "macro.dbt.test_relationships", "macro_sql": "{% test relationships(model, column_name, to, field) %}\n {% set macro = adapter.dispatch('test_relationships', 'dbt') %}\n {{ macro(model, column_name, to, field) }}\n{% endtest %}", "depends_on": {"macros": ["macro.dbt.default__test_relationships"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.666326, "supported_languages": null}, "macro.dbt_utils.get_url_host": {"name": "get_url_host", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/web/get_url_host.sql", "original_file_path": "macros/web/get_url_host.sql", "unique_id": "macro.dbt_utils.get_url_host", "macro_sql": "{% macro get_url_host(field) -%}\n {{ return(adapter.dispatch('get_url_host', 'dbt_utils')(field)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.default__get_url_host"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.667244, "supported_languages": null}, "macro.dbt_utils.default__get_url_host": {"name": "default__get_url_host", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/web/get_url_host.sql", "original_file_path": "macros/web/get_url_host.sql", "unique_id": "macro.dbt_utils.default__get_url_host", "macro_sql": "{% macro default__get_url_host(field) -%}\n\n{%- set parsed =\n dbt.split_part(\n dbt.split_part(\n dbt.replace(\n dbt.replace(\n dbt.replace(field, \"'android-app://'\", \"''\"\n ), \"'http://'\", \"''\"\n ), \"'https://'\", \"''\"\n ), \"'/'\", 1\n ), \"'?'\", 1\n )\n\n-%}\n\n\n {{ dbt.safe_cast(\n parsed,\n dbt.type_string()\n )}}\n\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.split_part", "macro.dbt.replace", "macro.dbt.safe_cast", "macro.dbt.type_string"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.669048, "supported_languages": null}, "macro.dbt_utils.get_url_path": {"name": "get_url_path", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/web/get_url_path.sql", "original_file_path": "macros/web/get_url_path.sql", "unique_id": "macro.dbt_utils.get_url_path", "macro_sql": "{% macro get_url_path(field) -%}\n {{ return(adapter.dispatch('get_url_path', 'dbt_utils')(field)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.default__get_url_path"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.671186, "supported_languages": null}, "macro.dbt_utils.default__get_url_path": {"name": "default__get_url_path", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/web/get_url_path.sql", "original_file_path": "macros/web/get_url_path.sql", "unique_id": "macro.dbt_utils.default__get_url_path", "macro_sql": "{% macro default__get_url_path(field) -%}\n\n {%- set stripped_url =\n dbt.replace(\n dbt.replace(field, \"'http://'\", \"''\"), \"'https://'\", \"''\")\n -%}\n\n {%- set first_slash_pos -%}\n coalesce(\n nullif({{ dbt.position(\"'/'\", stripped_url) }}, 0),\n {{ dbt.position(\"'?'\", stripped_url) }} - 1\n )\n {%- endset -%}\n\n {%- set parsed_path =\n dbt.split_part(\n dbt.right(\n stripped_url,\n dbt.length(stripped_url) ~ \"-\" ~ first_slash_pos\n ),\n \"'?'\", 1\n )\n -%}\n\n {{ dbt.safe_cast(\n parsed_path,\n dbt.type_string()\n )}}\n\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.replace", "macro.dbt.position", "macro.dbt.split_part", "macro.dbt.right", "macro.dbt.length", "macro.dbt.safe_cast", "macro.dbt.type_string"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.6733718, "supported_languages": null}, "macro.dbt_utils.get_url_parameter": {"name": "get_url_parameter", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/web/get_url_parameter.sql", "original_file_path": "macros/web/get_url_parameter.sql", "unique_id": "macro.dbt_utils.get_url_parameter", "macro_sql": "{% macro get_url_parameter(field, url_parameter) -%}\n {{ return(adapter.dispatch('get_url_parameter', 'dbt_utils')(field, url_parameter)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.default__get_url_parameter"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.67427, "supported_languages": null}, "macro.dbt_utils.default__get_url_parameter": {"name": "default__get_url_parameter", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/web/get_url_parameter.sql", "original_file_path": "macros/web/get_url_parameter.sql", "unique_id": "macro.dbt_utils.default__get_url_parameter", "macro_sql": "{% macro default__get_url_parameter(field, url_parameter) -%}\n\n{%- set formatted_url_parameter = \"'\" + url_parameter + \"='\" -%}\n\n{%- set split = dbt.split_part(dbt.split_part(field, formatted_url_parameter, 2), \"'&'\", 1) -%}\n\nnullif({{ split }},'')\n\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.split_part"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.675172, "supported_languages": null}, "macro.dbt_utils.test_fewer_rows_than": {"name": "test_fewer_rows_than", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/generic_tests/fewer_rows_than.sql", "original_file_path": "macros/generic_tests/fewer_rows_than.sql", "unique_id": "macro.dbt_utils.test_fewer_rows_than", "macro_sql": "{% test fewer_rows_than(model, compare_model, group_by_columns = []) %}\n {{ return(adapter.dispatch('test_fewer_rows_than', 'dbt_utils')(model, compare_model, group_by_columns)) }}\n{% endtest %}", "depends_on": {"macros": ["macro.dbt_utils.default__test_fewer_rows_than"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.6774049, "supported_languages": null}, "macro.dbt_utils.default__test_fewer_rows_than": {"name": "default__test_fewer_rows_than", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/generic_tests/fewer_rows_than.sql", "original_file_path": "macros/generic_tests/fewer_rows_than.sql", "unique_id": "macro.dbt_utils.default__test_fewer_rows_than", "macro_sql": "{% macro default__test_fewer_rows_than(model, compare_model, group_by_columns) %}\n\n{{ config(fail_calc = 'sum(coalesce(row_count_delta, 0))') }}\n\n{% if group_by_columns|length() > 0 %}\n {% set select_gb_cols = group_by_columns|join(' ,') + ', ' %}\n {% set join_gb_cols %}\n {% for c in group_by_columns %}\n and a.{{c}} = b.{{c}}\n {% endfor %}\n {% endset %}\n {% set groupby_gb_cols = 'group by ' + group_by_columns|join(',') %}\n{% endif %}\n\n{#-- We must add a fake join key in case additional grouping variables are not provided --#}\n{#-- Redshift does not allow for dynamically created join conditions (e.g. full join on 1 = 1 --#}\n{#-- The same logic is used in equal_rowcount. In case of changes, maintain consistent logic --#}\n{% set group_by_columns = ['id_dbtutils_test_fewer_rows_than'] + group_by_columns %}\n{% set groupby_gb_cols = 'group by ' + group_by_columns|join(',') %}\n\n\nwith a as (\n\n select \n {{select_gb_cols}}\n 1 as id_dbtutils_test_fewer_rows_than,\n count(*) as count_our_model \n from {{ model }}\n {{ groupby_gb_cols }}\n\n),\nb as (\n\n select \n {{select_gb_cols}}\n 1 as id_dbtutils_test_fewer_rows_than,\n count(*) as count_comparison_model \n from {{ compare_model }}\n {{ groupby_gb_cols }}\n\n),\ncounts as (\n\n select\n\n {% for c in group_by_columns -%}\n a.{{c}} as {{c}}_a,\n b.{{c}} as {{c}}_b,\n {% endfor %}\n\n count_our_model,\n count_comparison_model\n from a\n full join b on \n a.id_dbtutils_test_fewer_rows_than = b.id_dbtutils_test_fewer_rows_than\n {{ join_gb_cols }}\n\n),\nfinal as (\n\n select *,\n case\n -- fail the test if we have more rows than the reference model and return the row count delta\n when count_our_model > count_comparison_model then (count_our_model - count_comparison_model)\n -- fail the test if they are the same number\n when count_our_model = count_comparison_model then 1\n -- pass the test if the delta is positive (i.e. return the number 0)\n else 0\n end as row_count_delta\n from counts\n\n)\n\nselect * from final\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.6804118, "supported_languages": null}, "macro.dbt_utils.test_equal_rowcount": {"name": "test_equal_rowcount", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/generic_tests/equal_rowcount.sql", "original_file_path": "macros/generic_tests/equal_rowcount.sql", "unique_id": "macro.dbt_utils.test_equal_rowcount", "macro_sql": "{% test equal_rowcount(model, compare_model, group_by_columns = []) %}\n {{ return(adapter.dispatch('test_equal_rowcount', 'dbt_utils')(model, compare_model, group_by_columns)) }}\n{% endtest %}", "depends_on": {"macros": ["macro.dbt_utils.default__test_equal_rowcount"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.6822872, "supported_languages": null}, "macro.dbt_utils.default__test_equal_rowcount": {"name": "default__test_equal_rowcount", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/generic_tests/equal_rowcount.sql", "original_file_path": "macros/generic_tests/equal_rowcount.sql", "unique_id": "macro.dbt_utils.default__test_equal_rowcount", "macro_sql": "{% macro default__test_equal_rowcount(model, compare_model, group_by_columns) %}\n\n{#-- Needs to be set at parse time, before we return '' below --#}\n{{ config(fail_calc = 'sum(coalesce(diff_count, 0))') }}\n\n{#-- Prevent querying of db in parsing mode. This works because this macro does not create any new refs. #}\n{%- if not execute -%}\n {{ return('') }}\n{% endif %}\n\n{% if group_by_columns|length() > 0 %}\n {% set select_gb_cols = group_by_columns|join(', ') + ', ' %}\n {% set join_gb_cols %}\n {% for c in group_by_columns %}\n and a.{{c}} = b.{{c}}\n {% endfor %}\n {% endset %}\n {% set groupby_gb_cols = 'group by ' + group_by_columns|join(',') %}\n{% endif %}\n\n{#-- We must add a fake join key in case additional grouping variables are not provided --#}\n{#-- Redshift does not allow for dynamically created join conditions (e.g. full join on 1 = 1 --#}\n{#-- The same logic is used in fewer_rows_than. In case of changes, maintain consistent logic --#}\n{% set group_by_columns = ['id_dbtutils_test_equal_rowcount'] + group_by_columns %}\n{% set groupby_gb_cols = 'group by ' + group_by_columns|join(',') %}\n\nwith a as (\n\n select \n {{select_gb_cols}}\n 1 as id_dbtutils_test_equal_rowcount,\n count(*) as count_a \n from {{ model }}\n {{groupby_gb_cols}}\n\n\n),\nb as (\n\n select \n {{select_gb_cols}}\n 1 as id_dbtutils_test_equal_rowcount,\n count(*) as count_b \n from {{ compare_model }}\n {{groupby_gb_cols}}\n\n),\nfinal as (\n\n select\n \n {% for c in group_by_columns -%}\n a.{{c}} as {{c}}_a,\n b.{{c}} as {{c}}_b,\n {% endfor %}\n\n count_a,\n count_b,\n abs(count_a - count_b) as diff_count\n\n from a\n full join b\n on\n a.id_dbtutils_test_equal_rowcount = b.id_dbtutils_test_equal_rowcount\n {{join_gb_cols}}\n\n\n)\n\nselect * from final\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.685121, "supported_languages": null}, "macro.dbt_utils.test_relationships_where": {"name": "test_relationships_where", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/generic_tests/relationships_where.sql", "original_file_path": "macros/generic_tests/relationships_where.sql", "unique_id": "macro.dbt_utils.test_relationships_where", "macro_sql": "{% test relationships_where(model, column_name, to, field, from_condition=\"1=1\", to_condition=\"1=1\") %}\n {{ return(adapter.dispatch('test_relationships_where', 'dbt_utils')(model, column_name, to, field, from_condition, to_condition)) }}\n{% endtest %}", "depends_on": {"macros": ["macro.dbt_utils.default__test_relationships_where"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.6866271, "supported_languages": null}, "macro.dbt_utils.default__test_relationships_where": {"name": "default__test_relationships_where", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/generic_tests/relationships_where.sql", "original_file_path": "macros/generic_tests/relationships_where.sql", "unique_id": "macro.dbt_utils.default__test_relationships_where", "macro_sql": "{% macro default__test_relationships_where(model, column_name, to, field, from_condition=\"1=1\", to_condition=\"1=1\") %}\n\n{# T-SQL has no boolean data type so we use 1=1 which returns TRUE #}\n{# ref https://stackoverflow.com/a/7170753/3842610 #}\n\nwith left_table as (\n\n select\n {{column_name}} as id\n\n from {{model}}\n\n where {{column_name}} is not null\n and {{from_condition}}\n\n),\n\nright_table as (\n\n select\n {{field}} as id\n\n from {{to}}\n\n where {{field}} is not null\n and {{to_condition}}\n\n),\n\nexceptions as (\n\n select\n left_table.id,\n right_table.id as right_id\n\n from left_table\n\n left join right_table\n on left_table.id = right_table.id\n\n where right_table.id is null\n\n)\n\nselect * from exceptions\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.6875231, "supported_languages": null}, "macro.dbt_utils.test_recency": {"name": "test_recency", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/generic_tests/recency.sql", "original_file_path": "macros/generic_tests/recency.sql", "unique_id": "macro.dbt_utils.test_recency", "macro_sql": "{% test recency(model, field, datepart, interval, ignore_time_component=False, group_by_columns = []) %}\n {{ return(adapter.dispatch('test_recency', 'dbt_utils')(model, field, datepart, interval, ignore_time_component, group_by_columns)) }}\n{% endtest %}", "depends_on": {"macros": ["macro.dbt_utils.default__test_recency"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.68912, "supported_languages": null}, "macro.dbt_utils.default__test_recency": {"name": "default__test_recency", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/generic_tests/recency.sql", "original_file_path": "macros/generic_tests/recency.sql", "unique_id": "macro.dbt_utils.default__test_recency", "macro_sql": "{% macro default__test_recency(model, field, datepart, interval, ignore_time_component, group_by_columns) %}\n\n{% set threshold = 'cast(' ~ dbt.dateadd(datepart, interval * -1, dbt.current_timestamp()) ~ ' as ' ~ ('date' if ignore_time_component else dbt.type_timestamp()) ~ ')' %}\n\n{% if group_by_columns|length() > 0 %}\n {% set select_gb_cols = group_by_columns|join(' ,') + ', ' %}\n {% set groupby_gb_cols = 'group by ' + group_by_columns|join(',') %}\n{% endif %}\n\n\nwith recency as (\n\n select \n\n {{ select_gb_cols }}\n {% if ignore_time_component %}\n cast(max({{ field }}) as date) as most_recent\n {%- else %}\n max({{ field }}) as most_recent\n {%- endif %}\n\n from {{ model }}\n\n {{ groupby_gb_cols }}\n\n)\n\nselect\n\n {{ select_gb_cols }}\n most_recent,\n {{ threshold }} as threshold\n\nfrom recency\nwhere most_recent < {{ threshold }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.dateadd", "macro.dbt.current_timestamp", "macro.dbt.type_timestamp"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.691319, "supported_languages": null}, "macro.dbt_utils.test_not_constant": {"name": "test_not_constant", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/generic_tests/not_constant.sql", "original_file_path": "macros/generic_tests/not_constant.sql", "unique_id": "macro.dbt_utils.test_not_constant", "macro_sql": "{% test not_constant(model, column_name, group_by_columns = []) %}\n {{ return(adapter.dispatch('test_not_constant', 'dbt_utils')(model, column_name, group_by_columns)) }}\n{% endtest %}", "depends_on": {"macros": ["macro.dbt_utils.default__test_not_constant"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.692404, "supported_languages": null}, "macro.dbt_utils.default__test_not_constant": {"name": "default__test_not_constant", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/generic_tests/not_constant.sql", "original_file_path": "macros/generic_tests/not_constant.sql", "unique_id": "macro.dbt_utils.default__test_not_constant", "macro_sql": "{% macro default__test_not_constant(model, column_name, group_by_columns) %}\n\n{% if group_by_columns|length() > 0 %}\n {% set select_gb_cols = group_by_columns|join(' ,') + ', ' %}\n {% set groupby_gb_cols = 'group by ' + group_by_columns|join(',') %}\n{% endif %}\n\n\nselect\n {# In TSQL, subquery aggregate columns need aliases #}\n {# thus: a filler col name, 'filler_column' #}\n {{select_gb_cols}}\n count(distinct {{ column_name }}) as filler_column\n\nfrom {{ model }}\n\n {{groupby_gb_cols}}\n\nhaving count(distinct {{ column_name }}) = 1\n\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.693613, "supported_languages": null}, "macro.dbt_utils.test_accepted_range": {"name": "test_accepted_range", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/generic_tests/accepted_range.sql", "original_file_path": "macros/generic_tests/accepted_range.sql", "unique_id": "macro.dbt_utils.test_accepted_range", "macro_sql": "{% test accepted_range(model, column_name, min_value=none, max_value=none, inclusive=true) %}\n {{ return(adapter.dispatch('test_accepted_range', 'dbt_utils')(model, column_name, min_value, max_value, inclusive)) }}\n{% endtest %}", "depends_on": {"macros": ["macro.dbt_utils.default__test_accepted_range"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.694983, "supported_languages": null}, "macro.dbt_utils.default__test_accepted_range": {"name": "default__test_accepted_range", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/generic_tests/accepted_range.sql", "original_file_path": "macros/generic_tests/accepted_range.sql", "unique_id": "macro.dbt_utils.default__test_accepted_range", "macro_sql": "{% macro default__test_accepted_range(model, column_name, min_value=none, max_value=none, inclusive=true) %}\n\nwith meet_condition as(\n select *\n from {{ model }}\n),\n\nvalidation_errors as (\n select *\n from meet_condition\n where\n -- never true, defaults to an empty result set. Exists to ensure any combo of the `or` clauses below succeeds\n 1 = 2\n\n {%- if min_value is not none %}\n -- records with a value >= min_value are permitted. The `not` flips this to find records that don't meet the rule.\n or not {{ column_name }} > {{- \"=\" if inclusive }} {{ min_value }}\n {%- endif %}\n\n {%- if max_value is not none %}\n -- records with a value <= max_value are permitted. The `not` flips this to find records that don't meet the rule.\n or not {{ column_name }} < {{- \"=\" if inclusive }} {{ max_value }}\n {%- endif %}\n)\n\nselect *\nfrom validation_errors\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.6962152, "supported_languages": null}, "macro.dbt_utils.test_not_accepted_values": {"name": "test_not_accepted_values", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/generic_tests/not_accepted_values.sql", "original_file_path": "macros/generic_tests/not_accepted_values.sql", "unique_id": "macro.dbt_utils.test_not_accepted_values", "macro_sql": "{% test not_accepted_values(model, column_name, values, quote=True) %}\n {{ return(adapter.dispatch('test_not_accepted_values', 'dbt_utils')(model, column_name, values, quote)) }}\n{% endtest %}", "depends_on": {"macros": ["macro.dbt_utils.default__test_not_accepted_values"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.697547, "supported_languages": null}, "macro.dbt_utils.default__test_not_accepted_values": {"name": "default__test_not_accepted_values", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/generic_tests/not_accepted_values.sql", "original_file_path": "macros/generic_tests/not_accepted_values.sql", "unique_id": "macro.dbt_utils.default__test_not_accepted_values", "macro_sql": "{% macro default__test_not_accepted_values(model, column_name, values, quote=True) %}\nwith all_values as (\n\n select distinct\n {{ column_name }} as value_field\n\n from {{ model }}\n\n),\n\nvalidation_errors as (\n\n select\n value_field\n\n from all_values\n where value_field in (\n {% for value in values -%}\n {% if quote -%}\n '{{ value }}'\n {%- else -%}\n {{ value }}\n {%- endif -%}\n {%- if not loop.last -%},{%- endif %}\n {%- endfor %}\n )\n\n)\n\nselect *\nfrom validation_errors\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.6987112, "supported_languages": null}, "macro.dbt_utils.test_at_least_one": {"name": "test_at_least_one", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/generic_tests/at_least_one.sql", "original_file_path": "macros/generic_tests/at_least_one.sql", "unique_id": "macro.dbt_utils.test_at_least_one", "macro_sql": "{% test at_least_one(model, column_name, group_by_columns = []) %}\n {{ return(adapter.dispatch('test_at_least_one', 'dbt_utils')(model, column_name, group_by_columns)) }}\n{% endtest %}", "depends_on": {"macros": ["macro.dbt_utils.default__test_at_least_one"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.700235, "supported_languages": null}, "macro.dbt_utils.default__test_at_least_one": {"name": "default__test_at_least_one", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/generic_tests/at_least_one.sql", "original_file_path": "macros/generic_tests/at_least_one.sql", "unique_id": "macro.dbt_utils.default__test_at_least_one", "macro_sql": "{% macro default__test_at_least_one(model, column_name, group_by_columns) %}\n\n{% set pruned_cols = [column_name] %}\n\n{% if group_by_columns|length() > 0 %}\n\n {% set select_gb_cols = group_by_columns|join(' ,') + ', ' %}\n {% set groupby_gb_cols = 'group by ' + group_by_columns|join(',') %}\n {% set pruned_cols = group_by_columns %}\n\n {% if column_name not in pruned_cols %}\n {% do pruned_cols.append(column_name) %}\n {% endif %}\n\n{% endif %}\n\n{% set select_pruned_cols = pruned_cols|join(' ,') %}\n\nselect *\nfrom (\n with pruned_rows as (\n select\n {{ select_pruned_cols }}\n from {{ model }}\n where {{ column_name }} is not null\n limit 1\n )\n select\n {# In TSQL, subquery aggregate columns need aliases #}\n {# thus: a filler col name, 'filler_column' #}\n {{select_gb_cols}}\n count({{ column_name }}) as filler_column\n\n from pruned_rows\n\n {{groupby_gb_cols}}\n\n having count({{ column_name }}) = 0\n\n) validation_errors\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.7024262, "supported_languages": null}, "macro.dbt_utils.test_unique_combination_of_columns": {"name": "test_unique_combination_of_columns", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/generic_tests/unique_combination_of_columns.sql", "original_file_path": "macros/generic_tests/unique_combination_of_columns.sql", "unique_id": "macro.dbt_utils.test_unique_combination_of_columns", "macro_sql": "{% test unique_combination_of_columns(model, combination_of_columns, quote_columns=false) %}\n {{ return(adapter.dispatch('test_unique_combination_of_columns', 'dbt_utils')(model, combination_of_columns, quote_columns)) }}\n{% endtest %}", "depends_on": {"macros": ["macro.dbt_utils.default__test_unique_combination_of_columns"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.7038898, "supported_languages": null}, "macro.dbt_utils.default__test_unique_combination_of_columns": {"name": "default__test_unique_combination_of_columns", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/generic_tests/unique_combination_of_columns.sql", "original_file_path": "macros/generic_tests/unique_combination_of_columns.sql", "unique_id": "macro.dbt_utils.default__test_unique_combination_of_columns", "macro_sql": "{% macro default__test_unique_combination_of_columns(model, combination_of_columns, quote_columns=false) %}\n\n{% if not quote_columns %}\n {%- set column_list=combination_of_columns %}\n{% elif quote_columns %}\n {%- set column_list=[] %}\n {% for column in combination_of_columns -%}\n {% set column_list = column_list.append( adapter.quote(column) ) %}\n {%- endfor %}\n{% else %}\n {{ exceptions.raise_compiler_error(\n \"`quote_columns` argument for unique_combination_of_columns test must be one of [True, False] Got: '\" ~ quote ~\"'.'\"\n ) }}\n{% endif %}\n\n{%- set columns_csv=column_list | join(', ') %}\n\n\nwith validation_errors as (\n\n select\n {{ columns_csv }}\n from {{ model }}\n group by {{ columns_csv }}\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.7056599, "supported_languages": null}, "macro.dbt_utils.test_cardinality_equality": {"name": "test_cardinality_equality", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/generic_tests/cardinality_equality.sql", "original_file_path": "macros/generic_tests/cardinality_equality.sql", "unique_id": "macro.dbt_utils.test_cardinality_equality", "macro_sql": "{% test cardinality_equality(model, column_name, to, field) %}\n {{ return(adapter.dispatch('test_cardinality_equality', 'dbt_utils')(model, column_name, to, field)) }}\n{% endtest %}", "depends_on": {"macros": ["macro.dbt_utils.default__test_cardinality_equality"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.707307, "supported_languages": null}, "macro.dbt_utils.default__test_cardinality_equality": {"name": "default__test_cardinality_equality", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/generic_tests/cardinality_equality.sql", "original_file_path": "macros/generic_tests/cardinality_equality.sql", "unique_id": "macro.dbt_utils.default__test_cardinality_equality", "macro_sql": "{% macro default__test_cardinality_equality(model, column_name, to, field) %}\n\n{# T-SQL does not let you use numbers as aliases for columns #}\n{# Thus, no \"GROUP BY 1\" #}\n\nwith table_a as (\nselect\n {{ column_name }},\n count(*) as num_rows\nfrom {{ model }}\ngroup by {{ column_name }}\n),\n\ntable_b as (\nselect\n {{ field }},\n count(*) as num_rows\nfrom {{ to }}\ngroup by {{ field }}\n),\n\nexcept_a as (\n select *\n from table_a\n {{ dbt.except() }}\n select *\n from table_b\n),\n\nexcept_b as (\n select *\n from table_b\n {{ dbt.except() }}\n select *\n from table_a\n),\n\nunioned as (\n select *\n from except_a\n union all\n select *\n from except_b\n)\n\nselect *\nfrom unioned\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.except"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.708417, "supported_languages": null}, "macro.dbt_utils.test_expression_is_true": {"name": "test_expression_is_true", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/generic_tests/expression_is_true.sql", "original_file_path": "macros/generic_tests/expression_is_true.sql", "unique_id": "macro.dbt_utils.test_expression_is_true", "macro_sql": "{% test expression_is_true(model, expression, column_name=None) %}\n {{ return(adapter.dispatch('test_expression_is_true', 'dbt_utils')(model, expression, column_name)) }}\n{% endtest %}", "depends_on": {"macros": ["macro.dbt_utils.default__test_expression_is_true"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.709586, "supported_languages": null}, "macro.dbt_utils.default__test_expression_is_true": {"name": "default__test_expression_is_true", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/generic_tests/expression_is_true.sql", "original_file_path": "macros/generic_tests/expression_is_true.sql", "unique_id": "macro.dbt_utils.default__test_expression_is_true", "macro_sql": "{% macro default__test_expression_is_true(model, expression, column_name) %}\n\n{% set column_list = '*' if should_store_failures() else \"1\" %}\n\nselect\n {{ column_list }}\nfrom {{ model }}\n{% if column_name is none %}\nwhere not({{ expression }})\n{%- else %}\nwhere not({{ column_name }} {{ expression }})\n{%- endif %}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.should_store_failures"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.710599, "supported_languages": null}, "macro.dbt_utils.test_not_null_proportion": {"name": "test_not_null_proportion", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/generic_tests/not_null_proportion.sql", "original_file_path": "macros/generic_tests/not_null_proportion.sql", "unique_id": "macro.dbt_utils.test_not_null_proportion", "macro_sql": "{% macro test_not_null_proportion(model, group_by_columns = []) %}\n {{ return(adapter.dispatch('test_not_null_proportion', 'dbt_utils')(model, group_by_columns, **kwargs)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.default__test_not_null_proportion"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.7120268, "supported_languages": null}, "macro.dbt_utils.default__test_not_null_proportion": {"name": "default__test_not_null_proportion", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/generic_tests/not_null_proportion.sql", "original_file_path": "macros/generic_tests/not_null_proportion.sql", "unique_id": "macro.dbt_utils.default__test_not_null_proportion", "macro_sql": "{% macro default__test_not_null_proportion(model, group_by_columns) %}\n\n{% set column_name = kwargs.get('column_name', kwargs.get('arg')) %}\n{% set at_least = kwargs.get('at_least', kwargs.get('arg')) %}\n{% set at_most = kwargs.get('at_most', kwargs.get('arg', 1)) %}\n\n{% if group_by_columns|length() > 0 %}\n {% set select_gb_cols = group_by_columns|join(' ,') + ', ' %}\n {% set groupby_gb_cols = 'group by ' + group_by_columns|join(',') %}\n{% endif %}\n\nwith validation as (\n select\n {{select_gb_cols}}\n sum(case when {{ column_name }} is null then 0 else 1 end) / cast(count(*) as numeric) as not_null_proportion\n from {{ model }}\n {{groupby_gb_cols}}\n),\nvalidation_errors as (\n select\n {{select_gb_cols}}\n not_null_proportion\n from validation\n where not_null_proportion < {{ at_least }} or not_null_proportion > {{ at_most }}\n)\nselect\n *\nfrom validation_errors\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.714408, "supported_languages": null}, "macro.dbt_utils.test_sequential_values": {"name": "test_sequential_values", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/generic_tests/sequential_values.sql", "original_file_path": "macros/generic_tests/sequential_values.sql", "unique_id": "macro.dbt_utils.test_sequential_values", "macro_sql": "{% test sequential_values(model, column_name, interval=1, datepart=None, group_by_columns = []) %}\n\n {{ return(adapter.dispatch('test_sequential_values', 'dbt_utils')(model, column_name, interval, datepart, group_by_columns)) }}\n\n{% endtest %}", "depends_on": {"macros": ["macro.dbt_utils.default__test_sequential_values"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.716325, "supported_languages": null}, "macro.dbt_utils.default__test_sequential_values": {"name": "default__test_sequential_values", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/generic_tests/sequential_values.sql", "original_file_path": "macros/generic_tests/sequential_values.sql", "unique_id": "macro.dbt_utils.default__test_sequential_values", "macro_sql": "{% macro default__test_sequential_values(model, column_name, interval=1, datepart=None, group_by_columns = []) %}\n\n{% set previous_column_name = \"previous_\" ~ dbt_utils.slugify(column_name) %}\n\n{% if group_by_columns|length() > 0 %}\n {% set select_gb_cols = group_by_columns|join(',') + ', ' %}\n {% set partition_gb_cols = 'partition by ' + group_by_columns|join(',') %}\n{% endif %}\n\nwith windowed as (\n\n select\n {{ select_gb_cols }}\n {{ column_name }},\n lag({{ column_name }}) over (\n {{partition_gb_cols}}\n order by {{ column_name }}\n ) as {{ previous_column_name }}\n from {{ model }}\n),\n\nvalidation_errors as (\n select\n *\n from windowed\n {% if datepart %}\n where not(cast({{ column_name }} as {{ dbt.type_timestamp() }})= cast({{ dbt.dateadd(datepart, interval, previous_column_name) }} as {{ dbt.type_timestamp() }}))\n {% else %}\n where not({{ column_name }} = {{ previous_column_name }} + {{ interval }})\n {% endif %}\n)\n\nselect *\nfrom validation_errors\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.slugify", "macro.dbt.type_timestamp", "macro.dbt.dateadd"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.71871, "supported_languages": null}, "macro.dbt_utils.test_equality": {"name": "test_equality", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/generic_tests/equality.sql", "original_file_path": "macros/generic_tests/equality.sql", "unique_id": "macro.dbt_utils.test_equality", "macro_sql": "{% test equality(model, compare_model, compare_columns=None) %}\n {{ return(adapter.dispatch('test_equality', 'dbt_utils')(model, compare_model, compare_columns)) }}\n{% endtest %}", "depends_on": {"macros": ["macro.dbt_utils.default__test_equality"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.720354, "supported_languages": null}, "macro.dbt_utils.default__test_equality": {"name": "default__test_equality", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/generic_tests/equality.sql", "original_file_path": "macros/generic_tests/equality.sql", "unique_id": "macro.dbt_utils.default__test_equality", "macro_sql": "{% macro default__test_equality(model, compare_model, compare_columns=None) %}\n\n{% set set_diff %}\n count(*) + coalesce(abs(\n sum(case when which_diff = 'a_minus_b' then 1 else 0 end) -\n sum(case when which_diff = 'b_minus_a' then 1 else 0 end)\n ), 0)\n{% endset %}\n\n{#-- Needs to be set at parse time, before we return '' below --#}\n{{ config(fail_calc = set_diff) }}\n\n{#-- Prevent querying of db in parsing mode. This works because this macro does not create any new refs. #}\n{%- if not execute -%}\n {{ return('') }}\n{% endif %}\n\n-- setup\n{%- do dbt_utils._is_relation(model, 'test_equality') -%}\n\n{#-\nIf the compare_cols arg is provided, we can run this test without querying the\ninformation schema\u00a0\u2014 this allows the model to be an ephemeral model\n-#}\n\n{%- if not compare_columns -%}\n {%- do dbt_utils._is_ephemeral(model, 'test_equality') -%}\n {%- set compare_columns = adapter.get_columns_in_relation(model) | map(attribute='quoted') -%}\n{%- endif -%}\n\n{% set compare_cols_csv = compare_columns | join(', ') %}\n\nwith a as (\n\n select * from {{ model }}\n\n),\n\nb as (\n\n select * from {{ compare_model }}\n\n),\n\na_minus_b as (\n\n select {{compare_cols_csv}} from a\n {{ dbt.except() }}\n select {{compare_cols_csv}} from b\n\n),\n\nb_minus_a as (\n\n select {{compare_cols_csv}} from b\n {{ dbt.except() }}\n select {{compare_cols_csv}} from a\n\n),\n\nunioned as (\n\n select 'a_minus_b' as which_diff, a_minus_b.* from a_minus_b\n union all\n select 'b_minus_a' as which_diff, b_minus_a.* from b_minus_a\n\n)\n\nselect * from unioned\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils._is_relation", "macro.dbt_utils._is_ephemeral", "macro.dbt.except"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.722631, "supported_languages": null}, "macro.dbt_utils.test_not_empty_string": {"name": "test_not_empty_string", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/generic_tests/not_empty_string.sql", "original_file_path": "macros/generic_tests/not_empty_string.sql", "unique_id": "macro.dbt_utils.test_not_empty_string", "macro_sql": "{% test not_empty_string(model, column_name, trim_whitespace=true) %}\n\n {{ return(adapter.dispatch('test_not_empty_string', 'dbt_utils')(model, column_name, trim_whitespace)) }}\n\n{% endtest %}", "depends_on": {"macros": ["macro.dbt_utils.default__test_not_empty_string"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.7237608, "supported_languages": null}, "macro.dbt_utils.default__test_not_empty_string": {"name": "default__test_not_empty_string", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/generic_tests/not_empty_string.sql", "original_file_path": "macros/generic_tests/not_empty_string.sql", "unique_id": "macro.dbt_utils.default__test_not_empty_string", "macro_sql": "{% macro default__test_not_empty_string(model, column_name, trim_whitespace=true) %}\n\n with\n \n all_values as (\n\n select \n\n\n {% if trim_whitespace == true -%}\n\n trim({{ column_name }}) as {{ column_name }}\n\n {%- else -%}\n\n {{ column_name }}\n\n {%- endif %}\n \n from {{ model }}\n\n ),\n\n errors as (\n\n select * from all_values\n where {{ column_name }} = ''\n\n )\n\n select * from errors\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.724551, "supported_languages": null}, "macro.dbt_utils.test_mutually_exclusive_ranges": {"name": "test_mutually_exclusive_ranges", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/generic_tests/mutually_exclusive_ranges.sql", "original_file_path": "macros/generic_tests/mutually_exclusive_ranges.sql", "unique_id": "macro.dbt_utils.test_mutually_exclusive_ranges", "macro_sql": "{% test mutually_exclusive_ranges(model, lower_bound_column, upper_bound_column, partition_by=None, gaps='allowed', zero_length_range_allowed=False) %}\n {{ return(adapter.dispatch('test_mutually_exclusive_ranges', 'dbt_utils')(model, lower_bound_column, upper_bound_column, partition_by, gaps, zero_length_range_allowed)) }}\n{% endtest %}", "depends_on": {"macros": ["macro.dbt_utils.default__test_mutually_exclusive_ranges"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.7308218, "supported_languages": null}, "macro.dbt_utils.default__test_mutually_exclusive_ranges": {"name": "default__test_mutually_exclusive_ranges", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/generic_tests/mutually_exclusive_ranges.sql", "original_file_path": "macros/generic_tests/mutually_exclusive_ranges.sql", "unique_id": "macro.dbt_utils.default__test_mutually_exclusive_ranges", "macro_sql": "{% macro default__test_mutually_exclusive_ranges(model, lower_bound_column, upper_bound_column, partition_by=None, gaps='allowed', zero_length_range_allowed=False) %}\n{% if gaps == 'not_allowed' %}\n {% set allow_gaps_operator='=' %}\n {% set allow_gaps_operator_in_words='equal_to' %}\n{% elif gaps == 'allowed' %}\n {% set allow_gaps_operator='<=' %}\n {% set allow_gaps_operator_in_words='less_than_or_equal_to' %}\n{% elif gaps == 'required' %}\n {% set allow_gaps_operator='<' %}\n {% set allow_gaps_operator_in_words='less_than' %}\n{% else %}\n {{ exceptions.raise_compiler_error(\n \"`gaps` argument for mutually_exclusive_ranges test must be one of ['not_allowed', 'allowed', 'required'] Got: '\" ~ gaps ~\"'.'\"\n ) }}\n{% endif %}\n{% if not zero_length_range_allowed %}\n {% set allow_zero_length_operator='<' %}\n {% set allow_zero_length_operator_in_words='less_than' %}\n{% elif zero_length_range_allowed %}\n {% set allow_zero_length_operator='<=' %}\n {% set allow_zero_length_operator_in_words='less_than_or_equal_to' %}\n{% else %}\n {{ exceptions.raise_compiler_error(\n \"`zero_length_range_allowed` argument for mutually_exclusive_ranges test must be one of [true, false] Got: '\" ~ zero_length_range_allowed ~\"'.'\"\n ) }}\n{% endif %}\n\n{% set partition_clause=\"partition by \" ~ partition_by if partition_by else '' %}\n\nwith window_functions as (\n\n select\n {% if partition_by %}\n {{ partition_by }} as partition_by_col,\n {% endif %}\n {{ lower_bound_column }} as lower_bound,\n {{ upper_bound_column }} as upper_bound,\n\n lead({{ lower_bound_column }}) over (\n {{ partition_clause }}\n order by {{ lower_bound_column }}, {{ upper_bound_column }}\n ) as next_lower_bound,\n\n row_number() over (\n {{ partition_clause }}\n order by {{ lower_bound_column }} desc, {{ upper_bound_column }} desc\n ) = 1 as is_last_record\n\n from {{ model }}\n\n),\n\ncalc as (\n -- We want to return records where one of our assumptions fails, so we'll use\n -- the `not` function with `and` statements so we can write our assumptions more cleanly\n select\n *,\n\n -- For each record: lower_bound should be < upper_bound.\n -- Coalesce it to return an error on the null case (implicit assumption\n -- these columns are not_null)\n coalesce(\n lower_bound {{ allow_zero_length_operator }} upper_bound,\n false\n ) as lower_bound_{{ allow_zero_length_operator_in_words }}_upper_bound,\n\n -- For each record: upper_bound {{ allow_gaps_operator }} the next lower_bound.\n -- Coalesce it to handle null cases for the last record.\n coalesce(\n upper_bound {{ allow_gaps_operator }} next_lower_bound,\n is_last_record,\n false\n ) as upper_bound_{{ allow_gaps_operator_in_words }}_next_lower_bound\n\n from window_functions\n\n),\n\nvalidation_errors as (\n\n select\n *\n from calc\n\n where not(\n -- THE FOLLOWING SHOULD BE TRUE --\n lower_bound_{{ allow_zero_length_operator_in_words }}_upper_bound\n and upper_bound_{{ allow_gaps_operator_in_words }}_next_lower_bound\n )\n)\n\nselect * from validation_errors\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.735382, "supported_languages": null}, "macro.dbt_utils.pretty_log_format": {"name": "pretty_log_format", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/jinja_helpers/pretty_log_format.sql", "original_file_path": "macros/jinja_helpers/pretty_log_format.sql", "unique_id": "macro.dbt_utils.pretty_log_format", "macro_sql": "{% macro pretty_log_format(message) %}\n {{ return(adapter.dispatch('pretty_log_format', 'dbt_utils')(message)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.default__pretty_log_format"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.7366662, "supported_languages": null}, "macro.dbt_utils.default__pretty_log_format": {"name": "default__pretty_log_format", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/jinja_helpers/pretty_log_format.sql", "original_file_path": "macros/jinja_helpers/pretty_log_format.sql", "unique_id": "macro.dbt_utils.default__pretty_log_format", "macro_sql": "{% macro default__pretty_log_format(message) %}\n {{ return( dbt_utils.pretty_time() ~ ' + ' ~ message) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.pretty_time"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.737631, "supported_languages": null}, "macro.dbt_utils._is_relation": {"name": "_is_relation", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/jinja_helpers/_is_relation.sql", "original_file_path": "macros/jinja_helpers/_is_relation.sql", "unique_id": "macro.dbt_utils._is_relation", "macro_sql": "{% macro _is_relation(obj, macro) %}\n {%- if not (obj is mapping and obj.get('metadata', {}).get('type', '').endswith('Relation')) -%}\n {%- do exceptions.raise_compiler_error(\"Macro \" ~ macro ~ \" expected a Relation but received the value: \" ~ obj) -%}\n {%- endif -%}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.739203, "supported_languages": null}, "macro.dbt_utils.pretty_time": {"name": "pretty_time", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/jinja_helpers/pretty_time.sql", "original_file_path": "macros/jinja_helpers/pretty_time.sql", "unique_id": "macro.dbt_utils.pretty_time", "macro_sql": "{% macro pretty_time(format='%H:%M:%S') %}\n {{ return(adapter.dispatch('pretty_time', 'dbt_utils')(format)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.default__pretty_time"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.740042, "supported_languages": null}, "macro.dbt_utils.default__pretty_time": {"name": "default__pretty_time", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/jinja_helpers/pretty_time.sql", "original_file_path": "macros/jinja_helpers/pretty_time.sql", "unique_id": "macro.dbt_utils.default__pretty_time", "macro_sql": "{% macro default__pretty_time(format='%H:%M:%S') %}\n {{ return(modules.datetime.datetime.now().strftime(format)) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.740704, "supported_languages": null}, "macro.dbt_utils.log_info": {"name": "log_info", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/jinja_helpers/log_info.sql", "original_file_path": "macros/jinja_helpers/log_info.sql", "unique_id": "macro.dbt_utils.log_info", "macro_sql": "{% macro log_info(message) %}\n {{ return(adapter.dispatch('log_info', 'dbt_utils')(message)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.default__log_info"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.741421, "supported_languages": null}, "macro.dbt_utils.default__log_info": {"name": "default__log_info", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/jinja_helpers/log_info.sql", "original_file_path": "macros/jinja_helpers/log_info.sql", "unique_id": "macro.dbt_utils.default__log_info", "macro_sql": "{% macro default__log_info(message) %}\n {{ log(dbt_utils.pretty_log_format(message), info=True) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.pretty_log_format"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.741913, "supported_languages": null}, "macro.dbt_utils.slugify": {"name": "slugify", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/jinja_helpers/slugify.sql", "original_file_path": "macros/jinja_helpers/slugify.sql", "unique_id": "macro.dbt_utils.slugify", "macro_sql": "{% macro slugify(string) %}\n\n{#- Lower case the string -#}\n{% set string = string | lower %}\n{#- Replace spaces and dashes with underscores -#}\n{% set string = modules.re.sub('[ -]+', '_', string) %}\n{#- Only take letters, numbers, and underscores -#}\n{% set string = modules.re.sub('[^a-z0-9_]+', '', string) %}\n{#- Prepends \"_\" if string begins with a number -#}\n{% set string = modules.re.sub('^[0-9]', '_' + string[0], string) %}\n\n{{ return(string) }}\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.743537, "supported_languages": null}, "macro.dbt_utils._is_ephemeral": {"name": "_is_ephemeral", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/jinja_helpers/_is_ephemeral.sql", "original_file_path": "macros/jinja_helpers/_is_ephemeral.sql", "unique_id": "macro.dbt_utils._is_ephemeral", "macro_sql": "{% macro _is_ephemeral(obj, macro) %}\n {%- if obj.is_cte -%}\n {% set ephemeral_prefix = api.Relation.add_ephemeral_prefix('') %}\n {% if obj.name.startswith(ephemeral_prefix) %}\n {% set model_name = obj.name[(ephemeral_prefix|length):] %}\n {% else %}\n {% set model_name = obj.name %}\n {%- endif -%}\n {% set error_message %}\nThe `{{ macro }}` macro cannot be used with ephemeral models, as it relies on the information schema.\n\n`{{ model_name }}` is an ephemeral model. Consider making it a view or table instead.\n {% endset %}\n {%- do exceptions.raise_compiler_error(error_message) -%}\n {%- endif -%}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.74561, "supported_languages": null}, "macro.dbt_utils.get_intervals_between": {"name": "get_intervals_between", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/date_spine.sql", "original_file_path": "macros/sql/date_spine.sql", "unique_id": "macro.dbt_utils.get_intervals_between", "macro_sql": "{% macro get_intervals_between(start_date, end_date, datepart) -%}\n {{ return(adapter.dispatch('get_intervals_between', 'dbt_utils')(start_date, end_date, datepart)) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.default__get_intervals_between"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.747199, "supported_languages": null}, "macro.dbt_utils.default__get_intervals_between": {"name": "default__get_intervals_between", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/date_spine.sql", "original_file_path": "macros/sql/date_spine.sql", "unique_id": "macro.dbt_utils.default__get_intervals_between", "macro_sql": "{% macro default__get_intervals_between(start_date, end_date, datepart) -%}\n {%- call statement('get_intervals_between', fetch_result=True) %}\n\n select {{ dbt.datediff(start_date, end_date, datepart) }}\n\n {%- endcall -%}\n\n {%- set value_list = load_result('get_intervals_between') -%}\n\n {%- if value_list and value_list['data'] -%}\n {%- set values = value_list['data'] | map(attribute=0) | list %}\n {{ return(values[0]) }}\n {%- else -%}\n {{ return(1) }}\n {%- endif -%}\n\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.statement", "macro.dbt.datediff"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.7488089, "supported_languages": null}, "macro.dbt_utils.date_spine": {"name": "date_spine", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/date_spine.sql", "original_file_path": "macros/sql/date_spine.sql", "unique_id": "macro.dbt_utils.date_spine", "macro_sql": "{% macro date_spine(datepart, start_date, end_date) %}\n {{ return(adapter.dispatch('date_spine', 'dbt_utils')(datepart, start_date, end_date)) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.default__date_spine"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.749575, "supported_languages": null}, "macro.dbt_utils.default__date_spine": {"name": "default__date_spine", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/date_spine.sql", "original_file_path": "macros/sql/date_spine.sql", "unique_id": "macro.dbt_utils.default__date_spine", "macro_sql": "{% macro default__date_spine(datepart, start_date, end_date) %}\n\n\n{# call as follows:\n\ndate_spine(\n \"day\",\n \"to_date('01/01/2016', 'mm/dd/yyyy')\",\n \"dbt.dateadd(week, 1, current_date)\"\n) #}\n\n\nwith rawdata as (\n\n {{dbt_utils.generate_series(\n dbt_utils.get_intervals_between(start_date, end_date, datepart)\n )}}\n\n),\n\nall_periods as (\n\n select (\n {{\n dbt.dateadd(\n datepart,\n \"row_number() over (order by 1) - 1\",\n start_date\n )\n }}\n ) as date_{{datepart}}\n from rawdata\n\n),\n\nfiltered as (\n\n select *\n from all_periods\n where date_{{datepart}} <= {{ end_date }}\n\n)\n\nselect * from filtered\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.generate_series", "macro.dbt_utils.get_intervals_between", "macro.dbt.dateadd"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.75051, "supported_languages": null}, "macro.dbt_utils.safe_subtract": {"name": "safe_subtract", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/safe_subtract.sql", "original_file_path": "macros/sql/safe_subtract.sql", "unique_id": "macro.dbt_utils.safe_subtract", "macro_sql": "{%- macro safe_subtract(field_list) -%}\n {{ return(adapter.dispatch('safe_subtract', 'dbt_utils')(field_list)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.default__safe_subtract"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.7514172, "supported_languages": null}, "macro.dbt_utils.default__safe_subtract": {"name": "default__safe_subtract", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/safe_subtract.sql", "original_file_path": "macros/sql/safe_subtract.sql", "unique_id": "macro.dbt_utils.default__safe_subtract", "macro_sql": "\n\n{%- macro default__safe_subtract(field_list) -%}\n\n{%- if field_list is not iterable or field_list is string or field_list is mapping -%}\n\n{%- set error_message = '\nWarning: the `safe_subtract` macro takes a single list argument instead of \\\nstring arguments. The {}.{} model triggered this warning. \\\n'.format(model.package_name, model.name) -%}\n\n{%- do exceptions.raise_compiler_error(error_message) -%}\n\n{%- endif -%}\n\n{% set fields = [] %}\n\n{%- for field in field_list -%}\n\n {% do fields.append(\"coalesce(\" ~ field ~ \", 0)\") %}\n\n{%- endfor -%}\n\n{{ fields|join(' -\\n ') }}\n\n{%- endmacro -%}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.752827, "supported_languages": null}, "macro.dbt_utils.nullcheck_table": {"name": "nullcheck_table", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/nullcheck_table.sql", "original_file_path": "macros/sql/nullcheck_table.sql", "unique_id": "macro.dbt_utils.nullcheck_table", "macro_sql": "{% macro nullcheck_table(relation) %}\n {{ return(adapter.dispatch('nullcheck_table', 'dbt_utils')(relation)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.default__nullcheck_table"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.75359, "supported_languages": null}, "macro.dbt_utils.default__nullcheck_table": {"name": "default__nullcheck_table", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/nullcheck_table.sql", "original_file_path": "macros/sql/nullcheck_table.sql", "unique_id": "macro.dbt_utils.default__nullcheck_table", "macro_sql": "{% macro default__nullcheck_table(relation) %}\n\n {%- do dbt_utils._is_relation(relation, 'nullcheck_table') -%}\n {%- do dbt_utils._is_ephemeral(relation, 'nullcheck_table') -%}\n {% set cols = adapter.get_columns_in_relation(relation) %}\n\n select {{ dbt_utils.nullcheck(cols) }}\n from {{relation}}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils._is_relation", "macro.dbt_utils._is_ephemeral", "macro.dbt_utils.nullcheck"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.754484, "supported_languages": null}, "macro.dbt_utils.get_relations_by_pattern": {"name": "get_relations_by_pattern", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/get_relations_by_pattern.sql", "original_file_path": "macros/sql/get_relations_by_pattern.sql", "unique_id": "macro.dbt_utils.get_relations_by_pattern", "macro_sql": "{% macro get_relations_by_pattern(schema_pattern, table_pattern, exclude='', database=target.database) %}\n {{ return(adapter.dispatch('get_relations_by_pattern', 'dbt_utils')(schema_pattern, table_pattern, exclude, database)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.default__get_relations_by_pattern"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.755947, "supported_languages": null}, "macro.dbt_utils.default__get_relations_by_pattern": {"name": "default__get_relations_by_pattern", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/get_relations_by_pattern.sql", "original_file_path": "macros/sql/get_relations_by_pattern.sql", "unique_id": "macro.dbt_utils.default__get_relations_by_pattern", "macro_sql": "{% macro default__get_relations_by_pattern(schema_pattern, table_pattern, exclude='', database=target.database) %}\n\n {%- call statement('get_tables', fetch_result=True) %}\n\n {{ dbt_utils.get_tables_by_pattern_sql(schema_pattern, table_pattern, exclude, database) }}\n\n {%- endcall -%}\n\n {%- set table_list = load_result('get_tables') -%}\n\n {%- if table_list and table_list['table'] -%}\n {%- set tbl_relations = [] -%}\n {%- for row in table_list['table'] -%}\n {%- set tbl_relation = api.Relation.create(\n database=database,\n schema=row.table_schema,\n identifier=row.table_name,\n type=row.table_type\n ) -%}\n {%- do tbl_relations.append(tbl_relation) -%}\n {%- endfor -%}\n\n {{ return(tbl_relations) }}\n {%- else -%}\n {{ return([]) }}\n {%- endif -%}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement", "macro.dbt_utils.get_tables_by_pattern_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.758133, "supported_languages": null}, "macro.dbt_utils.get_powers_of_two": {"name": "get_powers_of_two", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/generate_series.sql", "original_file_path": "macros/sql/generate_series.sql", "unique_id": "macro.dbt_utils.get_powers_of_two", "macro_sql": "{% macro get_powers_of_two(upper_bound) %}\n {{ return(adapter.dispatch('get_powers_of_two', 'dbt_utils')(upper_bound)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.default__get_powers_of_two"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.759789, "supported_languages": null}, "macro.dbt_utils.default__get_powers_of_two": {"name": "default__get_powers_of_two", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/generate_series.sql", "original_file_path": "macros/sql/generate_series.sql", "unique_id": "macro.dbt_utils.default__get_powers_of_two", "macro_sql": "{% macro default__get_powers_of_two(upper_bound) %}\n\n {% if upper_bound <= 0 %}\n {{ exceptions.raise_compiler_error(\"upper bound must be positive\") }}\n {% endif %}\n\n {% for _ in range(1, 100) %}\n {% if upper_bound <= 2 ** loop.index %}{{ return(loop.index) }}{% endif %}\n {% endfor %}\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.760894, "supported_languages": null}, "macro.dbt_utils.generate_series": {"name": "generate_series", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/generate_series.sql", "original_file_path": "macros/sql/generate_series.sql", "unique_id": "macro.dbt_utils.generate_series", "macro_sql": "{% macro generate_series(upper_bound) %}\n {{ return(adapter.dispatch('generate_series', 'dbt_utils')(upper_bound)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.default__generate_series"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.7614, "supported_languages": null}, "macro.dbt_utils.default__generate_series": {"name": "default__generate_series", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/generate_series.sql", "original_file_path": "macros/sql/generate_series.sql", "unique_id": "macro.dbt_utils.default__generate_series", "macro_sql": "{% macro default__generate_series(upper_bound) %}\n\n {% set n = dbt_utils.get_powers_of_two(upper_bound) %}\n\n with p as (\n select 0 as generated_number union all select 1\n ), unioned as (\n\n select\n\n {% for i in range(n) %}\n p{{i}}.generated_number * power(2, {{i}})\n {% if not loop.last %} + {% endif %}\n {% endfor %}\n + 1\n as generated_number\n\n from\n\n {% for i in range(n) %}\n p as p{{i}}\n {% if not loop.last %} cross join {% endif %}\n {% endfor %}\n\n )\n\n select *\n from unioned\n where generated_number <= {{upper_bound}}\n order by generated_number\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.get_powers_of_two"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.762788, "supported_languages": null}, "macro.dbt_utils.get_relations_by_prefix": {"name": "get_relations_by_prefix", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/get_relations_by_prefix.sql", "original_file_path": "macros/sql/get_relations_by_prefix.sql", "unique_id": "macro.dbt_utils.get_relations_by_prefix", "macro_sql": "{% macro get_relations_by_prefix(schema, prefix, exclude='', database=target.database) %}\n {{ return(adapter.dispatch('get_relations_by_prefix', 'dbt_utils')(schema, prefix, exclude, database)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.default__get_relations_by_prefix"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.7643259, "supported_languages": null}, "macro.dbt_utils.default__get_relations_by_prefix": {"name": "default__get_relations_by_prefix", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/get_relations_by_prefix.sql", "original_file_path": "macros/sql/get_relations_by_prefix.sql", "unique_id": "macro.dbt_utils.default__get_relations_by_prefix", "macro_sql": "{% macro default__get_relations_by_prefix(schema, prefix, exclude='', database=target.database) %}\n\n {%- call statement('get_tables', fetch_result=True) %}\n\n {{ dbt_utils.get_tables_by_prefix_sql(schema, prefix, exclude, database) }}\n\n {%- endcall -%}\n\n {%- set table_list = load_result('get_tables') -%}\n\n {%- if table_list and table_list['table'] -%}\n {%- set tbl_relations = [] -%}\n {%- for row in table_list['table'] -%}\n {%- set tbl_relation = api.Relation.create(\n database=database,\n schema=row.table_schema,\n identifier=row.table_name,\n type=row.table_type\n ) -%}\n {%- do tbl_relations.append(tbl_relation) -%}\n {%- endfor -%}\n\n {{ return(tbl_relations) }}\n {%- else -%}\n {{ return([]) }}\n {%- endif -%}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement", "macro.dbt_utils.get_tables_by_prefix_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.7666051, "supported_languages": null}, "macro.dbt_utils.get_tables_by_prefix_sql": {"name": "get_tables_by_prefix_sql", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/get_tables_by_prefix_sql.sql", "original_file_path": "macros/sql/get_tables_by_prefix_sql.sql", "unique_id": "macro.dbt_utils.get_tables_by_prefix_sql", "macro_sql": "{% macro get_tables_by_prefix_sql(schema, prefix, exclude='', database=target.database) %}\n {{ return(adapter.dispatch('get_tables_by_prefix_sql', 'dbt_utils')(schema, prefix, exclude, database)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.default__get_tables_by_prefix_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.76771, "supported_languages": null}, "macro.dbt_utils.default__get_tables_by_prefix_sql": {"name": "default__get_tables_by_prefix_sql", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/get_tables_by_prefix_sql.sql", "original_file_path": "macros/sql/get_tables_by_prefix_sql.sql", "unique_id": "macro.dbt_utils.default__get_tables_by_prefix_sql", "macro_sql": "{% macro default__get_tables_by_prefix_sql(schema, prefix, exclude='', database=target.database) %}\n\n {{ dbt_utils.get_tables_by_pattern_sql(\n schema_pattern = schema,\n table_pattern = prefix ~ '%',\n exclude = exclude,\n database = database\n ) }}\n \n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.get_tables_by_pattern_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.768554, "supported_languages": null}, "macro.dbt_utils.star": {"name": "star", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/star.sql", "original_file_path": "macros/sql/star.sql", "unique_id": "macro.dbt_utils.star", "macro_sql": "{% macro star(from, relation_alias=False, except=[], prefix='', suffix='', quote_identifiers=True) -%}\r\n {{ return(adapter.dispatch('star', 'dbt_utils')(from, relation_alias, except, prefix, suffix, quote_identifiers)) }}\r\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.default__star"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.7718651, "supported_languages": null}, "macro.dbt_utils.default__star": {"name": "default__star", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/star.sql", "original_file_path": "macros/sql/star.sql", "unique_id": "macro.dbt_utils.default__star", "macro_sql": "{% macro default__star(from, relation_alias=False, except=[], prefix='', suffix='', quote_identifiers=True) -%}\r\n {%- do dbt_utils._is_relation(from, 'star') -%}\r\n {%- do dbt_utils._is_ephemeral(from, 'star') -%}\r\n\r\n {#-- Prevent querying of db in parsing mode. This works because this macro does not create any new refs. #}\r\n {%- if not execute -%}\r\n {% do return('*') %}\r\n {%- endif -%}\r\n\r\n {% set cols = dbt_utils.get_filtered_columns_in_relation(from, except) %}\r\n\r\n {%- if cols|length <= 0 -%}\r\n {% if flags.WHICH == 'compile' %}\r\n {% set response %}\r\n*\r\n/* No columns were returned. Maybe the relation doesn't exist yet \r\nor all columns were excluded. This star is only output during \r\ndbt compile, and exists to keep SQLFluff happy. */\r\n {% endset %}\r\n {% do return(response) %}\r\n {% else %}\r\n {% do return(\"/* no columns returned from star() macro */\") %}\r\n {% endif %}\r\n {%- else -%}\r\n {%- for col in cols %}\r\n {%- if relation_alias %}{{ relation_alias }}.{% else %}{%- endif -%}\r\n {%- if quote_identifiers -%}\r\n {{ adapter.quote(col)|trim }} {%- if prefix!='' or suffix!='' %} as {{ adapter.quote(prefix ~ col ~ suffix)|trim }} {%- endif -%}\r\n {%- else -%}\r\n {{ col|trim }} {%- if prefix!='' or suffix!='' %} as {{ (prefix ~ col ~ suffix)|trim }} {%- endif -%}\r\n {% endif %}\r\n {%- if not loop.last %},{{ '\\n ' }}{%- endif -%}\r\n {%- endfor -%}\r\n {% endif %}\r\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt_utils._is_relation", "macro.dbt_utils._is_ephemeral", "macro.dbt_utils.get_filtered_columns_in_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.7757728, "supported_languages": null}, "macro.dbt_utils.unpivot": {"name": "unpivot", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/unpivot.sql", "original_file_path": "macros/sql/unpivot.sql", "unique_id": "macro.dbt_utils.unpivot", "macro_sql": "{% macro unpivot(relation=none, cast_to='varchar', exclude=none, remove=none, field_name='field_name', value_name='value') -%}\n {{ return(adapter.dispatch('unpivot', 'dbt_utils')(relation, cast_to, exclude, remove, field_name, value_name)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.default__unpivot"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.778518, "supported_languages": null}, "macro.dbt_utils.default__unpivot": {"name": "default__unpivot", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/unpivot.sql", "original_file_path": "macros/sql/unpivot.sql", "unique_id": "macro.dbt_utils.default__unpivot", "macro_sql": "{% macro default__unpivot(relation=none, cast_to='varchar', exclude=none, remove=none, field_name='field_name', value_name='value') -%}\n\n {% if not relation %}\n {{ exceptions.raise_compiler_error(\"Error: argument `relation` is required for `unpivot` macro.\") }}\n {% endif %}\n\n {%- set exclude = exclude if exclude is not none else [] %}\n {%- set remove = remove if remove is not none else [] %}\n\n {%- set include_cols = [] %}\n\n {%- set table_columns = {} %}\n\n {%- do table_columns.update({relation: []}) %}\n\n {%- do dbt_utils._is_relation(relation, 'unpivot') -%}\n {%- do dbt_utils._is_ephemeral(relation, 'unpivot') -%}\n {%- set cols = adapter.get_columns_in_relation(relation) %}\n\n {%- for col in cols -%}\n {%- if col.column.lower() not in remove|map('lower') and col.column.lower() not in exclude|map('lower') -%}\n {% do include_cols.append(col) %}\n {%- endif %}\n {%- endfor %}\n\n\n {%- for col in include_cols -%}\n select\n {%- for exclude_col in exclude %}\n {{ exclude_col }},\n {%- endfor %}\n\n cast('{{ col.column }}' as {{ dbt.type_string() }}) as {{ field_name }},\n cast( {% if col.data_type == 'boolean' %}\n {{ dbt.cast_bool_to_text(col.column) }}\n {% else %}\n {{ col.column }}\n {% endif %}\n as {{ cast_to }}) as {{ value_name }}\n\n from {{ relation }}\n\n {% if not loop.last -%}\n union all\n {% endif -%}\n {%- endfor -%}\n\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt_utils._is_relation", "macro.dbt_utils._is_ephemeral", "macro.dbt.type_string", "macro.dbt.cast_bool_to_text"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.782683, "supported_languages": null}, "macro.dbt_utils.safe_divide": {"name": "safe_divide", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/safe_divide.sql", "original_file_path": "macros/sql/safe_divide.sql", "unique_id": "macro.dbt_utils.safe_divide", "macro_sql": "{% macro safe_divide(numerator, denominator) -%}\n {{ return(adapter.dispatch('safe_divide', 'dbt_utils')(numerator, denominator)) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.default__safe_divide"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.7834299, "supported_languages": null}, "macro.dbt_utils.default__safe_divide": {"name": "default__safe_divide", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/safe_divide.sql", "original_file_path": "macros/sql/safe_divide.sql", "unique_id": "macro.dbt_utils.default__safe_divide", "macro_sql": "{% macro default__safe_divide(numerator, denominator) %}\n ( {{ numerator }} ) / nullif( ( {{ denominator }} ), 0)\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.7837892, "supported_languages": null}, "macro.dbt_utils.union_relations": {"name": "union_relations", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/union.sql", "original_file_path": "macros/sql/union.sql", "unique_id": "macro.dbt_utils.union_relations", "macro_sql": "{%- macro union_relations(relations, column_override=none, include=[], exclude=[], source_column_name='_dbt_source_relation', where=none) -%}\n {{ return(adapter.dispatch('union_relations', 'dbt_utils')(relations, column_override, include, exclude, source_column_name, where)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.default__union_relations"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.7893791, "supported_languages": null}, "macro.dbt_utils.default__union_relations": {"name": "default__union_relations", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/union.sql", "original_file_path": "macros/sql/union.sql", "unique_id": "macro.dbt_utils.default__union_relations", "macro_sql": "\n\n{%- macro default__union_relations(relations, column_override=none, include=[], exclude=[], source_column_name='_dbt_source_relation', where=none) -%}\n\n {%- if exclude and include -%}\n {{ exceptions.raise_compiler_error(\"Both an exclude and include list were provided to the `union` macro. Only one is allowed\") }}\n {%- endif -%}\n\n {#-- Prevent querying of db in parsing mode. This works because this macro does not create any new refs. -#}\n {%- if not execute %}\n {{ return('') }}\n {% endif -%}\n\n {%- set column_override = column_override if column_override is not none else {} -%}\n\n {%- set relation_columns = {} -%}\n {%- set column_superset = {} -%}\n {%- set all_excludes = [] -%}\n {%- set all_includes = [] -%}\n\n {%- if exclude -%}\n {%- for exc in exclude -%}\n {%- do all_excludes.append(exc | lower) -%}\n {%- endfor -%}\n {%- endif -%}\n\n {%- if include -%}\n {%- for inc in include -%}\n {%- do all_includes.append(inc | lower) -%}\n {%- endfor -%}\n {%- endif -%}\n\n {%- for relation in relations -%}\n\n {%- do relation_columns.update({relation: []}) -%}\n\n {%- do dbt_utils._is_relation(relation, 'union_relations') -%}\n {%- do dbt_utils._is_ephemeral(relation, 'union_relations') -%}\n {%- set cols = adapter.get_columns_in_relation(relation) -%}\n {%- for col in cols -%}\n\n {#- If an exclude list was provided and the column is in the list, do nothing -#}\n {%- if exclude and col.column | lower in all_excludes -%}\n\n {#- If an include list was provided and the column is not in the list, do nothing -#}\n {%- elif include and col.column | lower not in all_includes -%}\n\n {#- Otherwise add the column to the column superset -#}\n {%- else -%}\n\n {#- update the list of columns in this relation -#}\n {%- do relation_columns[relation].append(col.column) -%}\n\n {%- if col.column in column_superset -%}\n\n {%- set stored = column_superset[col.column] -%}\n {%- if col.is_string() and stored.is_string() and col.string_size() > stored.string_size() -%}\n\n {%- do column_superset.update({col.column: col}) -%}\n\n {%- endif %}\n\n {%- else -%}\n\n {%- do column_superset.update({col.column: col}) -%}\n\n {%- endif -%}\n\n {%- endif -%}\n\n {%- endfor -%}\n {%- endfor -%}\n\n {%- set ordered_column_names = column_superset.keys() -%}\n {%- set dbt_command = flags.WHICH -%}\n\n\n {% if dbt_command in ['run', 'build'] %}\n {% if (include | length > 0 or exclude | length > 0) and not column_superset.keys() %}\n {%- set relations_string -%}\n {%- for relation in relations -%}\n {{ relation.name }}\n {%- if not loop.last %}, {% endif -%}\n {%- endfor -%}\n {%- endset -%}\n\n {%- set error_message -%}\n There were no columns found to union for relations {{ relations_string }}\n {%- endset -%}\n\n {{ exceptions.raise_compiler_error(error_message) }}\n {%- endif -%}\n {%- endif -%}\n\n {%- for relation in relations %}\n\n (\n select\n\n {%- if source_column_name is not none %}\n cast({{ dbt.string_literal(relation) }} as {{ dbt.type_string() }}) as {{ source_column_name }},\n {%- endif %}\n\n {% for col_name in ordered_column_names -%}\n\n {%- set col = column_superset[col_name] %}\n {%- set col_type = column_override.get(col.column, col.data_type) %}\n {%- set col_name = adapter.quote(col_name) if col_name in relation_columns[relation] else 'null' %}\n cast({{ col_name }} as {{ col_type }}) as {{ col.quoted }} {% if not loop.last %},{% endif -%}\n\n {%- endfor %}\n\n from {{ relation }}\n\n {% if where -%}\n where {{ where }}\n {%- endif %}\n )\n\n {% if not loop.last -%}\n union all\n {% endif -%}\n\n {%- endfor -%}\n\n{%- endmacro -%}", "depends_on": {"macros": ["macro.dbt_utils._is_relation", "macro.dbt_utils._is_ephemeral", "macro.dbt.string_literal", "macro.dbt.type_string"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.798708, "supported_languages": null}, "macro.dbt_utils.group_by": {"name": "group_by", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/groupby.sql", "original_file_path": "macros/sql/groupby.sql", "unique_id": "macro.dbt_utils.group_by", "macro_sql": "{%- macro group_by(n) -%}\n {{ return(adapter.dispatch('group_by', 'dbt_utils')(n)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.default__group_by"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.799592, "supported_languages": null}, "macro.dbt_utils.default__group_by": {"name": "default__group_by", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/groupby.sql", "original_file_path": "macros/sql/groupby.sql", "unique_id": "macro.dbt_utils.default__group_by", "macro_sql": "\n\n{%- macro default__group_by(n) -%}\n\n group by {% for i in range(1, n + 1) -%}\n {{ i }}{{ ',' if not loop.last }} \n {%- endfor -%}\n\n{%- endmacro -%}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.800278, "supported_languages": null}, "macro.dbt_utils.deduplicate": {"name": "deduplicate", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/deduplicate.sql", "original_file_path": "macros/sql/deduplicate.sql", "unique_id": "macro.dbt_utils.deduplicate", "macro_sql": "{%- macro deduplicate(relation, partition_by, order_by) -%}\n {{ return(adapter.dispatch('deduplicate', 'dbt_utils')(relation, partition_by, order_by)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.bigquery__deduplicate"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.802072, "supported_languages": null}, "macro.dbt_utils.default__deduplicate": {"name": "default__deduplicate", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/deduplicate.sql", "original_file_path": "macros/sql/deduplicate.sql", "unique_id": "macro.dbt_utils.default__deduplicate", "macro_sql": "\n\n{%- macro default__deduplicate(relation, partition_by, order_by) -%}\n\n with row_numbered as (\n select\n _inner.*,\n row_number() over (\n partition by {{ partition_by }}\n order by {{ order_by }}\n ) as rn\n from {{ relation }} as _inner\n )\n\n select\n distinct data.*\n from {{ relation }} as data\n {#\n -- Not all DBs will support natural joins but the ones that do include:\n -- Oracle, MySQL, SQLite, Redshift, Teradata, Materialize, Databricks\n -- Apache Spark, SingleStore, Vertica\n -- Those that do not appear to support natural joins include:\n -- SQLServer, Trino, Presto, Rockset, Athena\n #}\n natural join row_numbered\n where row_numbered.rn = 1\n\n{%- endmacro -%}\n\n", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.802809, "supported_languages": null}, "macro.dbt_utils.redshift__deduplicate": {"name": "redshift__deduplicate", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/deduplicate.sql", "original_file_path": "macros/sql/deduplicate.sql", "unique_id": "macro.dbt_utils.redshift__deduplicate", "macro_sql": "{% macro redshift__deduplicate(relation, partition_by, order_by) -%}\n\n {{ return(dbt_utils.default__deduplicate(relation, partition_by, order_by=order_by)) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.default__deduplicate"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.8037791, "supported_languages": null}, "macro.dbt_utils.postgres__deduplicate": {"name": "postgres__deduplicate", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/deduplicate.sql", "original_file_path": "macros/sql/deduplicate.sql", "unique_id": "macro.dbt_utils.postgres__deduplicate", "macro_sql": "\n{%- macro postgres__deduplicate(relation, partition_by, order_by) -%}\n\n select\n distinct on ({{ partition_by }}) *\n from {{ relation }}\n order by {{ partition_by }}{{ ',' ~ order_by }}\n\n{%- endmacro -%}\n\n", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.8045309, "supported_languages": null}, "macro.dbt_utils.snowflake__deduplicate": {"name": "snowflake__deduplicate", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/deduplicate.sql", "original_file_path": "macros/sql/deduplicate.sql", "unique_id": "macro.dbt_utils.snowflake__deduplicate", "macro_sql": "\n{%- macro snowflake__deduplicate(relation, partition_by, order_by) -%}\n\n select *\n from {{ relation }}\n qualify\n row_number() over (\n partition by {{ partition_by }}\n order by {{ order_by }}\n ) = 1\n\n{%- endmacro -%}\n\n", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.8051379, "supported_languages": null}, "macro.dbt_utils.bigquery__deduplicate": {"name": "bigquery__deduplicate", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/deduplicate.sql", "original_file_path": "macros/sql/deduplicate.sql", "unique_id": "macro.dbt_utils.bigquery__deduplicate", "macro_sql": "\n{%- macro bigquery__deduplicate(relation, partition_by, order_by) -%}\n\n select unique.*\n from (\n select\n array_agg (\n original\n order by {{ order_by }}\n limit 1\n )[offset(0)] unique\n from {{ relation }} original\n group by {{ partition_by }}\n )\n\n{%- endmacro -%}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.805613, "supported_languages": null}, "macro.dbt_utils.surrogate_key": {"name": "surrogate_key", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/surrogate_key.sql", "original_file_path": "macros/sql/surrogate_key.sql", "unique_id": "macro.dbt_utils.surrogate_key", "macro_sql": "{%- macro surrogate_key(field_list) -%}\n {% set frustrating_jinja_feature = varargs %}\n {{ return(adapter.dispatch('surrogate_key', 'dbt_utils')(field_list, *varargs)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.default__surrogate_key"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.8065631, "supported_languages": null}, "macro.dbt_utils.default__surrogate_key": {"name": "default__surrogate_key", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/surrogate_key.sql", "original_file_path": "macros/sql/surrogate_key.sql", "unique_id": "macro.dbt_utils.default__surrogate_key", "macro_sql": "\n\n{%- macro default__surrogate_key(field_list) -%}\n\n{%- set error_message = '\nWarning: `dbt_utils.surrogate_key` has been replaced by \\\n`dbt_utils.generate_surrogate_key`. The new macro treats null values \\\ndifferently to empty strings. To restore the behaviour of the original \\\nmacro, add a global variable in dbt_project.yml called \\\n`surrogate_key_treat_nulls_as_empty_strings` to your \\\ndbt_project.yml file with a value of True. \\\nThe {}.{} model triggered this warning. \\\n'.format(model.package_name, model.name) -%}\n\n{%- do exceptions.raise_compiler_error(error_message) -%}\n\n{%- endmacro -%}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.807182, "supported_languages": null}, "macro.dbt_utils.safe_add": {"name": "safe_add", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/safe_add.sql", "original_file_path": "macros/sql/safe_add.sql", "unique_id": "macro.dbt_utils.safe_add", "macro_sql": "{%- macro safe_add(field_list) -%}\n {{ return(adapter.dispatch('safe_add', 'dbt_utils')(field_list)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.default__safe_add"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.808061, "supported_languages": null}, "macro.dbt_utils.default__safe_add": {"name": "default__safe_add", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/safe_add.sql", "original_file_path": "macros/sql/safe_add.sql", "unique_id": "macro.dbt_utils.default__safe_add", "macro_sql": "\n\n{%- macro default__safe_add(field_list) -%}\n\n{%- if field_list is not iterable or field_list is string or field_list is mapping -%}\n\n{%- set error_message = '\nWarning: the `safe_add` macro now takes a single list argument instead of \\\nstring arguments. The {}.{} model triggered this warning. \\\n'.format(model.package_name, model.name) -%}\n\n{%- do exceptions.warn(error_message) -%}\n\n{%- endif -%}\n\n{% set fields = [] %}\n\n{%- for field in field_list -%}\n\n {% do fields.append(\"coalesce(\" ~ field ~ \", 0)\") %}\n\n{%- endfor -%}\n\n{{ fields|join(' +\\n ') }}\n\n{%- endmacro -%}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.809464, "supported_languages": null}, "macro.dbt_utils.nullcheck": {"name": "nullcheck", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/nullcheck.sql", "original_file_path": "macros/sql/nullcheck.sql", "unique_id": "macro.dbt_utils.nullcheck", "macro_sql": "{% macro nullcheck(cols) %}\n {{ return(adapter.dispatch('nullcheck', 'dbt_utils')(cols)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.default__nullcheck"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.810267, "supported_languages": null}, "macro.dbt_utils.default__nullcheck": {"name": "default__nullcheck", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/nullcheck.sql", "original_file_path": "macros/sql/nullcheck.sql", "unique_id": "macro.dbt_utils.default__nullcheck", "macro_sql": "{% macro default__nullcheck(cols) %}\n{%- for col in cols %}\n\n {% if col.is_string() -%}\n\n nullif({{col.name}},'') as {{col.name}}\n\n {%- else -%}\n\n {{col.name}}\n\n {%- endif -%}\n\n{%- if not loop.last -%} , {%- endif -%}\n\n{%- endfor -%}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.8111382, "supported_languages": null}, "macro.dbt_utils.get_tables_by_pattern_sql": {"name": "get_tables_by_pattern_sql", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/get_tables_by_pattern_sql.sql", "original_file_path": "macros/sql/get_tables_by_pattern_sql.sql", "unique_id": "macro.dbt_utils.get_tables_by_pattern_sql", "macro_sql": "{% macro get_tables_by_pattern_sql(schema_pattern, table_pattern, exclude='', database=target.database) %}\n {{ return(adapter.dispatch('get_tables_by_pattern_sql', 'dbt_utils')\n (schema_pattern, table_pattern, exclude, database)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.bigquery__get_tables_by_pattern_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.814273, "supported_languages": null}, "macro.dbt_utils.default__get_tables_by_pattern_sql": {"name": "default__get_tables_by_pattern_sql", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/get_tables_by_pattern_sql.sql", "original_file_path": "macros/sql/get_tables_by_pattern_sql.sql", "unique_id": "macro.dbt_utils.default__get_tables_by_pattern_sql", "macro_sql": "{% macro default__get_tables_by_pattern_sql(schema_pattern, table_pattern, exclude='', database=target.database) %}\n\n select distinct\n table_schema as {{ adapter.quote('table_schema') }},\n table_name as {{ adapter.quote('table_name') }},\n {{ dbt_utils.get_table_types_sql() }}\n from {{ database }}.information_schema.tables\n where table_schema ilike '{{ schema_pattern }}'\n and table_name ilike '{{ table_pattern }}'\n and table_name not ilike '{{ exclude }}'\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.get_table_types_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.815243, "supported_languages": null}, "macro.dbt_utils.bigquery__get_tables_by_pattern_sql": {"name": "bigquery__get_tables_by_pattern_sql", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/get_tables_by_pattern_sql.sql", "original_file_path": "macros/sql/get_tables_by_pattern_sql.sql", "unique_id": "macro.dbt_utils.bigquery__get_tables_by_pattern_sql", "macro_sql": "{% macro bigquery__get_tables_by_pattern_sql(schema_pattern, table_pattern, exclude='', database=target.database) %}\n\n {% if '%' in schema_pattern %}\n {% set schemata=dbt_utils._bigquery__get_matching_schemata(schema_pattern, database) %}\n {% else %}\n {% set schemata=[schema_pattern] %}\n {% endif %}\n\n {% set sql %}\n {% for schema in schemata %}\n select distinct\n table_schema,\n table_name,\n {{ dbt_utils.get_table_types_sql() }}\n\n from {{ adapter.quote(database) }}.{{ schema }}.INFORMATION_SCHEMA.TABLES\n where lower(table_name) like lower ('{{ table_pattern }}')\n and lower(table_name) not like lower ('{{ exclude }}')\n\n {% if not loop.last %} union all {% endif %}\n\n {% endfor %}\n {% endset %}\n\n {{ return(sql) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils._bigquery__get_matching_schemata", "macro.dbt_utils.get_table_types_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.817251, "supported_languages": null}, "macro.dbt_utils._bigquery__get_matching_schemata": {"name": "_bigquery__get_matching_schemata", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/get_tables_by_pattern_sql.sql", "original_file_path": "macros/sql/get_tables_by_pattern_sql.sql", "unique_id": "macro.dbt_utils._bigquery__get_matching_schemata", "macro_sql": "{% macro _bigquery__get_matching_schemata(schema_pattern, database) %}\n {% if execute %}\n\n {% set sql %}\n select schema_name from {{ adapter.quote(database) }}.INFORMATION_SCHEMA.SCHEMATA\n where lower(schema_name) like lower('{{ schema_pattern }}')\n {% endset %}\n\n {% set results=run_query(sql) %}\n\n {% set schemata=results.columns['schema_name'].values() %}\n\n {{ return(schemata) }}\n\n {% else %}\n\n {{ return([]) }}\n\n {% endif %}\n\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.run_query"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.818572, "supported_languages": null}, "macro.dbt_utils.get_column_values": {"name": "get_column_values", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/get_column_values.sql", "original_file_path": "macros/sql/get_column_values.sql", "unique_id": "macro.dbt_utils.get_column_values", "macro_sql": "{% macro get_column_values(table, column, order_by='count(*) desc', max_records=none, default=none, where=none) -%}\n {{ return(adapter.dispatch('get_column_values', 'dbt_utils')(table, column, order_by, max_records, default, where)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.default__get_column_values"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.820844, "supported_languages": null}, "macro.dbt_utils.default__get_column_values": {"name": "default__get_column_values", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/get_column_values.sql", "original_file_path": "macros/sql/get_column_values.sql", "unique_id": "macro.dbt_utils.default__get_column_values", "macro_sql": "{% macro default__get_column_values(table, column, order_by='count(*) desc', max_records=none, default=none, where=none) -%}\n {#-- Prevent querying of db in parsing mode. This works because this macro does not create any new refs. #}\n {%- if not execute -%}\n {% set default = [] if not default %}\n {{ return(default) }}\n {% endif %}\n\n {%- do dbt_utils._is_ephemeral(table, 'get_column_values') -%}\n\n {# Not all relations are tables. Renaming for internal clarity without breaking functionality for anyone using named arguments #}\n {# TODO: Change the method signature in a future 0.x.0 release #}\n {%- set target_relation = table -%}\n\n {# adapter.load_relation is a convenience wrapper to avoid building a Relation when we already have one #}\n {% set relation_exists = (load_relation(target_relation)) is not none %}\n\n {%- call statement('get_column_values', fetch_result=true) %}\n\n {%- if not relation_exists and default is none -%}\n\n {{ exceptions.raise_compiler_error(\"In get_column_values(): relation \" ~ target_relation ~ \" does not exist and no default value was provided.\") }}\n\n {%- elif not relation_exists and default is not none -%}\n\n {{ log(\"Relation \" ~ target_relation ~ \" does not exist. Returning the default value: \" ~ default) }}\n\n {{ return(default) }}\n\n {%- else -%}\n\n\n select\n {{ column }} as value\n\n from {{ target_relation }}\n\n {% if where is not none %}\n where {{ where }}\n {% endif %}\n\n group by {{ column }}\n order by {{ order_by }}\n\n {% if max_records is not none %}\n limit {{ max_records }}\n {% endif %}\n\n {% endif %}\n\n {%- endcall -%}\n\n {%- set value_list = load_result('get_column_values') -%}\n\n {%- if value_list and value_list['data'] -%}\n {%- set values = value_list['data'] | map(attribute=0) | list %}\n {{ return(values) }}\n {%- else -%}\n {{ return(default) }}\n {%- endif -%}\n\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt_utils._is_ephemeral", "macro.dbt.load_relation", "macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.82472, "supported_languages": null}, "macro.dbt_utils.pivot": {"name": "pivot", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/pivot.sql", "original_file_path": "macros/sql/pivot.sql", "unique_id": "macro.dbt_utils.pivot", "macro_sql": "{% macro pivot(column,\n values,\n alias=True,\n agg='sum',\n cmp='=',\n prefix='',\n suffix='',\n then_value=1,\n else_value=0,\n quote_identifiers=True,\n distinct=False) %}\n {{ return(adapter.dispatch('pivot', 'dbt_utils')(column, values, alias, agg, cmp, prefix, suffix, then_value, else_value, quote_identifiers, distinct)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.default__pivot"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.827244, "supported_languages": null}, "macro.dbt_utils.default__pivot": {"name": "default__pivot", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/pivot.sql", "original_file_path": "macros/sql/pivot.sql", "unique_id": "macro.dbt_utils.default__pivot", "macro_sql": "{% macro default__pivot(column,\n values,\n alias=True,\n agg='sum',\n cmp='=',\n prefix='',\n suffix='',\n then_value=1,\n else_value=0,\n quote_identifiers=True,\n distinct=False) %}\n {% for value in values %}\n {{ agg }}(\n {% if distinct %} distinct {% endif %}\n case\n when {{ column }} {{ cmp }} '{{ dbt.escape_single_quotes(value) }}'\n then {{ then_value }}\n else {{ else_value }}\n end\n )\n {% if alias %}\n {% if quote_identifiers %}\n as {{ adapter.quote(prefix ~ value ~ suffix) }}\n {% else %}\n as {{ dbt_utils.slugify(prefix ~ value ~ suffix) }}\n {% endif %}\n {% endif %}\n {% if not loop.last %},{% endif %}\n {% endfor %}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.escape_single_quotes", "macro.dbt_utils.slugify"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.829493, "supported_languages": null}, "macro.dbt_utils.get_filtered_columns_in_relation": {"name": "get_filtered_columns_in_relation", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/get_filtered_columns_in_relation.sql", "original_file_path": "macros/sql/get_filtered_columns_in_relation.sql", "unique_id": "macro.dbt_utils.get_filtered_columns_in_relation", "macro_sql": "{% macro get_filtered_columns_in_relation(from, except=[]) -%}\n {{ return(adapter.dispatch('get_filtered_columns_in_relation', 'dbt_utils')(from, except)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.default__get_filtered_columns_in_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.8305879, "supported_languages": null}, "macro.dbt_utils.default__get_filtered_columns_in_relation": {"name": "default__get_filtered_columns_in_relation", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/get_filtered_columns_in_relation.sql", "original_file_path": "macros/sql/get_filtered_columns_in_relation.sql", "unique_id": "macro.dbt_utils.default__get_filtered_columns_in_relation", "macro_sql": "{% macro default__get_filtered_columns_in_relation(from, except=[]) -%}\n {%- do dbt_utils._is_relation(from, 'get_filtered_columns_in_relation') -%}\n {%- do dbt_utils._is_ephemeral(from, 'get_filtered_columns_in_relation') -%}\n\n {# -- Prevent querying of db in parsing mode. This works because this macro does not create any new refs. #}\n {%- if not execute -%}\n {{ return('') }}\n {% endif %}\n\n {%- set include_cols = [] %}\n {%- set cols = adapter.get_columns_in_relation(from) -%}\n {%- set except = except | map(\"lower\") | list %}\n {%- for col in cols -%}\n {%- if col.column|lower not in except -%}\n {% do include_cols.append(col.column) %}\n {%- endif %}\n {%- endfor %}\n\n {{ return(include_cols) }}\n\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt_utils._is_relation", "macro.dbt_utils._is_ephemeral"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.832504, "supported_languages": null}, "macro.dbt_utils.width_bucket": {"name": "width_bucket", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/width_bucket.sql", "original_file_path": "macros/sql/width_bucket.sql", "unique_id": "macro.dbt_utils.width_bucket", "macro_sql": "{% macro width_bucket(expr, min_value, max_value, num_buckets) %}\n {{ return(adapter.dispatch('width_bucket', 'dbt_utils') (expr, min_value, max_value, num_buckets)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.default__width_bucket"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.834086, "supported_languages": null}, "macro.dbt_utils.default__width_bucket": {"name": "default__width_bucket", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/width_bucket.sql", "original_file_path": "macros/sql/width_bucket.sql", "unique_id": "macro.dbt_utils.default__width_bucket", "macro_sql": "{% macro default__width_bucket(expr, min_value, max_value, num_buckets) -%}\n\n {% set bin_size -%}\n (( {{ max_value }} - {{ min_value }} ) / {{ num_buckets }} )\n {%- endset %}\n (\n -- to break ties when the amount is eaxtly at the bucket egde\n case\n when\n mod(\n {{ dbt.safe_cast(expr, dbt.type_numeric() ) }},\n {{ dbt.safe_cast(bin_size, dbt.type_numeric() ) }}\n ) = 0\n then 1\n else 0\n end\n ) +\n -- Anything over max_value goes the N+1 bucket\n least(\n ceil(\n ({{ expr }} - {{ min_value }})/{{ bin_size }}\n ),\n {{ num_buckets }} + 1\n )\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.safe_cast", "macro.dbt.type_numeric"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.835306, "supported_languages": null}, "macro.dbt_utils.snowflake__width_bucket": {"name": "snowflake__width_bucket", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/width_bucket.sql", "original_file_path": "macros/sql/width_bucket.sql", "unique_id": "macro.dbt_utils.snowflake__width_bucket", "macro_sql": "{% macro snowflake__width_bucket(expr, min_value, max_value, num_buckets) %}\n width_bucket({{ expr }}, {{ min_value }}, {{ max_value }}, {{ num_buckets }} )\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.835831, "supported_languages": null}, "macro.dbt_utils.get_query_results_as_dict": {"name": "get_query_results_as_dict", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/get_query_results_as_dict.sql", "original_file_path": "macros/sql/get_query_results_as_dict.sql", "unique_id": "macro.dbt_utils.get_query_results_as_dict", "macro_sql": "{% macro get_query_results_as_dict(query) %}\n {{ return(adapter.dispatch('get_query_results_as_dict', 'dbt_utils')(query)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.default__get_query_results_as_dict"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.8367481, "supported_languages": null}, "macro.dbt_utils.default__get_query_results_as_dict": {"name": "default__get_query_results_as_dict", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/get_query_results_as_dict.sql", "original_file_path": "macros/sql/get_query_results_as_dict.sql", "unique_id": "macro.dbt_utils.default__get_query_results_as_dict", "macro_sql": "{% macro default__get_query_results_as_dict(query) %}\n\n{# This macro returns a dictionary of the form {column_name: (tuple_of_results)} #}\n\n {%- call statement('get_query_results', fetch_result=True,auto_begin=false) -%}\n\n {{ query }}\n\n {%- endcall -%}\n\n {% set sql_results={} %}\n\n {%- if execute -%}\n {% set sql_results_table = load_result('get_query_results').table.columns %}\n {% for column_name, column in sql_results_table.items() %}\n {% do sql_results.update({column_name: column.values()}) %}\n {% endfor %}\n {%- endif -%}\n\n {{ return(sql_results) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.8383281, "supported_languages": null}, "macro.dbt_utils.generate_surrogate_key": {"name": "generate_surrogate_key", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/generate_surrogate_key.sql", "original_file_path": "macros/sql/generate_surrogate_key.sql", "unique_id": "macro.dbt_utils.generate_surrogate_key", "macro_sql": "{%- macro generate_surrogate_key(field_list) -%}\n {{ return(adapter.dispatch('generate_surrogate_key', 'dbt_utils')(field_list)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.default__generate_surrogate_key"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.839375, "supported_languages": null}, "macro.dbt_utils.default__generate_surrogate_key": {"name": "default__generate_surrogate_key", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/generate_surrogate_key.sql", "original_file_path": "macros/sql/generate_surrogate_key.sql", "unique_id": "macro.dbt_utils.default__generate_surrogate_key", "macro_sql": "\n\n{%- macro default__generate_surrogate_key(field_list) -%}\n\n{%- if var('surrogate_key_treat_nulls_as_empty_strings', False) -%}\n {%- set default_null_value = \"\" -%}\n{%- else -%}\n {%- set default_null_value = '_dbt_utils_surrogate_key_null_' -%}\n{%- endif -%}\n\n{%- set fields = [] -%}\n\n{%- for field in field_list -%}\n\n {%- do fields.append(\n \"coalesce(cast(\" ~ field ~ \" as \" ~ dbt.type_string() ~ \"), '\" ~ default_null_value ~\"')\"\n ) -%}\n\n {%- if not loop.last %}\n {%- do fields.append(\"'-'\") -%}\n {%- endif -%}\n\n{%- endfor -%}\n\n{{ dbt.hash(dbt.concat(fields)) }}\n\n{%- endmacro -%}", "depends_on": {"macros": ["macro.dbt.type_string", "macro.dbt.hash", "macro.dbt.concat"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.841044, "supported_languages": null}, "macro.dbt_utils.get_table_types_sql": {"name": "get_table_types_sql", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/get_table_types_sql.sql", "original_file_path": "macros/sql/get_table_types_sql.sql", "unique_id": "macro.dbt_utils.get_table_types_sql", "macro_sql": "{%- macro get_table_types_sql() -%}\n {{ return(adapter.dispatch('get_table_types_sql', 'dbt_utils')()) }}\n{%- endmacro -%}\n\n", "depends_on": {"macros": ["macro.dbt_utils.default__get_table_types_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.842153, "supported_languages": null}, "macro.dbt_utils.default__get_table_types_sql": {"name": "default__get_table_types_sql", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/get_table_types_sql.sql", "original_file_path": "macros/sql/get_table_types_sql.sql", "unique_id": "macro.dbt_utils.default__get_table_types_sql", "macro_sql": "{% macro default__get_table_types_sql() %}\n case table_type\n when 'BASE TABLE' then 'table'\n when 'EXTERNAL TABLE' then 'external'\n when 'MATERIALIZED VIEW' then 'materializedview'\n else lower(table_type)\n end as {{ adapter.quote('table_type') }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.842526, "supported_languages": null}, "macro.dbt_utils.postgres__get_table_types_sql": {"name": "postgres__get_table_types_sql", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/get_table_types_sql.sql", "original_file_path": "macros/sql/get_table_types_sql.sql", "unique_id": "macro.dbt_utils.postgres__get_table_types_sql", "macro_sql": "{% macro postgres__get_table_types_sql() %}\n case table_type\n when 'BASE TABLE' then 'table'\n when 'FOREIGN' then 'external'\n when 'MATERIALIZED VIEW' then 'materializedview'\n else lower(table_type)\n end as {{ adapter.quote('table_type') }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.842912, "supported_languages": null}, "macro.dbt_utils.databricks__get_table_types_sql": {"name": "databricks__get_table_types_sql", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/get_table_types_sql.sql", "original_file_path": "macros/sql/get_table_types_sql.sql", "unique_id": "macro.dbt_utils.databricks__get_table_types_sql", "macro_sql": "{% macro databricks__get_table_types_sql() %}\n case table_type\n when 'MANAGED' then 'table'\n when 'BASE TABLE' then 'table'\n when 'MATERIALIZED VIEW' then 'materializedview'\n else lower(table_type)\n end as {{ adapter.quote('table_type') }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.8432798, "supported_languages": null}, "macro.dbt_utils.get_single_value": {"name": "get_single_value", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/get_single_value.sql", "original_file_path": "macros/sql/get_single_value.sql", "unique_id": "macro.dbt_utils.get_single_value", "macro_sql": "{% macro get_single_value(query, default=none) %}\n {{ return(adapter.dispatch('get_single_value', 'dbt_utils')(query, default)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.default__get_single_value"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.844424, "supported_languages": null}, "macro.dbt_utils.default__get_single_value": {"name": "default__get_single_value", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/get_single_value.sql", "original_file_path": "macros/sql/get_single_value.sql", "unique_id": "macro.dbt_utils.default__get_single_value", "macro_sql": "{% macro default__get_single_value(query, default) %}\n\n{# This macro returns the (0, 0) record in a query, i.e. the first row of the first column #}\n\n {%- call statement('get_query_result', fetch_result=True, auto_begin=false) -%}\n\n {{ query }}\n\n {%- endcall -%}\n\n {%- if execute -%}\n\n {% set r = load_result('get_query_result').table.columns[0].values() %}\n {% if r | length == 0 %}\n {% do print('Query `' ~ query ~ '` returned no rows. Using the default value: ' ~ default) %}\n {% set sql_result = default %}\n {% else %}\n {% set sql_result = r[0] %}\n {% endif %}\n \n {%- else -%}\n \n {% set sql_result = default %}\n \n {%- endif -%}\n\n {% do return(sql_result) %}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.846535, "supported_languages": null}, "macro.dbt_utils.degrees_to_radians": {"name": "degrees_to_radians", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/haversine_distance.sql", "original_file_path": "macros/sql/haversine_distance.sql", "unique_id": "macro.dbt_utils.degrees_to_radians", "macro_sql": "{% macro degrees_to_radians(degrees) -%}\n acos(-1) * {{degrees}} / 180\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.8486369, "supported_languages": null}, "macro.dbt_utils.haversine_distance": {"name": "haversine_distance", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/haversine_distance.sql", "original_file_path": "macros/sql/haversine_distance.sql", "unique_id": "macro.dbt_utils.haversine_distance", "macro_sql": "{% macro haversine_distance(lat1, lon1, lat2, lon2, unit='mi') -%}\n {{ return(adapter.dispatch('haversine_distance', 'dbt_utils')(lat1,lon1,lat2,lon2,unit)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.bigquery__haversine_distance"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.849376, "supported_languages": null}, "macro.dbt_utils.default__haversine_distance": {"name": "default__haversine_distance", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/haversine_distance.sql", "original_file_path": "macros/sql/haversine_distance.sql", "unique_id": "macro.dbt_utils.default__haversine_distance", "macro_sql": "{% macro default__haversine_distance(lat1, lon1, lat2, lon2, unit='mi') -%}\n{%- if unit == 'mi' %}\n {% set conversion_rate = 1 %}\n{% elif unit == 'km' %}\n {% set conversion_rate = 1.60934 %}\n{% else %}\n {{ exceptions.raise_compiler_error(\"unit input must be one of 'mi' or 'km'. Got \" ~ unit) }}\n{% endif %}\n\n 2 * 3961 * asin(sqrt(power((sin(radians(({{ lat2 }} - {{ lat1 }}) / 2))), 2) +\n cos(radians({{lat1}})) * cos(radians({{lat2}})) *\n power((sin(radians(({{ lon2 }} - {{ lon1 }}) / 2))), 2))) * {{ conversion_rate }}\n\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.850837, "supported_languages": null}, "macro.dbt_utils.bigquery__haversine_distance": {"name": "bigquery__haversine_distance", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/haversine_distance.sql", "original_file_path": "macros/sql/haversine_distance.sql", "unique_id": "macro.dbt_utils.bigquery__haversine_distance", "macro_sql": "{% macro bigquery__haversine_distance(lat1, lon1, lat2, lon2, unit='mi') -%}\n{% set radians_lat1 = dbt_utils.degrees_to_radians(lat1) %}\n{% set radians_lat2 = dbt_utils.degrees_to_radians(lat2) %}\n{% set radians_lon1 = dbt_utils.degrees_to_radians(lon1) %}\n{% set radians_lon2 = dbt_utils.degrees_to_radians(lon2) %}\n{%- if unit == 'mi' %}\n {% set conversion_rate = 1 %}\n{% elif unit == 'km' %}\n {% set conversion_rate = 1.60934 %}\n{% else %}\n {{ exceptions.raise_compiler_error(\"unit input must be one of 'mi' or 'km'. Got \" ~ unit) }}\n{% endif %}\n 2 * 3961 * asin(sqrt(power(sin(({{ radians_lat2 }} - {{ radians_lat1 }}) / 2), 2) +\n cos({{ radians_lat1 }}) * cos({{ radians_lat2 }}) *\n power(sin(({{ radians_lon2 }} - {{ radians_lon1 }}) / 2), 2))) * {{ conversion_rate }}\n\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.degrees_to_radians"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.8529458, "supported_languages": null}, "macro.spark_utils.get_tables": {"name": "get_tables", "resource_type": "macro", "package_name": "spark_utils", "path": "macros/maintenance_operation.sql", "original_file_path": "macros/maintenance_operation.sql", "unique_id": "macro.spark_utils.get_tables", "macro_sql": "{% macro get_tables(table_regex_pattern='.*') %}\n\n {% set tables = [] %}\n {% for database in spark__list_schemas('not_used') %}\n {% for table in spark__list_relations_without_caching(database[0]) %}\n {% set db_tablename = database[0] ~ \".\" ~ table[1] %}\n {% set is_match = modules.re.match(table_regex_pattern, db_tablename) %}\n {% if is_match %}\n {% call statement('table_detail', fetch_result=True) -%}\n describe extended {{ db_tablename }}\n {% endcall %}\n\n {% set table_type = load_result('table_detail').table|reverse|selectattr(0, 'in', ('type', 'TYPE', 'Type'))|first %}\n {% if table_type[1]|lower != 'view' %}\n {{ tables.append(db_tablename) }}\n {% endif %}\n {% endif %}\n {% endfor %}\n {% endfor %}\n {{ return(tables) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.862766, "supported_languages": null}, "macro.spark_utils.get_delta_tables": {"name": "get_delta_tables", "resource_type": "macro", "package_name": "spark_utils", "path": "macros/maintenance_operation.sql", "original_file_path": "macros/maintenance_operation.sql", "unique_id": "macro.spark_utils.get_delta_tables", "macro_sql": "{% macro get_delta_tables(table_regex_pattern='.*') %}\n\n {% set delta_tables = [] %}\n {% for db_tablename in get_tables(table_regex_pattern) %}\n {% call statement('table_detail', fetch_result=True) -%}\n describe extended {{ db_tablename }}\n {% endcall %}\n\n {% set table_type = load_result('table_detail').table|reverse|selectattr(0, 'in', ('provider', 'PROVIDER', 'Provider'))|first %}\n {% if table_type[1]|lower == 'delta' %}\n {{ delta_tables.append(db_tablename) }}\n {% endif %}\n {% endfor %}\n {{ return(delta_tables) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.spark_utils.get_tables", "macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.864562, "supported_languages": null}, "macro.spark_utils.get_statistic_columns": {"name": "get_statistic_columns", "resource_type": "macro", "package_name": "spark_utils", "path": "macros/maintenance_operation.sql", "original_file_path": "macros/maintenance_operation.sql", "unique_id": "macro.spark_utils.get_statistic_columns", "macro_sql": "{% macro get_statistic_columns(table) %}\n\n {% call statement('input_columns', fetch_result=True) %}\n SHOW COLUMNS IN {{ table }}\n {% endcall %}\n {% set input_columns = load_result('input_columns').table %}\n\n {% set output_columns = [] %}\n {% for column in input_columns %}\n {% call statement('column_information', fetch_result=True) %}\n DESCRIBE TABLE {{ table }} `{{ column[0] }}`\n {% endcall %}\n {% if not load_result('column_information').table[1][1].startswith('struct') and not load_result('column_information').table[1][1].startswith('array') %}\n {{ output_columns.append('`' ~ column[0] ~ '`') }}\n {% endif %}\n {% endfor %}\n {{ return(output_columns) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.866806, "supported_languages": null}, "macro.spark_utils.spark_optimize_delta_tables": {"name": "spark_optimize_delta_tables", "resource_type": "macro", "package_name": "spark_utils", "path": "macros/maintenance_operation.sql", "original_file_path": "macros/maintenance_operation.sql", "unique_id": "macro.spark_utils.spark_optimize_delta_tables", "macro_sql": "{% macro spark_optimize_delta_tables(table_regex_pattern='.*') %}\n\n {% for table in get_delta_tables(table_regex_pattern) %}\n {% set start=modules.datetime.datetime.now() %}\n {% set message_prefix=loop.index ~ \" of \" ~ loop.length %}\n {{ dbt_utils.log_info(message_prefix ~ \" Optimizing \" ~ table) }}\n {% do run_query(\"optimize \" ~ table) %}\n {% set end=modules.datetime.datetime.now() %}\n {% set total_seconds = (end - start).total_seconds() | round(2) %}\n {{ dbt_utils.log_info(message_prefix ~ \" Finished \" ~ table ~ \" in \" ~ total_seconds ~ \"s\") }}\n {% endfor %}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.spark_utils.get_delta_tables", "macro.dbt_utils.log_info", "macro.dbt.run_query"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.868715, "supported_languages": null}, "macro.spark_utils.spark_vacuum_delta_tables": {"name": "spark_vacuum_delta_tables", "resource_type": "macro", "package_name": "spark_utils", "path": "macros/maintenance_operation.sql", "original_file_path": "macros/maintenance_operation.sql", "unique_id": "macro.spark_utils.spark_vacuum_delta_tables", "macro_sql": "{% macro spark_vacuum_delta_tables(table_regex_pattern='.*') %}\n\n {% for table in get_delta_tables(table_regex_pattern) %}\n {% set start=modules.datetime.datetime.now() %}\n {% set message_prefix=loop.index ~ \" of \" ~ loop.length %}\n {{ dbt_utils.log_info(message_prefix ~ \" Vacuuming \" ~ table) }}\n {% do run_query(\"vacuum \" ~ table) %}\n {% set end=modules.datetime.datetime.now() %}\n {% set total_seconds = (end - start).total_seconds() | round(2) %}\n {{ dbt_utils.log_info(message_prefix ~ \" Finished \" ~ table ~ \" in \" ~ total_seconds ~ \"s\") }}\n {% endfor %}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.spark_utils.get_delta_tables", "macro.dbt_utils.log_info", "macro.dbt.run_query"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.870846, "supported_languages": null}, "macro.spark_utils.spark_analyze_tables": {"name": "spark_analyze_tables", "resource_type": "macro", "package_name": "spark_utils", "path": "macros/maintenance_operation.sql", "original_file_path": "macros/maintenance_operation.sql", "unique_id": "macro.spark_utils.spark_analyze_tables", "macro_sql": "{% macro spark_analyze_tables(table_regex_pattern='.*') %}\n\n {% for table in get_tables(table_regex_pattern) %}\n {% set start=modules.datetime.datetime.now() %}\n {% set columns = get_statistic_columns(table) | join(',') %}\n {% set message_prefix=loop.index ~ \" of \" ~ loop.length %}\n {{ dbt_utils.log_info(message_prefix ~ \" Analyzing \" ~ table) }}\n {% if columns != '' %}\n {% do run_query(\"analyze table \" ~ table ~ \" compute statistics for columns \" ~ columns) %}\n {% endif %}\n {% set end=modules.datetime.datetime.now() %}\n {% set total_seconds = (end - start).total_seconds() | round(2) %}\n {{ dbt_utils.log_info(message_prefix ~ \" Finished \" ~ table ~ \" in \" ~ total_seconds ~ \"s\") }}\n {% endfor %}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.spark_utils.get_tables", "macro.spark_utils.get_statistic_columns", "macro.dbt_utils.log_info", "macro.dbt.run_query"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.873027, "supported_languages": null}, "macro.spark_utils.spark__concat": {"name": "spark__concat", "resource_type": "macro", "package_name": "spark_utils", "path": "macros/dbt_utils/cross_db_utils/concat.sql", "original_file_path": "macros/dbt_utils/cross_db_utils/concat.sql", "unique_id": "macro.spark_utils.spark__concat", "macro_sql": "{% macro spark__concat(fields) -%}\n concat({{ fields|join(', ') }})\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.873429, "supported_languages": null}, "macro.spark_utils.spark__type_numeric": {"name": "spark__type_numeric", "resource_type": "macro", "package_name": "spark_utils", "path": "macros/dbt_utils/cross_db_utils/datatypes.sql", "original_file_path": "macros/dbt_utils/cross_db_utils/datatypes.sql", "unique_id": "macro.spark_utils.spark__type_numeric", "macro_sql": "{% macro spark__type_numeric() %}\n decimal(28, 6)\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.873675, "supported_languages": null}, "macro.spark_utils.spark__dateadd": {"name": "spark__dateadd", "resource_type": "macro", "package_name": "spark_utils", "path": "macros/dbt_utils/cross_db_utils/dateadd.sql", "original_file_path": "macros/dbt_utils/cross_db_utils/dateadd.sql", "unique_id": "macro.spark_utils.spark__dateadd", "macro_sql": "{% macro spark__dateadd(datepart, interval, from_date_or_timestamp) %}\n\n {%- set clock_component -%}\n {# make sure the dates + timestamps are real, otherwise raise an error asap #}\n to_unix_timestamp({{ spark_utils.assert_not_null('to_timestamp', from_date_or_timestamp) }})\n - to_unix_timestamp({{ spark_utils.assert_not_null('date', from_date_or_timestamp) }})\n {%- endset -%}\n\n {%- if datepart in ['day', 'week'] -%}\n \n {%- set multiplier = 7 if datepart == 'week' else 1 -%}\n\n to_timestamp(\n to_unix_timestamp(\n date_add(\n {{ spark_utils.assert_not_null('date', from_date_or_timestamp) }},\n cast({{interval}} * {{multiplier}} as int)\n )\n ) + {{clock_component}}\n )\n\n {%- elif datepart in ['month', 'quarter', 'year'] -%}\n \n {%- set multiplier -%} \n {%- if datepart == 'month' -%} 1\n {%- elif datepart == 'quarter' -%} 3\n {%- elif datepart == 'year' -%} 12\n {%- endif -%}\n {%- endset -%}\n\n to_timestamp(\n to_unix_timestamp(\n add_months(\n {{ spark_utils.assert_not_null('date', from_date_or_timestamp) }},\n cast({{interval}} * {{multiplier}} as int)\n )\n ) + {{clock_component}}\n )\n\n {%- elif datepart in ('hour', 'minute', 'second', 'millisecond', 'microsecond') -%}\n \n {%- set multiplier -%} \n {%- if datepart == 'hour' -%} 3600\n {%- elif datepart == 'minute' -%} 60\n {%- elif datepart == 'second' -%} 1\n {%- elif datepart == 'millisecond' -%} (1/1000000)\n {%- elif datepart == 'microsecond' -%} (1/1000000)\n {%- endif -%}\n {%- endset -%}\n\n to_timestamp(\n {{ spark_utils.assert_not_null('to_unix_timestamp', from_date_or_timestamp) }}\n + cast({{interval}} * {{multiplier}} as int)\n )\n\n {%- else -%}\n\n {{ exceptions.raise_compiler_error(\"macro dateadd not implemented for datepart ~ '\" ~ datepart ~ \"' ~ on Spark\") }}\n\n {%- endif -%}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.spark_utils.assert_not_null"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.878978, "supported_languages": null}, "macro.spark_utils.spark__datediff": {"name": "spark__datediff", "resource_type": "macro", "package_name": "spark_utils", "path": "macros/dbt_utils/cross_db_utils/datediff.sql", "original_file_path": "macros/dbt_utils/cross_db_utils/datediff.sql", "unique_id": "macro.spark_utils.spark__datediff", "macro_sql": "{% macro spark__datediff(first_date, second_date, datepart) %}\n\n {%- if datepart in ['day', 'week', 'month', 'quarter', 'year'] -%}\n \n {# make sure the dates are real, otherwise raise an error asap #}\n {% set first_date = spark_utils.assert_not_null('date', first_date) %}\n {% set second_date = spark_utils.assert_not_null('date', second_date) %}\n \n {%- endif -%}\n \n {%- if datepart == 'day' -%}\n \n datediff({{second_date}}, {{first_date}})\n \n {%- elif datepart == 'week' -%}\n \n case when {{first_date}} < {{second_date}}\n then floor(datediff({{second_date}}, {{first_date}})/7)\n else ceil(datediff({{second_date}}, {{first_date}})/7)\n end\n \n -- did we cross a week boundary (Sunday)?\n + case\n when {{first_date}} < {{second_date}} and dayofweek({{second_date}}) < dayofweek({{first_date}}) then 1\n when {{first_date}} > {{second_date}} and dayofweek({{second_date}}) > dayofweek({{first_date}}) then -1\n else 0 end\n\n {%- elif datepart == 'month' -%}\n\n case when {{first_date}} < {{second_date}}\n then floor(months_between(date({{second_date}}), date({{first_date}})))\n else ceil(months_between(date({{second_date}}), date({{first_date}})))\n end\n \n -- did we cross a month boundary?\n + case\n when {{first_date}} < {{second_date}} and dayofmonth({{second_date}}) < dayofmonth({{first_date}}) then 1\n when {{first_date}} > {{second_date}} and dayofmonth({{second_date}}) > dayofmonth({{first_date}}) then -1\n else 0 end\n \n {%- elif datepart == 'quarter' -%}\n \n case when {{first_date}} < {{second_date}}\n then floor(months_between(date({{second_date}}), date({{first_date}}))/3)\n else ceil(months_between(date({{second_date}}), date({{first_date}}))/3)\n end\n \n -- did we cross a quarter boundary?\n + case\n when {{first_date}} < {{second_date}} and (\n (dayofyear({{second_date}}) - (quarter({{second_date}}) * 365/4))\n < (dayofyear({{first_date}}) - (quarter({{first_date}}) * 365/4))\n ) then 1\n when {{first_date}} > {{second_date}} and (\n (dayofyear({{second_date}}) - (quarter({{second_date}}) * 365/4))\n > (dayofyear({{first_date}}) - (quarter({{first_date}}) * 365/4))\n ) then -1\n else 0 end\n\n {%- elif datepart == 'year' -%}\n \n year({{second_date}}) - year({{first_date}})\n\n {%- elif datepart in ('hour', 'minute', 'second', 'millisecond', 'microsecond') -%}\n \n {%- set divisor -%} \n {%- if datepart == 'hour' -%} 3600\n {%- elif datepart == 'minute' -%} 60\n {%- elif datepart == 'second' -%} 1\n {%- elif datepart == 'millisecond' -%} (1/1000)\n {%- elif datepart == 'microsecond' -%} (1/1000000)\n {%- endif -%}\n {%- endset -%}\n\n case when {{first_date}} < {{second_date}}\n then ceil((\n {# make sure the timestamps are real, otherwise raise an error asap #}\n {{ spark_utils.assert_not_null('to_unix_timestamp', spark_utils.assert_not_null('to_timestamp', second_date)) }}\n - {{ spark_utils.assert_not_null('to_unix_timestamp', spark_utils.assert_not_null('to_timestamp', first_date)) }}\n ) / {{divisor}})\n else floor((\n {{ spark_utils.assert_not_null('to_unix_timestamp', spark_utils.assert_not_null('to_timestamp', second_date)) }}\n - {{ spark_utils.assert_not_null('to_unix_timestamp', spark_utils.assert_not_null('to_timestamp', first_date)) }}\n ) / {{divisor}})\n end\n \n {% if datepart == 'millisecond' %}\n + cast(date_format({{second_date}}, 'SSS') as int)\n - cast(date_format({{first_date}}, 'SSS') as int)\n {% endif %}\n \n {% if datepart == 'microsecond' %} \n {% set capture_str = '[0-9]{4}-[0-9]{2}-[0-9]{2}.[0-9]{2}:[0-9]{2}:[0-9]{2}.([0-9]{6})' %}\n -- Spark doesn't really support microseconds, so this is a massive hack!\n -- It will only work if the timestamp-string is of the format\n -- 'yyyy-MM-dd-HH mm.ss.SSSSSS'\n + cast(regexp_extract({{second_date}}, '{{capture_str}}', 1) as int)\n - cast(regexp_extract({{first_date}}, '{{capture_str}}', 1) as int) \n {% endif %}\n\n {%- else -%}\n\n {{ exceptions.raise_compiler_error(\"macro datediff not implemented for datepart ~ '\" ~ datepart ~ \"' ~ on Spark\") }}\n\n {%- endif -%}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.spark_utils.assert_not_null"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.891958, "supported_languages": null}, "macro.spark_utils.spark__current_timestamp": {"name": "spark__current_timestamp", "resource_type": "macro", "package_name": "spark_utils", "path": "macros/dbt_utils/cross_db_utils/current_timestamp.sql", "original_file_path": "macros/dbt_utils/cross_db_utils/current_timestamp.sql", "unique_id": "macro.spark_utils.spark__current_timestamp", "macro_sql": "{% macro spark__current_timestamp() %}\n current_timestamp()\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.892253, "supported_languages": null}, "macro.spark_utils.spark__current_timestamp_in_utc": {"name": "spark__current_timestamp_in_utc", "resource_type": "macro", "package_name": "spark_utils", "path": "macros/dbt_utils/cross_db_utils/current_timestamp.sql", "original_file_path": "macros/dbt_utils/cross_db_utils/current_timestamp.sql", "unique_id": "macro.spark_utils.spark__current_timestamp_in_utc", "macro_sql": "{% macro spark__current_timestamp_in_utc() %}\n unix_timestamp()\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.892426, "supported_languages": null}, "macro.spark_utils.spark__split_part": {"name": "spark__split_part", "resource_type": "macro", "package_name": "spark_utils", "path": "macros/dbt_utils/cross_db_utils/split_part.sql", "original_file_path": "macros/dbt_utils/cross_db_utils/split_part.sql", "unique_id": "macro.spark_utils.spark__split_part", "macro_sql": "{% macro spark__split_part(string_text, delimiter_text, part_number) %}\n\n {% set delimiter_expr %}\n \n -- escape if starts with a special character\n case when regexp_extract({{ delimiter_text }}, '([^A-Za-z0-9])(.*)', 1) != '_'\n then concat('\\\\', {{ delimiter_text }})\n else {{ delimiter_text }} end\n \n {% endset %}\n\n {% set split_part_expr %}\n \n split(\n {{ string_text }},\n {{ delimiter_expr }}\n )[({{ part_number - 1 }})]\n \n {% endset %}\n \n {{ return(split_part_expr) }}\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.893687, "supported_languages": null}, "macro.spark_utils.spark__get_relations_by_pattern": {"name": "spark__get_relations_by_pattern", "resource_type": "macro", "package_name": "spark_utils", "path": "macros/dbt_utils/sql/get_relations_by_prefix.sql", "original_file_path": "macros/dbt_utils/sql/get_relations_by_prefix.sql", "unique_id": "macro.spark_utils.spark__get_relations_by_pattern", "macro_sql": "{% macro spark__get_relations_by_pattern(schema_pattern, table_pattern, exclude='', database=target.database) %}\n\n {%- call statement('get_tables', fetch_result=True) %}\n\n show table extended in {{ schema_pattern }} like '{{ table_pattern }}'\n\n {%- endcall -%}\n\n {%- set table_list = load_result('get_tables') -%}\n\n {%- if table_list and table_list['table'] -%}\n {%- set tbl_relations = [] -%}\n {%- for row in table_list['table'] -%}\n {%- set tbl_relation = api.Relation.create(\n database=None,\n schema=row[0],\n identifier=row[1],\n type=('view' if 'Type: VIEW' in row[3] else 'table')\n ) -%}\n {%- do tbl_relations.append(tbl_relation) -%}\n {%- endfor -%}\n\n {{ return(tbl_relations) }}\n {%- else -%}\n {{ return([]) }}\n {%- endif -%}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.8966038, "supported_languages": null}, "macro.spark_utils.spark__get_relations_by_prefix": {"name": "spark__get_relations_by_prefix", "resource_type": "macro", "package_name": "spark_utils", "path": "macros/dbt_utils/sql/get_relations_by_prefix.sql", "original_file_path": "macros/dbt_utils/sql/get_relations_by_prefix.sql", "unique_id": "macro.spark_utils.spark__get_relations_by_prefix", "macro_sql": "{% macro spark__get_relations_by_prefix(schema_pattern, table_pattern, exclude='', database=target.database) %}\n {% set table_pattern = table_pattern ~ '*' %}\n {{ return(spark_utils.spark__get_relations_by_pattern(schema_pattern, table_pattern, exclude='', database=target.database)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.spark_utils.spark__get_relations_by_pattern"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.897312, "supported_languages": null}, "macro.spark_utils.spark__get_tables_by_pattern": {"name": "spark__get_tables_by_pattern", "resource_type": "macro", "package_name": "spark_utils", "path": "macros/dbt_utils/sql/get_relations_by_prefix.sql", "original_file_path": "macros/dbt_utils/sql/get_relations_by_prefix.sql", "unique_id": "macro.spark_utils.spark__get_tables_by_pattern", "macro_sql": "{% macro spark__get_tables_by_pattern(schema_pattern, table_pattern, exclude='', database=target.database) %}\n {{ return(spark_utils.spark__get_relations_by_pattern(schema_pattern, table_pattern, exclude='', database=target.database)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.spark_utils.spark__get_relations_by_pattern"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.897894, "supported_languages": null}, "macro.spark_utils.spark__get_tables_by_prefix": {"name": "spark__get_tables_by_prefix", "resource_type": "macro", "package_name": "spark_utils", "path": "macros/dbt_utils/sql/get_relations_by_prefix.sql", "original_file_path": "macros/dbt_utils/sql/get_relations_by_prefix.sql", "unique_id": "macro.spark_utils.spark__get_tables_by_prefix", "macro_sql": "{% macro spark__get_tables_by_prefix(schema_pattern, table_pattern, exclude='', database=target.database) %}\n {{ return(spark_utils.spark__get_relations_by_prefix(schema_pattern, table_pattern, exclude='', database=target.database)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.spark_utils.spark__get_relations_by_prefix"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.89852, "supported_languages": null}, "macro.spark_utils.assert_not_null": {"name": "assert_not_null", "resource_type": "macro", "package_name": "spark_utils", "path": "macros/etc/assert_not_null.sql", "original_file_path": "macros/etc/assert_not_null.sql", "unique_id": "macro.spark_utils.assert_not_null", "macro_sql": "{% macro assert_not_null(function, arg) -%}\n {{ return(adapter.dispatch('assert_not_null', 'spark_utils')(function, arg)) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.spark_utils.default__assert_not_null"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.8991518, "supported_languages": null}, "macro.spark_utils.default__assert_not_null": {"name": "default__assert_not_null", "resource_type": "macro", "package_name": "spark_utils", "path": "macros/etc/assert_not_null.sql", "original_file_path": "macros/etc/assert_not_null.sql", "unique_id": "macro.spark_utils.default__assert_not_null", "macro_sql": "{% macro default__assert_not_null(function, arg) %}\n\n coalesce({{function}}({{arg}}), nvl2({{function}}({{arg}}), assert_true({{function}}({{arg}}) is not null), null))\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.8995872, "supported_languages": null}, "macro.spark_utils.spark__convert_timezone": {"name": "spark__convert_timezone", "resource_type": "macro", "package_name": "spark_utils", "path": "macros/snowplow/convert_timezone.sql", "original_file_path": "macros/snowplow/convert_timezone.sql", "unique_id": "macro.spark_utils.spark__convert_timezone", "macro_sql": "{% macro spark__convert_timezone(in_tz, out_tz, in_timestamp) %}\n from_utc_timestamp(to_utc_timestamp({{in_timestamp}}, {{in_tz}}), {{out_tz}})\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.900029, "supported_languages": null}, "macro.fivetran_utils.enabled_vars": {"name": "enabled_vars", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/enabled_vars.sql", "original_file_path": "macros/enabled_vars.sql", "unique_id": "macro.fivetran_utils.enabled_vars", "macro_sql": "{% macro enabled_vars(vars) %}\n\n{% for v in vars %}\n \n {% if var(v, True) == False %}\n {{ return(False) }}\n {% endif %}\n\n{% endfor %}\n\n{{ return(True) }}\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.900861, "supported_languages": null}, "macro.fivetran_utils.percentile": {"name": "percentile", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/percentile.sql", "original_file_path": "macros/percentile.sql", "unique_id": "macro.fivetran_utils.percentile", "macro_sql": "{% macro percentile(percentile_field, partition_field, percent) -%}\n\n{{ adapter.dispatch('percentile', 'fivetran_utils') (percentile_field, partition_field, percent) }}\n\n{%- endmacro %}", "depends_on": {"macros": ["macro.fivetran_utils.bigquery__percentile"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.902397, "supported_languages": null}, "macro.fivetran_utils.default__percentile": {"name": "default__percentile", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/percentile.sql", "original_file_path": "macros/percentile.sql", "unique_id": "macro.fivetran_utils.default__percentile", "macro_sql": "{% macro default__percentile(percentile_field, partition_field, percent) %}\n\n percentile_cont( \n {{ percent }} )\n within group ( order by {{ percentile_field }} )\n over ( partition by {{ partition_field }} )\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.9027698, "supported_languages": null}, "macro.fivetran_utils.redshift__percentile": {"name": "redshift__percentile", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/percentile.sql", "original_file_path": "macros/percentile.sql", "unique_id": "macro.fivetran_utils.redshift__percentile", "macro_sql": "{% macro redshift__percentile(percentile_field, partition_field, percent) %}\n\n percentile_cont( \n {{ percent }} )\n within group ( order by {{ percentile_field }} )\n over ( partition by {{ partition_field }} )\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.9031308, "supported_languages": null}, "macro.fivetran_utils.bigquery__percentile": {"name": "bigquery__percentile", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/percentile.sql", "original_file_path": "macros/percentile.sql", "unique_id": "macro.fivetran_utils.bigquery__percentile", "macro_sql": "{% macro bigquery__percentile(percentile_field, partition_field, percent) %}\n\n percentile_cont( \n {{ percentile_field }}, \n {{ percent }}) \n over (partition by {{ partition_field }} \n )\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.903488, "supported_languages": null}, "macro.fivetran_utils.postgres__percentile": {"name": "postgres__percentile", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/percentile.sql", "original_file_path": "macros/percentile.sql", "unique_id": "macro.fivetran_utils.postgres__percentile", "macro_sql": "{% macro postgres__percentile(percentile_field, partition_field, percent) %}\n\n percentile_cont( \n {{ percent }} )\n within group ( order by {{ percentile_field }} )\n /* have to group by partition field */\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.903805, "supported_languages": null}, "macro.fivetran_utils.spark__percentile": {"name": "spark__percentile", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/percentile.sql", "original_file_path": "macros/percentile.sql", "unique_id": "macro.fivetran_utils.spark__percentile", "macro_sql": "{% macro spark__percentile(percentile_field, partition_field, percent) %}\n\n percentile( \n {{ percentile_field }}, \n {{ percent }}) \n over (partition by {{ partition_field }} \n )\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.904295, "supported_languages": null}, "macro.fivetran_utils.pivot_json_extract": {"name": "pivot_json_extract", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/pivot_json_extract.sql", "original_file_path": "macros/pivot_json_extract.sql", "unique_id": "macro.fivetran_utils.pivot_json_extract", "macro_sql": "{% macro pivot_json_extract(string, list_of_properties) %}\n\n{%- for property in list_of_properties -%}\n{%- if property is mapping -%}\nreplace( {{ fivetran_utils.json_extract(string, property.name) }}, '\"', '') as {{ property.alias if property.alias else property.name | replace(' ', '_') | replace('.', '_') | lower }}\n\n{%- else -%}\nreplace( {{ fivetran_utils.json_extract(string, property) }}, '\"', '') as {{ property | replace(' ', '_') | lower }}\n\n{%- endif -%}\n{%- if not loop.last -%},{%- endif %}\n{% endfor -%}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.fivetran_utils.json_extract"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.90592, "supported_languages": null}, "macro.fivetran_utils.persist_pass_through_columns": {"name": "persist_pass_through_columns", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/persist_pass_through_columns.sql", "original_file_path": "macros/persist_pass_through_columns.sql", "unique_id": "macro.fivetran_utils.persist_pass_through_columns", "macro_sql": "{% macro persist_pass_through_columns(pass_through_variable, identifier=none, transform='') %}\n\n{% if var(pass_through_variable, none) %}\n {% for field in var(pass_through_variable) %}\n , {{ transform ~ '(' ~ (identifier ~ '.' if identifier else '') ~ (field.alias if field.alias else field.name) ~ ')' }} as {{ field.alias if field.alias else field.name }}\n {% endfor %}\n{% endif %}\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.907382, "supported_languages": null}, "macro.fivetran_utils.json_parse": {"name": "json_parse", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/json_parse.sql", "original_file_path": "macros/json_parse.sql", "unique_id": "macro.fivetran_utils.json_parse", "macro_sql": "{% macro json_parse(string, string_path) -%}\n\n{{ adapter.dispatch('json_parse', 'fivetran_utils') (string, string_path) }}\n\n{%- endmacro %}", "depends_on": {"macros": ["macro.fivetran_utils.bigquery__json_parse"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.909154, "supported_languages": null}, "macro.fivetran_utils.default__json_parse": {"name": "default__json_parse", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/json_parse.sql", "original_file_path": "macros/json_parse.sql", "unique_id": "macro.fivetran_utils.default__json_parse", "macro_sql": "{% macro default__json_parse(string, string_path) %}\n\n json_extract_path_text({{string}}, {%- for s in string_path -%}'{{ s }}'{%- if not loop.last -%},{%- endif -%}{%- endfor -%} )\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.909816, "supported_languages": null}, "macro.fivetran_utils.redshift__json_parse": {"name": "redshift__json_parse", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/json_parse.sql", "original_file_path": "macros/json_parse.sql", "unique_id": "macro.fivetran_utils.redshift__json_parse", "macro_sql": "{% macro redshift__json_parse(string, string_path) %}\n\n json_extract_path_text({{string}}, {%- for s in string_path -%}'{{ s }}'{%- if not loop.last -%},{%- endif -%}{%- endfor -%} )\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.9104059, "supported_languages": null}, "macro.fivetran_utils.bigquery__json_parse": {"name": "bigquery__json_parse", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/json_parse.sql", "original_file_path": "macros/json_parse.sql", "unique_id": "macro.fivetran_utils.bigquery__json_parse", "macro_sql": "{% macro bigquery__json_parse(string, string_path) %}\n\n \n json_extract_scalar({{string}}, '$.{%- for s in string_path -%}{{ s }}{%- if not loop.last -%}.{%- endif -%}{%- endfor -%} ')\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.910933, "supported_languages": null}, "macro.fivetran_utils.postgres__json_parse": {"name": "postgres__json_parse", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/json_parse.sql", "original_file_path": "macros/json_parse.sql", "unique_id": "macro.fivetran_utils.postgres__json_parse", "macro_sql": "{% macro postgres__json_parse(string, string_path) %}\n\n {{string}}::json #>> '{ {%- for s in string_path -%}{{ s }}{%- if not loop.last -%},{%- endif -%}{%- endfor -%} }'\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.911503, "supported_languages": null}, "macro.fivetran_utils.snowflake__json_parse": {"name": "snowflake__json_parse", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/json_parse.sql", "original_file_path": "macros/json_parse.sql", "unique_id": "macro.fivetran_utils.snowflake__json_parse", "macro_sql": "{% macro snowflake__json_parse(string, string_path) %}\n\n parse_json( {{string}} ) {%- for s in string_path -%}{% if s is number %}[{{ s }}]{% else %}['{{ s }}']{% endif %}{%- endfor -%}\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.9120908, "supported_languages": null}, "macro.fivetran_utils.spark__json_parse": {"name": "spark__json_parse", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/json_parse.sql", "original_file_path": "macros/json_parse.sql", "unique_id": "macro.fivetran_utils.spark__json_parse", "macro_sql": "{% macro spark__json_parse(string, string_path) %}\n\n {{string}} : {%- for s in string_path -%}{% if s is number %}[{{ s }}]{% else %}['{{ s }}']{% endif %}{%- endfor -%}\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.9126809, "supported_languages": null}, "macro.fivetran_utils.max_bool": {"name": "max_bool", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/max_bool.sql", "original_file_path": "macros/max_bool.sql", "unique_id": "macro.fivetran_utils.max_bool", "macro_sql": "{% macro max_bool(boolean_field) -%}\n\n{{ adapter.dispatch('max_bool', 'fivetran_utils') (boolean_field) }}\n\n{%- endmacro %}", "depends_on": {"macros": ["macro.fivetran_utils.bigquery__max_bool"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.913343, "supported_languages": null}, "macro.fivetran_utils.default__max_bool": {"name": "default__max_bool", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/max_bool.sql", "original_file_path": "macros/max_bool.sql", "unique_id": "macro.fivetran_utils.default__max_bool", "macro_sql": "{% macro default__max_bool(boolean_field) %}\n\n bool_or( {{ boolean_field }} )\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.913574, "supported_languages": null}, "macro.fivetran_utils.snowflake__max_bool": {"name": "snowflake__max_bool", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/max_bool.sql", "original_file_path": "macros/max_bool.sql", "unique_id": "macro.fivetran_utils.snowflake__max_bool", "macro_sql": "{% macro snowflake__max_bool(boolean_field) %}\n\n max( {{ boolean_field }} )\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.913803, "supported_languages": null}, "macro.fivetran_utils.bigquery__max_bool": {"name": "bigquery__max_bool", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/max_bool.sql", "original_file_path": "macros/max_bool.sql", "unique_id": "macro.fivetran_utils.bigquery__max_bool", "macro_sql": "{% macro bigquery__max_bool(boolean_field) %}\n\n max( {{ boolean_field }} )\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.9140291, "supported_languages": null}, "macro.fivetran_utils.calculated_fields": {"name": "calculated_fields", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/calculated_fields.sql", "original_file_path": "macros/calculated_fields.sql", "unique_id": "macro.fivetran_utils.calculated_fields", "macro_sql": "{% macro calculated_fields(variable) -%}\n\n{% if var(variable, none) %}\n {% for field in var(variable) %}\n , {{ field.transform_sql }} as {{ field.name }} \n {% endfor %}\n{% endif %}\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.914857, "supported_languages": null}, "macro.fivetran_utils.drop_schemas_automation": {"name": "drop_schemas_automation", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/drop_schemas_automation.sql", "original_file_path": "macros/drop_schemas_automation.sql", "unique_id": "macro.fivetran_utils.drop_schemas_automation", "macro_sql": "{% macro drop_schemas_automation(drop_target_schema=true) %}\n {{ return(adapter.dispatch('drop_schemas_automation', 'fivetran_utils')(drop_target_schema)) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.fivetran_utils.default__drop_schemas_automation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.916107, "supported_languages": null}, "macro.fivetran_utils.default__drop_schemas_automation": {"name": "default__drop_schemas_automation", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/drop_schemas_automation.sql", "original_file_path": "macros/drop_schemas_automation.sql", "unique_id": "macro.fivetran_utils.default__drop_schemas_automation", "macro_sql": "{% macro default__drop_schemas_automation(drop_target_schema=true) %}\n\n{% set fetch_list_sql %}\n {% if target.type not in ('databricks', 'spark') %}\n select schema_name\n from \n {{ wrap_in_quotes(target.database) }}.INFORMATION_SCHEMA.SCHEMATA\n where lower(schema_name) like '{{ target.schema | lower }}{%- if not drop_target_schema -%}_{%- endif -%}%'\n {% else %}\n SHOW SCHEMAS LIKE '{{ target.schema }}{%- if not drop_target_schema -%}_{%- endif -%}*'\n {% endif %}\n{% endset %}\n\n{% set results = run_query(fetch_list_sql) %}\n\n{% if execute %}\n {% set results_list = results.columns[0].values() %}\n{% else %}\n {% set results_list = [] %}\n{% endif %}\n\n{% for schema_to_drop in results_list %}\n {% do adapter.drop_schema(api.Relation.create(database=target.database, schema=schema_to_drop)) %}\n {{ print('Schema ' ~ schema_to_drop ~ ' successfully dropped from the ' ~ target.database ~ ' database.\\n')}}\n{% endfor %}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.fivetran_utils.wrap_in_quotes", "macro.dbt.run_query"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.918368, "supported_languages": null}, "macro.fivetran_utils.seed_data_helper": {"name": "seed_data_helper", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/seed_data_helper.sql", "original_file_path": "macros/seed_data_helper.sql", "unique_id": "macro.fivetran_utils.seed_data_helper", "macro_sql": "{% macro seed_data_helper(seed_name, warehouses) %}\n\n{% if target.type in warehouses %}\n {% for w in warehouses %}\n {% if target.type == w %}\n {{ return(ref(seed_name ~ \"_\" ~ w ~ \"\")) }}\n {% endif %}\n {% endfor %}\n{% else %}\n{{ return(ref(seed_name)) }}\n{% endif %}\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.919729, "supported_languages": null}, "macro.fivetran_utils.fill_pass_through_columns": {"name": "fill_pass_through_columns", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/fill_pass_through_columns.sql", "original_file_path": "macros/fill_pass_through_columns.sql", "unique_id": "macro.fivetran_utils.fill_pass_through_columns", "macro_sql": "{% macro fill_pass_through_columns(pass_through_variable) %}\n\n{% if var(pass_through_variable) %}\n {% for field in var(pass_through_variable) %}\n {% if field is mapping %}\n {% if field.transform_sql %}\n , {{ field.transform_sql }} as {{ field.alias if field.alias else field.name }}\n {% else %}\n , {{ field.alias if field.alias else field.name }}\n {% endif %}\n {% else %}\n , {{ field }}\n {% endif %}\n {% endfor %}\n{% endif %}\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.9214668, "supported_languages": null}, "macro.fivetran_utils.string_agg": {"name": "string_agg", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/string_agg.sql", "original_file_path": "macros/string_agg.sql", "unique_id": "macro.fivetran_utils.string_agg", "macro_sql": "{% macro string_agg(field_to_agg, delimiter) -%}\n\n{{ adapter.dispatch('string_agg', 'fivetran_utils') (field_to_agg, delimiter) }}\n\n{%- endmacro %}", "depends_on": {"macros": ["macro.fivetran_utils.default__string_agg"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.922372, "supported_languages": null}, "macro.fivetran_utils.default__string_agg": {"name": "default__string_agg", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/string_agg.sql", "original_file_path": "macros/string_agg.sql", "unique_id": "macro.fivetran_utils.default__string_agg", "macro_sql": "{% macro default__string_agg(field_to_agg, delimiter) %}\n string_agg({{ field_to_agg }}, {{ delimiter }})\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.92274, "supported_languages": null}, "macro.fivetran_utils.snowflake__string_agg": {"name": "snowflake__string_agg", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/string_agg.sql", "original_file_path": "macros/string_agg.sql", "unique_id": "macro.fivetran_utils.snowflake__string_agg", "macro_sql": "{% macro snowflake__string_agg(field_to_agg, delimiter) %}\n listagg({{ field_to_agg }}, {{ delimiter }})\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.923033, "supported_languages": null}, "macro.fivetran_utils.redshift__string_agg": {"name": "redshift__string_agg", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/string_agg.sql", "original_file_path": "macros/string_agg.sql", "unique_id": "macro.fivetran_utils.redshift__string_agg", "macro_sql": "{% macro redshift__string_agg(field_to_agg, delimiter) %}\n listagg({{ field_to_agg }}, {{ delimiter }})\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.923383, "supported_languages": null}, "macro.fivetran_utils.spark__string_agg": {"name": "spark__string_agg", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/string_agg.sql", "original_file_path": "macros/string_agg.sql", "unique_id": "macro.fivetran_utils.spark__string_agg", "macro_sql": "{% macro spark__string_agg(field_to_agg, delimiter) %}\n -- collect set will remove duplicates\n replace(replace(replace(cast( collect_set({{ field_to_agg }}) as string), '[', ''), ']', ''), ', ', {{ delimiter }} )\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.9237812, "supported_languages": null}, "macro.fivetran_utils.timestamp_diff": {"name": "timestamp_diff", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/timestamp_diff.sql", "original_file_path": "macros/timestamp_diff.sql", "unique_id": "macro.fivetran_utils.timestamp_diff", "macro_sql": "{% macro timestamp_diff(first_date, second_date, datepart) %}\n {{ adapter.dispatch('timestamp_diff', 'fivetran_utils')(first_date, second_date, datepart) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.fivetran_utils.bigquery__timestamp_diff"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.92862, "supported_languages": null}, "macro.fivetran_utils.default__timestamp_diff": {"name": "default__timestamp_diff", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/timestamp_diff.sql", "original_file_path": "macros/timestamp_diff.sql", "unique_id": "macro.fivetran_utils.default__timestamp_diff", "macro_sql": "{% macro default__timestamp_diff(first_date, second_date, datepart) %}\n\n datediff(\n {{ datepart }},\n {{ first_date }},\n {{ second_date }}\n )\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.928978, "supported_languages": null}, "macro.fivetran_utils.redshift__timestamp_diff": {"name": "redshift__timestamp_diff", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/timestamp_diff.sql", "original_file_path": "macros/timestamp_diff.sql", "unique_id": "macro.fivetran_utils.redshift__timestamp_diff", "macro_sql": "{% macro redshift__timestamp_diff(first_date, second_date, datepart) %}\n\n datediff(\n {{ datepart }},\n {{ first_date }},\n {{ second_date }}\n )\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.929397, "supported_languages": null}, "macro.fivetran_utils.bigquery__timestamp_diff": {"name": "bigquery__timestamp_diff", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/timestamp_diff.sql", "original_file_path": "macros/timestamp_diff.sql", "unique_id": "macro.fivetran_utils.bigquery__timestamp_diff", "macro_sql": "{% macro bigquery__timestamp_diff(first_date, second_date, datepart) %}\n\n timestamp_diff(\n {{second_date}},\n {{first_date}},\n {{datepart}}\n )\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.929811, "supported_languages": null}, "macro.fivetran_utils.postgres__timestamp_diff": {"name": "postgres__timestamp_diff", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/timestamp_diff.sql", "original_file_path": "macros/timestamp_diff.sql", "unique_id": "macro.fivetran_utils.postgres__timestamp_diff", "macro_sql": "{% macro postgres__timestamp_diff(first_date, second_date, datepart) %}\n\n {% if datepart == 'year' %}\n (date_part('year', ({{second_date}})::date) - date_part('year', ({{first_date}})::date))\n {% elif datepart == 'quarter' %}\n ({{ dbt.datediff(first_date, second_date, 'year') }} * 4 + date_part('quarter', ({{second_date}})::date) - date_part('quarter', ({{first_date}})::date))\n {% elif datepart == 'month' %}\n ({{ dbt.datediff(first_date, second_date, 'year') }} * 12 + date_part('month', ({{second_date}})::date) - date_part('month', ({{first_date}})::date))\n {% elif datepart == 'day' %}\n (({{second_date}})::date - ({{first_date}})::date)\n {% elif datepart == 'week' %}\n ({{ dbt.datediff(first_date, second_date, 'day') }} / 7 + case\n when date_part('dow', ({{first_date}})::timestamp) <= date_part('dow', ({{second_date}})::timestamp) then\n case when {{first_date}} <= {{second_date}} then 0 else -1 end\n else\n case when {{first_date}} <= {{second_date}} then 1 else 0 end\n end)\n {% elif datepart == 'hour' %}\n ({{ dbt.datediff(first_date, second_date, 'day') }} * 24 + date_part('hour', ({{second_date}})::timestamp) - date_part('hour', ({{first_date}})::timestamp))\n {% elif datepart == 'minute' %}\n ({{ dbt.datediff(first_date, second_date, 'hour') }} * 60 + date_part('minute', ({{second_date}})::timestamp) - date_part('minute', ({{first_date}})::timestamp))\n {% elif datepart == 'second' %}\n ({{ dbt.datediff(first_date, second_date, 'minute') }} * 60 + floor(date_part('second', ({{second_date}})::timestamp)) - floor(date_part('second', ({{first_date}})::timestamp)))\n {% elif datepart == 'millisecond' %}\n ({{ dbt.datediff(first_date, second_date, 'minute') }} * 60000 + floor(date_part('millisecond', ({{second_date}})::timestamp)) - floor(date_part('millisecond', ({{first_date}})::timestamp)))\n {% elif datepart == 'microsecond' %}\n ({{ dbt.datediff(first_date, second_date, 'minute') }} * 60000000 + floor(date_part('microsecond', ({{second_date}})::timestamp)) - floor(date_part('microsecond', ({{first_date}})::timestamp)))\n {% else %}\n {{ exceptions.raise_compiler_error(\"Unsupported datepart for macro datediff in postgres: {!r}\".format(datepart)) }}\n {% endif %}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.datediff"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.934256, "supported_languages": null}, "macro.fivetran_utils.try_cast": {"name": "try_cast", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/try_cast.sql", "original_file_path": "macros/try_cast.sql", "unique_id": "macro.fivetran_utils.try_cast", "macro_sql": "{% macro try_cast(field, type) %}\n {{ adapter.dispatch('try_cast', 'fivetran_utils') (field, type) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.fivetran_utils.bigquery__try_cast"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.935742, "supported_languages": null}, "macro.fivetran_utils.default__safe_cast": {"name": "default__safe_cast", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/try_cast.sql", "original_file_path": "macros/try_cast.sql", "unique_id": "macro.fivetran_utils.default__safe_cast", "macro_sql": "{% macro default__safe_cast(field, type) %}\n {# most databases don't support this function yet\n so we just need to use cast #}\n cast({{field}} as {{type}})\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.936051, "supported_languages": null}, "macro.fivetran_utils.redshift__try_cast": {"name": "redshift__try_cast", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/try_cast.sql", "original_file_path": "macros/try_cast.sql", "unique_id": "macro.fivetran_utils.redshift__try_cast", "macro_sql": "{% macro redshift__try_cast(field, type) %}\n{%- if type == 'numeric' -%}\n\n case\n when trim({{field}}) ~ '^(0|[1-9][0-9]*)$' then trim({{field}})\n else null\n end::{{type}}\n\n{% else %}\n {{ exceptions.raise_compiler_error(\n \"non-numeric datatypes are not currently supported\") }}\n\n{% endif %}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.936652, "supported_languages": null}, "macro.fivetran_utils.postgres__try_cast": {"name": "postgres__try_cast", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/try_cast.sql", "original_file_path": "macros/try_cast.sql", "unique_id": "macro.fivetran_utils.postgres__try_cast", "macro_sql": "{% macro postgres__try_cast(field, type) %}\n{%- if type == 'numeric' -%}\n\n case\n when replace(cast({{field}} as varchar),cast(' ' as varchar),cast('' as varchar)) ~ '^(0|[1-9][0-9]*)$' \n then replace(cast({{field}} as varchar),cast(' ' as varchar),cast('' as varchar))\n else null\n end::{{type}}\n\n{% else %}\n {{ exceptions.raise_compiler_error(\n \"non-numeric datatypes are not currently supported\") }}\n\n{% endif %}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.937276, "supported_languages": null}, "macro.fivetran_utils.snowflake__try_cast": {"name": "snowflake__try_cast", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/try_cast.sql", "original_file_path": "macros/try_cast.sql", "unique_id": "macro.fivetran_utils.snowflake__try_cast", "macro_sql": "{% macro snowflake__try_cast(field, type) %}\n try_cast(cast({{field}} as varchar) as {{type}})\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.937716, "supported_languages": null}, "macro.fivetran_utils.bigquery__try_cast": {"name": "bigquery__try_cast", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/try_cast.sql", "original_file_path": "macros/try_cast.sql", "unique_id": "macro.fivetran_utils.bigquery__try_cast", "macro_sql": "{% macro bigquery__try_cast(field, type) %}\n safe_cast({{field}} as {{type}})\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.937998, "supported_languages": null}, "macro.fivetran_utils.spark__try_cast": {"name": "spark__try_cast", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/try_cast.sql", "original_file_path": "macros/try_cast.sql", "unique_id": "macro.fivetran_utils.spark__try_cast", "macro_sql": "{% macro spark__try_cast(field, type) %}\n try_cast({{field}} as {{type}})\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.9382799, "supported_languages": null}, "macro.fivetran_utils.source_relation": {"name": "source_relation", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/source_relation.sql", "original_file_path": "macros/source_relation.sql", "unique_id": "macro.fivetran_utils.source_relation", "macro_sql": "{% macro source_relation(union_schema_variable='union_schemas', union_database_variable='union_databases') -%}\n\n{{ adapter.dispatch('source_relation', 'fivetran_utils') (union_schema_variable, union_database_variable) }}\n\n{%- endmacro %}", "depends_on": {"macros": ["macro.fivetran_utils.default__source_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.939289, "supported_languages": null}, "macro.fivetran_utils.default__source_relation": {"name": "default__source_relation", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/source_relation.sql", "original_file_path": "macros/source_relation.sql", "unique_id": "macro.fivetran_utils.default__source_relation", "macro_sql": "{% macro default__source_relation(union_schema_variable, union_database_variable) %}\n\n{% if var(union_schema_variable, none) %}\n, case\n {% for schema in var(union_schema_variable) %}\n when lower(replace(replace(_dbt_source_relation,'\"',''),'`','')) like '%.{{ schema|lower }}.%' then '{{ schema|lower }}'\n {% endfor %}\n end as source_relation\n{% elif var(union_database_variable, none) %}\n, case\n {% for database in var(union_database_variable) %}\n when lower(replace(replace(_dbt_source_relation,'\"',''),'`','')) like '%{{ database|lower }}.%' then '{{ database|lower }}'\n {% endfor %}\n end as source_relation\n{% else %}\n, cast('' as {{ dbt.type_string() }}) as source_relation\n{% endif %}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_string"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.940717, "supported_languages": null}, "macro.fivetran_utils.first_value": {"name": "first_value", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/first_value.sql", "original_file_path": "macros/first_value.sql", "unique_id": "macro.fivetran_utils.first_value", "macro_sql": "{% macro first_value(first_value_field, partition_field, order_by_field, order=\"asc\") -%}\n\n{{ adapter.dispatch('first_value', 'fivetran_utils') (first_value_field, partition_field, order_by_field, order) }}\n\n{%- endmacro %}", "depends_on": {"macros": ["macro.fivetran_utils.default__first_value"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.941754, "supported_languages": null}, "macro.fivetran_utils.default__first_value": {"name": "default__first_value", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/first_value.sql", "original_file_path": "macros/first_value.sql", "unique_id": "macro.fivetran_utils.default__first_value", "macro_sql": "{% macro default__first_value(first_value_field, partition_field, order_by_field, order=\"asc\") %}\n\n first_value( {{ first_value_field }} ignore nulls ) over (partition by {{ partition_field }} order by {{ order_by_field }} {{ order }} )\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.942196, "supported_languages": null}, "macro.fivetran_utils.redshift__first_value": {"name": "redshift__first_value", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/first_value.sql", "original_file_path": "macros/first_value.sql", "unique_id": "macro.fivetran_utils.redshift__first_value", "macro_sql": "{% macro redshift__first_value(first_value_field, partition_field, order_by_field, order=\"asc\") %}\n\n first_value( {{ first_value_field }} ignore nulls ) over (partition by {{ partition_field }} order by {{ order_by_field }} {{ order }} , {{ partition_field }} rows unbounded preceding )\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.942683, "supported_languages": null}, "macro.fivetran_utils.add_dbt_source_relation": {"name": "add_dbt_source_relation", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/add_dbt_source_relation.sql", "original_file_path": "macros/add_dbt_source_relation.sql", "unique_id": "macro.fivetran_utils.add_dbt_source_relation", "macro_sql": "{% macro add_dbt_source_relation() %}\n\n{% if var('union_schemas', none) or var('union_databases', none) %}\n, _dbt_source_relation\n{% endif %}\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.9432352, "supported_languages": null}, "macro.fivetran_utils.add_pass_through_columns": {"name": "add_pass_through_columns", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/add_pass_through_columns.sql", "original_file_path": "macros/add_pass_through_columns.sql", "unique_id": "macro.fivetran_utils.add_pass_through_columns", "macro_sql": "{% macro add_pass_through_columns(base_columns, pass_through_var) %}\n\n {% if pass_through_var %}\n\n {% for column in pass_through_var %}\n\n {% if column is mapping %}\n\n {% if column.alias %}\n\n {% do base_columns.append({ \"name\": column.name, \"alias\": column.alias, \"datatype\": column.datatype if column.datatype else dbt.type_string()}) %}\n\n {% else %}\n\n {% do base_columns.append({ \"name\": column.name, \"datatype\": column.datatype if column.datatype else dbt.type_string()}) %}\n \n {% endif %}\n\n {% else %}\n\n {% do base_columns.append({ \"name\": column, \"datatype\": dbt.type_string()}) %}\n\n {% endif %}\n\n {% endfor %}\n\n {% endif %}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_string"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.9454238, "supported_languages": null}, "macro.fivetran_utils.union_relations": {"name": "union_relations", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/union_relations.sql", "original_file_path": "macros/union_relations.sql", "unique_id": "macro.fivetran_utils.union_relations", "macro_sql": "{%- macro union_relations(relations, aliases=none, column_override=none, include=[], exclude=[], source_column_name=none) -%}\n\n {%- if exclude and include -%}\n {{ exceptions.raise_compiler_error(\"Both an exclude and include list were provided to the `union` macro. Only one is allowed\") }}\n {%- endif -%}\n\n {#-- Prevent querying of db in parsing mode. This works because this macro does not create any new refs. -#}\n {%- if not execute %}\n {{ return('') }}\n {% endif -%}\n\n {%- set column_override = column_override if column_override is not none else {} -%}\n {%- set source_column_name = source_column_name if source_column_name is not none else '_dbt_source_relation' -%}\n\n {%- set relation_columns = {} -%}\n {%- set column_superset = {} -%}\n\n {%- for relation in relations -%}\n\n {%- do relation_columns.update({relation: []}) -%}\n\n {%- do dbt_utils._is_relation(relation, 'union_relations') -%}\n {%- set cols = adapter.get_columns_in_relation(relation) -%}\n {%- for col in cols -%}\n\n {#- If an exclude list was provided and the column is in the list, do nothing -#}\n {%- if exclude and col.column in exclude -%}\n\n {#- If an include list was provided and the column is not in the list, do nothing -#}\n {%- elif include and col.column not in include -%}\n\n {#- Otherwise add the column to the column superset -#}\n {%- else -%}\n\n {#- update the list of columns in this relation -#}\n {%- do relation_columns[relation].append(col.column) -%}\n\n {%- if col.column in column_superset -%}\n\n {%- set stored = column_superset[col.column] -%}\n {%- if col.is_string() and stored.is_string() and col.string_size() > stored.string_size() -%}\n\n {%- do column_superset.update({col.column: col}) -%}\n\n {%- endif %}\n\n {%- else -%}\n\n {%- do column_superset.update({col.column: col}) -%}\n\n {%- endif -%}\n\n {%- endif -%}\n\n {%- endfor -%}\n {%- endfor -%}\n\n {%- set ordered_column_names = column_superset.keys() -%}\n\n {%- for relation in relations %}\n\n (\n select\n\n cast({{ dbt.string_literal(relation) }} as {{ dbt.type_string() }}) as {{ source_column_name }},\n {% for col_name in ordered_column_names -%}\n\n {%- set col = column_superset[col_name] %}\n {%- set col_type = column_override.get(col.column, col.data_type) %}\n {%- set col_name = adapter.quote(col_name) if col_name in relation_columns[relation] else 'null' %}\n cast({{ col_name }} as {{ col_type }}) as {{ col.quoted }} {% if not loop.last %},{% endif -%}\n\n {%- endfor %}\n\n from {{ aliases[loop.index0] if aliases else relation }}\n )\n\n {% if not loop.last -%}\n union all\n {% endif -%}\n\n {%- endfor -%}\n\n{%- endmacro -%}\n\n", "depends_on": {"macros": ["macro.dbt_utils._is_relation", "macro.dbt.string_literal", "macro.dbt.type_string"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.952968, "supported_languages": null}, "macro.fivetran_utils.union_tables": {"name": "union_tables", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/union_relations.sql", "original_file_path": "macros/union_relations.sql", "unique_id": "macro.fivetran_utils.union_tables", "macro_sql": "{%- macro union_tables(tables, column_override=none, include=[], exclude=[], source_column_name='_dbt_source_table') -%}\n\n {%- do exceptions.warn(\"Warning: the `union_tables` macro is no longer supported and will be deprecated in a future release of dbt-utils. Use the `union_relations` macro instead\") -%}\n\n {{ return(dbt_utils.union_relations(tables, column_override, include, exclude, source_column_name)) }}\n\n{%- endmacro -%}", "depends_on": {"macros": ["macro.dbt_utils.union_relations"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.953717, "supported_languages": null}, "macro.fivetran_utils.snowflake_seed_data": {"name": "snowflake_seed_data", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/snowflake_seed_data.sql", "original_file_path": "macros/snowflake_seed_data.sql", "unique_id": "macro.fivetran_utils.snowflake_seed_data", "macro_sql": "{% macro snowflake_seed_data(seed_name) %}\n\n{% if target.type == 'snowflake' %}\n{{ return(ref(seed_name ~ '_snowflake')) }}\n{% else %}\n{{ return(ref(seed_name)) }}\n{% endif %}\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.954607, "supported_languages": null}, "macro.fivetran_utils.fill_staging_columns": {"name": "fill_staging_columns", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/fill_staging_columns.sql", "original_file_path": "macros/fill_staging_columns.sql", "unique_id": "macro.fivetran_utils.fill_staging_columns", "macro_sql": "{% macro fill_staging_columns(source_columns, staging_columns) -%}\n\n{%- set source_column_names = source_columns|map(attribute='name')|map('lower')|list -%}\n\n{%- for column in staging_columns %}\n {% if column.name|lower in source_column_names -%}\n {{ fivetran_utils.quote_column(column) }} as \n {%- if 'alias' in column %} {{ column.alias }} {% else %} {{ fivetran_utils.quote_column(column) }} {%- endif -%}\n {%- else -%}\n cast(null as {{ column.datatype }})\n {%- if 'alias' in column %} as {{ column.alias }} {% else %} as {{ fivetran_utils.quote_column(column) }} {% endif -%}\n {%- endif -%}\n {%- if not loop.last -%} , {% endif -%}\n{% endfor %}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.fivetran_utils.quote_column"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.957369, "supported_languages": null}, "macro.fivetran_utils.quote_column": {"name": "quote_column", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/fill_staging_columns.sql", "original_file_path": "macros/fill_staging_columns.sql", "unique_id": "macro.fivetran_utils.quote_column", "macro_sql": "{% macro quote_column(column) %}\n {% if 'quote' in column %}\n {% if column.quote %}\n {% if target.type in ('bigquery', 'spark', 'databricks') %}\n `{{ column.name }}`\n {% elif target.type == 'snowflake' %}\n \"{{ column.name | upper }}\"\n {% else %}\n \"{{ column.name }}\"\n {% endif %}\n {% else %}\n {{ column.name }}\n {% endif %}\n {% else %}\n {{ column.name }}\n {% endif %}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.958555, "supported_languages": null}, "macro.fivetran_utils.json_extract": {"name": "json_extract", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/json_extract.sql", "original_file_path": "macros/json_extract.sql", "unique_id": "macro.fivetran_utils.json_extract", "macro_sql": "{% macro json_extract(string, string_path) -%}\n\n{{ adapter.dispatch('json_extract', 'fivetran_utils') (string, string_path) }}\n\n{%- endmacro %}", "depends_on": {"macros": ["macro.fivetran_utils.bigquery__json_extract"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.959542, "supported_languages": null}, "macro.fivetran_utils.default__json_extract": {"name": "default__json_extract", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/json_extract.sql", "original_file_path": "macros/json_extract.sql", "unique_id": "macro.fivetran_utils.default__json_extract", "macro_sql": "{% macro default__json_extract(string, string_path) %}\n\n json_extract_path_text({{string}}, {{ \"'\" ~ string_path ~ \"'\" }} )\n \n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.959878, "supported_languages": null}, "macro.fivetran_utils.snowflake__json_extract": {"name": "snowflake__json_extract", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/json_extract.sql", "original_file_path": "macros/json_extract.sql", "unique_id": "macro.fivetran_utils.snowflake__json_extract", "macro_sql": "{% macro snowflake__json_extract(string, string_path) %}\n\n json_extract_path_text(try_parse_json( {{string}} ), {{ \"'\" ~ string_path ~ \"'\" }} )\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.960212, "supported_languages": null}, "macro.fivetran_utils.redshift__json_extract": {"name": "redshift__json_extract", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/json_extract.sql", "original_file_path": "macros/json_extract.sql", "unique_id": "macro.fivetran_utils.redshift__json_extract", "macro_sql": "{% macro redshift__json_extract(string, string_path) %}\n\n case when is_valid_json( {{string}} ) then json_extract_path_text({{string}}, {{ \"'\" ~ string_path ~ \"'\" }} ) else null end\n \n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.96058, "supported_languages": null}, "macro.fivetran_utils.bigquery__json_extract": {"name": "bigquery__json_extract", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/json_extract.sql", "original_file_path": "macros/json_extract.sql", "unique_id": "macro.fivetran_utils.bigquery__json_extract", "macro_sql": "{% macro bigquery__json_extract(string, string_path) %}\n\n json_extract_scalar({{string}}, {{ \"'$.\" ~ string_path ~ \"'\" }} )\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.960912, "supported_languages": null}, "macro.fivetran_utils.postgres__json_extract": {"name": "postgres__json_extract", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/json_extract.sql", "original_file_path": "macros/json_extract.sql", "unique_id": "macro.fivetran_utils.postgres__json_extract", "macro_sql": "{% macro postgres__json_extract(string, string_path) %}\n\n {{string}}::json->>{{\"'\" ~ string_path ~ \"'\" }}\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.961243, "supported_languages": null}, "macro.fivetran_utils.collect_freshness": {"name": "collect_freshness", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/collect_freshness.sql", "original_file_path": "macros/collect_freshness.sql", "unique_id": "macro.fivetran_utils.collect_freshness", "macro_sql": "{% macro collect_freshness(source, loaded_at_field, filter) %}\n {{ return(adapter.dispatch('collect_freshness')(source, loaded_at_field, filter))}}\n{% endmacro %}", "depends_on": {"macros": ["macro.fivetran_utils.default__collect_freshness"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.96242, "supported_languages": null}, "macro.fivetran_utils.default__collect_freshness": {"name": "default__collect_freshness", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/collect_freshness.sql", "original_file_path": "macros/collect_freshness.sql", "unique_id": "macro.fivetran_utils.default__collect_freshness", "macro_sql": "{% macro default__collect_freshness(source, loaded_at_field, filter) %}\n {% call statement('collect_freshness', fetch_result=True, auto_begin=False) -%}\n\n {%- set enabled_array = [] -%}\n {% for node in graph.sources.values() %}\n {% if node.identifier == source.identifier %}\n {% if (node.meta['is_enabled'] | default(true)) %}\n {%- do enabled_array.append(1) -%}\n {% endif %}\n {% endif %}\n {% endfor %}\n {% set is_enabled = (enabled_array != []) %}\n\n select\n {% if is_enabled %}\n max({{ loaded_at_field }})\n {% else %} \n {{ current_timestamp() }} {% endif %} as max_loaded_at,\n {{ current_timestamp() }} as snapshotted_at\n\n {% if is_enabled %}\n from {{ source }}\n {% if filter %}\n where {{ filter }}\n {% endif %}\n {% endif %}\n\n {% endcall %}\n {{ return(load_result('collect_freshness').table) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement", "macro.dbt.current_timestamp"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.9644842, "supported_languages": null}, "macro.fivetran_utils.timestamp_add": {"name": "timestamp_add", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/timestamp_add.sql", "original_file_path": "macros/timestamp_add.sql", "unique_id": "macro.fivetran_utils.timestamp_add", "macro_sql": "{% macro timestamp_add(datepart, interval, from_timestamp) -%}\n\n{{ adapter.dispatch('timestamp_add', 'fivetran_utils') (datepart, interval, from_timestamp) }}\n\n{%- endmacro %}", "depends_on": {"macros": ["macro.fivetran_utils.bigquery__timestamp_add"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.965634, "supported_languages": null}, "macro.fivetran_utils.default__timestamp_add": {"name": "default__timestamp_add", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/timestamp_add.sql", "original_file_path": "macros/timestamp_add.sql", "unique_id": "macro.fivetran_utils.default__timestamp_add", "macro_sql": "{% macro default__timestamp_add(datepart, interval, from_timestamp) %}\n\n timestampadd(\n {{ datepart }},\n {{ interval }},\n {{ from_timestamp }}\n )\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.965987, "supported_languages": null}, "macro.fivetran_utils.bigquery__timestamp_add": {"name": "bigquery__timestamp_add", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/timestamp_add.sql", "original_file_path": "macros/timestamp_add.sql", "unique_id": "macro.fivetran_utils.bigquery__timestamp_add", "macro_sql": "{% macro bigquery__timestamp_add(datepart, interval, from_timestamp) %}\n\n timestamp_add({{ from_timestamp }}, interval {{ interval }} {{ datepart }})\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.966332, "supported_languages": null}, "macro.fivetran_utils.redshift__timestamp_add": {"name": "redshift__timestamp_add", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/timestamp_add.sql", "original_file_path": "macros/timestamp_add.sql", "unique_id": "macro.fivetran_utils.redshift__timestamp_add", "macro_sql": "{% macro redshift__timestamp_add(datepart, interval, from_timestamp) %}\n\n dateadd(\n {{ datepart }},\n {{ interval }},\n {{ from_timestamp }}\n )\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.966686, "supported_languages": null}, "macro.fivetran_utils.postgres__timestamp_add": {"name": "postgres__timestamp_add", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/timestamp_add.sql", "original_file_path": "macros/timestamp_add.sql", "unique_id": "macro.fivetran_utils.postgres__timestamp_add", "macro_sql": "{% macro postgres__timestamp_add(datepart, interval, from_timestamp) %}\n\n {{ from_timestamp }} + ((interval '1 {{ datepart }}') * ({{ interval }}))\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.9670331, "supported_languages": null}, "macro.fivetran_utils.spark__timestamp_add": {"name": "spark__timestamp_add", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/timestamp_add.sql", "original_file_path": "macros/timestamp_add.sql", "unique_id": "macro.fivetran_utils.spark__timestamp_add", "macro_sql": "{% macro spark__timestamp_add(datepart, interval, from_timestamp) %}\n\n {{ dbt.dateadd(datepart, interval, from_timestamp) }}\n \n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.dateadd"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.967417, "supported_languages": null}, "macro.fivetran_utils.ceiling": {"name": "ceiling", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/ceiling.sql", "original_file_path": "macros/ceiling.sql", "unique_id": "macro.fivetran_utils.ceiling", "macro_sql": "{% macro ceiling(num) -%}\n\n{{ adapter.dispatch('ceiling', 'fivetran_utils') (num) }}\n\n{%- endmacro %}", "depends_on": {"macros": ["macro.fivetran_utils.default__ceiling"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.967922, "supported_languages": null}, "macro.fivetran_utils.default__ceiling": {"name": "default__ceiling", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/ceiling.sql", "original_file_path": "macros/ceiling.sql", "unique_id": "macro.fivetran_utils.default__ceiling", "macro_sql": "{% macro default__ceiling(num) %}\n ceiling({{ num }})\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.968153, "supported_languages": null}, "macro.fivetran_utils.snowflake__ceiling": {"name": "snowflake__ceiling", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/ceiling.sql", "original_file_path": "macros/ceiling.sql", "unique_id": "macro.fivetran_utils.snowflake__ceiling", "macro_sql": "{% macro snowflake__ceiling(num) %}\n ceil({{ num }})\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.968383, "supported_languages": null}, "macro.fivetran_utils.remove_prefix_from_columns": {"name": "remove_prefix_from_columns", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/remove_prefix_from_columns.sql", "original_file_path": "macros/remove_prefix_from_columns.sql", "unique_id": "macro.fivetran_utils.remove_prefix_from_columns", "macro_sql": "{% macro remove_prefix_from_columns(columns, prefix='', exclude=[]) %}\n\n {%- for col in columns if col.name not in exclude -%}\n {%- if col.name[:prefix|length]|lower == prefix -%}\n {{ col.name }} as {{ col.name[prefix|length:] }}\n {%- else -%}\n {{ col.name }}\n {%- endif -%}\n {%- if not loop.last -%},{%- endif %}\n {% endfor -%}\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.969643, "supported_languages": null}, "macro.fivetran_utils.union_data": {"name": "union_data", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/union_data.sql", "original_file_path": "macros/union_data.sql", "unique_id": "macro.fivetran_utils.union_data", "macro_sql": "{%- macro union_data(table_identifier, database_variable, schema_variable, default_database, default_schema, default_variable, union_schema_variable='union_schemas', union_database_variable='union_databases') -%}\n\n{{ adapter.dispatch('union_data', 'fivetran_utils') (\n table_identifier, \n database_variable, \n schema_variable, \n default_database, \n default_schema, \n default_variable,\n union_schema_variable,\n union_database_variable\n ) }}\n\n{%- endmacro -%}\n\n", "depends_on": {"macros": ["macro.fivetran_utils.default__union_data"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.974777, "supported_languages": null}, "macro.fivetran_utils.default__union_data": {"name": "default__union_data", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/union_data.sql", "original_file_path": "macros/union_data.sql", "unique_id": "macro.fivetran_utils.default__union_data", "macro_sql": "{%- macro default__union_data(\n table_identifier, \n database_variable, \n schema_variable, \n default_database, \n default_schema, \n default_variable,\n union_schema_variable,\n union_database_variable\n ) -%}\n\n{%- if var(union_schema_variable, none) -%}\n\n {%- set relations = [] -%}\n \n {%- if var(union_schema_variable) is string -%}\n {%- set trimmed = var(union_schema_variable)|trim('[')|trim(']') -%}\n {%- set schemas = trimmed.split(',')|map('trim',\" \")|map('trim','\"')|map('trim',\"'\") -%}\n {%- else -%}\n {%- set schemas = var(union_schema_variable) -%}\n {%- endif -%}\n\n {%- for schema in var(union_schema_variable) -%}\n {%- set relation=adapter.get_relation(\n database=source(schema, table_identifier).database if var('has_defined_sources', false) else var(database_variable, default_database),\n schema=source(schema, table_identifier).schema if var('has_defined_sources', false) else schema,\n identifier=source(schema, table_identifier).identifier if var('has_defined_sources', false) else table_identifier\n ) -%}\n \n {%- set relation_exists=relation is not none -%}\n\n {%- if relation_exists -%}\n {%- do relations.append(relation) -%}\n {%- endif -%}\n\n {%- endfor -%}\n \n {%- if relations != [] -%}\n {{ dbt_utils.union_relations(relations) }}\n {%- else -%}\n {% if execute and not var('fivetran__remove_empty_table_warnings', false) -%}\n {{ exceptions.warn(\"\\n\\nPlease be aware: The \" ~ table_identifier|upper ~ \" table was not found in your \" ~ default_schema|upper ~ \" schema(s). The Fivetran dbt package will create a completely empty \" ~ table_identifier|upper ~ \" staging model as to not break downstream transformations. To turn off these warnings, set the `fivetran__remove_empty_table_warnings` variable to TRUE (see https://github.com/fivetran/dbt_fivetran_utils/tree/releases/v0.4.latest#union_data-source for details).\\n\") }}\n {% endif -%}\n select \n cast(null as {{ dbt.type_string() }}) as _dbt_source_relation\n limit 0\n {%- endif -%}\n\n{%- elif var(union_database_variable, none) -%}\n\n {%- set relations = [] -%}\n\n {%- for database in var(union_database_variable) -%}\n {%- set relation=adapter.get_relation(\n database=source(schema, table_identifier).database if var('has_defined_sources', false) else database,\n schema=source(schema, table_identifier).schema if var('has_defined_sources', false) else var(schema_variable, default_schema),\n identifier=source(schema, table_identifier).identifier if var('has_defined_sources', false) else table_identifier\n ) -%}\n\n {%- set relation_exists=relation is not none -%}\n\n {%- if relation_exists -%}\n {%- do relations.append(relation) -%}\n {%- endif -%}\n\n {%- endfor -%}\n\n {%- if relations != [] -%}\n {{ dbt_utils.union_relations(relations) }}\n {%- else -%}\n {% if execute and not var('fivetran__remove_empty_table_warnings', false) -%}\n {{ exceptions.warn(\"\\n\\nPlease be aware: The \" ~ table_identifier|upper ~ \" table was not found in your \" ~ default_schema|upper ~ \" schema(s). The Fivetran dbt package will create a completely empty \" ~ table_identifier|upper ~ \" staging model as to not break downstream transformations. To turn off these warnings, set the `fivetran__remove_empty_table_warnings` variable to TRUE (see https://github.com/fivetran/dbt_fivetran_utils/tree/releases/v0.4.latest#union_data-source for details).\\n\") }}\n {% endif -%}\n select \n cast(null as {{ dbt.type_string() }}) as _dbt_source_relation\n limit 0\n {%- endif -%}\n\n{%- else -%}\n {% set exception_schemas = {\"linkedin_company_pages\": \"linkedin_pages\", \"instagram_business_pages\": \"instagram_business\"} %}\n {% set relation = namespace(value=\"\") %}\n {% if default_schema in exception_schemas.keys() %}\n {% for corrected_schema_name in exception_schemas.items() %} \n {% if default_schema in corrected_schema_name %}\n {# In order for this macro to effectively work within upstream integration tests (mainly used by the Fivetran dbt package maintainers), this identifier variable selection is required to use the macro with different identifier names. #}\n {% set identifier_var = corrected_schema_name[1] + \"_\" + table_identifier + \"_identifier\" %}\n {%- set relation.value=adapter.get_relation(\n database=source(corrected_schema_name[1], table_identifier).database,\n schema=source(corrected_schema_name[1], table_identifier).schema,\n identifier=var(identifier_var, table_identifier)\n ) -%}\n {% endif %}\n {% endfor %}\n {% else %}\n {# In order for this macro to effectively work within upstream integration tests (mainly used by the Fivetran dbt package maintainers), this identifier variable selection is required to use the macro with different identifier names. #}\n {% set identifier_var = default_schema + \"_\" + table_identifier + \"_identifier\" %}\n {# Unfortunately the Twitter Organic identifiers were misspelled. As such, we will need to account for this in the model. This will be adjusted in the Twitter Organic package, but to ensure backwards compatibility, this needs to be included. #}\n {% if var(identifier_var, none) is none %} \n {% set identifier_var = default_schema + \"_\" + table_identifier + \"_identifer\" %}\n {% endif %}\n {%- set relation.value=adapter.get_relation(\n database=source(default_schema, table_identifier).database,\n schema=source(default_schema, table_identifier).schema,\n identifier=var(identifier_var, table_identifier)\n ) -%}\n {% endif %}\n{%- set table_exists=relation.value is not none -%}\n\n{%- if table_exists -%}\n select * \n from {{ relation.value }}\n{%- else -%}\n {% if execute and not var('fivetran__remove_empty_table_warnings', false) -%}\n {{ exceptions.warn(\"\\n\\nPlease be aware: The \" ~ table_identifier|upper ~ \" table was not found in your \" ~ default_schema|upper ~ \" schema(s). The Fivetran dbt package will create a completely empty \" ~ table_identifier|upper ~ \" staging model as to not break downstream transformations. To turn off these warnings, set the `fivetran__remove_empty_table_warnings` variable to TRUE (see https://github.com/fivetran/dbt_fivetran_utils/tree/releases/v0.4.latest#union_data-source for details).\\n\") }}\n {% endif -%}\n select \n cast(null as {{ dbt.type_string() }}) as _dbt_source_relation\n limit 0\n{%- endif -%}\n{%- endif -%}\n\n{%- endmacro -%}", "depends_on": {"macros": ["macro.dbt_utils.union_relations", "macro.dbt.type_string"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.984601, "supported_languages": null}, "macro.fivetran_utils.dummy_coalesce_value": {"name": "dummy_coalesce_value", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/dummy_coalesce_value.sql", "original_file_path": "macros/dummy_coalesce_value.sql", "unique_id": "macro.fivetran_utils.dummy_coalesce_value", "macro_sql": "{% macro dummy_coalesce_value(column) %}\n\n{% set coalesce_value = {\n 'STRING': \"'DUMMY_STRING'\",\n 'BOOLEAN': 'null',\n 'INT': 999999999,\n 'FLOAT': 999999999.99,\n 'TIMESTAMP': 'cast(\"2099-12-31\" as timestamp)',\n 'DATE': 'cast(\"2099-12-31\" as date)',\n} %}\n\n{% if column.is_float() %}\n{{ return(coalesce_value['FLOAT']) }}\n\n{% elif column.is_numeric() %}\n{{ return(coalesce_value['INT']) }}\n\n{% elif column.is_string() %}\n{{ return(coalesce_value['STRING']) }}\n\n{% elif column.data_type|lower == 'boolean' %}\n{{ return(coalesce_value['BOOLEAN']) }}\n\n{% elif 'timestamp' in column.data_type|lower %}\n{{ return(coalesce_value['TIMESTAMP']) }}\n\n{% elif 'date' in column.data_type|lower %}\n{{ return(coalesce_value['DATE']) }}\n\n{% elif 'int' in column.data_type|lower %}\n{{ return(coalesce_value['INT']) }}\n\n{% endif %}\n\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.987408, "supported_languages": null}, "macro.fivetran_utils.wrap_in_quotes": {"name": "wrap_in_quotes", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/wrap_in_quotes.sql", "original_file_path": "macros/wrap_in_quotes.sql", "unique_id": "macro.fivetran_utils.wrap_in_quotes", "macro_sql": "{%- macro wrap_in_quotes(object_to_quote) -%}\n\n{{ return(adapter.dispatch('wrap_in_quotes', 'fivetran_utils')(object_to_quote)) }}\n\n{%- endmacro -%}\n\n", "depends_on": {"macros": ["macro.fivetran_utils.default__wrap_in_quotes"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.988069, "supported_languages": null}, "macro.fivetran_utils.default__wrap_in_quotes": {"name": "default__wrap_in_quotes", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/wrap_in_quotes.sql", "original_file_path": "macros/wrap_in_quotes.sql", "unique_id": "macro.fivetran_utils.default__wrap_in_quotes", "macro_sql": "{%- macro default__wrap_in_quotes(object_to_quote) -%}\n{# bigquery, spark, databricks #}\n `{{ object_to_quote }}`\n{%- endmacro -%}\n\n", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.98831, "supported_languages": null}, "macro.fivetran_utils.snowflake__wrap_in_quotes": {"name": "snowflake__wrap_in_quotes", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/wrap_in_quotes.sql", "original_file_path": "macros/wrap_in_quotes.sql", "unique_id": "macro.fivetran_utils.snowflake__wrap_in_quotes", "macro_sql": "{%- macro snowflake__wrap_in_quotes(object_to_quote) -%}\n \"{{ object_to_quote | upper }}\"\n{%- endmacro -%}\n\n", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.988559, "supported_languages": null}, "macro.fivetran_utils.redshift__wrap_in_quotes": {"name": "redshift__wrap_in_quotes", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/wrap_in_quotes.sql", "original_file_path": "macros/wrap_in_quotes.sql", "unique_id": "macro.fivetran_utils.redshift__wrap_in_quotes", "macro_sql": "{%- macro redshift__wrap_in_quotes(object_to_quote) -%}\n \"{{ object_to_quote }}\"\n{%- endmacro -%}\n\n", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.988888, "supported_languages": null}, "macro.fivetran_utils.postgres__wrap_in_quotes": {"name": "postgres__wrap_in_quotes", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/wrap_in_quotes.sql", "original_file_path": "macros/wrap_in_quotes.sql", "unique_id": "macro.fivetran_utils.postgres__wrap_in_quotes", "macro_sql": "{%- macro postgres__wrap_in_quotes(object_to_quote) -%}\n \"{{ object_to_quote }}\"\n{%- endmacro -%}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.989176, "supported_languages": null}, "macro.fivetran_utils.array_agg": {"name": "array_agg", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/array_agg.sql", "original_file_path": "macros/array_agg.sql", "unique_id": "macro.fivetran_utils.array_agg", "macro_sql": "{% macro array_agg(field_to_agg) -%}\n\n{{ adapter.dispatch('array_agg', 'fivetran_utils') (field_to_agg) }}\n\n{%- endmacro %}", "depends_on": {"macros": ["macro.fivetran_utils.default__array_agg"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.989689, "supported_languages": null}, "macro.fivetran_utils.default__array_agg": {"name": "default__array_agg", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/array_agg.sql", "original_file_path": "macros/array_agg.sql", "unique_id": "macro.fivetran_utils.default__array_agg", "macro_sql": "{% macro default__array_agg(field_to_agg) %}\n array_agg({{ field_to_agg }})\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.989917, "supported_languages": null}, "macro.fivetran_utils.redshift__array_agg": {"name": "redshift__array_agg", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/array_agg.sql", "original_file_path": "macros/array_agg.sql", "unique_id": "macro.fivetran_utils.redshift__array_agg", "macro_sql": "{% macro redshift__array_agg(field_to_agg) %}\n listagg({{ field_to_agg }}, ',')\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.9901419, "supported_languages": null}, "macro.fivetran_utils.empty_variable_warning": {"name": "empty_variable_warning", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/empty_variable_warning.sql", "original_file_path": "macros/empty_variable_warning.sql", "unique_id": "macro.fivetran_utils.empty_variable_warning", "macro_sql": "{% macro empty_variable_warning(variable, downstream_model) %}\n\n{% if not var(variable) %}\n{{ log(\n \"\"\"\n Warning: You have passed an empty list to the \"\"\" ~ variable ~ \"\"\".\n As a result, you won't see the history of any columns in the \"\"\" ~ downstream_model ~ \"\"\" model.\n \"\"\",\n info=True\n) }}\n{% endif %}\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.9909341, "supported_languages": null}, "macro.fivetran_utils.enabled_vars_one_true": {"name": "enabled_vars_one_true", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/enabled_vars_one_true.sql", "original_file_path": "macros/enabled_vars_one_true.sql", "unique_id": "macro.fivetran_utils.enabled_vars_one_true", "macro_sql": "{% macro enabled_vars_one_true(vars) %}\n\n{% for v in vars %}\n \n {% if var(v, False) == True %}\n {{ return(True) }}\n {% endif %}\n\n{% endfor %}\n\n{{ return(False) }}\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.991741, "supported_languages": null}, "macro.apple_search_ads_source.get_ad_group_history_columns": {"name": "get_ad_group_history_columns", "resource_type": "macro", "package_name": "apple_search_ads_source", "path": "macros/get_ad_group_history_columns.sql", "original_file_path": "macros/get_ad_group_history_columns.sql", "unique_id": "macro.apple_search_ads_source.get_ad_group_history_columns", "macro_sql": "{% macro get_ad_group_history_columns() %}\n\n{% set columns = [\n {\"name\": \"campaign_id\", \"datatype\": dbt.type_int()},\n {\"name\": \"end_time\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"id\", \"datatype\": dbt.type_int()},\n {\"name\": \"modification_time\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"name\", \"datatype\": dbt.type_string()},\n {\"name\": \"organization_id\", \"datatype\": dbt.type_int()},\n {\"name\": \"start_time\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"status\", \"datatype\": dbt.type_string()},\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_int", "macro.dbt.type_timestamp", "macro.dbt.type_string"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.993691, "supported_languages": null}, "macro.apple_search_ads_source.get_ad_level_report_columns": {"name": "get_ad_level_report_columns", "resource_type": "macro", "package_name": "apple_search_ads_source", "path": "macros/get_ad_level_report_columns.sql", "original_file_path": "macros/get_ad_level_report_columns.sql", "unique_id": "macro.apple_search_ads_source.get_ad_level_report_columns", "macro_sql": "{% macro get_ad_level_report_columns() %}\n\n{% set columns = [\n {\"name\": \"ad_group_id\", \"datatype\": dbt.type_int()},\n {\"name\": \"ad_id\", \"datatype\": dbt.type_int()},\n {\"name\": \"campaign_id\", \"datatype\": dbt.type_int()},\n {\"name\": \"date\", \"datatype\": \"date\"},\n {\"name\": \"impressions\", \"datatype\": dbt.type_int()},\n {\"name\": \"local_spend_amount\", \"datatype\": dbt.type_numeric()},\n {\"name\": \"local_spend_currency\", \"datatype\": dbt.type_string()},\n {\"name\": \"new_downloads\", \"datatype\": dbt.type_int()},\n {\"name\": \"redownloads\", \"datatype\": dbt.type_int()},\n {\"name\": \"taps\", \"datatype\": dbt.type_int()}\n] %}\n\n{{ fivetran_utils.add_pass_through_columns(columns, var('apple_search_ads__ad_passthrough_metrics')) }}\n\n{{ return(columns) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_int", "macro.dbt.type_numeric", "macro.dbt.type_string", "macro.fivetran_utils.add_pass_through_columns"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398939.996165, "supported_languages": null}, "macro.apple_search_ads_source.get_search_term_report_columns": {"name": "get_search_term_report_columns", "resource_type": "macro", "package_name": "apple_search_ads_source", "path": "macros/get_search_term_report_columns.sql", "original_file_path": "macros/get_search_term_report_columns.sql", "unique_id": "macro.apple_search_ads_source.get_search_term_report_columns", "macro_sql": "{% macro get_search_term_report_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"ad_group_deleted\", \"datatype\": \"boolean\"},\n {\"name\": \"ad_group_id\", \"datatype\": dbt.type_int()},\n {\"name\": \"ad_group_name\", \"datatype\": dbt.type_string()},\n {\"name\": \"bid_amount_amount\", \"datatype\": dbt.type_numeric()},\n {\"name\": \"bid_amount_currency\", \"datatype\": dbt.type_string()},\n {\"name\": \"campaign_id\", \"datatype\": dbt.type_int()},\n {\"name\": \"date\", \"datatype\": \"date\"},\n {\"name\": \"deleted\", \"datatype\": \"boolean\"},\n {\"name\": \"impressions\", \"datatype\": dbt.type_int()},\n {\"name\": \"keyword\", \"datatype\": dbt.type_string()},\n {\"name\": \"keyword_display_status\", \"datatype\": dbt.type_string()},\n {\"name\": \"keyword_id\", \"datatype\": dbt.type_int()},\n {\"name\": \"local_spend_amount\", \"datatype\": dbt.type_numeric()},\n {\"name\": \"local_spend_currency\", \"datatype\": dbt.type_string()},\n {\"name\": \"match_type\", \"datatype\": dbt.type_string()},\n {\"name\": \"new_downloads\", \"datatype\": dbt.type_int()},\n {\"name\": \"redownloads\", \"datatype\": dbt.type_int()},\n {\"name\": \"search_term_source\", \"datatype\": dbt.type_string()},\n {\"name\": \"search_term_text\", \"datatype\": dbt.type_string()},\n {\"name\": \"taps\", \"datatype\": dbt.type_int()}\n] %}\n\n{{ fivetran_utils.add_pass_through_columns(columns, var('apple_search_ads__search_term_passthrough_metrics')) }}\n\n{{ return(columns) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_string", "macro.dbt.type_int", "macro.dbt.type_numeric", "macro.fivetran_utils.add_pass_through_columns"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398940.001035, "supported_languages": null}, "macro.apple_search_ads_source.get_keyword_report_columns": {"name": "get_keyword_report_columns", "resource_type": "macro", "package_name": "apple_search_ads_source", "path": "macros/get_keyword_report_columns.sql", "original_file_path": "macros/get_keyword_report_columns.sql", "unique_id": "macro.apple_search_ads_source.get_keyword_report_columns", "macro_sql": "{% macro get_keyword_report_columns() %}\n\n{% set columns = [\n {\"name\": \"date\", \"datatype\": \"date\"},\n {\"name\": \"id\", \"datatype\": dbt.type_int()},\n {\"name\": \"impressions\", \"datatype\": dbt.type_int()},\n {\"name\": \"local_spend_amount\", \"datatype\": dbt.type_numeric()},\n {\"name\": \"local_spend_currency\", \"datatype\": dbt.type_string()},\n {\"name\": \"new_downloads\", \"datatype\": dbt.type_int()},\n {\"name\": \"redownloads\", \"datatype\": dbt.type_int()},\n {\"name\": \"taps\", \"datatype\": dbt.type_int()}\n] %}\n\n{{ fivetran_utils.add_pass_through_columns(columns, var('apple_search_ads__keyword_passthrough_metrics')) }}\n\n{{ return(columns) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_int", "macro.dbt.type_numeric", "macro.dbt.type_string", "macro.fivetran_utils.add_pass_through_columns"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398940.003157, "supported_languages": null}, "macro.apple_search_ads_source.get_campaign_report_columns": {"name": "get_campaign_report_columns", "resource_type": "macro", "package_name": "apple_search_ads_source", "path": "macros/get_campaign_report_columns.sql", "original_file_path": "macros/get_campaign_report_columns.sql", "unique_id": "macro.apple_search_ads_source.get_campaign_report_columns", "macro_sql": "{% macro get_campaign_report_columns() %}\n\n{% set columns = [\n {\"name\": \"date\", \"datatype\": \"date\"},\n {\"name\": \"id\", \"datatype\": dbt.type_int()},\n {\"name\": \"impressions\", \"datatype\": dbt.type_int()},\n {\"name\": \"local_spend_amount\", \"datatype\": dbt.type_numeric()},\n {\"name\": \"local_spend_currency\", \"datatype\": dbt.type_string()},\n {\"name\": \"new_downloads\", \"datatype\": dbt.type_int()},\n {\"name\": \"redownloads\", \"datatype\": dbt.type_int()},\n {\"name\": \"taps\", \"datatype\": dbt.type_int()}\n] %}\n\n{{ fivetran_utils.add_pass_through_columns(columns, var('apple_search_ads__campaign_passthrough_metrics')) }}\n\n{{ return(columns) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_int", "macro.dbt.type_numeric", "macro.dbt.type_string", "macro.fivetran_utils.add_pass_through_columns"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398940.005258, "supported_languages": null}, "macro.apple_search_ads_source.get_campaign_history_columns": {"name": "get_campaign_history_columns", "resource_type": "macro", "package_name": "apple_search_ads_source", "path": "macros/get_campaign_history_columns.sql", "original_file_path": "macros/get_campaign_history_columns.sql", "unique_id": "macro.apple_search_ads_source.get_campaign_history_columns", "macro_sql": "{% macro get_campaign_history_columns() %}\n\n{% set columns = [\n {\"name\": \"end_time\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"id\", \"datatype\": dbt.type_int()},\n {\"name\": \"modification_time\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"name\", \"datatype\": dbt.type_string()},\n {\"name\": \"organization_id\", \"datatype\": dbt.type_int()},\n {\"name\": \"start_time\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"status\", \"datatype\": dbt.type_string()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_timestamp", "macro.dbt.type_int", "macro.dbt.type_string"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398940.007013, "supported_languages": null}, "macro.apple_search_ads_source.get_ad_history_columns": {"name": "get_ad_history_columns", "resource_type": "macro", "package_name": "apple_search_ads_source", "path": "macros/get_ad_history_columns.sql", "original_file_path": "macros/get_ad_history_columns.sql", "unique_id": "macro.apple_search_ads_source.get_ad_history_columns", "macro_sql": "{% macro get_ad_history_columns() %}\n\n{% set columns = [\n {\"name\": \"ad_group_id\", \"datatype\": dbt.type_int()},\n {\"name\": \"campaign_id\", \"datatype\": dbt.type_int()},\n {\"name\": \"creation_time\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"id\", \"datatype\": dbt.type_int()},\n {\"name\": \"modification_time\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"name\", \"datatype\": dbt.type_string()},\n {\"name\": \"org_id\", \"datatype\": dbt.type_int()},\n {\"name\": \"status\", \"datatype\": dbt.type_string()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_int", "macro.dbt.type_timestamp", "macro.dbt.type_string"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398940.0089478, "supported_languages": null}, "macro.apple_search_ads_source.get_ad_group_report_columns": {"name": "get_ad_group_report_columns", "resource_type": "macro", "package_name": "apple_search_ads_source", "path": "macros/get_ad_group_report_columns.sql", "original_file_path": "macros/get_ad_group_report_columns.sql", "unique_id": "macro.apple_search_ads_source.get_ad_group_report_columns", "macro_sql": "{% macro get_ad_group_report_columns() %}\n\n{% set columns = [\n {\"name\": \"ad_group_id\", \"datatype\": dbt.type_int()},\n {\"name\": \"date\", \"datatype\": \"date\"},\n {\"name\": \"impressions\", \"datatype\": dbt.type_int()},\n {\"name\": \"local_spend_amount\", \"datatype\": dbt.type_numeric()},\n {\"name\": \"local_spend_currency\", \"datatype\": dbt.type_string()},\n {\"name\": \"new_downloads\", \"datatype\": dbt.type_int()},\n {\"name\": \"redownloads\", \"datatype\": dbt.type_int()},\n {\"name\": \"taps\", \"datatype\": dbt.type_int()}\n] %}\n\n{{ fivetran_utils.add_pass_through_columns(columns, var('apple_search_ads__ad_group_passthrough_metrics')) }}\n\n{{ return(columns) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_int", "macro.dbt.type_numeric", "macro.dbt.type_string", "macro.fivetran_utils.add_pass_through_columns"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398940.011049, "supported_languages": null}, "macro.apple_search_ads_source.get_organization_columns": {"name": "get_organization_columns", "resource_type": "macro", "package_name": "apple_search_ads_source", "path": "macros/get_organization_columns.sql", "original_file_path": "macros/get_organization_columns.sql", "unique_id": "macro.apple_search_ads_source.get_organization_columns", "macro_sql": "{% macro get_organization_columns() %}\n\n{% set columns = [\n {\"name\": \"currency\", \"datatype\": dbt.type_string()},\n {\"name\": \"id\", \"datatype\": dbt.type_int()},\n {\"name\": \"name\", \"datatype\": dbt.type_string()},\n {\"name\": \"payment_model\", \"datatype\": dbt.type_string()},\n {\"name\": \"time_zone\", \"datatype\": dbt.type_string()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_string", "macro.dbt.type_int"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398940.012425, "supported_languages": null}, "macro.apple_search_ads_source.get_keyword_history_columns": {"name": "get_keyword_history_columns", "resource_type": "macro", "package_name": "apple_search_ads_source", "path": "macros/get_keyword_history_columns.sql", "original_file_path": "macros/get_keyword_history_columns.sql", "unique_id": "macro.apple_search_ads_source.get_keyword_history_columns", "macro_sql": "{% macro get_keyword_history_columns() %}\n\n{% set columns = [\n {\"name\": \"ad_group_id\", \"datatype\": dbt.type_int()},\n {\"name\": \"bid_amount\", \"datatype\": dbt.type_numeric()},\n {\"name\": \"bid_currency\", \"datatype\": dbt.type_string()},\n {\"name\": \"campaign_id\", \"datatype\": dbt.type_int()},\n {\"name\": \"id\", \"datatype\": dbt.type_int()},\n {\"name\": \"match_type\", \"datatype\": dbt.type_string()},\n {\"name\": \"modification_time\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"status\", \"datatype\": dbt.type_string()},\n {\"name\": \"text\", \"datatype\": dbt.type_string()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_int", "macro.dbt.type_numeric", "macro.dbt.type_string", "macro.dbt.type_timestamp"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1688398940.0146902, "supported_languages": null}}, "docs": {"doc.dbt.__overview__": {"name": "__overview__", "resource_type": "doc", "package_name": "dbt", "path": "overview.md", "original_file_path": "docs/overview.md", "unique_id": "doc.dbt.__overview__", "block_contents": "### Welcome!\n\nWelcome to the auto-generated documentation for your dbt project!\n\n### Navigation\n\nYou can use the `Project` and `Database` navigation tabs on the left side of the window to explore the models\nin your project.\n\n#### Project Tab\nThe `Project` tab mirrors the directory structure of your dbt project. In this tab, you can see all of the\nmodels defined in your dbt project, as well as models imported from dbt packages.\n\n#### Database Tab\nThe `Database` tab also exposes your models, but in a format that looks more like a database explorer. This view\nshows relations (tables and views) grouped into database schemas. Note that ephemeral models are _not_ shown\nin this interface, as they do not exist in the database.\n\n### Graph Exploration\nYou can click the blue icon on the bottom-right corner of the page to view the lineage graph of your models.\n\nOn model pages, you'll see the immediate parents and children of the model you're exploring. By clicking the `Expand`\nbutton at the top-right of this lineage pane, you'll be able to see all of the models that are used to build,\nor are built from, the model you're exploring.\n\nOnce expanded, you'll be able to use the `--select` and `--exclude` model selection syntax to filter the\nmodels in the graph. For more information on model selection, check out the [dbt docs](https://docs.getdbt.com/docs/model-selection-syntax).\n\nNote that you can also right-click on models to interactively filter and explore the graph.\n\n---\n\n### More information\n\n- [What is dbt](https://docs.getdbt.com/docs/introduction)?\n- Read the [dbt viewpoint](https://docs.getdbt.com/docs/viewpoint)\n- [Installation](https://docs.getdbt.com/docs/installation)\n- Join the [dbt Community](https://www.getdbt.com/community/) for questions and discussion"}}, "exposures": {}, "metrics": {}, "selectors": {}, "disabled": {}, "parent_map": {"model.apple_search_ads.apple_search_ads__ad_report": ["model.apple_search_ads_source.stg_apple_search_ads__ad_group_history", "model.apple_search_ads_source.stg_apple_search_ads__ad_history", "model.apple_search_ads_source.stg_apple_search_ads__ad_report", "model.apple_search_ads_source.stg_apple_search_ads__campaign_history", "model.apple_search_ads_source.stg_apple_search_ads__organization"], "model.apple_search_ads.apple_search_ads__ad_group_report": ["model.apple_search_ads_source.stg_apple_search_ads__ad_group_history", "model.apple_search_ads_source.stg_apple_search_ads__ad_group_report", "model.apple_search_ads_source.stg_apple_search_ads__campaign_history", "model.apple_search_ads_source.stg_apple_search_ads__organization"], "model.apple_search_ads.apple_search_ads__keyword_report": ["model.apple_search_ads_source.stg_apple_search_ads__ad_group_history", "model.apple_search_ads_source.stg_apple_search_ads__campaign_history", "model.apple_search_ads_source.stg_apple_search_ads__keyword_history", "model.apple_search_ads_source.stg_apple_search_ads__keyword_report", "model.apple_search_ads_source.stg_apple_search_ads__organization"], "model.apple_search_ads.apple_search_ads__search_term_report": ["model.apple_search_ads_source.stg_apple_search_ads__campaign_history", "model.apple_search_ads_source.stg_apple_search_ads__organization", "model.apple_search_ads_source.stg_apple_search_ads__search_term_report"], "model.apple_search_ads.apple_search_ads__campaign_report": ["model.apple_search_ads_source.stg_apple_search_ads__campaign_history", "model.apple_search_ads_source.stg_apple_search_ads__campaign_report", "model.apple_search_ads_source.stg_apple_search_ads__organization"], "model.apple_search_ads.apple_search_ads__organization_report": ["model.apple_search_ads_source.stg_apple_search_ads__campaign_history", "model.apple_search_ads_source.stg_apple_search_ads__campaign_report", "model.apple_search_ads_source.stg_apple_search_ads__organization"], "model.apple_search_ads_source.stg_apple_search_ads__campaign_history": ["model.apple_search_ads_source.stg_apple_search_ads__campaign_history_tmp", "model.apple_search_ads_source.stg_apple_search_ads__campaign_history_tmp"], "model.apple_search_ads_source.stg_apple_search_ads__ad_report": ["model.apple_search_ads_source.stg_apple_search_ads__ad_report_tmp", "model.apple_search_ads_source.stg_apple_search_ads__ad_report_tmp"], "model.apple_search_ads_source.stg_apple_search_ads__campaign_report": ["model.apple_search_ads_source.stg_apple_search_ads__campaign_report_tmp", "model.apple_search_ads_source.stg_apple_search_ads__campaign_report_tmp"], "model.apple_search_ads_source.stg_apple_search_ads__organization": ["model.apple_search_ads_source.stg_apple_search_ads__organization_tmp", "model.apple_search_ads_source.stg_apple_search_ads__organization_tmp"], "model.apple_search_ads_source.stg_apple_search_ads__keyword_report": ["model.apple_search_ads_source.stg_apple_search_ads__keyword_report_tmp", "model.apple_search_ads_source.stg_apple_search_ads__keyword_report_tmp"], "model.apple_search_ads_source.stg_apple_search_ads__keyword_history": ["model.apple_search_ads_source.stg_apple_search_ads__keyword_history_tmp", "model.apple_search_ads_source.stg_apple_search_ads__keyword_history_tmp"], "model.apple_search_ads_source.stg_apple_search_ads__search_term_report": ["model.apple_search_ads_source.stg_apple_search_ads__search_term_report_tmp", "model.apple_search_ads_source.stg_apple_search_ads__search_term_report_tmp"], "model.apple_search_ads_source.stg_apple_search_ads__ad_group_history": ["model.apple_search_ads_source.stg_apple_search_ads__ad_group_history_tmp", "model.apple_search_ads_source.stg_apple_search_ads__ad_group_history_tmp"], "model.apple_search_ads_source.stg_apple_search_ads__ad_history": ["model.apple_search_ads_source.stg_apple_search_ads__ad_history_tmp", "model.apple_search_ads_source.stg_apple_search_ads__ad_history_tmp"], "model.apple_search_ads_source.stg_apple_search_ads__ad_group_report": ["model.apple_search_ads_source.stg_apple_search_ads__ad_group_report_tmp", "model.apple_search_ads_source.stg_apple_search_ads__ad_group_report_tmp"], "model.apple_search_ads_source.stg_apple_search_ads__search_term_report_tmp": ["source.apple_search_ads_source.apple_search_ads.search_term_report"], "model.apple_search_ads_source.stg_apple_search_ads__campaign_history_tmp": ["source.apple_search_ads_source.apple_search_ads.campaign_history"], "model.apple_search_ads_source.stg_apple_search_ads__keyword_history_tmp": ["source.apple_search_ads_source.apple_search_ads.keyword_history"], "model.apple_search_ads_source.stg_apple_search_ads__ad_group_history_tmp": ["source.apple_search_ads_source.apple_search_ads.ad_group_history"], "model.apple_search_ads_source.stg_apple_search_ads__ad_group_report_tmp": ["source.apple_search_ads_source.apple_search_ads.ad_group_report"], "model.apple_search_ads_source.stg_apple_search_ads__ad_history_tmp": ["source.apple_search_ads_source.apple_search_ads.ad_history"], "model.apple_search_ads_source.stg_apple_search_ads__campaign_report_tmp": ["source.apple_search_ads_source.apple_search_ads.campaign_report"], "model.apple_search_ads_source.stg_apple_search_ads__organization_tmp": ["source.apple_search_ads_source.apple_search_ads.organization"], "model.apple_search_ads_source.stg_apple_search_ads__keyword_report_tmp": ["source.apple_search_ads_source.apple_search_ads.keyword_report"], "model.apple_search_ads_source.stg_apple_search_ads__ad_report_tmp": ["source.apple_search_ads_source.apple_search_ads.ad_level_report"], "test.apple_search_ads.not_null_apple_search_ads__ad_group_report_ad_group_id.60febec6b5": ["model.apple_search_ads.apple_search_ads__ad_group_report"], "test.apple_search_ads.not_null_apple_search_ads__ad_group_report_date_day.e6ffb30b3c": ["model.apple_search_ads.apple_search_ads__ad_group_report"], "test.apple_search_ads.dbt_utils_unique_combination_of_columns_apple_search_ads__ad_group_report_organization_id__campaign_id__ad_group_id__date_day.19d180bab9": ["model.apple_search_ads.apple_search_ads__ad_group_report"], "test.apple_search_ads.not_null_apple_search_ads__ad_report_ad_id.0ab2c5075c": ["model.apple_search_ads.apple_search_ads__ad_report"], "test.apple_search_ads.not_null_apple_search_ads__ad_report_date_day.b86c049e17": ["model.apple_search_ads.apple_search_ads__ad_report"], "test.apple_search_ads.dbt_utils_unique_combination_of_columns_apple_search_ads__ad_report_organization_id__campaign_id__ad_group_id__ad_id__date_day.54e27817a1": ["model.apple_search_ads.apple_search_ads__ad_report"], "test.apple_search_ads.not_null_apple_search_ads__campaign_report_campaign_id.e26ed1e146": ["model.apple_search_ads.apple_search_ads__campaign_report"], "test.apple_search_ads.not_null_apple_search_ads__campaign_report_date_day.35652b8d1a": ["model.apple_search_ads.apple_search_ads__campaign_report"], "test.apple_search_ads.dbt_utils_unique_combination_of_columns_apple_search_ads__campaign_report_organization_id__campaign_id__date_day.647e56213f": ["model.apple_search_ads.apple_search_ads__campaign_report"], "test.apple_search_ads.not_null_apple_search_ads__keyword_report_keyword_id.ea493710db": ["model.apple_search_ads.apple_search_ads__keyword_report"], "test.apple_search_ads.not_null_apple_search_ads__keyword_report_date_day.3dec8d0e82": ["model.apple_search_ads.apple_search_ads__keyword_report"], "test.apple_search_ads.dbt_utils_unique_combination_of_columns_apple_search_ads__keyword_report_organization_id__campaign_id__ad_group_id__keyword_id__date_day.78fb033a13": ["model.apple_search_ads.apple_search_ads__keyword_report"], "test.apple_search_ads.not_null_apple_search_ads__organization_report_organization_id.b6cf7d69f8": ["model.apple_search_ads.apple_search_ads__organization_report"], "test.apple_search_ads.not_null_apple_search_ads__organization_report_date_day.5784fed523": ["model.apple_search_ads.apple_search_ads__organization_report"], "test.apple_search_ads.dbt_utils_unique_combination_of_columns_apple_search_ads__organization_report_organization_id__date_day.8bc84fccc3": ["model.apple_search_ads.apple_search_ads__organization_report"], "test.apple_search_ads.not_null_apple_search_ads__search_term_report_date_day.1bc3b0d57c": ["model.apple_search_ads.apple_search_ads__search_term_report"], "test.apple_search_ads.not_null_apple_search_ads__search_term_report_search_term_text.aecc7447f7": ["model.apple_search_ads.apple_search_ads__search_term_report"], "test.apple_search_ads.dbt_utils_unique_combination_of_columns_apple_search_ads__search_term_report_search_term_text__match_type__date_day__keyword_id__ad_group_id__campaign_id__organization_id.33f66e0a30": ["model.apple_search_ads.apple_search_ads__search_term_report"], "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_group_history_modified_at.e5d65fa28f": ["model.apple_search_ads_source.stg_apple_search_ads__ad_group_history"], "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_group_history_ad_group_id.dc128eecb7": ["model.apple_search_ads_source.stg_apple_search_ads__ad_group_history"], "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__ad_group_history_ad_group_id__modified_at.84af14c83b": ["model.apple_search_ads_source.stg_apple_search_ads__ad_group_history"], "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_group_report_ad_group_id.a115f9cfc1": ["model.apple_search_ads_source.stg_apple_search_ads__ad_group_report"], "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_group_report_date_day.4dfd46a43b": ["model.apple_search_ads_source.stg_apple_search_ads__ad_group_report"], "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__ad_group_report_ad_group_id__date_day.a0fcc4e33c": ["model.apple_search_ads_source.stg_apple_search_ads__ad_group_report"], "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_history_modified_at.2eea7e006d": ["model.apple_search_ads_source.stg_apple_search_ads__ad_history"], "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_history_ad_id.4ad3bde32a": ["model.apple_search_ads_source.stg_apple_search_ads__ad_history"], "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__ad_history_ad_id__modified_at.38599b8cba": ["model.apple_search_ads_source.stg_apple_search_ads__ad_history"], "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_report_date_day.e6252346d8": ["model.apple_search_ads_source.stg_apple_search_ads__ad_report"], "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_report_ad_group_id.a397755e9f": ["model.apple_search_ads_source.stg_apple_search_ads__ad_report"], "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_report_ad_id.d08e760c58": ["model.apple_search_ads_source.stg_apple_search_ads__ad_report"], "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__ad_report_ad_id__date_day__ad_group_id.0d8d23c516": ["model.apple_search_ads_source.stg_apple_search_ads__ad_report"], "test.apple_search_ads_source.not_null_stg_apple_search_ads__campaign_history_modified_at.f34a7a97c9": ["model.apple_search_ads_source.stg_apple_search_ads__campaign_history"], "test.apple_search_ads_source.not_null_stg_apple_search_ads__campaign_history_campaign_id.3f0f7502b8": ["model.apple_search_ads_source.stg_apple_search_ads__campaign_history"], "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__campaign_history_campaign_id__modified_at.317f970af9": ["model.apple_search_ads_source.stg_apple_search_ads__campaign_history"], "test.apple_search_ads_source.not_null_stg_apple_search_ads__campaign_report_campaign_id.b83941e728": ["model.apple_search_ads_source.stg_apple_search_ads__campaign_report"], "test.apple_search_ads_source.not_null_stg_apple_search_ads__campaign_report_date_day.c8dc10a6f3": ["model.apple_search_ads_source.stg_apple_search_ads__campaign_report"], "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__campaign_report_campaign_id__date_day.bad41b0481": ["model.apple_search_ads_source.stg_apple_search_ads__campaign_report"], "test.apple_search_ads_source.not_null_stg_apple_search_ads__keyword_history_modified_at.42fde5a287": ["model.apple_search_ads_source.stg_apple_search_ads__keyword_history"], "test.apple_search_ads_source.not_null_stg_apple_search_ads__keyword_history_keyword_id.889f83cfd2": ["model.apple_search_ads_source.stg_apple_search_ads__keyword_history"], "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__keyword_history_keyword_id__modified_at.7b06162d24": ["model.apple_search_ads_source.stg_apple_search_ads__keyword_history"], "test.apple_search_ads_source.not_null_stg_apple_search_ads__keyword_report_keyword_id.501725b09e": ["model.apple_search_ads_source.stg_apple_search_ads__keyword_report"], "test.apple_search_ads_source.not_null_stg_apple_search_ads__keyword_report_date_day.16098db928": ["model.apple_search_ads_source.stg_apple_search_ads__keyword_report"], "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__keyword_report_keyword_id__date_day.9f0099cff8": ["model.apple_search_ads_source.stg_apple_search_ads__keyword_report"], "test.apple_search_ads_source.not_null_stg_apple_search_ads__organization_organization_id.b013ce33cb": ["model.apple_search_ads_source.stg_apple_search_ads__organization"], "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__organization_organization_id.8647048f7a": ["model.apple_search_ads_source.stg_apple_search_ads__organization"], "test.apple_search_ads_source.not_null_stg_apple_search_ads__search_term_report__fivetran_id.aa430d1dad": ["model.apple_search_ads_source.stg_apple_search_ads__search_term_report"], "test.apple_search_ads_source.not_null_stg_apple_search_ads__search_term_report_date_day.fd93df3302": ["model.apple_search_ads_source.stg_apple_search_ads__search_term_report"], "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__search_term_report__fivetran_id__date_day.aad2a48344": ["model.apple_search_ads_source.stg_apple_search_ads__search_term_report"], "source.apple_search_ads_source.apple_search_ads.ad_group_history": [], "source.apple_search_ads_source.apple_search_ads.ad_group_report": [], "source.apple_search_ads_source.apple_search_ads.ad_history": [], "source.apple_search_ads_source.apple_search_ads.ad_level_report": [], "source.apple_search_ads_source.apple_search_ads.campaign_history": [], "source.apple_search_ads_source.apple_search_ads.campaign_report": [], "source.apple_search_ads_source.apple_search_ads.keyword_history": [], "source.apple_search_ads_source.apple_search_ads.keyword_report": [], "source.apple_search_ads_source.apple_search_ads.organization": [], "source.apple_search_ads_source.apple_search_ads.search_term_report": []}, "child_map": {"model.apple_search_ads.apple_search_ads__ad_report": ["test.apple_search_ads.dbt_utils_unique_combination_of_columns_apple_search_ads__ad_report_organization_id__campaign_id__ad_group_id__ad_id__date_day.54e27817a1", "test.apple_search_ads.not_null_apple_search_ads__ad_report_ad_id.0ab2c5075c", "test.apple_search_ads.not_null_apple_search_ads__ad_report_date_day.b86c049e17"], "model.apple_search_ads.apple_search_ads__ad_group_report": ["test.apple_search_ads.dbt_utils_unique_combination_of_columns_apple_search_ads__ad_group_report_organization_id__campaign_id__ad_group_id__date_day.19d180bab9", "test.apple_search_ads.not_null_apple_search_ads__ad_group_report_ad_group_id.60febec6b5", "test.apple_search_ads.not_null_apple_search_ads__ad_group_report_date_day.e6ffb30b3c"], "model.apple_search_ads.apple_search_ads__keyword_report": ["test.apple_search_ads.dbt_utils_unique_combination_of_columns_apple_search_ads__keyword_report_organization_id__campaign_id__ad_group_id__keyword_id__date_day.78fb033a13", "test.apple_search_ads.not_null_apple_search_ads__keyword_report_date_day.3dec8d0e82", "test.apple_search_ads.not_null_apple_search_ads__keyword_report_keyword_id.ea493710db"], "model.apple_search_ads.apple_search_ads__search_term_report": ["test.apple_search_ads.dbt_utils_unique_combination_of_columns_apple_search_ads__search_term_report_search_term_text__match_type__date_day__keyword_id__ad_group_id__campaign_id__organization_id.33f66e0a30", "test.apple_search_ads.not_null_apple_search_ads__search_term_report_date_day.1bc3b0d57c", "test.apple_search_ads.not_null_apple_search_ads__search_term_report_search_term_text.aecc7447f7"], "model.apple_search_ads.apple_search_ads__campaign_report": ["test.apple_search_ads.dbt_utils_unique_combination_of_columns_apple_search_ads__campaign_report_organization_id__campaign_id__date_day.647e56213f", "test.apple_search_ads.not_null_apple_search_ads__campaign_report_campaign_id.e26ed1e146", "test.apple_search_ads.not_null_apple_search_ads__campaign_report_date_day.35652b8d1a"], "model.apple_search_ads.apple_search_ads__organization_report": ["test.apple_search_ads.dbt_utils_unique_combination_of_columns_apple_search_ads__organization_report_organization_id__date_day.8bc84fccc3", "test.apple_search_ads.not_null_apple_search_ads__organization_report_date_day.5784fed523", "test.apple_search_ads.not_null_apple_search_ads__organization_report_organization_id.b6cf7d69f8"], "model.apple_search_ads_source.stg_apple_search_ads__campaign_history": ["model.apple_search_ads.apple_search_ads__ad_group_report", "model.apple_search_ads.apple_search_ads__ad_report", "model.apple_search_ads.apple_search_ads__campaign_report", "model.apple_search_ads.apple_search_ads__keyword_report", "model.apple_search_ads.apple_search_ads__organization_report", "model.apple_search_ads.apple_search_ads__search_term_report", "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__campaign_history_campaign_id__modified_at.317f970af9", "test.apple_search_ads_source.not_null_stg_apple_search_ads__campaign_history_campaign_id.3f0f7502b8", "test.apple_search_ads_source.not_null_stg_apple_search_ads__campaign_history_modified_at.f34a7a97c9"], "model.apple_search_ads_source.stg_apple_search_ads__ad_report": ["model.apple_search_ads.apple_search_ads__ad_report", "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__ad_report_ad_id__date_day__ad_group_id.0d8d23c516", "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_report_ad_group_id.a397755e9f", "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_report_ad_id.d08e760c58", "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_report_date_day.e6252346d8"], "model.apple_search_ads_source.stg_apple_search_ads__campaign_report": ["model.apple_search_ads.apple_search_ads__campaign_report", "model.apple_search_ads.apple_search_ads__organization_report", "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__campaign_report_campaign_id__date_day.bad41b0481", "test.apple_search_ads_source.not_null_stg_apple_search_ads__campaign_report_campaign_id.b83941e728", "test.apple_search_ads_source.not_null_stg_apple_search_ads__campaign_report_date_day.c8dc10a6f3"], "model.apple_search_ads_source.stg_apple_search_ads__organization": ["model.apple_search_ads.apple_search_ads__ad_group_report", "model.apple_search_ads.apple_search_ads__ad_report", "model.apple_search_ads.apple_search_ads__campaign_report", "model.apple_search_ads.apple_search_ads__keyword_report", "model.apple_search_ads.apple_search_ads__organization_report", "model.apple_search_ads.apple_search_ads__search_term_report", "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__organization_organization_id.8647048f7a", "test.apple_search_ads_source.not_null_stg_apple_search_ads__organization_organization_id.b013ce33cb"], "model.apple_search_ads_source.stg_apple_search_ads__keyword_report": ["model.apple_search_ads.apple_search_ads__keyword_report", "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__keyword_report_keyword_id__date_day.9f0099cff8", "test.apple_search_ads_source.not_null_stg_apple_search_ads__keyword_report_date_day.16098db928", "test.apple_search_ads_source.not_null_stg_apple_search_ads__keyword_report_keyword_id.501725b09e"], "model.apple_search_ads_source.stg_apple_search_ads__keyword_history": ["model.apple_search_ads.apple_search_ads__keyword_report", "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__keyword_history_keyword_id__modified_at.7b06162d24", "test.apple_search_ads_source.not_null_stg_apple_search_ads__keyword_history_keyword_id.889f83cfd2", "test.apple_search_ads_source.not_null_stg_apple_search_ads__keyword_history_modified_at.42fde5a287"], "model.apple_search_ads_source.stg_apple_search_ads__search_term_report": ["model.apple_search_ads.apple_search_ads__search_term_report", "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__search_term_report__fivetran_id__date_day.aad2a48344", "test.apple_search_ads_source.not_null_stg_apple_search_ads__search_term_report__fivetran_id.aa430d1dad", "test.apple_search_ads_source.not_null_stg_apple_search_ads__search_term_report_date_day.fd93df3302"], "model.apple_search_ads_source.stg_apple_search_ads__ad_group_history": ["model.apple_search_ads.apple_search_ads__ad_group_report", "model.apple_search_ads.apple_search_ads__ad_report", "model.apple_search_ads.apple_search_ads__keyword_report", "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__ad_group_history_ad_group_id__modified_at.84af14c83b", "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_group_history_ad_group_id.dc128eecb7", "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_group_history_modified_at.e5d65fa28f"], "model.apple_search_ads_source.stg_apple_search_ads__ad_history": ["model.apple_search_ads.apple_search_ads__ad_report", "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__ad_history_ad_id__modified_at.38599b8cba", "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_history_ad_id.4ad3bde32a", "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_history_modified_at.2eea7e006d"], "model.apple_search_ads_source.stg_apple_search_ads__ad_group_report": ["model.apple_search_ads.apple_search_ads__ad_group_report", "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__ad_group_report_ad_group_id__date_day.a0fcc4e33c", "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_group_report_ad_group_id.a115f9cfc1", "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_group_report_date_day.4dfd46a43b"], "model.apple_search_ads_source.stg_apple_search_ads__search_term_report_tmp": ["model.apple_search_ads_source.stg_apple_search_ads__search_term_report", "model.apple_search_ads_source.stg_apple_search_ads__search_term_report"], "model.apple_search_ads_source.stg_apple_search_ads__campaign_history_tmp": ["model.apple_search_ads_source.stg_apple_search_ads__campaign_history", "model.apple_search_ads_source.stg_apple_search_ads__campaign_history"], "model.apple_search_ads_source.stg_apple_search_ads__keyword_history_tmp": ["model.apple_search_ads_source.stg_apple_search_ads__keyword_history", "model.apple_search_ads_source.stg_apple_search_ads__keyword_history"], "model.apple_search_ads_source.stg_apple_search_ads__ad_group_history_tmp": ["model.apple_search_ads_source.stg_apple_search_ads__ad_group_history", "model.apple_search_ads_source.stg_apple_search_ads__ad_group_history"], "model.apple_search_ads_source.stg_apple_search_ads__ad_group_report_tmp": ["model.apple_search_ads_source.stg_apple_search_ads__ad_group_report", "model.apple_search_ads_source.stg_apple_search_ads__ad_group_report"], "model.apple_search_ads_source.stg_apple_search_ads__ad_history_tmp": ["model.apple_search_ads_source.stg_apple_search_ads__ad_history", "model.apple_search_ads_source.stg_apple_search_ads__ad_history"], "model.apple_search_ads_source.stg_apple_search_ads__campaign_report_tmp": ["model.apple_search_ads_source.stg_apple_search_ads__campaign_report", "model.apple_search_ads_source.stg_apple_search_ads__campaign_report"], "model.apple_search_ads_source.stg_apple_search_ads__organization_tmp": ["model.apple_search_ads_source.stg_apple_search_ads__organization", "model.apple_search_ads_source.stg_apple_search_ads__organization"], "model.apple_search_ads_source.stg_apple_search_ads__keyword_report_tmp": ["model.apple_search_ads_source.stg_apple_search_ads__keyword_report", "model.apple_search_ads_source.stg_apple_search_ads__keyword_report"], "model.apple_search_ads_source.stg_apple_search_ads__ad_report_tmp": ["model.apple_search_ads_source.stg_apple_search_ads__ad_report", "model.apple_search_ads_source.stg_apple_search_ads__ad_report"], "test.apple_search_ads.not_null_apple_search_ads__ad_group_report_ad_group_id.60febec6b5": [], "test.apple_search_ads.not_null_apple_search_ads__ad_group_report_date_day.e6ffb30b3c": [], "test.apple_search_ads.dbt_utils_unique_combination_of_columns_apple_search_ads__ad_group_report_organization_id__campaign_id__ad_group_id__date_day.19d180bab9": [], "test.apple_search_ads.not_null_apple_search_ads__ad_report_ad_id.0ab2c5075c": [], "test.apple_search_ads.not_null_apple_search_ads__ad_report_date_day.b86c049e17": [], "test.apple_search_ads.dbt_utils_unique_combination_of_columns_apple_search_ads__ad_report_organization_id__campaign_id__ad_group_id__ad_id__date_day.54e27817a1": [], "test.apple_search_ads.not_null_apple_search_ads__campaign_report_campaign_id.e26ed1e146": [], "test.apple_search_ads.not_null_apple_search_ads__campaign_report_date_day.35652b8d1a": [], "test.apple_search_ads.dbt_utils_unique_combination_of_columns_apple_search_ads__campaign_report_organization_id__campaign_id__date_day.647e56213f": [], "test.apple_search_ads.not_null_apple_search_ads__keyword_report_keyword_id.ea493710db": [], "test.apple_search_ads.not_null_apple_search_ads__keyword_report_date_day.3dec8d0e82": [], "test.apple_search_ads.dbt_utils_unique_combination_of_columns_apple_search_ads__keyword_report_organization_id__campaign_id__ad_group_id__keyword_id__date_day.78fb033a13": [], "test.apple_search_ads.not_null_apple_search_ads__organization_report_organization_id.b6cf7d69f8": [], "test.apple_search_ads.not_null_apple_search_ads__organization_report_date_day.5784fed523": [], "test.apple_search_ads.dbt_utils_unique_combination_of_columns_apple_search_ads__organization_report_organization_id__date_day.8bc84fccc3": [], "test.apple_search_ads.not_null_apple_search_ads__search_term_report_date_day.1bc3b0d57c": [], "test.apple_search_ads.not_null_apple_search_ads__search_term_report_search_term_text.aecc7447f7": [], "test.apple_search_ads.dbt_utils_unique_combination_of_columns_apple_search_ads__search_term_report_search_term_text__match_type__date_day__keyword_id__ad_group_id__campaign_id__organization_id.33f66e0a30": [], "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_group_history_modified_at.e5d65fa28f": [], "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_group_history_ad_group_id.dc128eecb7": [], "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__ad_group_history_ad_group_id__modified_at.84af14c83b": [], "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_group_report_ad_group_id.a115f9cfc1": [], "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_group_report_date_day.4dfd46a43b": [], "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__ad_group_report_ad_group_id__date_day.a0fcc4e33c": [], "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_history_modified_at.2eea7e006d": [], "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_history_ad_id.4ad3bde32a": [], "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__ad_history_ad_id__modified_at.38599b8cba": [], "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_report_date_day.e6252346d8": [], "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_report_ad_group_id.a397755e9f": [], "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_report_ad_id.d08e760c58": [], "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__ad_report_ad_id__date_day__ad_group_id.0d8d23c516": [], "test.apple_search_ads_source.not_null_stg_apple_search_ads__campaign_history_modified_at.f34a7a97c9": [], "test.apple_search_ads_source.not_null_stg_apple_search_ads__campaign_history_campaign_id.3f0f7502b8": [], "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__campaign_history_campaign_id__modified_at.317f970af9": [], "test.apple_search_ads_source.not_null_stg_apple_search_ads__campaign_report_campaign_id.b83941e728": [], "test.apple_search_ads_source.not_null_stg_apple_search_ads__campaign_report_date_day.c8dc10a6f3": [], "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__campaign_report_campaign_id__date_day.bad41b0481": [], "test.apple_search_ads_source.not_null_stg_apple_search_ads__keyword_history_modified_at.42fde5a287": [], "test.apple_search_ads_source.not_null_stg_apple_search_ads__keyword_history_keyword_id.889f83cfd2": [], "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__keyword_history_keyword_id__modified_at.7b06162d24": [], "test.apple_search_ads_source.not_null_stg_apple_search_ads__keyword_report_keyword_id.501725b09e": [], "test.apple_search_ads_source.not_null_stg_apple_search_ads__keyword_report_date_day.16098db928": [], "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__keyword_report_keyword_id__date_day.9f0099cff8": [], "test.apple_search_ads_source.not_null_stg_apple_search_ads__organization_organization_id.b013ce33cb": [], "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__organization_organization_id.8647048f7a": [], "test.apple_search_ads_source.not_null_stg_apple_search_ads__search_term_report__fivetran_id.aa430d1dad": [], "test.apple_search_ads_source.not_null_stg_apple_search_ads__search_term_report_date_day.fd93df3302": [], "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__search_term_report__fivetran_id__date_day.aad2a48344": [], "source.apple_search_ads_source.apple_search_ads.ad_group_history": ["model.apple_search_ads_source.stg_apple_search_ads__ad_group_history_tmp"], "source.apple_search_ads_source.apple_search_ads.ad_group_report": ["model.apple_search_ads_source.stg_apple_search_ads__ad_group_report_tmp"], "source.apple_search_ads_source.apple_search_ads.ad_history": ["model.apple_search_ads_source.stg_apple_search_ads__ad_history_tmp"], "source.apple_search_ads_source.apple_search_ads.ad_level_report": ["model.apple_search_ads_source.stg_apple_search_ads__ad_report_tmp"], "source.apple_search_ads_source.apple_search_ads.campaign_history": ["model.apple_search_ads_source.stg_apple_search_ads__campaign_history_tmp"], "source.apple_search_ads_source.apple_search_ads.campaign_report": ["model.apple_search_ads_source.stg_apple_search_ads__campaign_report_tmp"], "source.apple_search_ads_source.apple_search_ads.keyword_history": ["model.apple_search_ads_source.stg_apple_search_ads__keyword_history_tmp"], "source.apple_search_ads_source.apple_search_ads.keyword_report": ["model.apple_search_ads_source.stg_apple_search_ads__keyword_report_tmp"], "source.apple_search_ads_source.apple_search_ads.organization": ["model.apple_search_ads_source.stg_apple_search_ads__organization_tmp"], "source.apple_search_ads_source.apple_search_ads.search_term_report": ["model.apple_search_ads_source.stg_apple_search_ads__search_term_report_tmp"]}} \ No newline at end of file diff --git a/docs/run_results.json b/docs/run_results.json index 2f31108..1722463 100644 --- a/docs/run_results.json +++ b/docs/run_results.json @@ -1 +1 @@ -{"metadata": {"dbt_schema_version": "https://schemas.getdbt.com/dbt/run-results/v4.json", "dbt_version": "1.3.0", "generated_at": "2022-12-20T03:04:53.127116Z", "invocation_id": "813fddce-ccfb-4c9e-be0f-4fb5725e66b7", "env": {}}, "results": [{"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T03:04:51.691307Z", "completed_at": "2022-12-20T03:04:51.710021Z"}, {"name": "execute", "started_at": "2022-12-20T03:04:51.710364Z", "completed_at": "2022-12-20T03:04:51.710374Z"}], "thread_id": "Thread-1", "execution_time": 0.021471023559570312, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__ad_group_history_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T03:04:51.716523Z", "completed_at": "2022-12-20T03:04:51.720963Z"}, {"name": "execute", "started_at": "2022-12-20T03:04:51.722115Z", "completed_at": "2022-12-20T03:04:51.722120Z"}], "thread_id": "Thread-1", "execution_time": 0.006438016891479492, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__campaign_history_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T03:04:51.691449Z", "completed_at": "2022-12-20T03:04:51.713040Z"}, {"name": "execute", "started_at": "2022-12-20T03:04:51.713325Z", "completed_at": "2022-12-20T03:04:51.713332Z"}], "thread_id": "Thread-2", "execution_time": 0.030675172805786133, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__ad_group_report_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T03:04:51.691566Z", "completed_at": "2022-12-20T03:04:51.719791Z"}, {"name": "execute", "started_at": "2022-12-20T03:04:51.721282Z", "completed_at": "2022-12-20T03:04:51.721288Z"}], "thread_id": "Thread-3", "execution_time": 0.03313112258911133, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__ad_history_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T03:04:51.691709Z", "completed_at": "2022-12-20T03:04:51.721579Z"}, {"name": "execute", "started_at": "2022-12-20T03:04:51.725159Z", "completed_at": "2022-12-20T03:04:51.725169Z"}], "thread_id": "Thread-4", "execution_time": 0.03626513481140137, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__ad_report_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T03:04:51.729430Z", "completed_at": "2022-12-20T03:04:51.744007Z"}, {"name": "execute", "started_at": "2022-12-20T03:04:51.745149Z", "completed_at": "2022-12-20T03:04:51.745161Z"}], "thread_id": "Thread-3", "execution_time": 0.01981377601623535, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__keyword_report_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T03:04:51.728733Z", "completed_at": "2022-12-20T03:04:51.742837Z"}, {"name": "execute", "started_at": "2022-12-20T03:04:51.749660Z", "completed_at": "2022-12-20T03:04:51.749668Z"}], "thread_id": "Thread-1", "execution_time": 0.026134014129638672, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__campaign_report_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T03:04:51.729095Z", "completed_at": "2022-12-20T03:04:51.744787Z"}, {"name": "execute", "started_at": "2022-12-20T03:04:51.750378Z", "completed_at": "2022-12-20T03:04:51.750385Z"}], "thread_id": "Thread-2", "execution_time": 0.026200056076049805, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__keyword_history_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T03:04:51.744956Z", "completed_at": "2022-12-20T03:04:51.750895Z"}, {"name": "execute", "started_at": "2022-12-20T03:04:51.752917Z", "completed_at": "2022-12-20T03:04:51.752926Z"}], "thread_id": "Thread-4", "execution_time": 0.02461099624633789, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__organization_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T03:04:51.752210Z", "completed_at": "2022-12-20T03:04:51.758844Z"}, {"name": "execute", "started_at": "2022-12-20T03:04:51.762475Z", "completed_at": "2022-12-20T03:04:51.762483Z"}], "thread_id": "Thread-3", "execution_time": 0.013615846633911133, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__search_term_report_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T03:04:51.758424Z", "completed_at": "2022-12-20T03:04:51.762176Z"}, {"name": "execute", "started_at": "2022-12-20T03:04:51.763912Z", "completed_at": "2022-12-20T03:04:51.763921Z"}], "thread_id": "Thread-1", "execution_time": 0.013473033905029297, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.apple_search_ads_integration_tests.ad_group_history_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T03:04:51.758935Z", "completed_at": "2022-12-20T03:04:51.762598Z"}, {"name": "execute", "started_at": "2022-12-20T03:04:51.765677Z", "completed_at": "2022-12-20T03:04:51.765685Z"}], "thread_id": "Thread-2", "execution_time": 0.009654045104980469, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.apple_search_ads_integration_tests.ad_group_report_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T03:04:51.763092Z", "completed_at": "2022-12-20T03:04:51.766246Z"}, {"name": "execute", "started_at": "2022-12-20T03:04:51.767992Z", "completed_at": "2022-12-20T03:04:51.767998Z"}], "thread_id": "Thread-4", "execution_time": 0.008306026458740234, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.apple_search_ads_integration_tests.ad_history_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T03:04:51.768101Z", "completed_at": "2022-12-20T03:04:51.771677Z"}, {"name": "execute", "started_at": "2022-12-20T03:04:51.775068Z", "completed_at": "2022-12-20T03:04:51.775077Z"}], "thread_id": "Thread-3", "execution_time": 0.009293079376220703, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.apple_search_ads_integration_tests.ad_report_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T03:04:51.771271Z", "completed_at": "2022-12-20T03:04:51.774771Z"}, {"name": "execute", "started_at": "2022-12-20T03:04:51.776036Z", "completed_at": "2022-12-20T03:04:51.776042Z"}], "thread_id": "Thread-1", "execution_time": 0.010231971740722656, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.apple_search_ads_integration_tests.campaign_history_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T03:04:51.775364Z", "completed_at": "2022-12-20T03:04:51.778017Z"}, {"name": "execute", "started_at": "2022-12-20T03:04:51.779195Z", "completed_at": "2022-12-20T03:04:51.779199Z"}], "thread_id": "Thread-4", "execution_time": 0.007760047912597656, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.apple_search_ads_integration_tests.keyword_history_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T03:04:51.771803Z", "completed_at": "2022-12-20T03:04:51.775187Z"}, {"name": "execute", "started_at": "2022-12-20T03:04:51.777546Z", "completed_at": "2022-12-20T03:04:51.777550Z"}], "thread_id": "Thread-2", "execution_time": 0.010502815246582031, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.apple_search_ads_integration_tests.campaign_report_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T03:04:51.779377Z", "completed_at": "2022-12-20T03:04:51.781084Z"}, {"name": "execute", "started_at": "2022-12-20T03:04:51.783108Z", "completed_at": "2022-12-20T03:04:51.783117Z"}], "thread_id": "Thread-3", "execution_time": 0.005693912506103516, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.apple_search_ads_integration_tests.keyword_report_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T03:04:51.783357Z", "completed_at": "2022-12-20T03:04:51.786825Z"}, {"name": "execute", "started_at": "2022-12-20T03:04:51.794636Z", "completed_at": "2022-12-20T03:04:51.794643Z"}], "thread_id": "Thread-1", "execution_time": 0.013542890548706055, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.apple_search_ads_integration_tests.organization_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T03:04:51.784129Z", "completed_at": "2022-12-20T03:04:51.794209Z"}, {"name": "execute", "started_at": "2022-12-20T03:04:51.794858Z", "completed_at": "2022-12-20T03:04:51.794860Z"}], "thread_id": "Thread-4", "execution_time": 0.017226219177246094, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.apple_search_ads_integration_tests.search_term_report_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T03:04:51.801394Z", "completed_at": "2022-12-20T03:04:52.101223Z"}, {"name": "execute", "started_at": "2022-12-20T03:04:52.101461Z", "completed_at": "2022-12-20T03:04:52.101469Z"}], "thread_id": "Thread-4", "execution_time": 0.3448829650878906, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__ad_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T03:04:51.785484Z", "completed_at": "2022-12-20T03:04:52.092836Z"}, {"name": "execute", "started_at": "2022-12-20T03:04:52.093041Z", "completed_at": "2022-12-20T03:04:52.093048Z"}], "thread_id": "Thread-2", "execution_time": 0.3850090503692627, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__ad_group_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T03:04:51.794784Z", "completed_at": "2022-12-20T03:04:52.172161Z"}, {"name": "execute", "started_at": "2022-12-20T03:04:52.173707Z", "completed_at": "2022-12-20T03:04:52.173711Z"}], "thread_id": "Thread-3", "execution_time": 0.4076700210571289, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__campaign_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T03:04:51.801487Z", "completed_at": "2022-12-20T03:04:52.172910Z"}, {"name": "execute", "started_at": "2022-12-20T03:04:52.173137Z", "completed_at": "2022-12-20T03:04:52.173144Z"}], "thread_id": "Thread-1", "execution_time": 0.4022960662841797, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__ad_group_report"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T03:04:52.145985Z", "completed_at": "2022-12-20T03:04:52.426542Z"}, {"name": "execute", "started_at": "2022-12-20T03:04:52.426747Z", "completed_at": "2022-12-20T03:04:52.426757Z"}], "thread_id": "Thread-4", "execution_time": 0.3084290027618408, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__ad_report"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T03:04:52.203900Z", "completed_at": "2022-12-20T03:04:52.547869Z"}, {"name": "execute", "started_at": "2022-12-20T03:04:52.549058Z", "completed_at": "2022-12-20T03:04:52.549079Z"}], "thread_id": "Thread-3", "execution_time": 0.3728957176208496, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__campaign_report"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T03:04:52.204025Z", "completed_at": "2022-12-20T03:04:52.551533Z"}, {"name": "execute", "started_at": "2022-12-20T03:04:52.551860Z", "completed_at": "2022-12-20T03:04:52.551867Z"}], "thread_id": "Thread-1", "execution_time": 0.4041759967803955, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__keyword_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T03:04:52.608130Z", "completed_at": "2022-12-20T03:04:52.618001Z"}, {"name": "execute", "started_at": "2022-12-20T03:04:52.618213Z", "completed_at": "2022-12-20T03:04:52.618221Z"}], "thread_id": "Thread-1", "execution_time": 0.01069021224975586, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__ad_history_ad_id__modified_at.38599b8cba"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T03:04:52.619080Z", "completed_at": "2022-12-20T03:04:52.625245Z"}, {"name": "execute", "started_at": "2022-12-20T03:04:52.625447Z", "completed_at": "2022-12-20T03:04:52.625454Z"}], "thread_id": "Thread-1", "execution_time": 0.0069599151611328125, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_history_ad_id.4ad3bde32a"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T03:04:52.626641Z", "completed_at": "2022-12-20T03:04:52.633737Z"}, {"name": "execute", "started_at": "2022-12-20T03:04:52.634111Z", "completed_at": "2022-12-20T03:04:52.634119Z"}], "thread_id": "Thread-1", "execution_time": 0.008301019668579102, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_history_modified_at.2eea7e006d"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T03:04:52.635358Z", "completed_at": "2022-12-20T03:04:52.639684Z"}, {"name": "execute", "started_at": "2022-12-20T03:04:52.640066Z", "completed_at": "2022-12-20T03:04:52.640074Z"}], "thread_id": "Thread-1", "execution_time": 0.0053310394287109375, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__ad_group_history_ad_group_id__modified_at.84af14c83b"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T03:04:52.641937Z", "completed_at": "2022-12-20T03:04:52.646085Z"}, {"name": "execute", "started_at": "2022-12-20T03:04:52.646284Z", "completed_at": "2022-12-20T03:04:52.646291Z"}], "thread_id": "Thread-1", "execution_time": 0.005068063735961914, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_group_history_ad_group_id.dc128eecb7"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T03:04:52.647772Z", "completed_at": "2022-12-20T03:04:52.651929Z"}, {"name": "execute", "started_at": "2022-12-20T03:04:52.652116Z", "completed_at": "2022-12-20T03:04:52.652122Z"}], "thread_id": "Thread-1", "execution_time": 0.0050432682037353516, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_group_history_modified_at.e5d65fa28f"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T03:04:52.652950Z", "completed_at": "2022-12-20T03:04:52.656834Z"}, {"name": "execute", "started_at": "2022-12-20T03:04:52.657023Z", "completed_at": "2022-12-20T03:04:52.657030Z"}], "thread_id": "Thread-1", "execution_time": 0.0046539306640625, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__campaign_history_campaign_id__modified_at.317f970af9"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T03:04:52.658278Z", "completed_at": "2022-12-20T03:04:52.661515Z"}, {"name": "execute", "started_at": "2022-12-20T03:04:52.661710Z", "completed_at": "2022-12-20T03:04:52.661717Z"}], "thread_id": "Thread-1", "execution_time": 0.004277944564819336, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.apple_search_ads_source.not_null_stg_apple_search_ads__campaign_history_campaign_id.3f0f7502b8"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T03:04:52.663693Z", "completed_at": "2022-12-20T03:04:52.666974Z"}, {"name": "execute", "started_at": "2022-12-20T03:04:52.667175Z", "completed_at": "2022-12-20T03:04:52.667182Z"}], "thread_id": "Thread-1", "execution_time": 0.005222797393798828, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.apple_search_ads_source.not_null_stg_apple_search_ads__campaign_history_modified_at.f34a7a97c9"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T03:04:52.667994Z", "completed_at": "2022-12-20T03:04:52.671893Z"}, {"name": "execute", "started_at": "2022-12-20T03:04:52.672106Z", "completed_at": "2022-12-20T03:04:52.672113Z"}], "thread_id": "Thread-1", "execution_time": 0.0046961307525634766, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__ad_group_report_ad_group_id__date_day.a0fcc4e33c"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T03:04:52.672951Z", "completed_at": "2022-12-20T03:04:52.682607Z"}, {"name": "execute", "started_at": "2022-12-20T03:04:52.682800Z", "completed_at": "2022-12-20T03:04:52.682806Z"}], "thread_id": "Thread-1", "execution_time": 0.010428905487060547, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_group_report_ad_group_id.a115f9cfc1"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T03:04:52.684619Z", "completed_at": "2022-12-20T03:04:52.690927Z"}, {"name": "execute", "started_at": "2022-12-20T03:04:52.691142Z", "completed_at": "2022-12-20T03:04:52.691151Z"}], "thread_id": "Thread-1", "execution_time": 0.007894754409790039, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_group_report_date_day.4dfd46a43b"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T03:04:52.692162Z", "completed_at": "2022-12-20T03:04:52.696258Z"}, {"name": "execute", "started_at": "2022-12-20T03:04:52.696445Z", "completed_at": "2022-12-20T03:04:52.696452Z"}], "thread_id": "Thread-1", "execution_time": 0.004873991012573242, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__ad_report_ad_id__date_day__ad_group_id.0d8d23c516"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T03:04:52.697264Z", "completed_at": "2022-12-20T03:04:52.700753Z"}, {"name": "execute", "started_at": "2022-12-20T03:04:52.700992Z", "completed_at": "2022-12-20T03:04:52.700999Z"}], "thread_id": "Thread-1", "execution_time": 0.004338979721069336, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_report_ad_group_id.a397755e9f"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T03:04:52.701914Z", "completed_at": "2022-12-20T03:04:52.713907Z"}, {"name": "execute", "started_at": "2022-12-20T03:04:52.714295Z", "completed_at": "2022-12-20T03:04:52.714303Z"}], "thread_id": "Thread-1", "execution_time": 0.013044118881225586, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_report_ad_id.d08e760c58"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T03:04:52.716109Z", "completed_at": "2022-12-20T03:04:52.719490Z"}, {"name": "execute", "started_at": "2022-12-20T03:04:52.719684Z", "completed_at": "2022-12-20T03:04:52.719692Z"}], "thread_id": "Thread-1", "execution_time": 0.004282951354980469, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_report_date_day.e6252346d8"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T03:04:52.722732Z", "completed_at": "2022-12-20T03:04:52.726741Z"}, {"name": "execute", "started_at": "2022-12-20T03:04:52.726942Z", "completed_at": "2022-12-20T03:04:52.726948Z"}], "thread_id": "Thread-1", "execution_time": 0.005155801773071289, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__campaign_report_campaign_id__date_day.bad41b0481"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T03:04:52.727840Z", "completed_at": "2022-12-20T03:04:52.732085Z"}, {"name": "execute", "started_at": "2022-12-20T03:04:52.732298Z", "completed_at": "2022-12-20T03:04:52.732304Z"}], "thread_id": "Thread-1", "execution_time": 0.005043983459472656, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.apple_search_ads_source.not_null_stg_apple_search_ads__campaign_report_campaign_id.b83941e728"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T03:04:52.733106Z", "completed_at": "2022-12-20T03:04:52.736196Z"}, {"name": "execute", "started_at": "2022-12-20T03:04:52.736378Z", "completed_at": "2022-12-20T03:04:52.736384Z"}], "thread_id": "Thread-1", "execution_time": 0.0038328170776367188, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.apple_search_ads_source.not_null_stg_apple_search_ads__campaign_report_date_day.c8dc10a6f3"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T03:04:52.737188Z", "completed_at": "2022-12-20T03:04:52.740963Z"}, {"name": "execute", "started_at": "2022-12-20T03:04:52.741155Z", "completed_at": "2022-12-20T03:04:52.741163Z"}], "thread_id": "Thread-1", "execution_time": 0.004551887512207031, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__keyword_history_keyword_id__modified_at.7b06162d24"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T03:04:52.741972Z", "completed_at": "2022-12-20T03:04:52.756292Z"}, {"name": "execute", "started_at": "2022-12-20T03:04:52.756489Z", "completed_at": "2022-12-20T03:04:52.756497Z"}], "thread_id": "Thread-1", "execution_time": 0.015098810195922852, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.apple_search_ads_source.not_null_stg_apple_search_ads__keyword_history_keyword_id.889f83cfd2"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T03:04:52.757367Z", "completed_at": "2022-12-20T03:04:52.760714Z"}, {"name": "execute", "started_at": "2022-12-20T03:04:52.760912Z", "completed_at": "2022-12-20T03:04:52.760920Z"}], "thread_id": "Thread-1", "execution_time": 0.00415492057800293, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.apple_search_ads_source.not_null_stg_apple_search_ads__keyword_history_modified_at.42fde5a287"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T03:04:52.576444Z", "completed_at": "2022-12-20T03:04:52.864497Z"}, {"name": "execute", "started_at": "2022-12-20T03:04:52.864710Z", "completed_at": "2022-12-20T03:04:52.864718Z"}], "thread_id": "Thread-3", "execution_time": 0.3175499439239502, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__search_term_report"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T03:04:52.894532Z", "completed_at": "2022-12-20T03:04:52.899244Z"}, {"name": "execute", "started_at": "2022-12-20T03:04:52.902587Z", "completed_at": "2022-12-20T03:04:52.902597Z"}], "thread_id": "Thread-1", "execution_time": 0.008738040924072266, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__search_term_report__fivetran_id__date_day.aad2a48344"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T03:04:52.899116Z", "completed_at": "2022-12-20T03:04:52.903717Z"}, {"name": "execute", "started_at": "2022-12-20T03:04:52.904102Z", "completed_at": "2022-12-20T03:04:52.904107Z"}], "thread_id": "Thread-3", "execution_time": 0.00890207290649414, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.apple_search_ads_source.not_null_stg_apple_search_ads__search_term_report__fivetran_id.aa430d1dad"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T03:04:52.904021Z", "completed_at": "2022-12-20T03:04:52.907969Z"}, {"name": "execute", "started_at": "2022-12-20T03:04:52.908175Z", "completed_at": "2022-12-20T03:04:52.908181Z"}], "thread_id": "Thread-1", "execution_time": 0.00502777099609375, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.apple_search_ads_source.not_null_stg_apple_search_ads__search_term_report_date_day.fd93df3302"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T03:04:52.175706Z", "completed_at": "2022-12-20T03:04:52.930986Z"}, {"name": "execute", "started_at": "2022-12-20T03:04:52.931189Z", "completed_at": "2022-12-20T03:04:52.931198Z"}], "thread_id": "Thread-2", "execution_time": 0.7832770347595215, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__keyword_report"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T03:04:52.961122Z", "completed_at": "2022-12-20T03:04:52.972120Z"}, {"name": "execute", "started_at": "2022-12-20T03:04:52.972748Z", "completed_at": "2022-12-20T03:04:52.972755Z"}], "thread_id": "Thread-1", "execution_time": 0.013828039169311523, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.apple_search_ads_source.not_null_stg_apple_search_ads__keyword_report_date_day.16098db928"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T03:04:52.961236Z", "completed_at": "2022-12-20T03:04:52.972244Z"}, {"name": "execute", "started_at": "2022-12-20T03:04:52.972834Z", "completed_at": "2022-12-20T03:04:52.972836Z"}], "thread_id": "Thread-2", "execution_time": 0.013776779174804688, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.apple_search_ads_source.not_null_stg_apple_search_ads__keyword_report_keyword_id.501725b09e"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T03:04:52.960993Z", "completed_at": "2022-12-20T03:04:52.972341Z"}, {"name": "execute", "started_at": "2022-12-20T03:04:52.972911Z", "completed_at": "2022-12-20T03:04:52.972913Z"}], "thread_id": "Thread-3", "execution_time": 0.014828681945800781, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__keyword_report_keyword_id__date_day.9f0099cff8"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T03:04:52.455158Z", "completed_at": "2022-12-20T03:04:52.957520Z"}, {"name": "execute", "started_at": "2022-12-20T03:04:52.958434Z", "completed_at": "2022-12-20T03:04:52.958445Z"}], "thread_id": "Thread-4", "execution_time": 0.5330619812011719, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__organization"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T03:04:52.990412Z", "completed_at": "2022-12-20T03:04:53.015179Z"}, {"name": "execute", "started_at": "2022-12-20T03:04:53.016315Z", "completed_at": "2022-12-20T03:04:53.016325Z"}], "thread_id": "Thread-2", "execution_time": 0.0278778076171875, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.apple_search_ads.apple_search_ads__ad_report"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T03:04:52.990321Z", "completed_at": "2022-12-20T03:04:53.015304Z"}, {"name": "execute", "started_at": "2022-12-20T03:04:53.016437Z", "completed_at": "2022-12-20T03:04:53.016439Z"}], "thread_id": "Thread-1", "execution_time": 0.02862071990966797, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.apple_search_ads.apple_search_ads__ad_group_report"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T03:04:52.990557Z", "completed_at": "2022-12-20T03:04:53.015558Z"}, {"name": "execute", "started_at": "2022-12-20T03:04:53.016704Z", "completed_at": "2022-12-20T03:04:53.016710Z"}], "thread_id": "Thread-3", "execution_time": 0.028553247451782227, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.apple_search_ads.apple_search_ads__campaign_report"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T03:04:52.990668Z", "completed_at": "2022-12-20T03:04:53.016044Z"}, {"name": "execute", "started_at": "2022-12-20T03:04:53.017753Z", "completed_at": "2022-12-20T03:04:53.017758Z"}], "thread_id": "Thread-4", "execution_time": 0.030426740646362305, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.apple_search_ads.apple_search_ads__keyword_report"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T03:04:53.022171Z", "completed_at": "2022-12-20T03:04:53.037069Z"}, {"name": "execute", "started_at": "2022-12-20T03:04:53.038083Z", "completed_at": "2022-12-20T03:04:53.038089Z"}], "thread_id": "Thread-2", "execution_time": 0.018025875091552734, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.apple_search_ads.apple_search_ads__organization_report"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T03:04:53.022259Z", "completed_at": "2022-12-20T03:04:53.037349Z"}, {"name": "execute", "started_at": "2022-12-20T03:04:53.038167Z", "completed_at": "2022-12-20T03:04:53.038171Z"}], "thread_id": "Thread-1", "execution_time": 0.018155813217163086, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.apple_search_ads.apple_search_ads__search_term_report"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T03:04:53.022428Z", "completed_at": "2022-12-20T03:04:53.037583Z"}, {"name": "execute", "started_at": "2022-12-20T03:04:53.038325Z", "completed_at": "2022-12-20T03:04:53.038328Z"}], "thread_id": "Thread-3", "execution_time": 0.018222808837890625, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__organization_organization_id.8647048f7a"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T03:04:53.030837Z", "completed_at": "2022-12-20T03:04:53.037901Z"}, {"name": "execute", "started_at": "2022-12-20T03:04:53.039195Z", "completed_at": "2022-12-20T03:04:53.039200Z"}], "thread_id": "Thread-4", "execution_time": 0.018577098846435547, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.apple_search_ads_source.not_null_stg_apple_search_ads__organization_organization_id.b013ce33cb"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T03:04:53.042409Z", "completed_at": "2022-12-20T03:04:53.056611Z"}, {"name": "execute", "started_at": "2022-12-20T03:04:53.057437Z", "completed_at": "2022-12-20T03:04:53.057443Z"}], "thread_id": "Thread-1", "execution_time": 0.01700305938720703, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.apple_search_ads.not_null_apple_search_ads__ad_report_ad_id.0ab2c5075c"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T03:04:53.042328Z", "completed_at": "2022-12-20T03:04:53.056684Z"}, {"name": "execute", "started_at": "2022-12-20T03:04:53.057587Z", "completed_at": "2022-12-20T03:04:53.057589Z"}], "thread_id": "Thread-2", "execution_time": 0.01780414581298828, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.apple_search_ads.dbt_utils_unique_combination_of_columns_apple_search_ads__ad_report_organization_id__campaign_id__ad_group_id__ad_id__date_day.54e27817a1"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T03:04:53.042555Z", "completed_at": "2022-12-20T03:04:53.056986Z"}, {"name": "execute", "started_at": "2022-12-20T03:04:53.057658Z", "completed_at": "2022-12-20T03:04:53.057660Z"}], "thread_id": "Thread-3", "execution_time": 0.0174410343170166, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.apple_search_ads.not_null_apple_search_ads__ad_report_date_day.b86c049e17"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T03:04:53.050265Z", "completed_at": "2022-12-20T03:04:53.057214Z"}, {"name": "execute", "started_at": "2022-12-20T03:04:53.058060Z", "completed_at": "2022-12-20T03:04:53.058072Z"}], "thread_id": "Thread-4", "execution_time": 0.017309904098510742, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.apple_search_ads.dbt_utils_unique_combination_of_columns_apple_search_ads__ad_group_report_organization_id__campaign_id__ad_group_id__date_day.19d180bab9"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T03:04:53.061447Z", "completed_at": "2022-12-20T03:04:53.074680Z"}, {"name": "execute", "started_at": "2022-12-20T03:04:53.075518Z", "completed_at": "2022-12-20T03:04:53.075526Z"}], "thread_id": "Thread-1", "execution_time": 0.016325712203979492, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.apple_search_ads.not_null_apple_search_ads__ad_group_report_ad_group_id.60febec6b5"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T03:04:53.061603Z", "completed_at": "2022-12-20T03:04:53.074940Z"}, {"name": "execute", "started_at": "2022-12-20T03:04:53.075703Z", "completed_at": "2022-12-20T03:04:53.075706Z"}], "thread_id": "Thread-2", "execution_time": 0.016431808471679688, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.apple_search_ads.not_null_apple_search_ads__ad_group_report_date_day.e6ffb30b3c"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T03:04:53.061675Z", "completed_at": "2022-12-20T03:04:53.075226Z"}, {"name": "execute", "started_at": "2022-12-20T03:04:53.076347Z", "completed_at": "2022-12-20T03:04:53.076354Z"}], "thread_id": "Thread-3", "execution_time": 0.016850948333740234, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.apple_search_ads.dbt_utils_unique_combination_of_columns_apple_search_ads__campaign_report_organization_id__campaign_id__date_day.647e56213f"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T03:04:53.064648Z", "completed_at": "2022-12-20T03:04:53.075424Z"}, {"name": "execute", "started_at": "2022-12-20T03:04:53.076858Z", "completed_at": "2022-12-20T03:04:53.076863Z"}], "thread_id": "Thread-4", "execution_time": 0.01696181297302246, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.apple_search_ads.not_null_apple_search_ads__campaign_report_campaign_id.e26ed1e146"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T03:04:53.079925Z", "completed_at": "2022-12-20T03:04:53.090765Z"}, {"name": "execute", "started_at": "2022-12-20T03:04:53.094501Z", "completed_at": "2022-12-20T03:04:53.094509Z"}], "thread_id": "Thread-1", "execution_time": 0.016973018646240234, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.apple_search_ads.not_null_apple_search_ads__campaign_report_date_day.35652b8d1a"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T03:04:53.080179Z", "completed_at": "2022-12-20T03:04:53.093577Z"}, {"name": "execute", "started_at": "2022-12-20T03:04:53.094793Z", "completed_at": "2022-12-20T03:04:53.094801Z"}], "thread_id": "Thread-2", "execution_time": 0.017094135284423828, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.apple_search_ads.dbt_utils_unique_combination_of_columns_apple_search_ads__keyword_report_organization_id__campaign_id__ad_group_id__keyword_id__date_day.78fb033a13"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T03:04:53.083382Z", "completed_at": "2022-12-20T03:04:53.094158Z"}, {"name": "execute", "started_at": "2022-12-20T03:04:53.095415Z", "completed_at": "2022-12-20T03:04:53.095422Z"}], "thread_id": "Thread-3", "execution_time": 0.017174243927001953, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.apple_search_ads.not_null_apple_search_ads__keyword_report_date_day.3dec8d0e82"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T03:04:53.087734Z", "completed_at": "2022-12-20T03:04:53.094574Z"}, {"name": "execute", "started_at": "2022-12-20T03:04:53.096065Z", "completed_at": "2022-12-20T03:04:53.096072Z"}], "thread_id": "Thread-4", "execution_time": 0.017454147338867188, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.apple_search_ads.not_null_apple_search_ads__keyword_report_keyword_id.ea493710db"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T03:04:53.098380Z", "completed_at": "2022-12-20T03:04:53.110013Z"}, {"name": "execute", "started_at": "2022-12-20T03:04:53.114219Z", "completed_at": "2022-12-20T03:04:53.114228Z"}], "thread_id": "Thread-1", "execution_time": 0.018032073974609375, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.apple_search_ads.dbt_utils_unique_combination_of_columns_apple_search_ads__organization_report_organization_id__date_day.8bc84fccc3"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T03:04:53.098800Z", "completed_at": "2022-12-20T03:04:53.114335Z"}, {"name": "execute", "started_at": "2022-12-20T03:04:53.115292Z", "completed_at": "2022-12-20T03:04:53.115296Z"}], "thread_id": "Thread-2", "execution_time": 0.018677949905395508, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.apple_search_ads.not_null_apple_search_ads__organization_report_date_day.5784fed523"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T03:04:53.102926Z", "completed_at": "2022-12-20T03:04:53.115055Z"}, {"name": "execute", "started_at": "2022-12-20T03:04:53.116312Z", "completed_at": "2022-12-20T03:04:53.116316Z"}], "thread_id": "Thread-3", "execution_time": 0.01896810531616211, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.apple_search_ads.not_null_apple_search_ads__organization_report_organization_id.b6cf7d69f8"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T03:04:53.106915Z", "completed_at": "2022-12-20T03:04:53.115365Z"}, {"name": "execute", "started_at": "2022-12-20T03:04:53.116686Z", "completed_at": "2022-12-20T03:04:53.116690Z"}], "thread_id": "Thread-4", "execution_time": 0.019255876541137695, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.apple_search_ads.dbt_utils_unique_combination_of_columns_apple_search_ads__search_term_report_search_term_text__date_day.e60fe79ec4"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T03:04:53.117162Z", "completed_at": "2022-12-20T03:04:53.124545Z"}, {"name": "execute", "started_at": "2022-12-20T03:04:53.124812Z", "completed_at": "2022-12-20T03:04:53.124819Z"}], "thread_id": "Thread-1", "execution_time": 0.009610176086425781, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.apple_search_ads.not_null_apple_search_ads__search_term_report_date_day.1bc3b0d57c"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T03:04:53.121417Z", "completed_at": "2022-12-20T03:04:53.124887Z"}, {"name": "execute", "started_at": "2022-12-20T03:04:53.125656Z", "completed_at": "2022-12-20T03:04:53.125660Z"}], "thread_id": "Thread-2", "execution_time": 0.008635282516479492, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.apple_search_ads.not_null_apple_search_ads__search_term_report_search_term_text.aecc7447f7"}], "elapsed_time": 3.5442628860473633, "args": {"write_json": true, "use_colors": true, "printer_width": 80, "version_check": true, "partial_parse": true, "static_parser": true, "profiles_dir": "/Users/joseph.markiewicz/.dbt", "send_anonymous_usage_stats": true, "event_buffer_size": 100000, "quiet": false, "no_print": false, "target": "postgres", "compile": true, "which": "generate", "rpc_method": "docs.generate", "indirect_selection": "eager"}} \ No newline at end of file +{"metadata": {"dbt_schema_version": "https://schemas.getdbt.com/dbt/run-results/v4.json", "dbt_version": "1.4.5", "generated_at": "2023-07-07T16:02:48.217171Z", "invocation_id": "9493e7c2-265f-4152-96ae-e4e98f45920c", "env": {}}, "results": [{"status": "success", "timing": [{"name": "compile", "started_at": "2023-07-07T16:02:46.042718Z", "completed_at": "2023-07-07T16:02:46.063090Z"}, {"name": "execute", "started_at": "2023-07-07T16:02:46.065441Z", "completed_at": "2023-07-07T16:02:46.065479Z"}], "thread_id": "Thread-2", "execution_time": 0.03725790977478027, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__ad_group_report_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2023-07-07T16:02:46.049459Z", "completed_at": "2023-07-07T16:02:46.063547Z"}, {"name": "execute", "started_at": "2023-07-07T16:02:46.066073Z", "completed_at": "2023-07-07T16:02:46.066083Z"}], "thread_id": "Thread-3", "execution_time": 0.03951692581176758, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__ad_history_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2023-07-07T16:02:46.033600Z", "completed_at": "2023-07-07T16:02:46.063833Z"}, {"name": "execute", "started_at": "2023-07-07T16:02:46.066371Z", "completed_at": "2023-07-07T16:02:46.066379Z"}], "thread_id": "Thread-1", "execution_time": 0.04218292236328125, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__ad_group_history_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2023-07-07T16:02:46.056202Z", "completed_at": "2023-07-07T16:02:46.065799Z"}, {"name": "execute", "started_at": "2023-07-07T16:02:46.072780Z", "completed_at": "2023-07-07T16:02:46.072795Z"}], "thread_id": "Thread-4", "execution_time": 0.044412851333618164, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__ad_report_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2023-07-07T16:02:46.079604Z", "completed_at": "2023-07-07T16:02:46.101429Z"}, {"name": "execute", "started_at": "2023-07-07T16:02:46.109278Z", "completed_at": "2023-07-07T16:02:46.109301Z"}], "thread_id": "Thread-2", "execution_time": 0.037034034729003906, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__campaign_history_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2023-07-07T16:02:46.086928Z", "completed_at": "2023-07-07T16:02:46.107768Z"}, {"name": "execute", "started_at": "2023-07-07T16:02:46.110584Z", "completed_at": "2023-07-07T16:02:46.110598Z"}], "thread_id": "Thread-3", "execution_time": 0.037058115005493164, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__campaign_report_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2023-07-07T16:02:46.094235Z", "completed_at": "2023-07-07T16:02:46.108360Z"}, {"name": "execute", "started_at": "2023-07-07T16:02:46.112662Z", "completed_at": "2023-07-07T16:02:46.112676Z"}], "thread_id": "Thread-1", "execution_time": 0.03833293914794922, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__keyword_history_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2023-07-07T16:02:46.101844Z", "completed_at": "2023-07-07T16:02:46.109706Z"}, {"name": "execute", "started_at": "2023-07-07T16:02:46.114464Z", "completed_at": "2023-07-07T16:02:46.114477Z"}], "thread_id": "Thread-4", "execution_time": 0.031701087951660156, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__keyword_report_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2023-07-07T16:02:46.121436Z", "completed_at": "2023-07-07T16:02:46.145218Z"}, {"name": "execute", "started_at": "2023-07-07T16:02:46.156960Z", "completed_at": "2023-07-07T16:02:46.156975Z"}], "thread_id": "Thread-2", "execution_time": 0.042395830154418945, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__organization_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2023-07-07T16:02:46.128292Z", "completed_at": "2023-07-07T16:02:46.154298Z"}, {"name": "execute", "started_at": "2023-07-07T16:02:46.157959Z", "completed_at": "2023-07-07T16:02:46.157969Z"}], "thread_id": "Thread-3", "execution_time": 0.041130781173706055, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__search_term_report_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2023-07-07T16:02:46.145540Z", "completed_at": "2023-07-07T16:02:46.729058Z"}, {"name": "execute", "started_at": "2023-07-07T16:02:46.731128Z", "completed_at": "2023-07-07T16:02:46.731144Z"}], "thread_id": "Thread-4", "execution_time": 0.6051490306854248, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__ad_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2023-07-07T16:02:46.138408Z", "completed_at": "2023-07-07T16:02:46.729841Z"}, {"name": "execute", "started_at": "2023-07-07T16:02:46.731502Z", "completed_at": "2023-07-07T16:02:46.731513Z"}], "thread_id": "Thread-1", "execution_time": 0.6126530170440674, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__ad_group_report"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2023-07-07T16:02:46.171226Z", "completed_at": "2023-07-07T16:02:46.768933Z"}, {"name": "execute", "started_at": "2023-07-07T16:02:46.769635Z", "completed_at": "2023-07-07T16:02:46.769648Z"}], "thread_id": "Thread-3", "execution_time": 0.6072688102722168, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__ad_report"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2023-07-07T16:02:46.164749Z", "completed_at": "2023-07-07T16:02:46.839308Z"}, {"name": "execute", "started_at": "2023-07-07T16:02:46.839869Z", "completed_at": "2023-07-07T16:02:46.839880Z"}], "thread_id": "Thread-2", "execution_time": 0.6782510280609131, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__ad_group_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2023-07-07T16:02:46.772033Z", "completed_at": "2023-07-07T16:02:47.255971Z"}, {"name": "execute", "started_at": "2023-07-07T16:02:47.256563Z", "completed_at": "2023-07-07T16:02:47.256574Z"}], "thread_id": "Thread-3", "execution_time": 0.48593997955322266, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__keyword_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2023-07-07T16:02:46.736616Z", "completed_at": "2023-07-07T16:02:47.339409Z"}, {"name": "execute", "started_at": "2023-07-07T16:02:47.340220Z", "completed_at": "2023-07-07T16:02:47.340235Z"}], "thread_id": "Thread-4", "execution_time": 0.6066160202026367, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__campaign_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2023-07-07T16:02:46.747691Z", "completed_at": "2023-07-07T16:02:47.340534Z"}, {"name": "execute", "started_at": "2023-07-07T16:02:47.342671Z", "completed_at": "2023-07-07T16:02:47.342683Z"}], "thread_id": "Thread-1", "execution_time": 0.6094667911529541, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__campaign_report"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2023-07-07T16:02:46.842494Z", "completed_at": "2023-07-07T16:02:47.391658Z"}, {"name": "execute", "started_at": "2023-07-07T16:02:47.410555Z", "completed_at": "2023-07-07T16:02:47.410571Z"}], "thread_id": "Thread-2", "execution_time": 0.5889148712158203, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__keyword_report"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2023-07-07T16:02:47.374044Z", "completed_at": "2023-07-07T16:02:47.433782Z"}, {"name": "execute", "started_at": "2023-07-07T16:02:47.442238Z", "completed_at": "2023-07-07T16:02:47.442251Z"}], "thread_id": "Thread-1", "execution_time": 0.07287907600402832, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__ad_group_report_ad_group_id__date_day.a0fcc4e33c"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2023-07-07T16:02:47.434990Z", "completed_at": "2023-07-07T16:02:47.445220Z"}, {"name": "execute", "started_at": "2023-07-07T16:02:47.451248Z", "completed_at": "2023-07-07T16:02:47.451258Z"}], "thread_id": "Thread-2", "execution_time": 0.01914811134338379, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__ad_history_ad_id__modified_at.38599b8cba"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2023-07-07T16:02:47.453254Z", "completed_at": "2023-07-07T16:02:47.467465Z"}, {"name": "execute", "started_at": "2023-07-07T16:02:47.468031Z", "completed_at": "2023-07-07T16:02:47.468043Z"}], "thread_id": "Thread-2", "execution_time": 0.016098976135253906, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_group_report_date_day.4dfd46a43b"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2023-07-07T16:02:47.445458Z", "completed_at": "2023-07-07T16:02:47.469904Z"}, {"name": "execute", "started_at": "2023-07-07T16:02:47.475901Z", "completed_at": "2023-07-07T16:02:47.475914Z"}], "thread_id": "Thread-1", "execution_time": 0.03244209289550781, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_group_report_ad_group_id.a115f9cfc1"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2023-07-07T16:02:47.470640Z", "completed_at": "2023-07-07T16:02:47.483766Z"}, {"name": "execute", "started_at": "2023-07-07T16:02:47.484312Z", "completed_at": "2023-07-07T16:02:47.484322Z"}], "thread_id": "Thread-2", "execution_time": 0.01547098159790039, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_history_ad_id.4ad3bde32a"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2023-07-07T16:02:47.478554Z", "completed_at": "2023-07-07T16:02:47.493820Z"}, {"name": "execute", "started_at": "2023-07-07T16:02:47.494497Z", "completed_at": "2023-07-07T16:02:47.494508Z"}], "thread_id": "Thread-1", "execution_time": 0.017652273178100586, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_history_modified_at.2eea7e006d"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2023-07-07T16:02:47.486456Z", "completed_at": "2023-07-07T16:02:47.503079Z"}, {"name": "execute", "started_at": "2023-07-07T16:02:47.503878Z", "completed_at": "2023-07-07T16:02:47.503890Z"}], "thread_id": "Thread-2", "execution_time": 0.018806934356689453, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__ad_report_ad_id__date_day__ad_group_id.0d8d23c516"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2023-07-07T16:02:47.497128Z", "completed_at": "2023-07-07T16:02:47.510975Z"}, {"name": "execute", "started_at": "2023-07-07T16:02:47.511713Z", "completed_at": "2023-07-07T16:02:47.511722Z"}], "thread_id": "Thread-1", "execution_time": 0.016489028930664062, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_report_ad_group_id.a397755e9f"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2023-07-07T16:02:47.505895Z", "completed_at": "2023-07-07T16:02:47.514000Z"}, {"name": "execute", "started_at": "2023-07-07T16:02:47.520902Z", "completed_at": "2023-07-07T16:02:47.520916Z"}], "thread_id": "Thread-2", "execution_time": 0.016340970993041992, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_report_ad_id.d08e760c58"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2023-07-07T16:02:47.514248Z", "completed_at": "2023-07-07T16:02:47.530325Z"}, {"name": "execute", "started_at": "2023-07-07T16:02:47.530882Z", "completed_at": "2023-07-07T16:02:47.530892Z"}], "thread_id": "Thread-1", "execution_time": 0.018246889114379883, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_report_date_day.e6252346d8"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2023-07-07T16:02:47.522958Z", "completed_at": "2023-07-07T16:02:47.538234Z"}, {"name": "execute", "started_at": "2023-07-07T16:02:47.538783Z", "completed_at": "2023-07-07T16:02:47.538792Z"}], "thread_id": "Thread-2", "execution_time": 0.017156124114990234, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__ad_group_history_ad_group_id__modified_at.84af14c83b"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2023-07-07T16:02:47.533023Z", "completed_at": "2023-07-07T16:02:47.546592Z"}, {"name": "execute", "started_at": "2023-07-07T16:02:47.547283Z", "completed_at": "2023-07-07T16:02:47.547295Z"}], "thread_id": "Thread-1", "execution_time": 0.015695810317993164, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_group_history_ad_group_id.dc128eecb7"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2023-07-07T16:02:47.540966Z", "completed_at": "2023-07-07T16:02:47.555820Z"}, {"name": "execute", "started_at": "2023-07-07T16:02:47.556596Z", "completed_at": "2023-07-07T16:02:47.556607Z"}], "thread_id": "Thread-2", "execution_time": 0.017137765884399414, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.apple_search_ads_source.not_null_stg_apple_search_ads__ad_group_history_modified_at.e5d65fa28f"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2023-07-07T16:02:47.549522Z", "completed_at": "2023-07-07T16:02:47.566207Z"}, {"name": "execute", "started_at": "2023-07-07T16:02:47.566783Z", "completed_at": "2023-07-07T16:02:47.566795Z"}], "thread_id": "Thread-1", "execution_time": 0.018645048141479492, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__keyword_history_keyword_id__modified_at.7b06162d24"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2023-07-07T16:02:47.559930Z", "completed_at": "2023-07-07T16:02:47.575465Z"}, {"name": "execute", "started_at": "2023-07-07T16:02:47.577516Z", "completed_at": "2023-07-07T16:02:47.577532Z"}], "thread_id": "Thread-2", "execution_time": 0.020267009735107422, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.apple_search_ads_source.not_null_stg_apple_search_ads__keyword_history_keyword_id.889f83cfd2"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2023-07-07T16:02:47.569237Z", "completed_at": "2023-07-07T16:02:47.579087Z"}, {"name": "execute", "started_at": "2023-07-07T16:02:47.580443Z", "completed_at": "2023-07-07T16:02:47.580451Z"}], "thread_id": "Thread-1", "execution_time": 0.01973128318786621, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.apple_search_ads_source.not_null_stg_apple_search_ads__keyword_history_modified_at.42fde5a287"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2023-07-07T16:02:47.580697Z", "completed_at": "2023-07-07T16:02:47.595397Z"}, {"name": "execute", "started_at": "2023-07-07T16:02:47.596031Z", "completed_at": "2023-07-07T16:02:47.596042Z"}], "thread_id": "Thread-2", "execution_time": 0.017499923706054688, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__campaign_history_campaign_id__modified_at.317f970af9"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2023-07-07T16:02:47.589812Z", "completed_at": "2023-07-07T16:02:47.597639Z"}, {"name": "execute", "started_at": "2023-07-07T16:02:47.599005Z", "completed_at": "2023-07-07T16:02:47.599013Z"}], "thread_id": "Thread-1", "execution_time": 0.016277074813842773, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.apple_search_ads_source.not_null_stg_apple_search_ads__campaign_history_campaign_id.3f0f7502b8"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2023-07-07T16:02:47.599251Z", "completed_at": "2023-07-07T16:02:47.606863Z"}, {"name": "execute", "started_at": "2023-07-07T16:02:47.614843Z", "completed_at": "2023-07-07T16:02:47.614854Z"}], "thread_id": "Thread-2", "execution_time": 0.017673969268798828, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.apple_search_ads_source.not_null_stg_apple_search_ads__campaign_history_modified_at.f34a7a97c9"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2023-07-07T16:02:47.607656Z", "completed_at": "2023-07-07T16:02:47.624640Z"}, {"name": "execute", "started_at": "2023-07-07T16:02:47.625329Z", "completed_at": "2023-07-07T16:02:47.625342Z"}], "thread_id": "Thread-1", "execution_time": 0.01959824562072754, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__campaign_report_campaign_id__date_day.bad41b0481"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2023-07-07T16:02:47.617689Z", "completed_at": "2023-07-07T16:02:47.634161Z"}, {"name": "execute", "started_at": "2023-07-07T16:02:47.634749Z", "completed_at": "2023-07-07T16:02:47.634760Z"}], "thread_id": "Thread-2", "execution_time": 0.018904924392700195, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.apple_search_ads_source.not_null_stg_apple_search_ads__campaign_report_campaign_id.b83941e728"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2023-07-07T16:02:47.627618Z", "completed_at": "2023-07-07T16:02:47.644534Z"}, {"name": "execute", "started_at": "2023-07-07T16:02:47.645160Z", "completed_at": "2023-07-07T16:02:47.645171Z"}], "thread_id": "Thread-1", "execution_time": 0.01914072036743164, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.apple_search_ads_source.not_null_stg_apple_search_ads__campaign_report_date_day.c8dc10a6f3"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2023-07-07T16:02:47.636998Z", "completed_at": "2023-07-07T16:02:47.652837Z"}, {"name": "execute", "started_at": "2023-07-07T16:02:47.653588Z", "completed_at": "2023-07-07T16:02:47.653599Z"}], "thread_id": "Thread-2", "execution_time": 0.018145084381103516, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__keyword_report_keyword_id__date_day.9f0099cff8"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2023-07-07T16:02:47.647478Z", "completed_at": "2023-07-07T16:02:47.654656Z"}, {"name": "execute", "started_at": "2023-07-07T16:02:47.656409Z", "completed_at": "2023-07-07T16:02:47.656420Z"}], "thread_id": "Thread-1", "execution_time": 0.010641813278198242, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.apple_search_ads_source.not_null_stg_apple_search_ads__keyword_report_date_day.16098db928"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2023-07-07T16:02:47.657624Z", "completed_at": "2023-07-07T16:02:47.663907Z"}, {"name": "execute", "started_at": "2023-07-07T16:02:47.664450Z", "completed_at": "2023-07-07T16:02:47.664459Z"}], "thread_id": "Thread-2", "execution_time": 0.009215116500854492, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.apple_search_ads_source.not_null_stg_apple_search_ads__keyword_report_keyword_id.501725b09e"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2023-07-07T16:02:47.259143Z", "completed_at": "2023-07-07T16:02:47.763512Z"}, {"name": "execute", "started_at": "2023-07-07T16:02:47.764236Z", "completed_at": "2023-07-07T16:02:47.764251Z"}], "thread_id": "Thread-3", "execution_time": 0.5070362091064453, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__organization"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2023-07-07T16:02:47.769689Z", "completed_at": "2023-07-07T16:02:47.808768Z"}, {"name": "execute", "started_at": "2023-07-07T16:02:47.809343Z", "completed_at": "2023-07-07T16:02:47.809354Z"}], "thread_id": "Thread-1", "execution_time": 0.043066978454589844, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.apple_search_ads.apple_search_ads__ad_group_report"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2023-07-07T16:02:47.799759Z", "completed_at": "2023-07-07T16:02:47.810327Z"}, {"name": "execute", "started_at": "2023-07-07T16:02:47.812708Z", "completed_at": "2023-07-07T16:02:47.812720Z"}], "thread_id": "Thread-3", "execution_time": 0.04509401321411133, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.apple_search_ads.apple_search_ads__campaign_report"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2023-07-07T16:02:47.788341Z", "completed_at": "2023-07-07T16:02:47.810546Z"}, {"name": "execute", "started_at": "2023-07-07T16:02:47.813011Z", "completed_at": "2023-07-07T16:02:47.813021Z"}], "thread_id": "Thread-2", "execution_time": 0.04670000076293945, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.apple_search_ads.apple_search_ads__ad_report"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2023-07-07T16:02:47.814918Z", "completed_at": "2023-07-07T16:02:47.829154Z"}, {"name": "execute", "started_at": "2023-07-07T16:02:47.844567Z", "completed_at": "2023-07-07T16:02:47.844582Z"}], "thread_id": "Thread-1", "execution_time": 0.03356814384460449, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.apple_search_ads.apple_search_ads__keyword_report"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2023-07-07T16:02:47.829742Z", "completed_at": "2023-07-07T16:02:47.847170Z"}, {"name": "execute", "started_at": "2023-07-07T16:02:47.854538Z", "completed_at": "2023-07-07T16:02:47.854551Z"}], "thread_id": "Thread-3", "execution_time": 0.028034687042236328, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.apple_search_ads.apple_search_ads__organization_report"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2023-07-07T16:02:47.838500Z", "completed_at": "2023-07-07T16:02:47.854144Z"}, {"name": "execute", "started_at": "2023-07-07T16:02:47.855851Z", "completed_at": "2023-07-07T16:02:47.855858Z"}], "thread_id": "Thread-2", "execution_time": 0.02881932258605957, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__organization_organization_id.8647048f7a"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2023-07-07T16:02:47.847477Z", "completed_at": "2023-07-07T16:02:47.856051Z"}, {"name": "execute", "started_at": "2023-07-07T16:02:47.858793Z", "completed_at": "2023-07-07T16:02:47.858803Z"}], "thread_id": "Thread-1", "execution_time": 0.014247894287109375, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.apple_search_ads_source.not_null_stg_apple_search_ads__organization_organization_id.b013ce33cb"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2023-07-07T16:02:47.860838Z", "completed_at": "2023-07-07T16:02:47.875928Z"}, {"name": "execute", "started_at": "2023-07-07T16:02:47.882483Z", "completed_at": "2023-07-07T16:02:47.882497Z"}], "thread_id": "Thread-3", "execution_time": 0.02576923370361328, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.apple_search_ads.dbt_utils_unique_combination_of_columns_apple_search_ads__ad_group_report_organization_id__campaign_id__ad_group_id__date_day.19d180bab9"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2023-07-07T16:02:47.870076Z", "completed_at": "2023-07-07T16:02:47.882145Z"}, {"name": "execute", "started_at": "2023-07-07T16:02:47.884029Z", "completed_at": "2023-07-07T16:02:47.884039Z"}], "thread_id": "Thread-2", "execution_time": 0.02576732635498047, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.apple_search_ads.not_null_apple_search_ads__ad_group_report_ad_group_id.60febec6b5"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2023-07-07T16:02:47.876817Z", "completed_at": "2023-07-07T16:02:47.885580Z"}, {"name": "execute", "started_at": "2023-07-07T16:02:47.888495Z", "completed_at": "2023-07-07T16:02:47.888505Z"}], "thread_id": "Thread-1", "execution_time": 0.035085201263427734, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.apple_search_ads.not_null_apple_search_ads__ad_group_report_date_day.e6ffb30b3c"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2023-07-07T16:02:47.888760Z", "completed_at": "2023-07-07T16:02:48.009406Z"}, {"name": "execute", "started_at": "2023-07-07T16:02:48.012473Z", "completed_at": "2023-07-07T16:02:48.012489Z"}], "thread_id": "Thread-3", "execution_time": 0.13553595542907715, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.apple_search_ads.dbt_utils_unique_combination_of_columns_apple_search_ads__campaign_report_organization_id__campaign_id__date_day.647e56213f"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2023-07-07T16:02:47.347141Z", "completed_at": "2023-07-07T16:02:48.011704Z"}, {"name": "execute", "started_at": "2023-07-07T16:02:48.021968Z", "completed_at": "2023-07-07T16:02:48.021980Z"}], "thread_id": "Thread-4", "execution_time": 0.6841678619384766, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.apple_search_ads_source.stg_apple_search_ads__search_term_report"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2023-07-07T16:02:48.013998Z", "completed_at": "2023-07-07T16:02:48.027876Z"}, {"name": "execute", "started_at": "2023-07-07T16:02:48.031414Z", "completed_at": "2023-07-07T16:02:48.031426Z"}], "thread_id": "Thread-1", "execution_time": 0.03420209884643555, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.apple_search_ads.not_null_apple_search_ads__campaign_report_date_day.35652b8d1a"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2023-07-07T16:02:47.919796Z", "completed_at": "2023-07-07T16:02:48.030121Z"}, {"name": "execute", "started_at": "2023-07-07T16:02:48.044490Z", "completed_at": "2023-07-07T16:02:48.044504Z"}], "thread_id": "Thread-2", "execution_time": 0.16419696807861328, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.apple_search_ads.not_null_apple_search_ads__campaign_report_campaign_id.e26ed1e146"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2023-07-07T16:02:48.032030Z", "completed_at": "2023-07-07T16:02:48.053522Z"}, {"name": "execute", "started_at": "2023-07-07T16:02:48.061825Z", "completed_at": "2023-07-07T16:02:48.061840Z"}], "thread_id": "Thread-3", "execution_time": 0.0348200798034668, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.apple_search_ads.dbt_utils_unique_combination_of_columns_apple_search_ads__ad_report_organization_id__campaign_id__ad_group_id__ad_id__date_day.54e27817a1"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2023-07-07T16:02:48.044802Z", "completed_at": "2023-07-07T16:02:48.054341Z"}, {"name": "execute", "started_at": "2023-07-07T16:02:48.062412Z", "completed_at": "2023-07-07T16:02:48.062419Z"}], "thread_id": "Thread-4", "execution_time": 0.042328834533691406, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.apple_search_ads.not_null_apple_search_ads__ad_report_ad_id.0ab2c5075c"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2023-07-07T16:02:48.056159Z", "completed_at": "2023-07-07T16:02:48.088783Z"}, {"name": "execute", "started_at": "2023-07-07T16:02:48.091871Z", "completed_at": "2023-07-07T16:02:48.091881Z"}], "thread_id": "Thread-1", "execution_time": 0.04560422897338867, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.apple_search_ads.not_null_apple_search_ads__ad_report_date_day.b86c049e17"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2023-07-07T16:02:48.063667Z", "completed_at": "2023-07-07T16:02:48.090254Z"}, {"name": "execute", "started_at": "2023-07-07T16:02:48.097735Z", "completed_at": "2023-07-07T16:02:48.097749Z"}], "thread_id": "Thread-2", "execution_time": 0.05110311508178711, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.apple_search_ads.dbt_utils_unique_combination_of_columns_apple_search_ads__keyword_report_organization_id__campaign_id__ad_group_id__keyword_id__date_day.78fb033a13"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2023-07-07T16:02:48.092379Z", "completed_at": "2023-07-07T16:02:48.107780Z"}, {"name": "execute", "started_at": "2023-07-07T16:02:48.110663Z", "completed_at": "2023-07-07T16:02:48.110674Z"}], "thread_id": "Thread-3", "execution_time": 0.03496599197387695, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.apple_search_ads.not_null_apple_search_ads__keyword_report_date_day.3dec8d0e82"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2023-07-07T16:02:48.098829Z", "completed_at": "2023-07-07T16:02:48.109298Z"}, {"name": "execute", "started_at": "2023-07-07T16:02:48.123965Z", "completed_at": "2023-07-07T16:02:48.123983Z"}], "thread_id": "Thread-4", "execution_time": 0.03472781181335449, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.apple_search_ads.not_null_apple_search_ads__keyword_report_keyword_id.ea493710db"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2023-07-07T16:02:48.110929Z", "completed_at": "2023-07-07T16:02:48.126780Z"}, {"name": "execute", "started_at": "2023-07-07T16:02:48.129765Z", "completed_at": "2023-07-07T16:02:48.129774Z"}], "thread_id": "Thread-1", "execution_time": 0.037354230880737305, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.apple_search_ads.dbt_utils_unique_combination_of_columns_apple_search_ads__organization_report_organization_id__date_day.8bc84fccc3"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2023-07-07T16:02:48.118108Z", "completed_at": "2023-07-07T16:02:48.128459Z"}, {"name": "execute", "started_at": "2023-07-07T16:02:48.144905Z", "completed_at": "2023-07-07T16:02:48.144918Z"}], "thread_id": "Thread-2", "execution_time": 0.037758827209472656, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.apple_search_ads.not_null_apple_search_ads__organization_report_date_day.5784fed523"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2023-07-07T16:02:48.135713Z", "completed_at": "2023-07-07T16:02:48.147610Z"}, {"name": "execute", "started_at": "2023-07-07T16:02:48.150443Z", "completed_at": "2023-07-07T16:02:48.150452Z"}], "thread_id": "Thread-4", "execution_time": 0.031098127365112305, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.apple_search_ads.apple_search_ads__search_term_report"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2023-07-07T16:02:48.130025Z", "completed_at": "2023-07-07T16:02:48.148837Z"}, {"name": "execute", "started_at": "2023-07-07T16:02:48.158304Z", "completed_at": "2023-07-07T16:02:48.158318Z"}], "thread_id": "Thread-3", "execution_time": 0.04153132438659668, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.apple_search_ads.not_null_apple_search_ads__organization_report_organization_id.b6cf7d69f8"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2023-07-07T16:02:48.150949Z", "completed_at": "2023-07-07T16:02:48.169573Z"}, {"name": "execute", "started_at": "2023-07-07T16:02:48.172474Z", "completed_at": "2023-07-07T16:02:48.172486Z"}], "thread_id": "Thread-1", "execution_time": 0.03155517578125, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.apple_search_ads_source.dbt_utils_unique_combination_of_columns_stg_apple_search_ads__search_term_report__fivetran_id__date_day.aad2a48344"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2023-07-07T16:02:48.159472Z", "completed_at": "2023-07-07T16:02:48.171428Z"}, {"name": "execute", "started_at": "2023-07-07T16:02:48.180372Z", "completed_at": "2023-07-07T16:02:48.180385Z"}], "thread_id": "Thread-2", "execution_time": 0.04261302947998047, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.apple_search_ads_source.not_null_stg_apple_search_ads__search_term_report__fivetran_id.aa430d1dad"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2023-07-07T16:02:48.173271Z", "completed_at": "2023-07-07T16:02:48.192484Z"}, {"name": "execute", "started_at": "2023-07-07T16:02:48.195812Z", "completed_at": "2023-07-07T16:02:48.195825Z"}], "thread_id": "Thread-4", "execution_time": 0.03301715850830078, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.apple_search_ads_source.not_null_stg_apple_search_ads__search_term_report_date_day.fd93df3302"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2023-07-07T16:02:48.180701Z", "completed_at": "2023-07-07T16:02:48.193759Z"}, {"name": "execute", "started_at": "2023-07-07T16:02:48.202635Z", "completed_at": "2023-07-07T16:02:48.202651Z"}], "thread_id": "Thread-3", "execution_time": 0.039485931396484375, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.apple_search_ads.dbt_utils_unique_combination_of_columns_apple_search_ads__search_term_report_search_term_text__match_type__date_day__keyword_id__ad_group_id__campaign_id__organization_id.33f66e0a30"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2023-07-07T16:02:48.196109Z", "completed_at": "2023-07-07T16:02:48.211856Z"}, {"name": "execute", "started_at": "2023-07-07T16:02:48.212644Z", "completed_at": "2023-07-07T16:02:48.212654Z"}], "thread_id": "Thread-1", "execution_time": 0.020432710647583008, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.apple_search_ads.not_null_apple_search_ads__search_term_report_date_day.1bc3b0d57c"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2023-07-07T16:02:48.204305Z", "completed_at": "2023-07-07T16:02:48.213883Z"}, {"name": "execute", "started_at": "2023-07-07T16:02:48.214384Z", "completed_at": "2023-07-07T16:02:48.214391Z"}], "thread_id": "Thread-2", "execution_time": 0.019971132278442383, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.apple_search_ads.not_null_apple_search_ads__search_term_report_search_term_text.aecc7447f7"}], "elapsed_time": 3.078004837036133, "args": {"write_json": true, "use_colors": true, "printer_width": 80, "version_check": true, "partial_parse": true, "static_parser": true, "profiles_dir": "/Users/renee.li/.dbt", "send_anonymous_usage_stats": true, "quiet": false, "no_print": false, "cache_selected_only": false, "compile": true, "which": "generate", "rpc_method": "docs.generate", "indirect_selection": "eager"}} \ No newline at end of file From 75a44649ab4f294672822f8669494215771bf630 Mon Sep 17 00:00:00 2001 From: fivetran-reneeli Date: Tue, 11 Jul 2023 12:04:58 -0400 Subject: [PATCH 7/7] new version for release --- CHANGELOG.md | 8 +++++++- dbt_project.yml | 2 +- integration_tests/dbt_project.yml | 2 +- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 12e9fca..b324758 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -# dbt_apple_search_ads v0.2.1 +# dbt_apple_search_ads v0.2.2 ## Bugfix: - Updated the dbt_utils.unique_combination_of_columns test for the `apple_search_ads__search_term_report` to include the following fields. ([PR #18](https://github.com/fivetran/dbt_apple_search_ads/pull/18)): - date_day @@ -18,6 +18,12 @@ - [@yuna-tang](https://github.com/yuna-tang) ([PR #17](https://github.com/fivetran/dbt_apple_search_ads/pull/17)) + + +# dbt_apple_search_ads v0.2.1 + +Accidental Release + # dbt_apple_search_ads v0.2.0 ## 🚨 Breaking Changes 🚨: diff --git a/dbt_project.yml b/dbt_project.yml index 0d80984..5b0363b 100644 --- a/dbt_project.yml +++ b/dbt_project.yml @@ -1,5 +1,5 @@ name: 'apple_search_ads' -version: '0.2.1' +version: '0.2.2' config-version: 2 require-dbt-version: [">=1.3.0", "<2.0.0"] vars: diff --git a/integration_tests/dbt_project.yml b/integration_tests/dbt_project.yml index 3e5f04d..bc2f0f0 100644 --- a/integration_tests/dbt_project.yml +++ b/integration_tests/dbt_project.yml @@ -1,7 +1,7 @@ config-version: 2 name: 'apple_search_ads_integration_tests' -version: '0.2.1' +version: '0.2.2' profile: 'integration_tests'