From bd248abb5586cc20696098e69ea554ab2f0ecadd Mon Sep 17 00:00:00 2001 From: Sheri Nguyen Date: Thu, 13 Oct 2022 15:43:32 -0800 Subject: [PATCH 01/40] Updates for dbt-utils to dbt-core cross-db macro migration --- integration_tests/dbt_project.yml | 6 +++--- macros/get_url_tag_query.sql | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/integration_tests/dbt_project.yml b/integration_tests/dbt_project.yml index 2fa9ea1..ff9a470 100644 --- a/integration_tests/dbt_project.yml +++ b/integration_tests/dbt_project.yml @@ -21,11 +21,11 @@ seeds: ad_set_id: "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}" ad_id: "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}" creative_id: "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}" - page_link: "{{ 'string' if target.name in ['bigquery','spark'] else 'varchar' }}" - template_page_link: "{{ 'string' if target.name in ['bigquery','spark'] else 'varchar' }}" + page_link: "{{ 'string' if target.name in ['bigquery','!!!!!!! REPLACE 'spark' WITH 'spark','databricks' OR EQUIV !!!!!!!'] else 'varchar' }}" + template_page_link: "{{ 'string' if target.name in ['bigquery','!!!!!!! REPLACE 'spark' WITH 'spark','databricks' OR EQUIV !!!!!!!'] else 'varchar' }}" _fivetran_synced: "timestamp" updated_time: "timestamp" dispatch: - macro_namespace: dbt_utils - search_order: ['spark_utils', 'dbt_utils'] + search_order: ['!!!!!!! REPLACE 'spark' WITH 'spark','databricks' OR EQUIV !!!!!!!_utils', 'dbt_utils'] diff --git a/macros/get_url_tag_query.sql b/macros/get_url_tag_query.sql index 5632acb..7d84ccd 100644 --- a/macros/get_url_tag_query.sql +++ b/macros/get_url_tag_query.sql @@ -130,7 +130,7 @@ {% endmacro %} -{% macro spark__get_url_tags_query() %} +{% macro !!!!!!! REPLACE 'spark' WITH 'spark','databricks' OR EQUIV !!!!!!!__get_url_tags_query() %} cleaned_fields as ( From 715fa47a8b519e04ceec928280c23db7e26c7757 Mon Sep 17 00:00:00 2001 From: Sheri Nguyen <94874400+fivetran-sheringuyen@users.noreply.github.com> Date: Thu, 13 Oct 2022 15:43:34 -0800 Subject: [PATCH 02/40] Updating dbt version --- dbt_project.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/dbt_project.yml b/dbt_project.yml index d0cb12b..2e0f272 100644 --- a/dbt_project.yml +++ b/dbt_project.yml @@ -1,8 +1,7 @@ name: 'facebook_ads' -version: '0.5.0' +version: '0.6.0' config-version: 2 -require-dbt-version: [">=1.0.0", "<2.0.0"] - +require-dbt-version: [">=1.2.0", "<2.0.0"] models: facebook_ads: +schema: facebook_ads From 430084a442f93accf29a842fa18a1d49cae8bca7 Mon Sep 17 00:00:00 2001 From: Sheri Nguyen <94874400+fivetran-sheringuyen@users.noreply.github.com> Date: Thu, 13 Oct 2022 15:43:36 -0800 Subject: [PATCH 03/40] Updating package dependencies --- packages.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages.yml b/packages.yml index fe418f7..0733081 100644 --- a/packages.yml +++ b/packages.yml @@ -1,3 +1,3 @@ packages: - - package: fivetran/facebook_ads_source - version: [">=0.5.0", "<0.6.0"] \ No newline at end of file +- package: fivetran/facebook_ads_source + version: [">=0.5.0", "<0.6.0"] From 4efb7044ca25741b372b089cde986dcb29b26ba3 Mon Sep 17 00:00:00 2001 From: Sheri Nguyen <94874400+fivetran-sheringuyen@users.noreply.github.com> Date: Thu, 13 Oct 2022 15:43:36 -0800 Subject: [PATCH 04/40] deleting file: .circleci/config.yml --- .circleci/config.yml | 77 -------------------------------------------- 1 file changed, 77 deletions(-) delete mode 100644 .circleci/config.yml diff --git a/.circleci/config.yml b/.circleci/config.yml deleted file mode 100644 index ad88ed8..0000000 --- a/.circleci/config.yml +++ /dev/null @@ -1,77 +0,0 @@ -version: 2 - -jobs: - build: - docker: - - image: circleci/python:3.7.9-stretch - - steps: - - checkout - - - run: - run: setup_creds - command: | - echo $GCLOUD_SERVICE_KEY | base64 --decode --ignore-garbage > ${HOME}/gcloud-service-key.json - - run: - name: "Setup dbt" - command: | - sudo apt install libsasl2-dev - python3 -m venv venv - . venv/bin/activate - pip install --upgrade pip setuptools - pip install -r integration_tests/requirements.txt - mkdir -p ~/.dbt - cp integration_tests/ci/sample.profiles.yml ~/.dbt/profiles.yml - - run: - name: "Run Tests - Postgres" - command: | - . venv/bin/activate - echo `pwd` - cd integration_tests - dbt deps - dbt seed --target postgres --full-refresh - dbt run --target postgres --full-refresh - dbt test --target postgres - - run: - name: "Run Tests - Redshift" - command: | - . venv/bin/activate - echo `pwd` - cd integration_tests - dbt deps - dbt seed --target redshift --full-refresh - dbt run --target redshift --full-refresh - dbt test --target redshift - - run: - name: "Run Tests - Snowflake" - command: | - . venv/bin/activate - echo `pwd` - cd integration_tests - dbt deps - dbt seed --target snowflake --full-refresh - dbt run --target snowflake --full-refresh - dbt test --target snowflake - - run: - name: "Run Tests - BigQuery" - environment: - GCLOUD_SERVICE_KEY_PATH: "/home/circleci/gcloud-service-key.json" - - command: | - . venv/bin/activate - echo `pwd` - cd integration_tests - dbt deps - dbt seed --target bigquery --full-refresh - dbt run --target bigquery --full-refresh - dbt test --target bigquery - - run: - name: "Run Tests - Spark" - command: | - . venv/bin/activate - echo `pwd` - cd integration_tests - dbt deps - dbt seed --target spark --full-refresh - dbt run --target spark --full-refresh - dbt test --target spark \ No newline at end of file From 72b6d5111754ecf555432453515521cef98d9ea9 Mon Sep 17 00:00:00 2001 From: Sheri Nguyen <94874400+fivetran-sheringuyen@users.noreply.github.com> Date: Thu, 13 Oct 2022 15:43:37 -0800 Subject: [PATCH 05/40] deleting file: integration_tests/requirements.txt --- integration_tests/requirements.txt | 6 ------ 1 file changed, 6 deletions(-) delete mode 100644 integration_tests/requirements.txt diff --git a/integration_tests/requirements.txt b/integration_tests/requirements.txt deleted file mode 100644 index 89c6ccb..0000000 --- a/integration_tests/requirements.txt +++ /dev/null @@ -1,6 +0,0 @@ -dbt-snowflake~=1.0.0 -dbt-bigquery~=1.0.0 -dbt-redshift~=1.0.0 -dbt-postgres~=1.0.0 -dbt-spark~=1.0.0 -dbt-spark[PyHive]~=1.0.0 From 296fd06fdd3a9145239784f7fd6c8b424ece2074 Mon Sep 17 00:00:00 2001 From: Sheri Nguyen <94874400+fivetran-sheringuyen@users.noreply.github.com> Date: Thu, 13 Oct 2022 15:43:38 -0800 Subject: [PATCH 06/40] deleting file: integration_tests/ci/sample.profiles.yml --- integration_tests/ci/sample.profiles.yml | 60 ------------------------ 1 file changed, 60 deletions(-) delete mode 100644 integration_tests/ci/sample.profiles.yml diff --git a/integration_tests/ci/sample.profiles.yml b/integration_tests/ci/sample.profiles.yml deleted file mode 100644 index d620a7c..0000000 --- a/integration_tests/ci/sample.profiles.yml +++ /dev/null @@ -1,60 +0,0 @@ - -# HEY! This file is used in the Facebook Ads integrations tests with CircleCI. -# You should __NEVER__ check credentials into version control. Thanks for reading :) - -config: - send_anonymous_usage_stats: False - use_colors: True - -integration_tests: - target: snowflake - outputs: - redshift: - type: redshift - host: "{{ env_var('CI_REDSHIFT_DBT_HOST') }}" - user: "{{ env_var('CI_REDSHIFT_DBT_USER') }}" - pass: "{{ env_var('CI_REDSHIFT_DBT_PASS') }}" - dbname: "{{ env_var('CI_REDSHIFT_DBT_DBNAME') }}" - port: 5439 - schema: facebook_ads_integration_tests - threads: 8 - bigquery: - type: bigquery - method: service-account - keyfile: "{{ env_var('GCLOUD_SERVICE_KEY_PATH') }}" - project: 'dbt-package-testing' - schema: facebook_ads_integration_tests - threads: 8 - snowflake: - type: snowflake - account: "{{ env_var('CI_SNOWFLAKE_DBT_ACCOUNT') }}" - user: "{{ env_var('CI_SNOWFLAKE_DBT_USER') }}" - password: "{{ env_var('CI_SNOWFLAKE_DBT_PASS') }}" - role: "{{ env_var('CI_SNOWFLAKE_DBT_ROLE') }}" - database: "{{ env_var('CI_SNOWFLAKE_DBT_DATABASE') }}" - warehouse: "{{ env_var('CI_SNOWFLAKE_DBT_WAREHOUSE') }}" - schema: facebook_ads_integration_tests - threads: 8 - spark: - type: spark - method: http - schema: facebook_ads_integration_tests - host: "{{ env_var('CI_SPARK_DBT_HOST') }}" - organization: "{{ env_var('CI_SPARK_DBT_ORGANIZATION') }}" - token: "{{ env_var('CI_SPARK_DBT_TOKEN') }}" - cluster: "{{ env_var('CI_SPARK_DBT_CLUSTER') }}" - port: 443 - connect_timeout: 60 - connect_retries: 5 - threads: 4 - postgres: - type: postgres - host: "{{ env_var('CI_POSTGRES_DBT_HOST') }}" - user: "{{ env_var('CI_POSTGRES_DBT_USER') }}" - password: "{{ env_var('CI_POSTGRES_DBT_PASS') }}" - port: 5432 - dbname: "{{ env_var('CI_POSTGRES_DBT_DATABASE') }}" - schema: facebook_ads_integration_tests - threads: 8 - keepalives_idle: 0 - sslmode: prefer From a06cf9cb531598bdf1b122ff8e047f8c577b4b87 Mon Sep 17 00:00:00 2001 From: Sheri Nguyen <94874400+fivetran-sheringuyen@users.noreply.github.com> Date: Thu, 13 Oct 2022 15:43:38 -0800 Subject: [PATCH 07/40] adding file: integration_tests/requirements.txt --- integration_tests/requirements.txt | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 integration_tests/requirements.txt diff --git a/integration_tests/requirements.txt b/integration_tests/requirements.txt new file mode 100644 index 0000000..46e2da6 --- /dev/null +++ b/integration_tests/requirements.txt @@ -0,0 +1,7 @@ +dbt-snowflake~=1.2.0 +dbt-bigquery~=1.2.0 +dbt-redshift~=1.2.0 +dbt-postgres~=1.2.0 +dbt-spark~=1.2.0 +dbt-spark[PyHive]~=1.2.0 +dbt-databricks~=1.2.0 \ No newline at end of file From c558dc648af8361216ef2d4865b2bf980b28e9b6 Mon Sep 17 00:00:00 2001 From: Sheri Nguyen <94874400+fivetran-sheringuyen@users.noreply.github.com> Date: Thu, 13 Oct 2022 15:43:39 -0800 Subject: [PATCH 08/40] adding file: integration_tests/ci/sample.profiles.yml --- integration_tests/ci/sample.profiles.yml | 54 ++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 integration_tests/ci/sample.profiles.yml diff --git a/integration_tests/ci/sample.profiles.yml b/integration_tests/ci/sample.profiles.yml new file mode 100644 index 0000000..f524bd8 --- /dev/null +++ b/integration_tests/ci/sample.profiles.yml @@ -0,0 +1,54 @@ + +# HEY! This file is used in the dbt package integrations tests with CircleCI. +# You should __NEVER__ check credentials into version control. Thanks for reading :) + +config: + send_anonymous_usage_stats: False + use_colors: True + +integration_tests: + target: redshift + outputs: + redshift: + type: redshift + host: "{{ env_var('CI_REDSHIFT_DBT_HOST') }}" + user: "{{ env_var('CI_REDSHIFT_DBT_USER') }}" + pass: "{{ env_var('CI_REDSHIFT_DBT_PASS') }}" + dbname: "{{ env_var('CI_REDSHIFT_DBT_DBNAME') }}" + port: 5439 + schema: + threads: 8 + bigquery: + type: bigquery + method: service-account-json + project: 'dbt-package-testing' + schema: + threads: 8 + keyfile_json: "{{ env_var('GCLOUD_SERVICE_KEY') | as_native }}" + snowflake: + type: snowflake + account: "{{ env_var('CI_SNOWFLAKE_DBT_ACCOUNT') }}" + user: "{{ env_var('CI_SNOWFLAKE_DBT_USER') }}" + password: "{{ env_var('CI_SNOWFLAKE_DBT_PASS') }}" + role: "{{ env_var('CI_SNOWFLAKE_DBT_ROLE') }}" + database: "{{ env_var('CI_SNOWFLAKE_DBT_DATABASE') }}" + warehouse: "{{ env_var('CI_SNOWFLAKE_DBT_WAREHOUSE') }}" + schema: + threads: 8 + postgres: + type: postgres + host: "{{ env_var('CI_POSTGRES_DBT_HOST') }}" + user: "{{ env_var('CI_POSTGRES_DBT_USER') }}" + pass: "{{ env_var('CI_POSTGRES_DBT_PASS') }}" + dbname: "{{ env_var('CI_POSTGRES_DBT_DBNAME') }}" + port: 5432 + schema: + threads: 8 + databricks: + catalog: null + host: "{{ env_var('CI_DATABRICKS_DBT_HOST') }}" + http_path: "{{ env_var('CI_DATABRICKS_DBT_HTTP_PATH') }}" + schema: + threads: 2 + token: "{{ env_var('CI_DATABRICKS_DBT_TOKEN') }}" + type: databricks \ No newline at end of file From b98e1d5e12463149033797b2c0977b20a29dc5f3 Mon Sep 17 00:00:00 2001 From: Sheri Nguyen <94874400+fivetran-sheringuyen@users.noreply.github.com> Date: Thu, 13 Oct 2022 15:43:39 -0800 Subject: [PATCH 09/40] adding file: .buildkite/pipeline.yml --- .buildkite/pipeline.yml | 73 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 .buildkite/pipeline.yml diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml new file mode 100644 index 0000000..b84fe04 --- /dev/null +++ b/.buildkite/pipeline.yml @@ -0,0 +1,73 @@ +steps: + - label: ":postgres: Run Tests - Postgres" + key: "run-dbt-postgres" + plugins: + - docker#v3.13.0: + image: "python:3.8" + shell: [ "/bin/bash", "-e", "-c" ] + environment: + - "BASH_ENV=/tmp/.bashrc" + - "CI_POSTGRES_DBT_DBNAME" + - "CI_POSTGRES_DBT_HOST" + - "CI_POSTGRES_DBT_PASS" + - "CI_POSTGRES_DBT_USER" + commands: | + bash .buildkite/scripts/run_models.sh postgres + + - label: ":snowflake-db: Run Tests - Snowflake" + key: "run_dbt_snowflake" + plugins: + - docker#v3.13.0: + image: "python:3.8" + shell: [ "/bin/bash", "-e", "-c" ] + environment: + - "BASH_ENV=/tmp/.bashrc" + - "CI_SNOWFLAKE_DBT_ACCOUNT" + - "CI_SNOWFLAKE_DBT_DATABASE" + - "CI_SNOWFLAKE_DBT_PASS" + - "CI_SNOWFLAKE_DBT_ROLE" + - "CI_SNOWFLAKE_DBT_USER" + - "CI_SNOWFLAKE_DBT_WAREHOUSE" + commands: | + bash .buildkite/scripts/run_models.sh snowflake + + - label: ":gcloud: Run Tests - BigQuery" + key: "run_dbt_bigquery" + plugins: + - docker#v3.13.0: + image: "python:3.8" + shell: [ "/bin/bash", "-e", "-c" ] + environment: + - "BASH_ENV=/tmp/.bashrc" + - "GCLOUD_SERVICE_KEY" + commands: | + bash .buildkite/scripts/run_models.sh bigquery + + - label: ":amazon-redshift: Run Tests - Redshift" + key: "run_dbt_redshift" + plugins: + - docker#v3.13.0: + image: "python:3.8" + shell: [ "/bin/bash", "-e", "-c" ] + environment: + - "BASH_ENV=/tmp/.bashrc" + - "CI_REDSHIFT_DBT_DBNAME" + - "CI_REDSHIFT_DBT_HOST" + - "CI_REDSHIFT_DBT_PASS" + - "CI_REDSHIFT_DBT_USER" + commands: | + bash .buildkite/scripts/run_models.sh redshift + + - label: ":upside_down_face: Run Tests - Databricks" + key: "run_dbt_databricks" + plugins: + - docker#v3.13.0: + image: "python:3.8" + shell: [ "/bin/bash", "-e", "-c" ] + environment: + - "BASH_ENV=/tmp/.bashrc" + - "CI_DATABRICKS_DBT_HOST" + - "CI_DATABRICKS_DBT_HTTP_PATH" + - "CI_DATABRICKS_DBT_TOKEN" + commands: | + bash .buildkite/scripts/run_models.sh databricks \ No newline at end of file From a76607d9cfbf828e0fd0906e08dbb442346ff8e7 Mon Sep 17 00:00:00 2001 From: Sheri Nguyen <94874400+fivetran-sheringuyen@users.noreply.github.com> Date: Thu, 13 Oct 2022 15:43:40 -0800 Subject: [PATCH 10/40] adding file: .buildkite/scripts/run_models.sh --- .buildkite/scripts/run_models.sh | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 .buildkite/scripts/run_models.sh diff --git a/.buildkite/scripts/run_models.sh b/.buildkite/scripts/run_models.sh new file mode 100644 index 0000000..a18ae39 --- /dev/null +++ b/.buildkite/scripts/run_models.sh @@ -0,0 +1,23 @@ +#!/bin/bash + +apt-get update +apt-get install libsasl2-dev + +python3 -m venv venv +. venv/bin/activate +pip install --upgrade pip setuptools +pip install -r integration_tests/requirements.txt +mkdir -p ~/.dbt +cp integration_tests/ci/sample.profiles.yml ~/.dbt/profiles.yml + +db=$1 +echo `pwd` +cd integration_tests +dbt deps +dbt seed --target "$db" --full-refresh +dbt run --target "$db" --full-refresh +dbt test --target "$db" +## UPDATE FOR VARS HERE, IF NO VARS, PLEASE REMOVE +dbt run --vars '{apple_search_ads__using_search_terms: True}' --target "$db" --full-refresh +dbt test --target "$db" +### END VARS CHUNK, REMOVE IF NOT USING \ No newline at end of file From 52f8050f646e0cca21e26371ff7798c0650fd062 Mon Sep 17 00:00:00 2001 From: Sheri Nguyen <94874400+fivetran-sheringuyen@users.noreply.github.com> Date: Thu, 13 Oct 2022 15:43:40 -0800 Subject: [PATCH 11/40] adding file: .buildkite/hooks/pre-command --- .buildkite/hooks/pre-command | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 .buildkite/hooks/pre-command diff --git a/.buildkite/hooks/pre-command b/.buildkite/hooks/pre-command new file mode 100644 index 0000000..04c85c0 --- /dev/null +++ b/.buildkite/hooks/pre-command @@ -0,0 +1,24 @@ +#!/bin/bash + +set -e + +# Export secrets for Docker containers. +# Restrict exposing secrets only to the steps that need them +export GCLOUD_SERVICE_KEY=$(gcloud secrets versions access latest --secret="GCLOUD_SERVICE_KEY" --project="dbt-package-testing-363917") +export CI_POSTGRES_DBT_HOST=$(gcloud secrets versions access latest --secret="CI_POSTGRES_DBT_HOST" --project="dbt-package-testing-363917") +export CI_POSTGRES_DBT_USER=$(gcloud secrets versions access latest --secret="CI_POSTGRES_DBT_USER" --project="dbt-package-testing-363917") +export CI_POSTGRES_DBT_PASS=$(gcloud secrets versions access latest --secret="CI_POSTGRES_DBT_PASS" --project="dbt-package-testing-363917") +export CI_POSTGRES_DBT_DBNAME=$(gcloud secrets versions access latest --secret="CI_POSTGRES_DBT_DBNAME" --project="dbt-package-testing-363917") +export CI_REDSHIFT_DBT_DBNAME=$(gcloud secrets versions access latest --secret="CI_REDSHIFT_DBT_DBNAME" --project="dbt-package-testing-363917") +export CI_REDSHIFT_DBT_HOST=$(gcloud secrets versions access latest --secret="CI_REDSHIFT_DBT_HOST" --project="dbt-package-testing-363917") +export CI_REDSHIFT_DBT_PASS=$(gcloud secrets versions access latest --secret="CI_REDSHIFT_DBT_PASS" --project="dbt-package-testing-363917") +export CI_REDSHIFT_DBT_USER=$(gcloud secrets versions access latest --secret="CI_REDSHIFT_DBT_USER" --project="dbt-package-testing-363917") +export CI_SNOWFLAKE_DBT_ACCOUNT=$(gcloud secrets versions access latest --secret="CI_SNOWFLAKE_DBT_ACCOUNT" --project="dbt-package-testing-363917") +export CI_SNOWFLAKE_DBT_DATABASE=$(gcloud secrets versions access latest --secret="CI_SNOWFLAKE_DBT_DATABASE" --project="dbt-package-testing-363917") +export CI_SNOWFLAKE_DBT_PASS=$(gcloud secrets versions access latest --secret="CI_SNOWFLAKE_DBT_PASS" --project="dbt-package-testing-363917") +export CI_SNOWFLAKE_DBT_ROLE=$(gcloud secrets versions access latest --secret="CI_SNOWFLAKE_DBT_ROLE" --project="dbt-package-testing-363917") +export CI_SNOWFLAKE_DBT_USER=$(gcloud secrets versions access latest --secret="CI_SNOWFLAKE_DBT_USER" --project="dbt-package-testing-363917") +export CI_SNOWFLAKE_DBT_WAREHOUSE=$(gcloud secrets versions access latest --secret="CI_SNOWFLAKE_DBT_WAREHOUSE" --project="dbt-package-testing-363917") +export CI_DATABRICKS_DBT_HOST=$(gcloud secrets versions access latest --secret="CI_DATABRICKS_DBT_HOST" --project="dbt-package-testing-363917") +export CI_DATABRICKS_DBT_HTTP_PATH=$(gcloud secrets versions access latest --secret="CI_DATABRICKS_DBT_HTTP_PATH" --project="dbt-package-testing-363917") +export CI_DATABRICKS_DBT_TOKEN=$(gcloud secrets versions access latest --secret="CI_DATABRICKS_DBT_TOKEN" --project="dbt-package-testing-363917") \ No newline at end of file From 29c204a39436682d7070fc6495d2712dd3a3ebe5 Mon Sep 17 00:00:00 2001 From: Sheri Nguyen Date: Mon, 17 Oct 2022 09:40:31 -0500 Subject: [PATCH 12/40] Update dbt adapter versions and dbt required versions --- dbt_project.yml | 2 +- integration_tests/requirements.txt | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/dbt_project.yml b/dbt_project.yml index 2e0f272..c1439e0 100644 --- a/dbt_project.yml +++ b/dbt_project.yml @@ -1,7 +1,7 @@ name: 'facebook_ads' version: '0.6.0' config-version: 2 -require-dbt-version: [">=1.2.0", "<2.0.0"] +require-dbt-version: [">=1.3.0", "<2.0.0"] models: facebook_ads: +schema: facebook_ads diff --git a/integration_tests/requirements.txt b/integration_tests/requirements.txt index 46e2da6..87ae0f9 100644 --- a/integration_tests/requirements.txt +++ b/integration_tests/requirements.txt @@ -1,7 +1,7 @@ -dbt-snowflake~=1.2.0 -dbt-bigquery~=1.2.0 -dbt-redshift~=1.2.0 -dbt-postgres~=1.2.0 -dbt-spark~=1.2.0 -dbt-spark[PyHive]~=1.2.0 -dbt-databricks~=1.2.0 \ No newline at end of file +dbt-snowflake>=1.3.0,<2.0.0 +dbt-bigquery>=1.3.0,<2.0.0 +dbt-redshift>=1.3.0,<2.0.0 +dbt-postgres>=1.3.0,<2.0.0 +dbt-spark>=1.3.0,<2.0.0 +dbt-spark[PyHive]>=1.3.0,<2.0.0 +dbt-databricks>=1.3.0,<2.0.0 \ No newline at end of file From e678aed164494557a326db17a5911450c45e4610 Mon Sep 17 00:00:00 2001 From: Jamie Rodriguez <65564846+fivetran-jamie@users.noreply.github.com> Date: Tue, 25 Oct 2022 11:00:45 -0700 Subject: [PATCH 13/40] updates --- .buildkite/scripts/run_models.sh | 6 +-- CHANGELOG.md | 39 +++++++++++++++++++ README.md | 8 ++-- integration_tests/ci/sample.profiles.yml | 10 ++--- integration_tests/dbt_project.yml | 8 ++-- macros/get_url_tag_query.sql | 2 +- .../int_facebook_ads__creative_history.sql | 2 +- packages.yml | 8 +++- 8 files changed, 61 insertions(+), 22 deletions(-) diff --git a/.buildkite/scripts/run_models.sh b/.buildkite/scripts/run_models.sh index a18ae39..5d805b9 100644 --- a/.buildkite/scripts/run_models.sh +++ b/.buildkite/scripts/run_models.sh @@ -16,8 +16,4 @@ cd integration_tests dbt deps dbt seed --target "$db" --full-refresh dbt run --target "$db" --full-refresh -dbt test --target "$db" -## UPDATE FOR VARS HERE, IF NO VARS, PLEASE REMOVE -dbt run --vars '{apple_search_ads__using_search_terms: True}' --target "$db" --full-refresh -dbt test --target "$db" -### END VARS CHUNK, REMOVE IF NOT USING \ No newline at end of file +dbt test --target "$db" \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index a369b4f..fd36b4f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,42 @@ +# dbt_facebook_ads v0.6.0 + +## 🚨 Breaking Changes 🚨: +[PR #23](https://github.com/fivetran/dbt_facebook_ads/pull/23) includes the following breaking changes: +- Dispatch update for dbt-utils to dbt-core cross-db macros migration. Specifically `{{ dbt_utils. }}` have been updated to `{{ dbt. }}` for the below macros: + - `any_value` + - `bool_or` + - `cast_bool_to_text` + - `concat` + - `date_trunc` + - `dateadd` + - `datediff` + - `escape_single_quotes` + - `except` + - `hash` + - `intersect` + - `last_day` + - `length` + - `listagg` + - `position` + - `replace` + - `right` + - `safe_cast` + - `split_part` + - `string_literal` + - `type_bigint` + - `type_float` + - `type_int` + - `type_numeric` + - `type_string` + - `type_timestamp` + - `array_append` + - `array_concat` + - `array_construct` +- For `current_timestamp` and `current_timestamp_in_utc` macros, the dispatch AND the macro names have been updated to the below, respectively: + - `dbt.current_timestamp_backcompat` + - `dbt.current_timestamp_in_utc_backcompat` +- `packages.yml` has been updated to reflect new default `fivetran/fivetran_utils` version, previously `[">=0.3.0", "<0.4.0"]` now `[">=0.4.0", "<0.5.0"]`. + # dbt_facebook_ads v0.5.0 ## 🚨 Breaking Changes 🚨 The following changes come with PR [https://github.com/fivetran/dbt_facebook_ads/pull/21]: diff --git a/README.md b/README.md index 35cc920..3be8b23 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ href="https://github.com/fivetran/dbt_facebook_ads/blob/main/LICENSE"> - + @@ -123,13 +123,13 @@ This dbt package is dependent on the following dbt packages. Please be aware tha ```yml packages: - package: fivetran/facebook_ads_source - version: [">=0.5.0", "<0.6.0"] + version: [">=0.6.0", "<0.7.0"] - package: fivetran/fivetran_utils - version: [">=0.3.0", "<0.4.0"] + version: [">=0.4.0", "<0.5.0"] - package: dbt-labs/dbt_utils - version: [">=0.8.0", "<0.9.0"] + version: [">=1.0.0", "<2.0.0"] ``` # 🙌 How is this package maintained and can I contribute? ## Package Maintenance diff --git a/integration_tests/ci/sample.profiles.yml b/integration_tests/ci/sample.profiles.yml index f524bd8..abcfdf1 100644 --- a/integration_tests/ci/sample.profiles.yml +++ b/integration_tests/ci/sample.profiles.yml @@ -16,13 +16,13 @@ integration_tests: pass: "{{ env_var('CI_REDSHIFT_DBT_PASS') }}" dbname: "{{ env_var('CI_REDSHIFT_DBT_DBNAME') }}" port: 5439 - schema: + schema: facebook_ads_integration_tests threads: 8 bigquery: type: bigquery method: service-account-json project: 'dbt-package-testing' - schema: + schema: facebook_ads_integration_tests threads: 8 keyfile_json: "{{ env_var('GCLOUD_SERVICE_KEY') | as_native }}" snowflake: @@ -33,7 +33,7 @@ integration_tests: role: "{{ env_var('CI_SNOWFLAKE_DBT_ROLE') }}" database: "{{ env_var('CI_SNOWFLAKE_DBT_DATABASE') }}" warehouse: "{{ env_var('CI_SNOWFLAKE_DBT_WAREHOUSE') }}" - schema: + schema: facebook_ads_integration_tests threads: 8 postgres: type: postgres @@ -42,13 +42,13 @@ integration_tests: pass: "{{ env_var('CI_POSTGRES_DBT_PASS') }}" dbname: "{{ env_var('CI_POSTGRES_DBT_DBNAME') }}" port: 5432 - schema: + schema: facebook_ads_integration_tests threads: 8 databricks: catalog: null host: "{{ env_var('CI_DATABRICKS_DBT_HOST') }}" http_path: "{{ env_var('CI_DATABRICKS_DBT_HTTP_PATH') }}" - schema: + schema: facebook_ads_integration_tests threads: 2 token: "{{ env_var('CI_DATABRICKS_DBT_TOKEN') }}" type: databricks \ No newline at end of file diff --git a/integration_tests/dbt_project.yml b/integration_tests/dbt_project.yml index ff9a470..d75b790 100644 --- a/integration_tests/dbt_project.yml +++ b/integration_tests/dbt_project.yml @@ -1,5 +1,5 @@ name: 'facebook_ads_integration_tests' -version: '0.5.0' +version: '0.6.0' profile: 'integration_tests' config-version: 2 @@ -21,11 +21,11 @@ seeds: ad_set_id: "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}" ad_id: "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}" creative_id: "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}" - page_link: "{{ 'string' if target.name in ['bigquery','!!!!!!! REPLACE 'spark' WITH 'spark','databricks' OR EQUIV !!!!!!!'] else 'varchar' }}" - template_page_link: "{{ 'string' if target.name in ['bigquery','!!!!!!! REPLACE 'spark' WITH 'spark','databricks' OR EQUIV !!!!!!!'] else 'varchar' }}" + page_link: "{{ 'string' if target.name in ['bigquery','spark','databricks'] else 'varchar' }}" + template_page_link: "{{ 'string' if target.name in ['bigquery','spark','databricks'] else 'varchar' }}" _fivetran_synced: "timestamp" updated_time: "timestamp" dispatch: - macro_namespace: dbt_utils - search_order: ['!!!!!!! REPLACE 'spark' WITH 'spark','databricks' OR EQUIV !!!!!!!_utils', 'dbt_utils'] + search_order: ['spark_utils', 'dbt_utils'] diff --git a/macros/get_url_tag_query.sql b/macros/get_url_tag_query.sql index 7d84ccd..5632acb 100644 --- a/macros/get_url_tag_query.sql +++ b/macros/get_url_tag_query.sql @@ -130,7 +130,7 @@ {% endmacro %} -{% macro !!!!!!! REPLACE 'spark' WITH 'spark','databricks' OR EQUIV !!!!!!!__get_url_tags_query() %} +{% macro spark__get_url_tags_query() %} cleaned_fields as ( diff --git a/models/intermediate/int_facebook_ads__creative_history.sql b/models/intermediate/int_facebook_ads__creative_history.sql index 407f0a1..e7e7258 100644 --- a/models/intermediate/int_facebook_ads__creative_history.sql +++ b/models/intermediate/int_facebook_ads__creative_history.sql @@ -39,7 +39,7 @@ fields as ( base.account_id, base.creative_name, {{ url_field }} as url, - {{ dbt_utils.split_part(url_field, "'?'", 1) }} as base_url, + {{ dbt.split_part(url_field, "'?'", 1) }} as base_url, {{ dbt_utils.get_url_host(url_field) }} as url_host, '/' || {{ dbt_utils.get_url_path(url_field) }} as url_path, coalesce(url_tags_pivoted.utm_source, {{ dbt_utils.get_url_parameter(url_field, 'utm_source') }}) as utm_source, diff --git a/packages.yml b/packages.yml index 0733081..dffd789 100644 --- a/packages.yml +++ b/packages.yml @@ -1,3 +1,7 @@ packages: -- package: fivetran/facebook_ads_source - version: [">=0.5.0", "<0.6.0"] +# - package: fivetran/facebook_ads_source +# version: [">=0.6.0", "<0.7.0"] + +- git: https://github.com/fivetran/dbt_facebook_ads_source.git + revision: MagicBot/dbt-utils-cross-db-migration + warn-unpinned: false \ No newline at end of file From c122da85b7fde1a59b0f0ed7d91296c1d068e28a Mon Sep 17 00:00:00 2001 From: Jamie Rodriguez <65564846+fivetran-jamie@users.noreply.github.com> Date: Tue, 25 Oct 2022 14:02:44 -0700 Subject: [PATCH 14/40] docs --- docs/catalog.json | 2 +- docs/index.html | 24 ++++++++++++------------ docs/manifest.json | 2 +- docs/run_results.json | 2 +- integration_tests/dbt_project.yml | 16 ++++++++-------- 5 files changed, 23 insertions(+), 23 deletions(-) diff --git a/docs/catalog.json b/docs/catalog.json index ed7ad85..c3e8a7f 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.0.4", "generated_at": "2022-08-26T21:05:14.526669Z", "invocation_id": "19fcddff-0e25-40ec-bebe-1f3806ee99e6", "env": {}}, "nodes": {"seed.facebook_ads_integration_tests.facebook_ads_account_history_data": {"metadata": {"type": "BASE TABLE", "schema": "facebook_ads_integration_tests", "name": "facebook_ads_account_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "name": {"type": "text", "index": 2, "name": "name", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "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.facebook_ads_integration_tests.facebook_ads_account_history_data"}, "seed.facebook_ads_integration_tests.facebook_ads_ad_history_data": {"metadata": {"type": "BASE TABLE", "schema": "facebook_ads_integration_tests", "name": "facebook_ads_ad_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "account_id": {"type": "bigint", "index": 2, "name": "account_id", "comment": null}, "ad_set_id": {"type": "bigint", "index": 3, "name": "ad_set_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 4, "name": "campaign_id", "comment": null}, "creative_id": {"type": "bigint", "index": 5, "name": "creative_id", "comment": null}, "name": {"type": "text", "index": 6, "name": "name", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 7, "name": "_fivetran_synced", "comment": null}, "updated_time": {"type": "timestamp without time zone", "index": 8, "name": "updated_time", "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.facebook_ads_integration_tests.facebook_ads_ad_history_data"}, "seed.facebook_ads_integration_tests.facebook_ads_ad_set_history_data": {"metadata": {"type": "BASE TABLE", "schema": "facebook_ads_integration_tests", "name": "facebook_ads_ad_set_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "account_id": {"type": "bigint", "index": 2, "name": "account_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 3, "name": "campaign_id", "comment": null}, "name": {"type": "text", "index": 4, "name": "name", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 5, "name": "_fivetran_synced", "comment": null}, "updated_time": {"type": "timestamp without time zone", "index": 6, "name": "updated_time", "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.facebook_ads_integration_tests.facebook_ads_ad_set_history_data"}, "seed.facebook_ads_integration_tests.facebook_ads_basic_ad_data": {"metadata": {"type": "BASE TABLE", "schema": "facebook_ads_integration_tests", "name": "facebook_ads_basic_ad_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"ad_id": {"type": "bigint", "index": 1, "name": "ad_id", "comment": null}, "date": {"type": "date", "index": 2, "name": "date", "comment": null}, "account_id": {"type": "bigint", "index": 3, "name": "account_id", "comment": null}, "impressions": {"type": "integer", "index": 4, "name": "impressions", "comment": null}, "inline_link_clicks": {"type": "integer", "index": 5, "name": "inline_link_clicks", "comment": null}, "spend": {"type": "double precision", "index": 6, "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": "seed.facebook_ads_integration_tests.facebook_ads_basic_ad_data"}, "seed.facebook_ads_integration_tests.facebook_ads_campaign_history_data": {"metadata": {"type": "BASE TABLE", "schema": "facebook_ads_integration_tests", "name": "facebook_ads_campaign_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "account_id": {"type": "bigint", "index": 2, "name": "account_id", "comment": null}, "name": {"type": "text", "index": 3, "name": "name", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 4, "name": "_fivetran_synced", "comment": null}, "updated_time": {"type": "timestamp without time zone", "index": 5, "name": "updated_time", "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.facebook_ads_integration_tests.facebook_ads_campaign_history_data"}, "seed.facebook_ads_integration_tests.facebook_ads_creative_history_data": {"metadata": {"type": "BASE TABLE", "schema": "facebook_ads_integration_tests", "name": "facebook_ads_creative_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"page_link": {"type": "character varying", "index": 1, "name": "page_link", "comment": null}, "template_page_link": {"type": "character varying", "index": 2, "name": "template_page_link", "comment": null}, "id": {"type": "bigint", "index": 3, "name": "id", "comment": null}, "account_id": {"type": "bigint", "index": 4, "name": "account_id", "comment": null}, "name": {"type": "text", "index": 5, "name": "name", "comment": null}, "url_tags": {"type": "text", "index": 6, "name": "url_tags", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 7, "name": "_fivetran_synced", "comment": null}, "asset_feed_spec_link_urls": {"type": "text", "index": 8, "name": "asset_feed_spec_link_urls", "comment": null}, "object_story_link_data_child_attachments": {"type": "text", "index": 9, "name": "object_story_link_data_child_attachments", "comment": null}, "object_story_link_data_caption": {"type": "text", "index": 10, "name": "object_story_link_data_caption", "comment": null}, "object_story_link_data_description": {"type": "text", "index": 11, "name": "object_story_link_data_description", "comment": null}, "object_story_link_data_link": {"type": "text", "index": 12, "name": "object_story_link_data_link", "comment": null}, "object_story_link_data_message": {"type": "text", "index": 13, "name": "object_story_link_data_message", "comment": null}, "template_app_link_spec_ios": {"type": "text", "index": 14, "name": "template_app_link_spec_ios", "comment": null}, "_fivetran_id": {"type": "text", "index": 15, "name": "_fivetran_id", "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.facebook_ads_integration_tests.facebook_ads_creative_history_data"}, "model.facebook_ads.facebook_ads__account_report": {"metadata": {"type": "BASE TABLE", "schema": "facebook_ads_integration_tests_facebook_ads", "name": "facebook_ads__account_report", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date_day": {"type": "date", "index": 1, "name": "date_day", "comment": null}, "account_id": {"type": "bigint", "index": 2, "name": "account_id", "comment": null}, "account_name": {"type": "text", "index": 3, "name": "account_name", "comment": null}, "account_status": {"type": "character varying", "index": 4, "name": "account_status", "comment": null}, "business_country_code": {"type": "character varying", "index": 5, "name": "business_country_code", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 6, "name": "created_at", "comment": null}, "currency": {"type": "character varying", "index": 7, "name": "currency", "comment": null}, "timezone_name": {"type": "character varying", "index": 8, "name": "timezone_name", "comment": null}, "clicks": {"type": "bigint", "index": 9, "name": "clicks", "comment": null}, "impressions": {"type": "bigint", "index": 10, "name": "impressions", "comment": null}, "spend": {"type": "double precision", "index": 11, "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.facebook_ads.facebook_ads__account_report"}, "model.facebook_ads.facebook_ads__ad_report": {"metadata": {"type": "BASE TABLE", "schema": "facebook_ads_integration_tests_facebook_ads", "name": "facebook_ads__ad_report", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date_day": {"type": "date", "index": 1, "name": "date_day", "comment": null}, "account_id": {"type": "bigint", "index": 2, "name": "account_id", "comment": null}, "account_name": {"type": "text", "index": 3, "name": "account_name", "comment": null}, "campaign_id": {"type": "bigint", "index": 4, "name": "campaign_id", "comment": null}, "campaign_name": {"type": "text", "index": 5, "name": "campaign_name", "comment": null}, "ad_set_id": {"type": "bigint", "index": 6, "name": "ad_set_id", "comment": null}, "ad_set_name": {"type": "text", "index": 7, "name": "ad_set_name", "comment": null}, "ad_id": {"type": "bigint", "index": 8, "name": "ad_id", "comment": null}, "ad_name": {"type": "text", "index": 9, "name": "ad_name", "comment": null}, "clicks": {"type": "bigint", "index": 10, "name": "clicks", "comment": null}, "impressions": {"type": "bigint", "index": 11, "name": "impressions", "comment": null}, "spend": {"type": "double precision", "index": 12, "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.facebook_ads.facebook_ads__ad_report"}, "model.facebook_ads.facebook_ads__ad_set_report": {"metadata": {"type": "BASE TABLE", "schema": "facebook_ads_integration_tests_facebook_ads", "name": "facebook_ads__ad_set_report", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date_day": {"type": "date", "index": 1, "name": "date_day", "comment": null}, "account_id": {"type": "bigint", "index": 2, "name": "account_id", "comment": null}, "account_name": {"type": "text", "index": 3, "name": "account_name", "comment": null}, "campaign_id": {"type": "bigint", "index": 4, "name": "campaign_id", "comment": null}, "campaign_name": {"type": "text", "index": 5, "name": "campaign_name", "comment": null}, "ad_set_id": {"type": "bigint", "index": 6, "name": "ad_set_id", "comment": null}, "ad_set_name": {"type": "text", "index": 7, "name": "ad_set_name", "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}, "bid_strategy": {"type": "character varying", "index": 10, "name": "bid_strategy", "comment": null}, "daily_budget": {"type": "integer", "index": 11, "name": "daily_budget", "comment": null}, "budget_remaining": {"type": "integer", "index": 12, "name": "budget_remaining", "comment": null}, "clicks": {"type": "bigint", "index": 13, "name": "clicks", "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.facebook_ads.facebook_ads__ad_set_report"}, "model.facebook_ads.facebook_ads__campaign_report": {"metadata": {"type": "BASE TABLE", "schema": "facebook_ads_integration_tests_facebook_ads", "name": "facebook_ads__campaign_report", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date_day": {"type": "date", "index": 1, "name": "date_day", "comment": null}, "account_id": {"type": "bigint", "index": 2, "name": "account_id", "comment": null}, "account_name": {"type": "text", "index": 3, "name": "account_name", "comment": null}, "campaign_id": {"type": "bigint", "index": 4, "name": "campaign_id", "comment": null}, "campaign_name": {"type": "text", "index": 5, "name": "campaign_name", "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}, "status": {"type": "character varying", "index": 8, "name": "status", "comment": null}, "daily_budget": {"type": "integer", "index": 9, "name": "daily_budget", "comment": null}, "lifetime_budget": {"type": "integer", "index": 10, "name": "lifetime_budget", "comment": null}, "budget_remaining": {"type": "double precision", "index": 11, "name": "budget_remaining", "comment": null}, "clicks": {"type": "bigint", "index": 12, "name": "clicks", "comment": null}, "impressions": {"type": "bigint", "index": 13, "name": "impressions", "comment": null}, "spend": {"type": "double precision", "index": 14, "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.facebook_ads.facebook_ads__campaign_report"}, "model.facebook_ads.facebook_ads__url_report": {"metadata": {"type": "BASE TABLE", "schema": "facebook_ads_integration_tests_facebook_ads", "name": "facebook_ads__url_report", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date_day": {"type": "date", "index": 1, "name": "date_day", "comment": null}, "account_id": {"type": "bigint", "index": 2, "name": "account_id", "comment": null}, "account_name": {"type": "text", "index": 3, "name": "account_name", "comment": null}, "campaign_id": {"type": "bigint", "index": 4, "name": "campaign_id", "comment": null}, "campaign_name": {"type": "text", "index": 5, "name": "campaign_name", "comment": null}, "ad_set_id": {"type": "bigint", "index": 6, "name": "ad_set_id", "comment": null}, "ad_set_name": {"type": "text", "index": 7, "name": "ad_set_name", "comment": null}, "ad_id": {"type": "bigint", "index": 8, "name": "ad_id", "comment": null}, "ad_name": {"type": "text", "index": 9, "name": "ad_name", "comment": null}, "creative_id": {"type": "bigint", "index": 10, "name": "creative_id", "comment": null}, "creative_name": {"type": "text", "index": 11, "name": "creative_name", "comment": null}, "base_url": {"type": "text", "index": 12, "name": "base_url", "comment": null}, "url_host": {"type": "character varying", "index": 13, "name": "url_host", "comment": null}, "url_path": {"type": "text", "index": 14, "name": "url_path", "comment": null}, "utm_source": {"type": "text", "index": 15, "name": "utm_source", "comment": null}, "utm_medium": {"type": "text", "index": 16, "name": "utm_medium", "comment": null}, "utm_campaign": {"type": "text", "index": 17, "name": "utm_campaign", "comment": null}, "utm_content": {"type": "text", "index": 18, "name": "utm_content", "comment": null}, "utm_term": {"type": "text", "index": 19, "name": "utm_term", "comment": null}, "clicks": {"type": "bigint", "index": 20, "name": "clicks", "comment": null}, "impressions": {"type": "bigint", "index": 21, "name": "impressions", "comment": null}, "spend": {"type": "double precision", "index": 22, "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.facebook_ads.facebook_ads__url_report"}, "model.facebook_ads.facebook_ads__url_tags": {"metadata": {"type": "BASE TABLE", "schema": "facebook_ads_integration_tests_facebook_ads", "name": "facebook_ads__url_tags", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"_fivetran_id": {"type": "text", "index": 1, "name": "_fivetran_id", "comment": null}, "creative_id": {"type": "bigint", "index": 2, "name": "creative_id", "comment": null}, "key": {"type": "text", "index": 3, "name": "key", "comment": null}, "value": {"type": "text", "index": 4, "name": "value", "comment": null}, "type": {"type": "text", "index": 5, "name": "type", "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.facebook_ads.facebook_ads__url_tags"}, "model.facebook_ads.int_facebook_ads__creative_history": {"metadata": {"type": "VIEW", "schema": "facebook_ads_integration_tests_facebook_ads", "name": "int_facebook_ads__creative_history", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"_fivetran_id": {"type": "text", "index": 1, "name": "_fivetran_id", "comment": null}, "creative_id": {"type": "bigint", "index": 2, "name": "creative_id", "comment": null}, "account_id": {"type": "bigint", "index": 3, "name": "account_id", "comment": null}, "creative_name": {"type": "text", "index": 4, "name": "creative_name", "comment": null}, "url": {"type": "character varying", "index": 5, "name": "url", "comment": null}, "base_url": {"type": "text", "index": 6, "name": "base_url", "comment": null}, "url_host": {"type": "character varying", "index": 7, "name": "url_host", "comment": null}, "url_path": {"type": "text", "index": 8, "name": "url_path", "comment": null}, "utm_source": {"type": "text", "index": 9, "name": "utm_source", "comment": null}, "utm_medium": {"type": "text", "index": 10, "name": "utm_medium", "comment": null}, "utm_campaign": {"type": "text", "index": 11, "name": "utm_campaign", "comment": null}, "utm_content": {"type": "text", "index": 12, "name": "utm_content", "comment": null}, "utm_term": {"type": "text", "index": 13, "name": "utm_term", "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.facebook_ads.int_facebook_ads__creative_history"}, "model.facebook_ads_source.stg_facebook_ads__account_history": {"metadata": {"type": "BASE TABLE", "schema": "facebook_ads_integration_tests_facebook_ads_source", "name": "stg_facebook_ads__account_history", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"account_id": {"type": "bigint", "index": 1, "name": "account_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "account_name": {"type": "text", "index": 3, "name": "account_name", "comment": null}, "account_status": {"type": "character varying", "index": 4, "name": "account_status", "comment": null}, "business_country_code": {"type": "character varying", "index": 5, "name": "business_country_code", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 6, "name": "created_at", "comment": null}, "currency": {"type": "character varying", "index": 7, "name": "currency", "comment": null}, "timezone_name": {"type": "character varying", "index": 8, "name": "timezone_name", "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.facebook_ads_source.stg_facebook_ads__account_history"}, "model.facebook_ads_source.stg_facebook_ads__account_history_tmp": {"metadata": {"type": "VIEW", "schema": "facebook_ads_integration_tests_facebook_ads_source", "name": "stg_facebook_ads__account_history_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "name": {"type": "text", "index": 2, "name": "name", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "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.facebook_ads_source.stg_facebook_ads__account_history_tmp"}, "model.facebook_ads_source.stg_facebook_ads__ad_history": {"metadata": {"type": "BASE TABLE", "schema": "facebook_ads_integration_tests_facebook_ads_source", "name": "stg_facebook_ads__ad_history", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"updated_at": {"type": "timestamp without time zone", "index": 1, "name": "updated_at", "comment": null}, "ad_id": {"type": "bigint", "index": 2, "name": "ad_id", "comment": null}, "ad_name": {"type": "text", "index": 3, "name": "ad_name", "comment": null}, "account_id": {"type": "bigint", "index": 4, "name": "account_id", "comment": null}, "ad_set_id": {"type": "bigint", "index": 5, "name": "ad_set_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 6, "name": "campaign_id", "comment": null}, "creative_id": {"type": "bigint", "index": 7, "name": "creative_id", "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.facebook_ads_source.stg_facebook_ads__ad_history"}, "model.facebook_ads_source.stg_facebook_ads__ad_history_tmp": {"metadata": {"type": "VIEW", "schema": "facebook_ads_integration_tests_facebook_ads_source", "name": "stg_facebook_ads__ad_history_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "account_id": {"type": "bigint", "index": 2, "name": "account_id", "comment": null}, "ad_set_id": {"type": "bigint", "index": 3, "name": "ad_set_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 4, "name": "campaign_id", "comment": null}, "creative_id": {"type": "bigint", "index": 5, "name": "creative_id", "comment": null}, "name": {"type": "text", "index": 6, "name": "name", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 7, "name": "_fivetran_synced", "comment": null}, "updated_time": {"type": "timestamp without time zone", "index": 8, "name": "updated_time", "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.facebook_ads_source.stg_facebook_ads__ad_history_tmp"}, "model.facebook_ads_source.stg_facebook_ads__ad_set_history": {"metadata": {"type": "BASE TABLE", "schema": "facebook_ads_integration_tests_facebook_ads_source", "name": "stg_facebook_ads__ad_set_history", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"updated_at": {"type": "timestamp without time zone", "index": 1, "name": "updated_at", "comment": null}, "ad_set_id": {"type": "bigint", "index": 2, "name": "ad_set_id", "comment": null}, "ad_set_name": {"type": "text", "index": 3, "name": "ad_set_name", "comment": null}, "account_id": {"type": "bigint", "index": 4, "name": "account_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 5, "name": "campaign_id", "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}, "bid_strategy": {"type": "character varying", "index": 8, "name": "bid_strategy", "comment": null}, "daily_budget": {"type": "integer", "index": 9, "name": "daily_budget", "comment": null}, "budget_remaining": {"type": "integer", "index": 10, "name": "budget_remaining", "comment": null}, "status": {"type": "character varying", "index": 11, "name": "status", "comment": null}, "is_most_recent_record": {"type": "boolean", "index": 12, "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.facebook_ads_source.stg_facebook_ads__ad_set_history"}, "model.facebook_ads_source.stg_facebook_ads__ad_set_history_tmp": {"metadata": {"type": "VIEW", "schema": "facebook_ads_integration_tests_facebook_ads_source", "name": "stg_facebook_ads__ad_set_history_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "account_id": {"type": "bigint", "index": 2, "name": "account_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 3, "name": "campaign_id", "comment": null}, "name": {"type": "text", "index": 4, "name": "name", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 5, "name": "_fivetran_synced", "comment": null}, "updated_time": {"type": "timestamp without time zone", "index": 6, "name": "updated_time", "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.facebook_ads_source.stg_facebook_ads__ad_set_history_tmp"}, "model.facebook_ads_source.stg_facebook_ads__basic_ad": {"metadata": {"type": "BASE TABLE", "schema": "facebook_ads_integration_tests_facebook_ads_source", "name": "stg_facebook_ads__basic_ad", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"ad_id": {"type": "bigint", "index": 1, "name": "ad_id", "comment": null}, "ad_name": {"type": "character varying", "index": 2, "name": "ad_name", "comment": null}, "ad_set_name": {"type": "character varying", "index": 3, "name": "ad_set_name", "comment": null}, "date_day": {"type": "date", "index": 4, "name": "date_day", "comment": null}, "account_id": {"type": "bigint", "index": 5, "name": "account_id", "comment": null}, "impressions": {"type": "integer", "index": 6, "name": "impressions", "comment": null}, "clicks": {"type": "integer", "index": 7, "name": "clicks", "comment": null}, "spend": {"type": "double precision", "index": 8, "name": "spend", "comment": null}, "reach": {"type": "integer", "index": 9, "name": "reach", "comment": null}, "frequency": {"type": "double precision", "index": 10, "name": "frequency", "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.facebook_ads_source.stg_facebook_ads__basic_ad"}, "model.facebook_ads_source.stg_facebook_ads__basic_ad_tmp": {"metadata": {"type": "VIEW", "schema": "facebook_ads_integration_tests_facebook_ads_source", "name": "stg_facebook_ads__basic_ad_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"ad_id": {"type": "bigint", "index": 1, "name": "ad_id", "comment": null}, "date": {"type": "date", "index": 2, "name": "date", "comment": null}, "account_id": {"type": "bigint", "index": 3, "name": "account_id", "comment": null}, "impressions": {"type": "integer", "index": 4, "name": "impressions", "comment": null}, "inline_link_clicks": {"type": "integer", "index": 5, "name": "inline_link_clicks", "comment": null}, "spend": {"type": "double precision", "index": 6, "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.facebook_ads_source.stg_facebook_ads__basic_ad_tmp"}, "model.facebook_ads_source.stg_facebook_ads__campaign_history": {"metadata": {"type": "BASE TABLE", "schema": "facebook_ads_integration_tests_facebook_ads_source", "name": "stg_facebook_ads__campaign_history", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"updated_at": {"type": "timestamp without time zone", "index": 1, "name": "updated_at", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 2, "name": "created_at", "comment": null}, "account_id": {"type": "bigint", "index": 3, "name": "account_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 4, "name": "campaign_id", "comment": null}, "campaign_name": {"type": "text", "index": 5, "name": "campaign_name", "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}, "status": {"type": "character varying", "index": 8, "name": "status", "comment": null}, "daily_budget": {"type": "integer", "index": 9, "name": "daily_budget", "comment": null}, "lifetime_budget": {"type": "integer", "index": 10, "name": "lifetime_budget", "comment": null}, "budget_remaining": {"type": "double precision", "index": 11, "name": "budget_remaining", "comment": null}, "is_most_recent_record": {"type": "boolean", "index": 12, "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.facebook_ads_source.stg_facebook_ads__campaign_history"}, "model.facebook_ads_source.stg_facebook_ads__campaign_history_tmp": {"metadata": {"type": "VIEW", "schema": "facebook_ads_integration_tests_facebook_ads_source", "name": "stg_facebook_ads__campaign_history_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "account_id": {"type": "bigint", "index": 2, "name": "account_id", "comment": null}, "name": {"type": "text", "index": 3, "name": "name", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 4, "name": "_fivetran_synced", "comment": null}, "updated_time": {"type": "timestamp without time zone", "index": 5, "name": "updated_time", "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.facebook_ads_source.stg_facebook_ads__campaign_history_tmp"}, "model.facebook_ads_source.stg_facebook_ads__creative_history": {"metadata": {"type": "BASE TABLE", "schema": "facebook_ads_integration_tests_facebook_ads_source", "name": "stg_facebook_ads__creative_history", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"_fivetran_id": {"type": "text", "index": 1, "name": "_fivetran_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "creative_id": {"type": "bigint", "index": 3, "name": "creative_id", "comment": null}, "account_id": {"type": "bigint", "index": 4, "name": "account_id", "comment": null}, "creative_name": {"type": "text", "index": 5, "name": "creative_name", "comment": null}, "page_link": {"type": "character varying", "index": 6, "name": "page_link", "comment": null}, "template_page_link": {"type": "character varying", "index": 7, "name": "template_page_link", "comment": null}, "url_tags": {"type": "text", "index": 8, "name": "url_tags", "comment": null}, "asset_feed_spec_link_urls": {"type": "text", "index": 9, "name": "asset_feed_spec_link_urls", "comment": null}, "object_story_link_data_child_attachments": {"type": "text", "index": 10, "name": "object_story_link_data_child_attachments", "comment": null}, "object_story_link_data_caption": {"type": "text", "index": 11, "name": "object_story_link_data_caption", "comment": null}, "object_story_link_data_description": {"type": "text", "index": 12, "name": "object_story_link_data_description", "comment": null}, "object_story_link_data_link": {"type": "text", "index": 13, "name": "object_story_link_data_link", "comment": null}, "object_story_link_data_message": {"type": "text", "index": 14, "name": "object_story_link_data_message", "comment": null}, "template_app_link_spec_ios": {"type": "text", "index": 15, "name": "template_app_link_spec_ios", "comment": null}, "template_app_link_spec_ipad": {"type": "character varying", "index": 16, "name": "template_app_link_spec_ipad", "comment": null}, "template_app_link_spec_android": {"type": "character varying", "index": 17, "name": "template_app_link_spec_android", "comment": null}, "template_app_link_spec_iphone": {"type": "character varying", "index": 18, "name": "template_app_link_spec_iphone", "comment": null}, "is_most_recent_record": {"type": "boolean", "index": 19, "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.facebook_ads_source.stg_facebook_ads__creative_history"}, "model.facebook_ads_source.stg_facebook_ads__creative_history_tmp": {"metadata": {"type": "VIEW", "schema": "facebook_ads_integration_tests_facebook_ads_source", "name": "stg_facebook_ads__creative_history_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"page_link": {"type": "character varying", "index": 1, "name": "page_link", "comment": null}, "template_page_link": {"type": "character varying", "index": 2, "name": "template_page_link", "comment": null}, "id": {"type": "bigint", "index": 3, "name": "id", "comment": null}, "account_id": {"type": "bigint", "index": 4, "name": "account_id", "comment": null}, "name": {"type": "text", "index": 5, "name": "name", "comment": null}, "url_tags": {"type": "text", "index": 6, "name": "url_tags", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 7, "name": "_fivetran_synced", "comment": null}, "asset_feed_spec_link_urls": {"type": "text", "index": 8, "name": "asset_feed_spec_link_urls", "comment": null}, "object_story_link_data_child_attachments": {"type": "text", "index": 9, "name": "object_story_link_data_child_attachments", "comment": null}, "object_story_link_data_caption": {"type": "text", "index": 10, "name": "object_story_link_data_caption", "comment": null}, "object_story_link_data_description": {"type": "text", "index": 11, "name": "object_story_link_data_description", "comment": null}, "object_story_link_data_link": {"type": "text", "index": 12, "name": "object_story_link_data_link", "comment": null}, "object_story_link_data_message": {"type": "text", "index": 13, "name": "object_story_link_data_message", "comment": null}, "template_app_link_spec_ios": {"type": "text", "index": 14, "name": "template_app_link_spec_ios", "comment": null}, "_fivetran_id": {"type": "text", "index": 15, "name": "_fivetran_id", "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.facebook_ads_source.stg_facebook_ads__creative_history_tmp"}}, "sources": {"source.facebook_ads_source.facebook_ads.account_history": {"metadata": {"type": "BASE TABLE", "schema": "facebook_ads_integration_tests", "name": "facebook_ads_account_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "name": {"type": "text", "index": 2, "name": "name", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "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.facebook_ads_source.facebook_ads.account_history"}, "source.facebook_ads_source.facebook_ads.ad_history": {"metadata": {"type": "BASE TABLE", "schema": "facebook_ads_integration_tests", "name": "facebook_ads_ad_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "account_id": {"type": "bigint", "index": 2, "name": "account_id", "comment": null}, "ad_set_id": {"type": "bigint", "index": 3, "name": "ad_set_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 4, "name": "campaign_id", "comment": null}, "creative_id": {"type": "bigint", "index": 5, "name": "creative_id", "comment": null}, "name": {"type": "text", "index": 6, "name": "name", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 7, "name": "_fivetran_synced", "comment": null}, "updated_time": {"type": "timestamp without time zone", "index": 8, "name": "updated_time", "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.facebook_ads_source.facebook_ads.ad_history"}, "source.facebook_ads_source.facebook_ads.ad_set_history": {"metadata": {"type": "BASE TABLE", "schema": "facebook_ads_integration_tests", "name": "facebook_ads_ad_set_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "account_id": {"type": "bigint", "index": 2, "name": "account_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 3, "name": "campaign_id", "comment": null}, "name": {"type": "text", "index": 4, "name": "name", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 5, "name": "_fivetran_synced", "comment": null}, "updated_time": {"type": "timestamp without time zone", "index": 6, "name": "updated_time", "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.facebook_ads_source.facebook_ads.ad_set_history"}, "source.facebook_ads_source.facebook_ads.basic_ad": {"metadata": {"type": "BASE TABLE", "schema": "facebook_ads_integration_tests", "name": "facebook_ads_basic_ad_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"ad_id": {"type": "bigint", "index": 1, "name": "ad_id", "comment": null}, "date": {"type": "date", "index": 2, "name": "date", "comment": null}, "account_id": {"type": "bigint", "index": 3, "name": "account_id", "comment": null}, "impressions": {"type": "integer", "index": 4, "name": "impressions", "comment": null}, "inline_link_clicks": {"type": "integer", "index": 5, "name": "inline_link_clicks", "comment": null}, "spend": {"type": "double precision", "index": 6, "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": "source.facebook_ads_source.facebook_ads.basic_ad"}, "source.facebook_ads_source.facebook_ads.campaign_history": {"metadata": {"type": "BASE TABLE", "schema": "facebook_ads_integration_tests", "name": "facebook_ads_campaign_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "account_id": {"type": "bigint", "index": 2, "name": "account_id", "comment": null}, "name": {"type": "text", "index": 3, "name": "name", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 4, "name": "_fivetran_synced", "comment": null}, "updated_time": {"type": "timestamp without time zone", "index": 5, "name": "updated_time", "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.facebook_ads_source.facebook_ads.campaign_history"}, "source.facebook_ads_source.facebook_ads.creative_history": {"metadata": {"type": "BASE TABLE", "schema": "facebook_ads_integration_tests", "name": "facebook_ads_creative_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"page_link": {"type": "character varying", "index": 1, "name": "page_link", "comment": null}, "template_page_link": {"type": "character varying", "index": 2, "name": "template_page_link", "comment": null}, "id": {"type": "bigint", "index": 3, "name": "id", "comment": null}, "account_id": {"type": "bigint", "index": 4, "name": "account_id", "comment": null}, "name": {"type": "text", "index": 5, "name": "name", "comment": null}, "url_tags": {"type": "text", "index": 6, "name": "url_tags", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 7, "name": "_fivetran_synced", "comment": null}, "asset_feed_spec_link_urls": {"type": "text", "index": 8, "name": "asset_feed_spec_link_urls", "comment": null}, "object_story_link_data_child_attachments": {"type": "text", "index": 9, "name": "object_story_link_data_child_attachments", "comment": null}, "object_story_link_data_caption": {"type": "text", "index": 10, "name": "object_story_link_data_caption", "comment": null}, "object_story_link_data_description": {"type": "text", "index": 11, "name": "object_story_link_data_description", "comment": null}, "object_story_link_data_link": {"type": "text", "index": 12, "name": "object_story_link_data_link", "comment": null}, "object_story_link_data_message": {"type": "text", "index": 13, "name": "object_story_link_data_message", "comment": null}, "template_app_link_spec_ios": {"type": "text", "index": 14, "name": "template_app_link_spec_ios", "comment": null}, "_fivetran_id": {"type": "text", "index": 15, "name": "_fivetran_id", "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.facebook_ads_source.facebook_ads.creative_history"}}, "errors": null} \ No newline at end of file +{"metadata": {"dbt_schema_version": "https://schemas.getdbt.com/dbt/catalog/v1.json", "dbt_version": "1.3.0", "generated_at": "2022-10-25T21:01:52.408045Z", "invocation_id": "bb3da3fc-73db-47bd-88c1-560f01c5b724", "env": {}}, "nodes": {"seed.facebook_ads_integration_tests.facebook_ads_campaign_history_data": {"metadata": {"type": "table", "schema": "facebook_ads_integration_tests", "name": "facebook_ads_campaign_history_data", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"id": {"type": "INT64", "index": 1, "name": "id", "comment": null}, "account_id": {"type": "INT64", "index": 2, "name": "account_id", "comment": null}, "name": {"type": "STRING", "index": 3, "name": "name", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 4, "name": "_fivetran_synced", "comment": null}, "updated_time": {"type": "TIMESTAMP", "index": 5, "name": "updated_time", "comment": null}}, "stats": {"num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 522.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": "seed.facebook_ads_integration_tests.facebook_ads_campaign_history_data"}, "seed.facebook_ads_integration_tests.facebook_ads_basic_ad_data": {"metadata": {"type": "table", "schema": "facebook_ads_integration_tests", "name": "facebook_ads_basic_ad_data", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"ad_id": {"type": "INT64", "index": 1, "name": "ad_id", "comment": null}, "date": {"type": "DATE", "index": 2, "name": "date", "comment": null}, "account_id": {"type": "INT64", "index": 3, "name": "account_id", "comment": null}, "impressions": {"type": "INT64", "index": 4, "name": "impressions", "comment": null}, "inline_link_clicks": {"type": "INT64", "index": 5, "name": "inline_link_clicks", "comment": null}, "spend": {"type": "FLOAT64", "index": 6, "name": "spend", "comment": null}}, "stats": {"num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 480.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "num_rows": {"id": "num_rows", "label": "# Rows", "value": 10.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": "seed.facebook_ads_integration_tests.facebook_ads_basic_ad_data"}, "seed.facebook_ads_integration_tests.facebook_ads_creative_history_data": {"metadata": {"type": "table", "schema": "facebook_ads_integration_tests", "name": "facebook_ads_creative_history_data", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"page_link": {"type": "STRING", "index": 1, "name": "page_link", "comment": null}, "template_page_link": {"type": "STRING", "index": 2, "name": "template_page_link", "comment": null}, "id": {"type": "INT64", "index": 3, "name": "id", "comment": null}, "account_id": {"type": "INT64", "index": 4, "name": "account_id", "comment": null}, "name": {"type": "STRING", "index": 5, "name": "name", "comment": null}, "url_tags": {"type": "STRING", "index": 6, "name": "url_tags", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 7, "name": "_fivetran_synced", "comment": null}, "asset_feed_spec_link_urls": {"type": "STRING", "index": 8, "name": "asset_feed_spec_link_urls", "comment": null}, "object_story_link_data_child_attachments": {"type": "STRING", "index": 9, "name": "object_story_link_data_child_attachments", "comment": null}, "object_story_link_data_caption": {"type": "STRING", "index": 10, "name": "object_story_link_data_caption", "comment": null}, "object_story_link_data_description": {"type": "STRING", "index": 11, "name": "object_story_link_data_description", "comment": null}, "object_story_link_data_link": {"type": "STRING", "index": 12, "name": "object_story_link_data_link", "comment": null}, "object_story_link_data_message": {"type": "STRING", "index": 13, "name": "object_story_link_data_message", "comment": null}, "template_app_link_spec_ios": {"type": "STRING", "index": 14, "name": "template_app_link_spec_ios", "comment": null}, "_fivetran_id": {"type": "STRING", "index": 15, "name": "_fivetran_id", "comment": null}}, "stats": {"num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 1399000.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "num_rows": {"id": "num_rows", "label": "# Rows", "value": 1000.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": "seed.facebook_ads_integration_tests.facebook_ads_creative_history_data"}, "seed.facebook_ads_integration_tests.facebook_ads_account_history_data": {"metadata": {"type": "table", "schema": "facebook_ads_integration_tests", "name": "facebook_ads_account_history_data", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"id": {"type": "INT64", "index": 1, "name": "id", "comment": null}, "name": {"type": "STRING", "index": 2, "name": "name", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 3, "name": "_fivetran_synced", "comment": null}}, "stats": {"num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 2478.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "num_rows": {"id": "num_rows", "label": "# Rows", "value": 59.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": "seed.facebook_ads_integration_tests.facebook_ads_account_history_data"}, "seed.facebook_ads_integration_tests.facebook_ads_ad_history_data": {"metadata": {"type": "table", "schema": "facebook_ads_integration_tests", "name": "facebook_ads_ad_history_data", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"id": {"type": "INT64", "index": 1, "name": "id", "comment": null}, "account_id": {"type": "INT64", "index": 2, "name": "account_id", "comment": null}, "ad_set_id": {"type": "INT64", "index": 3, "name": "ad_set_id", "comment": null}, "campaign_id": {"type": "INT64", "index": 4, "name": "campaign_id", "comment": null}, "creative_id": {"type": "INT64", "index": 5, "name": "creative_id", "comment": null}, "name": {"type": "STRING", "index": 6, "name": "name", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 7, "name": "_fivetran_synced", "comment": null}, "updated_time": {"type": "TIMESTAMP", "index": 8, "name": "updated_time", "comment": null}}, "stats": {"num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 720.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "num_rows": {"id": "num_rows", "label": "# Rows", "value": 12.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": "seed.facebook_ads_integration_tests.facebook_ads_ad_history_data"}, "seed.facebook_ads_integration_tests.facebook_ads_ad_set_history_data": {"metadata": {"type": "table", "schema": "facebook_ads_integration_tests", "name": "facebook_ads_ad_set_history_data", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"id": {"type": "INT64", "index": 1, "name": "id", "comment": null}, "account_id": {"type": "INT64", "index": 2, "name": "account_id", "comment": null}, "campaign_id": {"type": "INT64", "index": 3, "name": "campaign_id", "comment": null}, "name": {"type": "STRING", "index": 4, "name": "name", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 5, "name": "_fivetran_synced", "comment": null}, "updated_time": {"type": "TIMESTAMP", "index": 6, "name": "updated_time", "comment": null}}, "stats": {"num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 924.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "num_rows": {"id": "num_rows", "label": "# Rows", "value": 14.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": "seed.facebook_ads_integration_tests.facebook_ads_ad_set_history_data"}, "model.facebook_ads.facebook_ads__url_report": {"metadata": {"type": "table", "schema": "facebook_ads_integration_tests_facebook_ads", "name": "facebook_ads__url_report", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"date_day": {"type": "DATE", "index": 1, "name": "date_day", "comment": null}, "account_id": {"type": "INT64", "index": 2, "name": "account_id", "comment": null}, "account_name": {"type": "STRING", "index": 3, "name": "account_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_set_id": {"type": "INT64", "index": 6, "name": "ad_set_id", "comment": null}, "ad_set_name": {"type": "STRING", "index": 7, "name": "ad_set_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}, "creative_id": {"type": "INT64", "index": 10, "name": "creative_id", "comment": null}, "creative_name": {"type": "STRING", "index": 11, "name": "creative_name", "comment": null}, "base_url": {"type": "STRING", "index": 12, "name": "base_url", "comment": null}, "url_host": {"type": "STRING", "index": 13, "name": "url_host", "comment": null}, "url_path": {"type": "STRING", "index": 14, "name": "url_path", "comment": null}, "utm_source": {"type": "STRING", "index": 15, "name": "utm_source", "comment": null}, "utm_medium": {"type": "STRING", "index": 16, "name": "utm_medium", "comment": null}, "utm_campaign": {"type": "STRING", "index": 17, "name": "utm_campaign", "comment": null}, "utm_content": {"type": "STRING", "index": 18, "name": "utm_content", "comment": null}, "utm_term": {"type": "STRING", "index": 19, "name": "utm_term", "comment": null}, "clicks": {"type": "INT64", "index": 20, "name": "clicks", "comment": null}, "impressions": {"type": "INT64", "index": 21, "name": "impressions", "comment": null}, "spend": {"type": "FLOAT64", "index": 22, "name": "spend", "comment": null}}, "stats": {"num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 0.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "num_rows": {"id": "num_rows", "label": "# Rows", "value": 0.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.facebook_ads.facebook_ads__url_report"}, "model.facebook_ads.facebook_ads__url_tags": {"metadata": {"type": "table", "schema": "facebook_ads_integration_tests_facebook_ads", "name": "facebook_ads__url_tags", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"_fivetran_id": {"type": "STRING", "index": 1, "name": "_fivetran_id", "comment": null}, "creative_id": {"type": "INT64", "index": 2, "name": "creative_id", "comment": null}, "key": {"type": "STRING", "index": 3, "name": "key", "comment": null}, "value": {"type": "STRING", "index": 4, "name": "value", "comment": null}, "type": {"type": "STRING", "index": 5, "name": "type", "comment": null}}, "stats": {"num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 13970.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "num_rows": {"id": "num_rows", "label": "# Rows", "value": 220.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.facebook_ads.facebook_ads__url_tags"}, "model.facebook_ads.facebook_ads__ad_report": {"metadata": {"type": "table", "schema": "facebook_ads_integration_tests_facebook_ads", "name": "facebook_ads__ad_report", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"date_day": {"type": "DATE", "index": 1, "name": "date_day", "comment": null}, "account_id": {"type": "INT64", "index": 2, "name": "account_id", "comment": null}, "account_name": {"type": "STRING", "index": 3, "name": "account_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_set_id": {"type": "INT64", "index": 6, "name": "ad_set_id", "comment": null}, "ad_set_name": {"type": "STRING", "index": 7, "name": "ad_set_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}, "clicks": {"type": "INT64", "index": 10, "name": "clicks", "comment": null}, "impressions": {"type": "INT64", "index": 11, "name": "impressions", "comment": null}, "spend": {"type": "FLOAT64", "index": 12, "name": "spend", "comment": null}}, "stats": {"num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 1460.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "num_rows": {"id": "num_rows", "label": "# Rows", "value": 10.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.facebook_ads.facebook_ads__ad_report"}, "model.facebook_ads.facebook_ads__account_report": {"metadata": {"type": "table", "schema": "facebook_ads_integration_tests_facebook_ads", "name": "facebook_ads__account_report", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"date_day": {"type": "DATE", "index": 1, "name": "date_day", "comment": null}, "account_id": {"type": "INT64", "index": 2, "name": "account_id", "comment": null}, "account_name": {"type": "STRING", "index": 3, "name": "account_name", "comment": null}, "account_status": {"type": "STRING", "index": 4, "name": "account_status", "comment": null}, "business_country_code": {"type": "STRING", "index": 5, "name": "business_country_code", "comment": null}, "created_at": {"type": "TIMESTAMP", "index": 6, "name": "created_at", "comment": null}, "currency": {"type": "STRING", "index": 7, "name": "currency", "comment": null}, "timezone_name": {"type": "STRING", "index": 8, "name": "timezone_name", "comment": null}, "clicks": {"type": "INT64", "index": 9, "name": "clicks", "comment": null}, "impressions": {"type": "INT64", "index": 10, "name": "impressions", "comment": null}, "spend": {"type": "FLOAT64", "index": 11, "name": "spend", "comment": null}}, "stats": {"num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 594.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.facebook_ads.facebook_ads__account_report"}, "model.facebook_ads.int_facebook_ads__creative_history": {"metadata": {"type": "view", "schema": "facebook_ads_integration_tests_facebook_ads", "name": "int_facebook_ads__creative_history", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"_fivetran_id": {"type": "STRING", "index": 1, "name": "_fivetran_id", "comment": null}, "creative_id": {"type": "INT64", "index": 2, "name": "creative_id", "comment": null}, "account_id": {"type": "INT64", "index": 3, "name": "account_id", "comment": null}, "creative_name": {"type": "STRING", "index": 4, "name": "creative_name", "comment": null}, "url": {"type": "STRING", "index": 5, "name": "url", "comment": null}, "base_url": {"type": "STRING", "index": 6, "name": "base_url", "comment": null}, "url_host": {"type": "STRING", "index": 7, "name": "url_host", "comment": null}, "url_path": {"type": "STRING", "index": 8, "name": "url_path", "comment": null}, "utm_source": {"type": "STRING", "index": 9, "name": "utm_source", "comment": null}, "utm_medium": {"type": "STRING", "index": 10, "name": "utm_medium", "comment": null}, "utm_campaign": {"type": "STRING", "index": 11, "name": "utm_campaign", "comment": null}, "utm_content": {"type": "STRING", "index": 12, "name": "utm_content", "comment": null}, "utm_term": {"type": "STRING", "index": 13, "name": "utm_term", "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.facebook_ads.int_facebook_ads__creative_history"}, "model.facebook_ads.facebook_ads__campaign_report": {"metadata": {"type": "table", "schema": "facebook_ads_integration_tests_facebook_ads", "name": "facebook_ads__campaign_report", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"date_day": {"type": "DATE", "index": 1, "name": "date_day", "comment": null}, "account_id": {"type": "INT64", "index": 2, "name": "account_id", "comment": null}, "account_name": {"type": "STRING", "index": 3, "name": "account_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}, "start_at": {"type": "TIMESTAMP", "index": 6, "name": "start_at", "comment": null}, "end_at": {"type": "TIMESTAMP", "index": 7, "name": "end_at", "comment": null}, "status": {"type": "STRING", "index": 8, "name": "status", "comment": null}, "daily_budget": {"type": "INT64", "index": 9, "name": "daily_budget", "comment": null}, "lifetime_budget": {"type": "INT64", "index": 10, "name": "lifetime_budget", "comment": null}, "budget_remaining": {"type": "FLOAT64", "index": 11, "name": "budget_remaining", "comment": null}, "clicks": {"type": "INT64", "index": 12, "name": "clicks", "comment": null}, "impressions": {"type": "INT64", "index": 13, "name": "impressions", "comment": null}, "spend": {"type": "FLOAT64", "index": 14, "name": "spend", "comment": null}}, "stats": {"num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 1000.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "num_rows": {"id": "num_rows", "label": "# Rows", "value": 10.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.facebook_ads.facebook_ads__campaign_report"}, "model.facebook_ads.facebook_ads__ad_set_report": {"metadata": {"type": "table", "schema": "facebook_ads_integration_tests_facebook_ads", "name": "facebook_ads__ad_set_report", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"date_day": {"type": "DATE", "index": 1, "name": "date_day", "comment": null}, "account_id": {"type": "INT64", "index": 2, "name": "account_id", "comment": null}, "account_name": {"type": "STRING", "index": 3, "name": "account_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_set_id": {"type": "INT64", "index": 6, "name": "ad_set_id", "comment": null}, "ad_set_name": {"type": "STRING", "index": 7, "name": "ad_set_name", "comment": null}, "start_at": {"type": "TIMESTAMP", "index": 8, "name": "start_at", "comment": null}, "end_at": {"type": "TIMESTAMP", "index": 9, "name": "end_at", "comment": null}, "bid_strategy": {"type": "STRING", "index": 10, "name": "bid_strategy", "comment": null}, "daily_budget": {"type": "INT64", "index": 11, "name": "daily_budget", "comment": null}, "budget_remaining": {"type": "INT64", "index": 12, "name": "budget_remaining", "comment": null}, "clicks": {"type": "INT64", "index": 13, "name": "clicks", "comment": null}, "impressions": {"type": "INT64", "index": 14, "name": "impressions", "comment": null}, "spend": {"type": "FLOAT64", "index": 15, "name": "spend", "comment": null}}, "stats": {"num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 1340.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "num_rows": {"id": "num_rows", "label": "# Rows", "value": 10.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.facebook_ads.facebook_ads__ad_set_report"}, "model.facebook_ads_source.stg_facebook_ads__creative_history_tmp": {"metadata": {"type": "view", "schema": "facebook_ads_integration_tests_facebook_ads_source", "name": "stg_facebook_ads__creative_history_tmp", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"page_link": {"type": "STRING", "index": 1, "name": "page_link", "comment": null}, "template_page_link": {"type": "STRING", "index": 2, "name": "template_page_link", "comment": null}, "id": {"type": "INT64", "index": 3, "name": "id", "comment": null}, "account_id": {"type": "INT64", "index": 4, "name": "account_id", "comment": null}, "name": {"type": "STRING", "index": 5, "name": "name", "comment": null}, "url_tags": {"type": "STRING", "index": 6, "name": "url_tags", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 7, "name": "_fivetran_synced", "comment": null}, "asset_feed_spec_link_urls": {"type": "STRING", "index": 8, "name": "asset_feed_spec_link_urls", "comment": null}, "object_story_link_data_child_attachments": {"type": "STRING", "index": 9, "name": "object_story_link_data_child_attachments", "comment": null}, "object_story_link_data_caption": {"type": "STRING", "index": 10, "name": "object_story_link_data_caption", "comment": null}, "object_story_link_data_description": {"type": "STRING", "index": 11, "name": "object_story_link_data_description", "comment": null}, "object_story_link_data_link": {"type": "STRING", "index": 12, "name": "object_story_link_data_link", "comment": null}, "object_story_link_data_message": {"type": "STRING", "index": 13, "name": "object_story_link_data_message", "comment": null}, "template_app_link_spec_ios": {"type": "STRING", "index": 14, "name": "template_app_link_spec_ios", "comment": null}, "_fivetran_id": {"type": "STRING", "index": 15, "name": "_fivetran_id", "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.facebook_ads_source.stg_facebook_ads__creative_history_tmp"}, "model.facebook_ads_source.stg_facebook_ads__basic_ad": {"metadata": {"type": "table", "schema": "facebook_ads_integration_tests_facebook_ads_source", "name": "stg_facebook_ads__basic_ad", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"ad_id": {"type": "INT64", "index": 1, "name": "ad_id", "comment": null}, "ad_name": {"type": "STRING", "index": 2, "name": "ad_name", "comment": null}, "ad_set_name": {"type": "STRING", "index": 3, "name": "ad_set_name", "comment": null}, "date_day": {"type": "DATE", "index": 4, "name": "date_day", "comment": null}, "account_id": {"type": "INT64", "index": 5, "name": "account_id", "comment": null}, "impressions": {"type": "INT64", "index": 6, "name": "impressions", "comment": null}, "clicks": {"type": "INT64", "index": 7, "name": "clicks", "comment": null}, "spend": {"type": "FLOAT64", "index": 8, "name": "spend", "comment": null}, "reach": {"type": "INT64", "index": 9, "name": "reach", "comment": null}, "frequency": {"type": "FLOAT64", "index": 10, "name": "frequency", "comment": null}}, "stats": {"num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 480.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "num_rows": {"id": "num_rows", "label": "# Rows", "value": 10.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.facebook_ads_source.stg_facebook_ads__basic_ad"}, "model.facebook_ads_source.stg_facebook_ads__campaign_history_tmp": {"metadata": {"type": "view", "schema": "facebook_ads_integration_tests_facebook_ads_source", "name": "stg_facebook_ads__campaign_history_tmp", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"id": {"type": "INT64", "index": 1, "name": "id", "comment": null}, "account_id": {"type": "INT64", "index": 2, "name": "account_id", "comment": null}, "name": {"type": "STRING", "index": 3, "name": "name", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 4, "name": "_fivetran_synced", "comment": null}, "updated_time": {"type": "TIMESTAMP", "index": 5, "name": "updated_time", "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.facebook_ads_source.stg_facebook_ads__campaign_history_tmp"}, "model.facebook_ads_source.stg_facebook_ads__ad_history": {"metadata": {"type": "table", "schema": "facebook_ads_integration_tests_facebook_ads_source", "name": "stg_facebook_ads__ad_history", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"updated_at": {"type": "TIMESTAMP", "index": 1, "name": "updated_at", "comment": null}, "ad_id": {"type": "INT64", "index": 2, "name": "ad_id", "comment": null}, "ad_name": {"type": "STRING", "index": 3, "name": "ad_name", "comment": null}, "account_id": {"type": "INT64", "index": 4, "name": "account_id", "comment": null}, "ad_set_id": {"type": "INT64", "index": 5, "name": "ad_set_id", "comment": null}, "campaign_id": {"type": "INT64", "index": 6, "name": "campaign_id", "comment": null}, "creative_id": {"type": "INT64", "index": 7, "name": "creative_id", "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": 636.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "num_rows": {"id": "num_rows", "label": "# Rows", "value": 12.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.facebook_ads_source.stg_facebook_ads__ad_history"}, "model.facebook_ads_source.stg_facebook_ads__ad_set_history": {"metadata": {"type": "table", "schema": "facebook_ads_integration_tests_facebook_ads_source", "name": "stg_facebook_ads__ad_set_history", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"updated_at": {"type": "TIMESTAMP", "index": 1, "name": "updated_at", "comment": null}, "ad_set_id": {"type": "INT64", "index": 2, "name": "ad_set_id", "comment": null}, "ad_set_name": {"type": "STRING", "index": 3, "name": "ad_set_name", "comment": null}, "account_id": {"type": "INT64", "index": 4, "name": "account_id", "comment": null}, "campaign_id": {"type": "INT64", "index": 5, "name": "campaign_id", "comment": null}, "start_at": {"type": "TIMESTAMP", "index": 6, "name": "start_at", "comment": null}, "end_at": {"type": "TIMESTAMP", "index": 7, "name": "end_at", "comment": null}, "bid_strategy": {"type": "STRING", "index": 8, "name": "bid_strategy", "comment": null}, "daily_budget": {"type": "INT64", "index": 9, "name": "daily_budget", "comment": null}, "budget_remaining": {"type": "INT64", "index": 10, "name": "budget_remaining", "comment": null}, "status": {"type": "STRING", "index": 11, "name": "status", "comment": null}, "is_most_recent_record": {"type": "BOOL", "index": 12, "name": "is_most_recent_record", "comment": null}}, "stats": {"num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 826.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "num_rows": {"id": "num_rows", "label": "# Rows", "value": 14.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.facebook_ads_source.stg_facebook_ads__ad_set_history"}, "model.facebook_ads_source.stg_facebook_ads__account_history": {"metadata": {"type": "table", "schema": "facebook_ads_integration_tests_facebook_ads_source", "name": "stg_facebook_ads__account_history", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"account_id": {"type": "INT64", "index": 1, "name": "account_id", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 2, "name": "_fivetran_synced", "comment": null}, "account_name": {"type": "STRING", "index": 3, "name": "account_name", "comment": null}, "account_status": {"type": "STRING", "index": 4, "name": "account_status", "comment": null}, "business_country_code": {"type": "STRING", "index": 5, "name": "business_country_code", "comment": null}, "created_at": {"type": "TIMESTAMP", "index": 6, "name": "created_at", "comment": null}, "currency": {"type": "STRING", "index": 7, "name": "currency", "comment": null}, "timezone_name": {"type": "STRING", "index": 8, "name": "timezone_name", "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": 2537.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "num_rows": {"id": "num_rows", "label": "# Rows", "value": 59.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.facebook_ads_source.stg_facebook_ads__account_history"}, "model.facebook_ads_source.stg_facebook_ads__account_history_tmp": {"metadata": {"type": "view", "schema": "facebook_ads_integration_tests_facebook_ads_source", "name": "stg_facebook_ads__account_history_tmp", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"id": {"type": "INT64", "index": 1, "name": "id", "comment": null}, "name": {"type": "STRING", "index": 2, "name": "name", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 3, "name": "_fivetran_synced", "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.facebook_ads_source.stg_facebook_ads__account_history_tmp"}, "model.facebook_ads_source.stg_facebook_ads__creative_history": {"metadata": {"type": "table", "schema": "facebook_ads_integration_tests_facebook_ads_source", "name": "stg_facebook_ads__creative_history", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"_fivetran_id": {"type": "STRING", "index": 1, "name": "_fivetran_id", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 2, "name": "_fivetran_synced", "comment": null}, "creative_id": {"type": "INT64", "index": 3, "name": "creative_id", "comment": null}, "account_id": {"type": "INT64", "index": 4, "name": "account_id", "comment": null}, "creative_name": {"type": "STRING", "index": 5, "name": "creative_name", "comment": null}, "page_link": {"type": "STRING", "index": 6, "name": "page_link", "comment": null}, "template_page_link": {"type": "STRING", "index": 7, "name": "template_page_link", "comment": null}, "url_tags": {"type": "STRING", "index": 8, "name": "url_tags", "comment": null}, "asset_feed_spec_link_urls": {"type": "STRING", "index": 9, "name": "asset_feed_spec_link_urls", "comment": null}, "object_story_link_data_child_attachments": {"type": "STRING", "index": 10, "name": "object_story_link_data_child_attachments", "comment": null}, "object_story_link_data_caption": {"type": "STRING", "index": 11, "name": "object_story_link_data_caption", "comment": null}, "object_story_link_data_description": {"type": "STRING", "index": 12, "name": "object_story_link_data_description", "comment": null}, "object_story_link_data_link": {"type": "STRING", "index": 13, "name": "object_story_link_data_link", "comment": null}, "object_story_link_data_message": {"type": "STRING", "index": 14, "name": "object_story_link_data_message", "comment": null}, "template_app_link_spec_ios": {"type": "STRING", "index": 15, "name": "template_app_link_spec_ios", "comment": null}, "template_app_link_spec_ipad": {"type": "STRING", "index": 16, "name": "template_app_link_spec_ipad", "comment": null}, "template_app_link_spec_android": {"type": "STRING", "index": 17, "name": "template_app_link_spec_android", "comment": null}, "template_app_link_spec_iphone": {"type": "STRING", "index": 18, "name": "template_app_link_spec_iphone", "comment": null}, "is_most_recent_record": {"type": "BOOL", "index": 19, "name": "is_most_recent_record", "comment": null}}, "stats": {"num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 1400000.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "num_rows": {"id": "num_rows", "label": "# Rows", "value": 1000.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.facebook_ads_source.stg_facebook_ads__creative_history"}, "model.facebook_ads_source.stg_facebook_ads__ad_history_tmp": {"metadata": {"type": "view", "schema": "facebook_ads_integration_tests_facebook_ads_source", "name": "stg_facebook_ads__ad_history_tmp", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"id": {"type": "INT64", "index": 1, "name": "id", "comment": null}, "account_id": {"type": "INT64", "index": 2, "name": "account_id", "comment": null}, "ad_set_id": {"type": "INT64", "index": 3, "name": "ad_set_id", "comment": null}, "campaign_id": {"type": "INT64", "index": 4, "name": "campaign_id", "comment": null}, "creative_id": {"type": "INT64", "index": 5, "name": "creative_id", "comment": null}, "name": {"type": "STRING", "index": 6, "name": "name", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 7, "name": "_fivetran_synced", "comment": null}, "updated_time": {"type": "TIMESTAMP", "index": 8, "name": "updated_time", "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.facebook_ads_source.stg_facebook_ads__ad_history_tmp"}, "model.facebook_ads_source.stg_facebook_ads__campaign_history": {"metadata": {"type": "table", "schema": "facebook_ads_integration_tests_facebook_ads_source", "name": "stg_facebook_ads__campaign_history", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"updated_at": {"type": "TIMESTAMP", "index": 1, "name": "updated_at", "comment": null}, "created_at": {"type": "TIMESTAMP", "index": 2, "name": "created_at", "comment": null}, "account_id": {"type": "INT64", "index": 3, "name": "account_id", "comment": null}, "campaign_id": {"type": "INT64", "index": 4, "name": "campaign_id", "comment": null}, "campaign_name": {"type": "STRING", "index": 5, "name": "campaign_name", "comment": null}, "start_at": {"type": "TIMESTAMP", "index": 6, "name": "start_at", "comment": null}, "end_at": {"type": "TIMESTAMP", "index": 7, "name": "end_at", "comment": null}, "status": {"type": "STRING", "index": 8, "name": "status", "comment": null}, "daily_budget": {"type": "INT64", "index": 9, "name": "daily_budget", "comment": null}, "lifetime_budget": {"type": "INT64", "index": 10, "name": "lifetime_budget", "comment": null}, "budget_remaining": {"type": "FLOAT64", "index": 11, "name": "budget_remaining", "comment": null}, "is_most_recent_record": {"type": "BOOL", "index": 12, "name": "is_most_recent_record", "comment": null}}, "stats": {"num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 459.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.facebook_ads_source.stg_facebook_ads__campaign_history"}, "model.facebook_ads_source.stg_facebook_ads__basic_ad_tmp": {"metadata": {"type": "view", "schema": "facebook_ads_integration_tests_facebook_ads_source", "name": "stg_facebook_ads__basic_ad_tmp", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"ad_id": {"type": "INT64", "index": 1, "name": "ad_id", "comment": null}, "date": {"type": "DATE", "index": 2, "name": "date", "comment": null}, "account_id": {"type": "INT64", "index": 3, "name": "account_id", "comment": null}, "impressions": {"type": "INT64", "index": 4, "name": "impressions", "comment": null}, "inline_link_clicks": {"type": "INT64", "index": 5, "name": "inline_link_clicks", "comment": null}, "spend": {"type": "FLOAT64", "index": 6, "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.facebook_ads_source.stg_facebook_ads__basic_ad_tmp"}, "model.facebook_ads_source.stg_facebook_ads__ad_set_history_tmp": {"metadata": {"type": "view", "schema": "facebook_ads_integration_tests_facebook_ads_source", "name": "stg_facebook_ads__ad_set_history_tmp", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"id": {"type": "INT64", "index": 1, "name": "id", "comment": null}, "account_id": {"type": "INT64", "index": 2, "name": "account_id", "comment": null}, "campaign_id": {"type": "INT64", "index": 3, "name": "campaign_id", "comment": null}, "name": {"type": "STRING", "index": 4, "name": "name", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 5, "name": "_fivetran_synced", "comment": null}, "updated_time": {"type": "TIMESTAMP", "index": 6, "name": "updated_time", "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.facebook_ads_source.stg_facebook_ads__ad_set_history_tmp"}}, "sources": {"source.facebook_ads_source.facebook_ads.campaign_history": {"metadata": {"type": "table", "schema": "facebook_ads_integration_tests", "name": "facebook_ads_campaign_history_data", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"id": {"type": "INT64", "index": 1, "name": "id", "comment": null}, "account_id": {"type": "INT64", "index": 2, "name": "account_id", "comment": null}, "name": {"type": "STRING", "index": 3, "name": "name", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 4, "name": "_fivetran_synced", "comment": null}, "updated_time": {"type": "TIMESTAMP", "index": 5, "name": "updated_time", "comment": null}}, "stats": {"num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 522.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.facebook_ads_source.facebook_ads.campaign_history"}, "source.facebook_ads_source.facebook_ads.basic_ad": {"metadata": {"type": "table", "schema": "facebook_ads_integration_tests", "name": "facebook_ads_basic_ad_data", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"ad_id": {"type": "INT64", "index": 1, "name": "ad_id", "comment": null}, "date": {"type": "DATE", "index": 2, "name": "date", "comment": null}, "account_id": {"type": "INT64", "index": 3, "name": "account_id", "comment": null}, "impressions": {"type": "INT64", "index": 4, "name": "impressions", "comment": null}, "inline_link_clicks": {"type": "INT64", "index": 5, "name": "inline_link_clicks", "comment": null}, "spend": {"type": "FLOAT64", "index": 6, "name": "spend", "comment": null}}, "stats": {"num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 480.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "num_rows": {"id": "num_rows", "label": "# Rows", "value": 10.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.facebook_ads_source.facebook_ads.basic_ad"}, "source.facebook_ads_source.facebook_ads.creative_history": {"metadata": {"type": "table", "schema": "facebook_ads_integration_tests", "name": "facebook_ads_creative_history_data", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"page_link": {"type": "STRING", "index": 1, "name": "page_link", "comment": null}, "template_page_link": {"type": "STRING", "index": 2, "name": "template_page_link", "comment": null}, "id": {"type": "INT64", "index": 3, "name": "id", "comment": null}, "account_id": {"type": "INT64", "index": 4, "name": "account_id", "comment": null}, "name": {"type": "STRING", "index": 5, "name": "name", "comment": null}, "url_tags": {"type": "STRING", "index": 6, "name": "url_tags", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 7, "name": "_fivetran_synced", "comment": null}, "asset_feed_spec_link_urls": {"type": "STRING", "index": 8, "name": "asset_feed_spec_link_urls", "comment": null}, "object_story_link_data_child_attachments": {"type": "STRING", "index": 9, "name": "object_story_link_data_child_attachments", "comment": null}, "object_story_link_data_caption": {"type": "STRING", "index": 10, "name": "object_story_link_data_caption", "comment": null}, "object_story_link_data_description": {"type": "STRING", "index": 11, "name": "object_story_link_data_description", "comment": null}, "object_story_link_data_link": {"type": "STRING", "index": 12, "name": "object_story_link_data_link", "comment": null}, "object_story_link_data_message": {"type": "STRING", "index": 13, "name": "object_story_link_data_message", "comment": null}, "template_app_link_spec_ios": {"type": "STRING", "index": 14, "name": "template_app_link_spec_ios", "comment": null}, "_fivetran_id": {"type": "STRING", "index": 15, "name": "_fivetran_id", "comment": null}}, "stats": {"num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 1399000.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "num_rows": {"id": "num_rows", "label": "# Rows", "value": 1000.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.facebook_ads_source.facebook_ads.creative_history"}, "source.facebook_ads_source.facebook_ads.account_history": {"metadata": {"type": "table", "schema": "facebook_ads_integration_tests", "name": "facebook_ads_account_history_data", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"id": {"type": "INT64", "index": 1, "name": "id", "comment": null}, "name": {"type": "STRING", "index": 2, "name": "name", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 3, "name": "_fivetran_synced", "comment": null}}, "stats": {"num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 2478.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "num_rows": {"id": "num_rows", "label": "# Rows", "value": 59.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.facebook_ads_source.facebook_ads.account_history"}, "source.facebook_ads_source.facebook_ads.ad_history": {"metadata": {"type": "table", "schema": "facebook_ads_integration_tests", "name": "facebook_ads_ad_history_data", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"id": {"type": "INT64", "index": 1, "name": "id", "comment": null}, "account_id": {"type": "INT64", "index": 2, "name": "account_id", "comment": null}, "ad_set_id": {"type": "INT64", "index": 3, "name": "ad_set_id", "comment": null}, "campaign_id": {"type": "INT64", "index": 4, "name": "campaign_id", "comment": null}, "creative_id": {"type": "INT64", "index": 5, "name": "creative_id", "comment": null}, "name": {"type": "STRING", "index": 6, "name": "name", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 7, "name": "_fivetran_synced", "comment": null}, "updated_time": {"type": "TIMESTAMP", "index": 8, "name": "updated_time", "comment": null}}, "stats": {"num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 720.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "num_rows": {"id": "num_rows", "label": "# Rows", "value": 12.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.facebook_ads_source.facebook_ads.ad_history"}, "source.facebook_ads_source.facebook_ads.ad_set_history": {"metadata": {"type": "table", "schema": "facebook_ads_integration_tests", "name": "facebook_ads_ad_set_history_data", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"id": {"type": "INT64", "index": 1, "name": "id", "comment": null}, "account_id": {"type": "INT64", "index": 2, "name": "account_id", "comment": null}, "campaign_id": {"type": "INT64", "index": 3, "name": "campaign_id", "comment": null}, "name": {"type": "STRING", "index": 4, "name": "name", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 5, "name": "_fivetran_synced", "comment": null}, "updated_time": {"type": "TIMESTAMP", "index": 6, "name": "updated_time", "comment": null}}, "stats": {"num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 924.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "num_rows": {"id": "num_rows", "label": "# Rows", "value": 14.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.facebook_ads_source.facebook_ads.ad_set_history"}}, "errors": null} \ No newline at end of file diff --git a/docs/index.html b/docs/index.html index 0c4d0ec..182b6b4 100644 --- a/docs/index.html +++ b/docs/index.html @@ -24,7 +24,7 @@
icons
- diff --git a/docs/manifest.json b/docs/manifest.json index b89822a..b4be307 100644 --- a/docs/manifest.json +++ b/docs/manifest.json @@ -1 +1 @@ -{"metadata": {"dbt_schema_version": "https://schemas.getdbt.com/dbt/manifest/v4.json", "dbt_version": "1.0.4", "generated_at": "2022-08-26T21:05:12.531850Z", "invocation_id": "19fcddff-0e25-40ec-bebe-1f3806ee99e6", "env": {}, "project_id": "6d850e6ac780f18e972b683bd77cbc61", "user_id": "8929baf0-9bc1-477e-9a57-eb8b0db4da62", "send_anonymous_usage_stats": true, "adapter_type": "postgres"}, "nodes": {"seed.facebook_ads_integration_tests.facebook_ads_ad_history_data": {"raw_sql": "", "compiled": true, "resource_type": "seed", "depends_on": {"macros": [], "nodes": []}, "config": {"enabled": true, "alias": null, "schema": null, "database": null, "tags": [], "meta": {}, "materialized": "seed", "persist_docs": {}, "quoting": {}, "column_types": {"id": "bigint", "account_id": "bigint", "campaign_id": "bigint", "ad_set_id": "bigint", "ad_id": "bigint", "creative_id": "bigint", "page_link": "varchar", "template_page_link": "varchar", "_fivetran_synced": "timestamp", "updated_time": "timestamp"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "facebook_ads_integration_tests", "fqn": ["facebook_ads_integration_tests", "facebook_ads_ad_history_data"], "unique_id": "seed.facebook_ads_integration_tests.facebook_ads_ad_history_data", "package_name": "facebook_ads_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests", "path": "facebook_ads_ad_history_data.csv", "original_file_path": "seeds/facebook_ads_ad_history_data.csv", "name": "facebook_ads_ad_history_data", "alias": "facebook_ads_ad_history_data", "checksum": {"name": "sha256", "checksum": "5a608dd6713a14acd9ab1f8938154b2052c66fa5faae97403767d636c8d40639"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "account_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ad_set_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ad_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "creative_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "page_link": "{{ 'string' if target.name in ['bigquery','spark'] else 'varchar' }}", "template_page_link": "{{ 'string' if target.name in ['bigquery','spark'] else 'varchar' }}", "_fivetran_synced": "timestamp", "updated_time": "timestamp"}}, "created_at": 1661547899.635979, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"facebook_ads_integration_tests\".\"facebook_ads_ad_history_data\""}, "seed.facebook_ads_integration_tests.facebook_ads_creative_history_data": {"raw_sql": "", "compiled": true, "resource_type": "seed", "depends_on": {"macros": [], "nodes": []}, "config": {"enabled": true, "alias": null, "schema": null, "database": null, "tags": [], "meta": {}, "materialized": "seed", "persist_docs": {}, "quoting": {}, "column_types": {"id": "bigint", "account_id": "bigint", "campaign_id": "bigint", "ad_set_id": "bigint", "ad_id": "bigint", "creative_id": "bigint", "page_link": "varchar", "template_page_link": "varchar", "_fivetran_synced": "timestamp", "updated_time": "timestamp"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "facebook_ads_integration_tests", "fqn": ["facebook_ads_integration_tests", "facebook_ads_creative_history_data"], "unique_id": "seed.facebook_ads_integration_tests.facebook_ads_creative_history_data", "package_name": "facebook_ads_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests", "path": "facebook_ads_creative_history_data.csv", "original_file_path": "seeds/facebook_ads_creative_history_data.csv", "name": "facebook_ads_creative_history_data", "alias": "facebook_ads_creative_history_data", "checksum": {"name": "path", "checksum": "seeds/facebook_ads_creative_history_data.csv"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "account_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ad_set_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ad_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "creative_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "page_link": "{{ 'string' if target.name in ['bigquery','spark'] else 'varchar' }}", "template_page_link": "{{ 'string' if target.name in ['bigquery','spark'] else 'varchar' }}", "_fivetran_synced": "timestamp", "updated_time": "timestamp"}}, "created_at": 1661547899.64346, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"facebook_ads_integration_tests\".\"facebook_ads_creative_history_data\""}, "seed.facebook_ads_integration_tests.facebook_ads_campaign_history_data": {"raw_sql": "", "compiled": true, "resource_type": "seed", "depends_on": {"macros": [], "nodes": []}, "config": {"enabled": true, "alias": null, "schema": null, "database": null, "tags": [], "meta": {}, "materialized": "seed", "persist_docs": {}, "quoting": {}, "column_types": {"id": "bigint", "account_id": "bigint", "campaign_id": "bigint", "ad_set_id": "bigint", "ad_id": "bigint", "creative_id": "bigint", "page_link": "varchar", "template_page_link": "varchar", "_fivetran_synced": "timestamp", "updated_time": "timestamp"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "facebook_ads_integration_tests", "fqn": ["facebook_ads_integration_tests", "facebook_ads_campaign_history_data"], "unique_id": "seed.facebook_ads_integration_tests.facebook_ads_campaign_history_data", "package_name": "facebook_ads_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests", "path": "facebook_ads_campaign_history_data.csv", "original_file_path": "seeds/facebook_ads_campaign_history_data.csv", "name": "facebook_ads_campaign_history_data", "alias": "facebook_ads_campaign_history_data", "checksum": {"name": "sha256", "checksum": "96f0804b9fd4c4975a009d24ff87e9748d713aebf1a0c5eb9f9411bb27e6936d"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "account_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ad_set_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ad_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "creative_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "page_link": "{{ 'string' if target.name in ['bigquery','spark'] else 'varchar' }}", "template_page_link": "{{ 'string' if target.name in ['bigquery','spark'] else 'varchar' }}", "_fivetran_synced": "timestamp", "updated_time": "timestamp"}}, "created_at": 1661547899.644564, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"facebook_ads_integration_tests\".\"facebook_ads_campaign_history_data\""}, "seed.facebook_ads_integration_tests.facebook_ads_account_history_data": {"raw_sql": "", "compiled": true, "resource_type": "seed", "depends_on": {"macros": [], "nodes": []}, "config": {"enabled": true, "alias": null, "schema": null, "database": null, "tags": [], "meta": {}, "materialized": "seed", "persist_docs": {}, "quoting": {}, "column_types": {"id": "bigint", "account_id": "bigint", "campaign_id": "bigint", "ad_set_id": "bigint", "ad_id": "bigint", "creative_id": "bigint", "page_link": "varchar", "template_page_link": "varchar", "_fivetran_synced": "timestamp", "updated_time": "timestamp"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "facebook_ads_integration_tests", "fqn": ["facebook_ads_integration_tests", "facebook_ads_account_history_data"], "unique_id": "seed.facebook_ads_integration_tests.facebook_ads_account_history_data", "package_name": "facebook_ads_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests", "path": "facebook_ads_account_history_data.csv", "original_file_path": "seeds/facebook_ads_account_history_data.csv", "name": "facebook_ads_account_history_data", "alias": "facebook_ads_account_history_data", "checksum": {"name": "sha256", "checksum": "cd864f60b0ec016488416e66c22b5ff0ffcb882139124d92c3207f5abb0ae36d"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "account_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ad_set_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ad_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "creative_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "page_link": "{{ 'string' if target.name in ['bigquery','spark'] else 'varchar' }}", "template_page_link": "{{ 'string' if target.name in ['bigquery','spark'] else 'varchar' }}", "_fivetran_synced": "timestamp", "updated_time": "timestamp"}}, "created_at": 1661547899.6455932, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"facebook_ads_integration_tests\".\"facebook_ads_account_history_data\""}, "seed.facebook_ads_integration_tests.facebook_ads_basic_ad_data": {"raw_sql": "", "compiled": true, "resource_type": "seed", "depends_on": {"macros": [], "nodes": []}, "config": {"enabled": true, "alias": null, "schema": null, "database": null, "tags": [], "meta": {}, "materialized": "seed", "persist_docs": {}, "quoting": {}, "column_types": {"id": "bigint", "account_id": "bigint", "campaign_id": "bigint", "ad_set_id": "bigint", "ad_id": "bigint", "creative_id": "bigint", "page_link": "varchar", "template_page_link": "varchar", "_fivetran_synced": "timestamp", "updated_time": "timestamp"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "facebook_ads_integration_tests", "fqn": ["facebook_ads_integration_tests", "facebook_ads_basic_ad_data"], "unique_id": "seed.facebook_ads_integration_tests.facebook_ads_basic_ad_data", "package_name": "facebook_ads_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests", "path": "facebook_ads_basic_ad_data.csv", "original_file_path": "seeds/facebook_ads_basic_ad_data.csv", "name": "facebook_ads_basic_ad_data", "alias": "facebook_ads_basic_ad_data", "checksum": {"name": "sha256", "checksum": "9082e51d95fad909f39b5b9eb8791113923bff57ad2234d809a06e2484af8a02"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "account_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ad_set_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ad_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "creative_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "page_link": "{{ 'string' if target.name in ['bigquery','spark'] else 'varchar' }}", "template_page_link": "{{ 'string' if target.name in ['bigquery','spark'] else 'varchar' }}", "_fivetran_synced": "timestamp", "updated_time": "timestamp"}}, "created_at": 1661547899.646604, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"facebook_ads_integration_tests\".\"facebook_ads_basic_ad_data\""}, "seed.facebook_ads_integration_tests.facebook_ads_ad_set_history_data": {"raw_sql": "", "compiled": true, "resource_type": "seed", "depends_on": {"macros": [], "nodes": []}, "config": {"enabled": true, "alias": null, "schema": null, "database": null, "tags": [], "meta": {}, "materialized": "seed", "persist_docs": {}, "quoting": {}, "column_types": {"id": "bigint", "account_id": "bigint", "campaign_id": "bigint", "ad_set_id": "bigint", "ad_id": "bigint", "creative_id": "bigint", "page_link": "varchar", "template_page_link": "varchar", "_fivetran_synced": "timestamp", "updated_time": "timestamp"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "facebook_ads_integration_tests", "fqn": ["facebook_ads_integration_tests", "facebook_ads_ad_set_history_data"], "unique_id": "seed.facebook_ads_integration_tests.facebook_ads_ad_set_history_data", "package_name": "facebook_ads_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests", "path": "facebook_ads_ad_set_history_data.csv", "original_file_path": "seeds/facebook_ads_ad_set_history_data.csv", "name": "facebook_ads_ad_set_history_data", "alias": "facebook_ads_ad_set_history_data", "checksum": {"name": "sha256", "checksum": "12acac7bd346464eb4c225f94127c8b3a6879e3a9a856e5053385f07055cadd4"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "account_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ad_set_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ad_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "creative_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "page_link": "{{ 'string' if target.name in ['bigquery','spark'] else 'varchar' }}", "template_page_link": "{{ 'string' if target.name in ['bigquery','spark'] else 'varchar' }}", "_fivetran_synced": "timestamp", "updated_time": "timestamp"}}, "created_at": 1661547899.647744, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"facebook_ads_integration_tests\".\"facebook_ads_ad_set_history_data\""}, "model.facebook_ads.facebook_ads__url_report": {"raw_sql": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nwith report as (\n\n select *\n from {{ var('basic_ad') }}\n\n), \n\ncreatives as (\n\n select *\n from {{ ref('int_facebook_ads__creative_history') }}\n\n), \n\naccounts as (\n\n select *\n from {{ var('account_history') }}\n where is_most_recent_record = true\n\n), \n\nads as (\n\n select *\n from {{ var('ad_history') }}\n where is_most_recent_record = true\n\n), \n\nad_sets as (\n\n select *\n from {{ var('ad_set_history') }}\n where is_most_recent_record = true\n\n), \n\ncampaigns as (\n\n select *\n from {{ var('campaign_history') }}\n where is_most_recent_record = true\n\n), \n\njoined as (\n\n select\n report.date_day,\n accounts.account_id,\n accounts.account_name,\n campaigns.campaign_id,\n campaigns.campaign_name,\n ad_sets.ad_set_id,\n ad_sets.ad_set_name,\n ads.ad_id,\n ads.ad_name,\n creatives.creative_id,\n creatives.creative_name,\n creatives.base_url,\n creatives.url_host,\n creatives.url_path,\n creatives.utm_source,\n creatives.utm_medium,\n creatives.utm_campaign,\n creatives.utm_content,\n creatives.utm_term,\n sum(report.clicks) as clicks,\n sum(report.impressions) as impressions,\n sum(report.spend) as spend\n\n {{ fivetran_utils.persist_pass_through_columns(pass_through_variable='facebook_ads__basic_ad_passthrough_metrics', transform = 'sum') }}\n from report\n left join ads \n on report.ad_id = ads.ad_id\n left join creatives\n on ads.creative_id = creatives.creative_id\n left join ad_sets\n on ads.ad_set_id = ad_sets.ad_set_id\n left join campaigns\n on ads.campaign_id = campaigns.campaign_id\n left join accounts\n on report.account_id = accounts.account_id \n where creatives.url is not null\n {{ dbt_utils.group_by(19) }}\n)\n\nselect *\nfrom joined", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.fivetran_utils.persist_pass_through_columns", "macro.dbt_utils.group_by"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__basic_ad", "model.facebook_ads.int_facebook_ads__creative_history", "model.facebook_ads_source.stg_facebook_ads__account_history", "model.facebook_ads_source.stg_facebook_ads__ad_history", "model.facebook_ads_source.stg_facebook_ads__ad_set_history", "model.facebook_ads_source.stg_facebook_ads__campaign_history"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_ads", "database": null, "tags": [], "meta": {}, "materialized": "table", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "facebook_ads_integration_tests_facebook_ads", "fqn": ["facebook_ads", "facebook_ads__url_report"], "unique_id": "model.facebook_ads.facebook_ads__url_report", "package_name": "facebook_ads", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "facebook_ads__url_report.sql", "original_file_path": "models/facebook_ads__url_report.sql", "name": "facebook_ads__url_report", "alias": "facebook_ads__url_report", "checksum": {"name": "sha256", "checksum": "10c9e21c2dd8784f9e08d760bced13633256fa77a516234ee971c3c6d1aa97c6"}, "tags": [], "refs": [["stg_facebook_ads__basic_ad"], ["int_facebook_ads__creative_history"], ["stg_facebook_ads__account_history"], ["stg_facebook_ads__ad_history"], ["stg_facebook_ads__ad_set_history"], ["stg_facebook_ads__campaign_history"]], "sources": [], "description": "Each record represents the daily performance of a Facebook ad at the URL level.", "columns": {"date_day": {"name": "date_day", "description": "The date of the performance.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "The ID of the related account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_name": {"name": "account_name", "description": "The name of the related account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_id": {"name": "campaign_id", "description": "The ID of the related campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_name": {"name": "campaign_name", "description": "The name of the related campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_set_id": {"name": "ad_set_id", "description": "The ID of the related ad set.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_set_name": {"name": "ad_set_name", "description": "The name of the related ad set.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_id": {"name": "ad_id", "description": "The ID of the related ad.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_name": {"name": "ad_name", "description": "The name of the related ad.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "creative_id": {"name": "creative_id", "description": "The ID of the related creative.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "creative_name": {"name": "creative_name", "description": "The name of the related creative.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "base_url": {"name": "base_url", "description": "The base URL of the ad, extracted from the page_link and template_page_link.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "url_host": {"name": "url_host", "description": "The URL host of the ad, extracted from the page_link and template_page_link.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "url_path": {"name": "url_path", "description": "The URL path of the ad, extracted from the page_link and template_page_link.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "utm_source": {"name": "utm_source", "description": "The utm_source parameter of the ad, extracted from the page_link and template_page_link.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "utm_medium": {"name": "utm_medium", "description": "The utm_medium parameter of the ad, extracted from the page_link and template_page_link.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "utm_campaign": {"name": "utm_campaign", "description": "The utm_campaign parameter of the ad, extracted from the page_link and template_page_link.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "utm_content": {"name": "utm_content", "description": "The utm_content parameter of the ad, extracted from the page_link and template_page_link.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "utm_term": {"name": "utm_term", "description": "The utm_term parameter of the ad, extracted from the page_link and template_page_link.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clicks": {"name": "clicks", "description": "The number of clicks the ad had on the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "The number of impressions the ad had on the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The spend on the ad in the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "facebook_ads://models/facebook.yml", "compiled_path": "target/compiled/facebook_ads/models/facebook_ads__url_report.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads", "materialized": "table", "enabled": true}, "created_at": 1661547899.963594, "compiled_sql": "\n\nwith report as (\n\n select *\n from \"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__basic_ad\"\n\n), \n\ncreatives as (\n\n select *\n from \"postgres\".\"facebook_ads_integration_tests_facebook_ads\".\"int_facebook_ads__creative_history\"\n\n), \n\naccounts as (\n\n select *\n from \"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__account_history\"\n where is_most_recent_record = true\n\n), \n\nads as (\n\n select *\n from \"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__ad_history\"\n where is_most_recent_record = true\n\n), \n\nad_sets as (\n\n select *\n from \"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__ad_set_history\"\n where is_most_recent_record = true\n\n), \n\ncampaigns as (\n\n select *\n from \"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__campaign_history\"\n where is_most_recent_record = true\n\n), \n\njoined as (\n\n select\n report.date_day,\n accounts.account_id,\n accounts.account_name,\n campaigns.campaign_id,\n campaigns.campaign_name,\n ad_sets.ad_set_id,\n ad_sets.ad_set_name,\n ads.ad_id,\n ads.ad_name,\n creatives.creative_id,\n creatives.creative_name,\n creatives.base_url,\n creatives.url_host,\n creatives.url_path,\n creatives.utm_source,\n creatives.utm_medium,\n creatives.utm_campaign,\n creatives.utm_content,\n creatives.utm_term,\n sum(report.clicks) as clicks,\n sum(report.impressions) as impressions,\n sum(report.spend) as spend\n\n \n\n\n\n\n from report\n left join ads \n on report.ad_id = ads.ad_id\n left join creatives\n on ads.creative_id = creatives.creative_id\n left join ad_sets\n on ads.ad_set_id = ad_sets.ad_set_id\n left join campaigns\n on ads.campaign_id = campaigns.campaign_id\n left join accounts\n on report.account_id = accounts.account_id \n where creatives.url is not null\n group by 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19\n)\n\nselect *\nfrom joined", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"facebook_ads_integration_tests_facebook_ads\".\"facebook_ads__url_report\""}, "model.facebook_ads.facebook_ads__url_tags": {"raw_sql": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nwith base as (\n\n select *\n from {{ var('creative_history') }}\n where is_most_recent_record = true\n), \n\nrequired_fields as (\n\n select\n _fivetran_id,\n creative_id,\n url_tags\n from base\n where url_tags is not null\n), \n\n{{ get_url_tags_query() }} \n\nselect *\nfrom fields", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.facebook_ads.get_url_tags_query"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__creative_history"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_ads", "database": null, "tags": [], "meta": {}, "materialized": "table", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "facebook_ads_integration_tests_facebook_ads", "fqn": ["facebook_ads", "facebook_ads__url_tags"], "unique_id": "model.facebook_ads.facebook_ads__url_tags", "package_name": "facebook_ads", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "facebook_ads__url_tags.sql", "original_file_path": "models/facebook_ads__url_tags.sql", "name": "facebook_ads__url_tags", "alias": "facebook_ads__url_tags", "checksum": {"name": "sha256", "checksum": "94dcb7faf1441b289fcec62f3e81794a05a34cf10bf2955e8a8f8c18555f8ad2"}, "tags": [], "refs": [["stg_facebook_ads__creative_history"]], "sources": [], "description": "Each record is a unique combination of creative_id and corresponding key, value, type contained in the url_tags field", "columns": {"_fivetran_id": {"name": "_fivetran_id", "description": "The unique fivetran ID for this record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "creative_id": {"name": "creative_id", "description": "The associated creative_id for this record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "key": {"name": "key", "description": "The url tag object name e.g. utm_source associated with this record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "value": {"name": "value", "description": "The value assigned to the url tag object associated with this record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "type": {"name": "type", "description": "The type assigned to the url tag object e.g. 'AD_VIDEO'.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "facebook_ads://models/facebook.yml", "compiled_path": "target/compiled/facebook_ads/models/facebook_ads__url_tags.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads", "materialized": "table", "enabled": true}, "created_at": 1661547899.9717839, "compiled_sql": "\n\nwith base as (\n\n select *\n from \"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__creative_history\"\n where is_most_recent_record = true\n), \n\nrequired_fields as (\n\n select\n _fivetran_id,\n creative_id,\n url_tags\n from base\n where url_tags is not null\n), \n\n\n\n cleaned_json as (\n\n select\n _fivetran_id,\n creative_id,\n replace(trim(url_tags::text, '\"'),'\\\\','')::json as cleaned_url_tags\n from required_fields\n ), \n\n unnested as (\n\n select \n _fivetran_id, \n creative_id, \n url_tag_element\n from cleaned_json\n left join lateral json_array_elements(cleaned_url_tags) as url_tag_element on True\n where cleaned_url_tags is not null\n ), \n\n fields as (\n\n select\n _fivetran_id,\n creative_id,\n url_tag_element->>'key' as key,\n url_tag_element->>'value' as value,\n url_tag_element->>'type' as type\n from unnested\n )\n\n \n\nselect *\nfrom fields", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"facebook_ads_integration_tests_facebook_ads\".\"facebook_ads__url_tags\""}, "model.facebook_ads.facebook_ads__campaign_report": {"raw_sql": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nwith report as (\n\n select *\n from {{ var('basic_ad') }}\n\n), \n\naccounts as (\n\n select *\n from {{ var('account_history') }}\n where is_most_recent_record = true\n\n),\n\ncampaigns as (\n\n select *\n from {{ var('campaign_history') }}\n where is_most_recent_record = true\n\n),\n\nads as (\n\n select *\n from {{ var('ad_history') }}\n where is_most_recent_record = true\n\n),\n\njoined as (\n\n select \n report.date_day,\n accounts.account_id,\n accounts.account_name,\n campaigns.campaign_id,\n campaigns.campaign_name,\n campaigns.start_at,\n campaigns.end_at,\n campaigns.status,\n campaigns.daily_budget,\n campaigns.lifetime_budget,\n campaigns.budget_remaining,\n sum(report.clicks) as clicks,\n sum(report.impressions) as impressions,\n sum(report.spend) as spend\n\n {{ fivetran_utils.persist_pass_through_columns(pass_through_variable='facebook_ads__basic_ad_passthrough_metrics', transform = 'sum') }}\n from report \n left join accounts\n on report.account_id = accounts.account_id\n left join ads \n on report.ad_id = ads.ad_id\n left join campaigns\n on ads.campaign_id = campaigns.campaign_id\n {{ dbt_utils.group_by(11) }}\n)\n\nselect *\nfrom joined", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.fivetran_utils.persist_pass_through_columns", "macro.dbt_utils.group_by"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__basic_ad", "model.facebook_ads_source.stg_facebook_ads__account_history", "model.facebook_ads_source.stg_facebook_ads__campaign_history", "model.facebook_ads_source.stg_facebook_ads__ad_history"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_ads", "database": null, "tags": [], "meta": {}, "materialized": "table", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "facebook_ads_integration_tests_facebook_ads", "fqn": ["facebook_ads", "facebook_ads__campaign_report"], "unique_id": "model.facebook_ads.facebook_ads__campaign_report", "package_name": "facebook_ads", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "facebook_ads__campaign_report.sql", "original_file_path": "models/facebook_ads__campaign_report.sql", "name": "facebook_ads__campaign_report", "alias": "facebook_ads__campaign_report", "checksum": {"name": "sha256", "checksum": "4bec447c9d29e7a26180ce14a68d0a1217d60f0d24bed7c89716b3520c053a75"}, "tags": [], "refs": [["stg_facebook_ads__basic_ad"], ["stg_facebook_ads__account_history"], ["stg_facebook_ads__campaign_history"], ["stg_facebook_ads__ad_history"]], "sources": [], "description": "Each record represents the daily performance of a Facebook campaign.", "columns": {"date_day": {"name": "date_day", "description": "The date of the performance.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "The ID of the related account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_name": {"name": "account_name", "description": "The name of the related account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_id": {"name": "campaign_id", "description": "The ID of the related campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_name": {"name": "campaign_name", "description": "The name of the related campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clicks": {"name": "clicks", "description": "The number of clicks the ad had on the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "The number of impressions the ad had on the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The spend on the ad in the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "facebook_ads://models/facebook.yml", "compiled_path": "target/compiled/facebook_ads/models/facebook_ads__campaign_report.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads", "materialized": "table", "enabled": true}, "created_at": 1661547899.9697511, "compiled_sql": "\n\nwith report as (\n\n select *\n from \"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__basic_ad\"\n\n), \n\naccounts as (\n\n select *\n from \"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__account_history\"\n where is_most_recent_record = true\n\n),\n\ncampaigns as (\n\n select *\n from \"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__campaign_history\"\n where is_most_recent_record = true\n\n),\n\nads as (\n\n select *\n from \"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__ad_history\"\n where is_most_recent_record = true\n\n),\n\njoined as (\n\n select \n report.date_day,\n accounts.account_id,\n accounts.account_name,\n campaigns.campaign_id,\n campaigns.campaign_name,\n campaigns.start_at,\n campaigns.end_at,\n campaigns.status,\n campaigns.daily_budget,\n campaigns.lifetime_budget,\n campaigns.budget_remaining,\n sum(report.clicks) as clicks,\n sum(report.impressions) as impressions,\n sum(report.spend) as spend\n\n \n\n\n\n\n from report \n left join accounts\n on report.account_id = accounts.account_id\n left join ads \n on report.ad_id = ads.ad_id\n left join campaigns\n on ads.campaign_id = campaigns.campaign_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\".\"facebook_ads_integration_tests_facebook_ads\".\"facebook_ads__campaign_report\""}, "model.facebook_ads.facebook_ads__account_report": {"raw_sql": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nwith report as (\n\n select *\n from {{ var('basic_ad') }}\n\n), \n\naccounts as (\n\n select *\n from {{ var('account_history') }}\n where is_most_recent_record = true\n\n),\n\njoined as (\n\n select \n report.date_day,\n accounts.account_id,\n accounts.account_name,\n accounts.account_status,\n accounts.business_country_code,\n accounts.created_at,\n accounts.currency,\n accounts.timezone_name,\n sum(report.clicks) as clicks,\n sum(report.impressions) as impressions,\n sum(report.spend) as spend\n\n {{ fivetran_utils.persist_pass_through_columns(pass_through_variable='facebook_ads__basic_ad_passthrough_metrics', transform = 'sum') }}\n from report \n left join accounts\n on report.account_id = accounts.account_id\n {{ dbt_utils.group_by(8) }}\n)\n\nselect *\nfrom joined", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.fivetran_utils.persist_pass_through_columns", "macro.dbt_utils.group_by"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__basic_ad", "model.facebook_ads_source.stg_facebook_ads__account_history"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_ads", "database": null, "tags": [], "meta": {}, "materialized": "table", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "facebook_ads_integration_tests_facebook_ads", "fqn": ["facebook_ads", "facebook_ads__account_report"], "unique_id": "model.facebook_ads.facebook_ads__account_report", "package_name": "facebook_ads", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "facebook_ads__account_report.sql", "original_file_path": "models/facebook_ads__account_report.sql", "name": "facebook_ads__account_report", "alias": "facebook_ads__account_report", "checksum": {"name": "sha256", "checksum": "845cdb5118e536d66d515c2e11eee71d380e406ba4f443bae4828ec70362841e"}, "tags": [], "refs": [["stg_facebook_ads__basic_ad"], ["stg_facebook_ads__account_history"]], "sources": [], "description": "Each record represents the daily performance of a Facebook account.", "columns": {"date_day": {"name": "date_day", "description": "The date of the performance.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "The ID of the related account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_name": {"name": "account_name", "description": "The name of the related account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clicks": {"name": "clicks", "description": "The number of clicks the ad had on the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "The number of impressions the ad had on the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The spend on the ad in the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "facebook_ads://models/facebook.yml", "compiled_path": "target/compiled/facebook_ads/models/facebook_ads__account_report.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads", "materialized": "table", "enabled": true}, "created_at": 1661547899.9708512, "compiled_sql": "\n\nwith report as (\n\n select *\n from \"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__basic_ad\"\n\n), \n\naccounts as (\n\n select *\n from \"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__account_history\"\n where is_most_recent_record = true\n\n),\n\njoined as (\n\n select \n report.date_day,\n accounts.account_id,\n accounts.account_name,\n accounts.account_status,\n accounts.business_country_code,\n accounts.created_at,\n accounts.currency,\n accounts.timezone_name,\n sum(report.clicks) as clicks,\n sum(report.impressions) as impressions,\n sum(report.spend) as spend\n\n \n\n\n\n\n from report \n left join accounts\n on report.account_id = accounts.account_id\n group by 1,2,3,4,5,6,7,8\n)\n\nselect *\nfrom joined", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"facebook_ads_integration_tests_facebook_ads\".\"facebook_ads__account_report\""}, "model.facebook_ads.facebook_ads__ad_report": {"raw_sql": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nwith report as (\n\n select *\n from {{ var('basic_ad') }}\n\n), \n\naccounts as (\n\n select *\n from {{ var('account_history') }}\n where is_most_recent_record = true\n\n),\n\ncampaigns as (\n\n select *\n from {{ var('campaign_history') }}\n where is_most_recent_record = true\n\n),\n\nad_sets as (\n\n select *\n from {{ var('ad_set_history') }}\n where is_most_recent_record = true\n\n),\n\nads as (\n\n select *\n from {{ var('ad_history') }}\n where is_most_recent_record = true\n\n),\n\njoined as (\n\n select \n report.date_day,\n accounts.account_id,\n accounts.account_name,\n campaigns.campaign_id,\n campaigns.campaign_name,\n ad_sets.ad_set_id,\n ad_sets.ad_set_name,\n ads.ad_id,\n ads.ad_name,\n sum(report.clicks) as clicks,\n sum(report.impressions) as impressions,\n sum(report.spend) as spend\n\n {{ fivetran_utils.persist_pass_through_columns(pass_through_variable='facebook_ads__basic_ad_passthrough_metrics', transform = 'sum') }}\n from report \n left join accounts\n on report.account_id = accounts.account_id\n left join ads \n on report.ad_id = ads.ad_id\n left join campaigns\n on ads.campaign_id = campaigns.campaign_id\n left join ad_sets\n on ads.ad_set_id = ad_sets.ad_set_id\n {{ dbt_utils.group_by(9) }}\n)\n\nselect *\nfrom joined", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.fivetran_utils.persist_pass_through_columns", "macro.dbt_utils.group_by"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__basic_ad", "model.facebook_ads_source.stg_facebook_ads__account_history", "model.facebook_ads_source.stg_facebook_ads__campaign_history", "model.facebook_ads_source.stg_facebook_ads__ad_set_history", "model.facebook_ads_source.stg_facebook_ads__ad_history"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_ads", "database": null, "tags": [], "meta": {}, "materialized": "table", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "facebook_ads_integration_tests_facebook_ads", "fqn": ["facebook_ads", "facebook_ads__ad_report"], "unique_id": "model.facebook_ads.facebook_ads__ad_report", "package_name": "facebook_ads", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "facebook_ads__ad_report.sql", "original_file_path": "models/facebook_ads__ad_report.sql", "name": "facebook_ads__ad_report", "alias": "facebook_ads__ad_report", "checksum": {"name": "sha256", "checksum": "36088a9abc521347aacc7d9bf0f56fd712441e94a2bc66ef334f85ff8f4761ea"}, "tags": [], "refs": [["stg_facebook_ads__basic_ad"], ["stg_facebook_ads__account_history"], ["stg_facebook_ads__campaign_history"], ["stg_facebook_ads__ad_set_history"], ["stg_facebook_ads__ad_history"]], "sources": [], "description": "Each record represents the daily performance of a Facebook ad.", "columns": {"date_day": {"name": "date_day", "description": "The date of the performance.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "The ID of the related account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_name": {"name": "account_name", "description": "The name of the related account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_id": {"name": "campaign_id", "description": "The ID of the related campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_name": {"name": "campaign_name", "description": "The name of the related campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_set_id": {"name": "ad_set_id", "description": "The ID of the related ad set.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_set_name": {"name": "ad_set_name", "description": "The name of the related ad set.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_id": {"name": "ad_id", "description": "The ID of the related ad.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_name": {"name": "ad_name", "description": "The name of the related ad.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clicks": {"name": "clicks", "description": "The number of clicks the ad had on the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "The number of impressions the ad had on the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The spend on the ad in the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "facebook_ads://models/facebook.yml", "compiled_path": "target/compiled/facebook_ads/models/facebook_ads__ad_report.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads", "materialized": "table", "enabled": true}, "created_at": 1661547899.966072, "compiled_sql": "\n\nwith report as (\n\n select *\n from \"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__basic_ad\"\n\n), \n\naccounts as (\n\n select *\n from \"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__account_history\"\n where is_most_recent_record = true\n\n),\n\ncampaigns as (\n\n select *\n from \"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__campaign_history\"\n where is_most_recent_record = true\n\n),\n\nad_sets as (\n\n select *\n from \"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__ad_set_history\"\n where is_most_recent_record = true\n\n),\n\nads as (\n\n select *\n from \"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__ad_history\"\n where is_most_recent_record = true\n\n),\n\njoined as (\n\n select \n report.date_day,\n accounts.account_id,\n accounts.account_name,\n campaigns.campaign_id,\n campaigns.campaign_name,\n ad_sets.ad_set_id,\n ad_sets.ad_set_name,\n ads.ad_id,\n ads.ad_name,\n sum(report.clicks) as clicks,\n sum(report.impressions) as impressions,\n sum(report.spend) as spend\n\n \n\n\n\n\n from report \n left join accounts\n on report.account_id = accounts.account_id\n left join ads \n on report.ad_id = ads.ad_id\n left join campaigns\n on ads.campaign_id = campaigns.campaign_id\n left join ad_sets\n on ads.ad_set_id = ad_sets.ad_set_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\".\"facebook_ads_integration_tests_facebook_ads\".\"facebook_ads__ad_report\""}, "model.facebook_ads.facebook_ads__ad_set_report": {"raw_sql": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nwith report as (\n\n select *\n from {{ var('basic_ad') }}\n\n), \n\naccounts as (\n\n select *\n from {{ var('account_history') }}\n where is_most_recent_record = true\n\n),\n\ncampaigns as (\n\n select *\n from {{ var('campaign_history') }}\n where is_most_recent_record = true\n\n),\n\nad_sets as (\n\n select *\n from {{ var('ad_set_history') }}\n where is_most_recent_record = true\n\n),\n\nads as (\n\n select *\n from {{ var('ad_history') }}\n where is_most_recent_record = true\n\n),\n\njoined as (\n\n select \n report.date_day,\n accounts.account_id,\n accounts.account_name,\n campaigns.campaign_id,\n campaigns.campaign_name,\n ad_sets.ad_set_id,\n ad_sets.ad_set_name,\n ad_sets.start_at,\n ad_sets.end_at,\n ad_sets.bid_strategy,\n ad_sets.daily_budget,\n ad_sets.budget_remaining,\n sum(report.clicks) as clicks,\n sum(report.impressions) as impressions,\n sum(report.spend) as spend\n\n {{ fivetran_utils.persist_pass_through_columns(pass_through_variable='facebook_ads__basic_ad_passthrough_metrics', transform = 'sum') }}\n from report \n left join accounts\n on report.account_id = accounts.account_id\n left join ads \n on report.ad_id = ads.ad_id\n left join campaigns\n on ads.campaign_id = campaigns.campaign_id\n left join ad_sets\n on ads.ad_set_id = ad_sets.ad_set_id\n {{ dbt_utils.group_by(12) }}\n)\n\nselect *\nfrom joined", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.fivetran_utils.persist_pass_through_columns", "macro.dbt_utils.group_by"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__basic_ad", "model.facebook_ads_source.stg_facebook_ads__account_history", "model.facebook_ads_source.stg_facebook_ads__campaign_history", "model.facebook_ads_source.stg_facebook_ads__ad_set_history", "model.facebook_ads_source.stg_facebook_ads__ad_history"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_ads", "database": null, "tags": [], "meta": {}, "materialized": "table", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "facebook_ads_integration_tests_facebook_ads", "fqn": ["facebook_ads", "facebook_ads__ad_set_report"], "unique_id": "model.facebook_ads.facebook_ads__ad_set_report", "package_name": "facebook_ads", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "facebook_ads__ad_set_report.sql", "original_file_path": "models/facebook_ads__ad_set_report.sql", "name": "facebook_ads__ad_set_report", "alias": "facebook_ads__ad_set_report", "checksum": {"name": "sha256", "checksum": "d1b0e28fe240e405fe8f746c38d4fad26a8d43e10dcd6f375617b78095f87e01"}, "tags": [], "refs": [["stg_facebook_ads__basic_ad"], ["stg_facebook_ads__account_history"], ["stg_facebook_ads__campaign_history"], ["stg_facebook_ads__ad_set_history"], ["stg_facebook_ads__ad_history"]], "sources": [], "description": "Each record represents the daily performance of a Facebook ad set.", "columns": {"date_day": {"name": "date_day", "description": "The date of the performance.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "The ID of the related account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_name": {"name": "account_name", "description": "The name of the related account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_id": {"name": "campaign_id", "description": "The ID of the related campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_name": {"name": "campaign_name", "description": "The name of the related campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_set_id": {"name": "ad_set_id", "description": "The ID of the related ad set.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_set_name": {"name": "ad_set_name", "description": "The name of the related ad set.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clicks": {"name": "clicks", "description": "The number of clicks the ad had on the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "The number of impressions the ad had on the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The spend on the ad in the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "facebook_ads://models/facebook.yml", "compiled_path": "target/compiled/facebook_ads/models/facebook_ads__ad_set_report.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads", "materialized": "table", "enabled": true}, "created_at": 1661547899.967836, "compiled_sql": "\n\nwith report as (\n\n select *\n from \"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__basic_ad\"\n\n), \n\naccounts as (\n\n select *\n from \"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__account_history\"\n where is_most_recent_record = true\n\n),\n\ncampaigns as (\n\n select *\n from \"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__campaign_history\"\n where is_most_recent_record = true\n\n),\n\nad_sets as (\n\n select *\n from \"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__ad_set_history\"\n where is_most_recent_record = true\n\n),\n\nads as (\n\n select *\n from \"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__ad_history\"\n where is_most_recent_record = true\n\n),\n\njoined as (\n\n select \n report.date_day,\n accounts.account_id,\n accounts.account_name,\n campaigns.campaign_id,\n campaigns.campaign_name,\n ad_sets.ad_set_id,\n ad_sets.ad_set_name,\n ad_sets.start_at,\n ad_sets.end_at,\n ad_sets.bid_strategy,\n ad_sets.daily_budget,\n ad_sets.budget_remaining,\n sum(report.clicks) as clicks,\n sum(report.impressions) as impressions,\n sum(report.spend) as spend\n\n \n\n\n\n\n from report \n left join accounts\n on report.account_id = accounts.account_id\n left join ads \n on report.ad_id = ads.ad_id\n left join campaigns\n on ads.campaign_id = campaigns.campaign_id\n left join ad_sets\n on ads.ad_set_id = ad_sets.ad_set_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\".\"facebook_ads_integration_tests_facebook_ads\".\"facebook_ads__ad_set_report\""}, "model.facebook_ads.int_facebook_ads__creative_history": {"raw_sql": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\n{% set url_field = \"coalesce(page_link,template_page_link)\" %}\n\nwith base as (\n\n select *\n from {{ var('creative_history') }}\n where is_most_recent_record = true\n\n), \n\nurl_tags as (\n\n select *\n from {{ ref('facebook_ads__url_tags') }}\n), \n\nurl_tags_pivoted as (\n\n select \n _fivetran_id,\n creative_id,\n min(case when key = 'utm_source' then value end) as utm_source,\n min(case when key = 'utm_medium' then value end) as utm_medium,\n min(case when key = 'utm_campaign' then value end) as utm_campaign,\n min(case when key = 'utm_content' then value end) as utm_content,\n min(case when key = 'utm_term' then value end) as utm_term\n from url_tags\n group by 1,2\n\n), \n\nfields as (\n\n select\n base._fivetran_id,\n base.creative_id,\n base.account_id,\n base.creative_name,\n {{ url_field }} as url,\n {{ dbt_utils.split_part(url_field, \"'?'\", 1) }} as base_url,\n {{ dbt_utils.get_url_host(url_field) }} as url_host,\n '/' || {{ dbt_utils.get_url_path(url_field) }} as url_path,\n coalesce(url_tags_pivoted.utm_source, {{ dbt_utils.get_url_parameter(url_field, 'utm_source') }}) as utm_source,\n coalesce(url_tags_pivoted.utm_medium, {{ dbt_utils.get_url_parameter(url_field, 'utm_medium') }}) as utm_medium,\n coalesce(url_tags_pivoted.utm_campaign, {{ dbt_utils.get_url_parameter(url_field, 'utm_campaign') }}) as utm_campaign,\n coalesce(url_tags_pivoted.utm_content, {{ dbt_utils.get_url_parameter(url_field, 'utm_content') }}) as utm_content,\n coalesce(url_tags_pivoted.utm_term, {{ dbt_utils.get_url_parameter(url_field, 'utm_term') }}) as utm_term\n from base\n left join url_tags_pivoted\n on base._fivetran_id = url_tags_pivoted._fivetran_id\n and base.creative_id = url_tags_pivoted.creative_id\n)\n\nselect *\nfrom fields", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.dbt_utils.split_part", "macro.dbt_utils.get_url_host", "macro.dbt_utils.get_url_path", "macro.dbt_utils.get_url_parameter"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__creative_history", "model.facebook_ads.facebook_ads__url_tags"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_ads", "database": null, "tags": [], "meta": {}, "materialized": "view", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "facebook_ads_integration_tests_facebook_ads", "fqn": ["facebook_ads", "intermediate", "int_facebook_ads__creative_history"], "unique_id": "model.facebook_ads.int_facebook_ads__creative_history", "package_name": "facebook_ads", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "intermediate/int_facebook_ads__creative_history.sql", "original_file_path": "models/intermediate/int_facebook_ads__creative_history.sql", "name": "int_facebook_ads__creative_history", "alias": "int_facebook_ads__creative_history", "checksum": {"name": "sha256", "checksum": "8ae43e8b153e019583a0b862ba65491fe953552c9a51ab478c545a8b52ef1d65"}, "tags": [], "refs": [["stg_facebook_ads__creative_history"], ["facebook_ads__url_tags"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads/models/intermediate/int_facebook_ads__creative_history.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads", "materialized": "view", "enabled": true}, "created_at": 1661547899.730457, "compiled_sql": "\n\n\n\nwith base as (\n\n select *\n from \"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__creative_history\"\n where is_most_recent_record = true\n\n), \n\nurl_tags as (\n\n select *\n from \"postgres\".\"facebook_ads_integration_tests_facebook_ads\".\"facebook_ads__url_tags\"\n), \n\nurl_tags_pivoted as (\n\n select \n _fivetran_id,\n creative_id,\n min(case when key = 'utm_source' then value end) as utm_source,\n min(case when key = 'utm_medium' then value end) as utm_medium,\n min(case when key = 'utm_campaign' then value end) as utm_campaign,\n min(case when key = 'utm_content' then value end) as utm_content,\n min(case when key = 'utm_term' then value end) as utm_term\n from url_tags\n group by 1,2\n\n), \n\nfields as (\n\n select\n base._fivetran_id,\n base.creative_id,\n base.account_id,\n base.creative_name,\n coalesce(page_link,template_page_link) as url,\n \n\n \n \n\n split_part(\n coalesce(page_link,template_page_link),\n '?',\n 1\n )\n\n\n \n\n as base_url,\n \n \n cast(\n\n \n \n\n split_part(\n \n\n \n \n\n split_part(\n \n\n replace(\n \n\n replace(\n \n\n replace(\n coalesce(page_link,template_page_link),\n 'android-app://',\n ''\n )\n \n\n,\n 'http://',\n ''\n )\n \n\n,\n 'https://',\n ''\n )\n \n\n,\n '/',\n 1\n )\n\n\n \n\n,\n '?',\n 1\n )\n\n\n \n\n as \n varchar\n)\n as url_host,\n '/' || \n \n cast(\n\n \n \n\n split_part(\n \n\n right(\n \n\n replace(\n \n\n replace(\n coalesce(page_link,template_page_link),\n 'http://',\n ''\n )\n \n\n,\n 'https://',\n ''\n )\n \n\n,\n \n \n length(\n \n\n replace(\n \n\n replace(\n coalesce(page_link,template_page_link),\n 'http://',\n ''\n )\n \n\n,\n 'https://',\n ''\n )\n \n\n\n )-coalesce(\n nullif(\n\n position(\n '/' in \n\n replace(\n \n\n replace(\n coalesce(page_link,template_page_link),\n 'http://',\n ''\n )\n \n\n,\n 'https://',\n ''\n )\n \n\n\n ), 0),\n \n\n position(\n '?' in \n\n replace(\n \n\n replace(\n coalesce(page_link,template_page_link),\n 'http://',\n ''\n )\n \n\n,\n 'https://',\n ''\n )\n \n\n\n ) - 1\n )\n ),\n '?',\n 1\n )\n\n\n \n\n as \n varchar\n)\n as url_path,\n coalesce(url_tags_pivoted.utm_source, nullif(\n\n \n \n\n split_part(\n \n\n \n \n\n split_part(\n coalesce(page_link,template_page_link),\n 'utm_source=',\n 2\n )\n\n\n \n\n,\n '&',\n 1\n )\n\n\n \n\n,'')) as utm_source,\n coalesce(url_tags_pivoted.utm_medium, nullif(\n\n \n \n\n split_part(\n \n\n \n \n\n split_part(\n coalesce(page_link,template_page_link),\n 'utm_medium=',\n 2\n )\n\n\n \n\n,\n '&',\n 1\n )\n\n\n \n\n,'')) as utm_medium,\n coalesce(url_tags_pivoted.utm_campaign, nullif(\n\n \n \n\n split_part(\n \n\n \n \n\n split_part(\n coalesce(page_link,template_page_link),\n 'utm_campaign=',\n 2\n )\n\n\n \n\n,\n '&',\n 1\n )\n\n\n \n\n,'')) as utm_campaign,\n coalesce(url_tags_pivoted.utm_content, nullif(\n\n \n \n\n split_part(\n \n\n \n \n\n split_part(\n coalesce(page_link,template_page_link),\n 'utm_content=',\n 2\n )\n\n\n \n\n,\n '&',\n 1\n )\n\n\n \n\n,'')) as utm_content,\n coalesce(url_tags_pivoted.utm_term, nullif(\n\n \n \n\n split_part(\n \n\n \n \n\n split_part(\n coalesce(page_link,template_page_link),\n 'utm_term=',\n 2\n )\n\n\n \n\n,\n '&',\n 1\n )\n\n\n \n\n,'')) as utm_term\n from base\n left join url_tags_pivoted\n on base._fivetran_id = url_tags_pivoted._fivetran_id\n and base.creative_id = url_tags_pivoted.creative_id\n)\n\nselect *\nfrom fields", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"facebook_ads_integration_tests_facebook_ads\".\"int_facebook_ads__creative_history\""}, "model.facebook_ads_source.stg_facebook_ads__basic_ad": {"raw_sql": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_facebook_ads__basic_ad_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_facebook_ads__basic_ad_tmp')),\n staging_columns=get_basic_ad_columns()\n )\n }}\n \n from base\n),\n\nfinal as (\n \n select \n cast(ad_id as {{ dbt_utils.type_bigint() }}) as ad_id,\n ad_name,\n adset_name as ad_set_name,\n date as date_day,\n cast(account_id as {{ dbt_utils.type_bigint() }}) as account_id,\n impressions,\n coalesce(inline_link_clicks,0) as clicks,\n spend,\n reach,\n frequency\n\n {{ fivetran_utils.fill_pass_through_columns('facebook_ads__basic_ad_passthrough_metrics') }}\n from fields\n)\n\nselect * \nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.facebook_ads_source.get_basic_ad_columns", "macro.fivetran_utils.fill_staging_columns", "macro.dbt_utils.type_bigint", "macro.fivetran_utils.fill_pass_through_columns"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__basic_ad_tmp", "model.facebook_ads_source.stg_facebook_ads__basic_ad_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_ads_source", "database": null, "tags": [], "meta": {}, "materialized": "table", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "facebook_ads_integration_tests_facebook_ads_source", "fqn": ["facebook_ads_source", "stg_facebook_ads__basic_ad"], "unique_id": "model.facebook_ads_source.stg_facebook_ads__basic_ad", "package_name": "facebook_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "stg_facebook_ads__basic_ad.sql", "original_file_path": "models/stg_facebook_ads__basic_ad.sql", "name": "stg_facebook_ads__basic_ad", "alias": "stg_facebook_ads__basic_ad", "checksum": {"name": "sha256", "checksum": "d831e56799b6ad74e33a5d7f977a602494c2f9d5dd5208f8e0c7dbd099b86b45"}, "tags": [], "refs": [["stg_facebook_ads__basic_ad_tmp"], ["stg_facebook_ads__basic_ad_tmp"]], "sources": [], "description": "Each record represents the daily performance of an ad in Facebook.", "columns": {"ad_id": {"name": "ad_id", "description": "The ID of the ad the report relates to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_name": {"name": "ad_name", "description": "Name of the ad the report relates to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_set_name": {"name": "ad_set_name", "description": "Name of the ad set the report relates to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "date_day": {"name": "date_day", "description": "The date of the reported performance.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "The ID of the ad account that this ad belongs to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "The number of impressions the ad had on the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clicks": {"name": "clicks", "description": "The number of clicks the ad had on the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The spend on the ad in the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "reach": {"name": "reach", "description": "The number of people who saw any content from your Page or about your Page. This metric is estimated.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "frequency": {"name": "frequency", "description": "The average number of times each person saw your ad; it is calculated as impressions divided by reach.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "facebook_ads_source://models/stg_facebook_ads.yml", "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads__basic_ad.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads_source", "materialized": "table", "enabled": true}, "created_at": 1661547900.018142, "compiled_sql": "\n\nwith base as (\n\n select * \n from \"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__basic_ad_tmp\"\n),\n\nfields as (\n\n select\n \n \n \n ad_id\n \n as \n \n ad_id\n \n, \n cast(null as \n varchar\n) as \n \n ad_name\n \n , \n cast(null as \n varchar\n) as \n \n adset_name\n \n , \n \n \n date\n \n as \n \n date\n \n, \n \n \n account_id\n \n as \n \n account_id\n \n, \n \n \n impressions\n \n as \n \n impressions\n \n, \n \n \n inline_link_clicks\n \n as \n \n inline_link_clicks\n \n, \n \n \n spend\n \n as \n \n spend\n \n, \n cast(null as \n int\n) as \n \n reach\n \n , \n cast(null as \n float\n) as \n \n frequency\n \n \n\n\n \n from base\n),\n\nfinal as (\n \n select \n cast(ad_id as \n bigint\n) as ad_id,\n ad_name,\n adset_name as ad_set_name,\n date as date_day,\n cast(account_id as \n bigint\n) as account_id,\n impressions,\n coalesce(inline_link_clicks,0) as clicks,\n spend,\n reach,\n frequency\n\n \n\n\n\n\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__basic_ad\""}, "model.facebook_ads_source.stg_facebook_ads__creative_history": {"raw_sql": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_facebook_ads__creative_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_facebook_ads__creative_history_tmp')),\n staging_columns=get_creative_history_columns()\n )\n }}\n \n from base\n),\n\nfinal as (\n \n select \n _fivetran_id,\n _fivetran_synced,\n cast(id as {{ dbt_utils.type_bigint() }}) as creative_id,\n cast(account_id as {{ dbt_utils.type_bigint() }}) as account_id,\n name as creative_name,\n page_link,\n template_page_link,\n url_tags,\n asset_feed_spec_link_urls,\n object_story_link_data_child_attachments,\n object_story_link_data_caption, \n object_story_link_data_description, \n object_story_link_data_link, \n object_story_link_data_message,\n template_app_link_spec_ios,\n template_app_link_spec_ipad,\n template_app_link_spec_android,\n template_app_link_spec_iphone,\n row_number() over (partition by id order by _fivetran_synced desc) = 1 as is_most_recent_record\n from fields\n)\n\nselect * \nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.facebook_ads_source.get_creative_history_columns", "macro.fivetran_utils.fill_staging_columns", "macro.dbt_utils.type_bigint"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__creative_history_tmp", "model.facebook_ads_source.stg_facebook_ads__creative_history_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_ads_source", "database": null, "tags": [], "meta": {}, "materialized": "table", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "facebook_ads_integration_tests_facebook_ads_source", "fqn": ["facebook_ads_source", "stg_facebook_ads__creative_history"], "unique_id": "model.facebook_ads_source.stg_facebook_ads__creative_history", "package_name": "facebook_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "stg_facebook_ads__creative_history.sql", "original_file_path": "models/stg_facebook_ads__creative_history.sql", "name": "stg_facebook_ads__creative_history", "alias": "stg_facebook_ads__creative_history", "checksum": {"name": "sha256", "checksum": "c6fe833085d58ff2d99e096a37af1567c55e115cd2027bd18fea4bf075a7d207"}, "tags": [], "refs": [["stg_facebook_ads__creative_history_tmp"], ["stg_facebook_ads__creative_history_tmp"]], "sources": [], "description": "Each record in this table reflects a Facebook creative.", "columns": {"_fivetran_id": {"name": "_fivetran_id", "description": "Unique record identifier", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "When the record was last synced by Fivetran.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "creative_id": {"name": "creative_id", "description": "Unique ID for an ad creative.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "Ad account ID for the account this ad creative belongs to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "creative_name": {"name": "creative_name", "description": "Name of this ad creative as seen in the ad account's library.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "url_tags": {"name": "url_tags", "description": "A set of query string parameters which will replace or be appended to urls clicked from page post ads, message of the post, and canvas app install creatives only.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_most_recent_record": {"name": "is_most_recent_record", "description": "Indicates whether a record is the most recent version of that record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "page_link": {"name": "page_link", "description": "Link for the page.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "template_page_link": {"name": "template_page_link", "description": "URL destination of Facebook dynamic ads.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "asset_feed_spec_link_urls": {"name": "asset_feed_spec_link_urls", "description": "Link to the asset feed spec", "meta": {}, "data_type": null, "quote": null, "tags": []}, "object_story_link_data_child_attachments": {"name": "object_story_link_data_child_attachments", "description": "Link of the object story child attachments", "meta": {}, "data_type": null, "quote": null, "tags": []}, "object_story_link_data_caption": {"name": "object_story_link_data_caption", "description": "Link of the object story caption", "meta": {}, "data_type": null, "quote": null, "tags": []}, "object_story_link_data_description": {"name": "object_story_link_data_description", "description": "Link of the object story description", "meta": {}, "data_type": null, "quote": null, "tags": []}, "object_story_link_data_link": {"name": "object_story_link_data_link", "description": "Link of the object story link", "meta": {}, "data_type": null, "quote": null, "tags": []}, "object_story_link_data_message": {"name": "object_story_link_data_message", "description": "Link of the object story message", "meta": {}, "data_type": null, "quote": null, "tags": []}, "template_app_link_spec_ios": {"name": "template_app_link_spec_ios", "description": "Link of the object story spec for ios", "meta": {}, "data_type": null, "quote": null, "tags": []}, "template_app_link_spec_ipad": {"name": "template_app_link_spec_ipad", "description": "Link of the template app spec for ipad", "meta": {}, "data_type": null, "quote": null, "tags": []}, "template_app_link_spec_android": {"name": "template_app_link_spec_android", "description": "Link of the template app for android", "meta": {}, "data_type": null, "quote": null, "tags": []}, "template_app_link_spec_iphone": {"name": "template_app_link_spec_iphone", "description": "Link of the template app for iphone", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "facebook_ads_source://models/stg_facebook_ads.yml", "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads__creative_history.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads_source", "materialized": "table", "enabled": true}, "created_at": 1661547900.015372, "compiled_sql": "\n\nwith base as (\n\n select * \n from \"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__creative_history_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 _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n account_id\n \n as \n \n account_id\n \n, \n \n \n name\n \n as \n \n name\n \n, \n \n \n page_link\n \n as \n \n page_link\n \n, \n \n \n template_page_link\n \n as \n \n template_page_link\n \n, \n \n \n url_tags\n \n as \n \n url_tags\n \n, \n \n \n asset_feed_spec_link_urls\n \n as \n \n asset_feed_spec_link_urls\n \n, \n \n \n object_story_link_data_child_attachments\n \n as \n \n object_story_link_data_child_attachments\n \n, \n \n \n object_story_link_data_caption\n \n as \n \n object_story_link_data_caption\n \n, \n \n \n object_story_link_data_description\n \n as \n \n object_story_link_data_description\n \n, \n \n \n object_story_link_data_link\n \n as \n \n object_story_link_data_link\n \n, \n \n \n object_story_link_data_message\n \n as \n \n object_story_link_data_message\n \n, \n cast(null as \n varchar\n) as \n \n template_app_link_spec_android\n \n , \n \n \n template_app_link_spec_ios\n \n as \n \n template_app_link_spec_ios\n \n, \n cast(null as \n varchar\n) as \n \n template_app_link_spec_ipad\n \n , \n cast(null as \n varchar\n) as \n \n template_app_link_spec_iphone\n \n \n\n\n \n from base\n),\n\nfinal as (\n \n select \n _fivetran_id,\n _fivetran_synced,\n cast(id as \n bigint\n) as creative_id,\n cast(account_id as \n bigint\n) as account_id,\n name as creative_name,\n page_link,\n template_page_link,\n url_tags,\n asset_feed_spec_link_urls,\n object_story_link_data_child_attachments,\n object_story_link_data_caption, \n object_story_link_data_description, \n object_story_link_data_link, \n object_story_link_data_message,\n template_app_link_spec_ios,\n template_app_link_spec_ipad,\n template_app_link_spec_android,\n template_app_link_spec_iphone,\n row_number() over (partition by id order by _fivetran_synced desc) = 1 as is_most_recent_record\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__creative_history\""}, "model.facebook_ads_source.stg_facebook_ads__campaign_history": {"raw_sql": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_facebook_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_facebook_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 updated_time as updated_at,\n created_time as created_at,\n cast(account_id as {{ dbt_utils.type_bigint() }}) as account_id,\n cast(id as {{ dbt_utils.type_bigint() }}) as campaign_id,\n name as campaign_name,\n start_time as start_at,\n stop_time as end_at,\n status,\n daily_budget,\n lifetime_budget,\n budget_remaining,\n row_number() over (partition by id order by updated_time desc) = 1 as is_most_recent_record\n from fields\n\n)\n\nselect * \nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.facebook_ads_source.get_campaign_history_columns", "macro.fivetran_utils.fill_staging_columns", "macro.dbt_utils.type_bigint"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__campaign_history_tmp", "model.facebook_ads_source.stg_facebook_ads__campaign_history_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_ads_source", "database": null, "tags": [], "meta": {}, "materialized": "table", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "facebook_ads_integration_tests_facebook_ads_source", "fqn": ["facebook_ads_source", "stg_facebook_ads__campaign_history"], "unique_id": "model.facebook_ads_source.stg_facebook_ads__campaign_history", "package_name": "facebook_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "stg_facebook_ads__campaign_history.sql", "original_file_path": "models/stg_facebook_ads__campaign_history.sql", "name": "stg_facebook_ads__campaign_history", "alias": "stg_facebook_ads__campaign_history", "checksum": {"name": "sha256", "checksum": "94da6a989316561af0f55e34db3d2fa3f661b113b2aef18c7bd3199d6efaa819"}, "tags": [], "refs": [["stg_facebook_ads__campaign_history_tmp"], ["stg_facebook_ads__campaign_history_tmp"]], "sources": [], "description": "Each record in this table reflects a Facebook campaign.", "columns": {"campaign_id": {"name": "campaign_id", "description": "The ID of the campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "The ID of the ad account that this campaign belongs to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_name": {"name": "campaign_name", "description": "The name of the campaign.", "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. All records should have this value set to True given we filter on it.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "updated_at": {"name": "updated_at", "description": "The timestamp of the last update of a record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "The time the campaign was created.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "start_at": {"name": "start_at", "description": "Timestamp of designated campaign start time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "end_at": {"name": "end_at", "description": "Timestamp of designated campaign end time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "daily_budget": {"name": "daily_budget", "description": "Daily budget of campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "budget_remaining": {"name": "budget_remaining", "description": "Remaining budget of campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "lifetime_budget": {"name": "lifetime_budget", "description": "Lifetime budget of the campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status": {"name": "status", "description": "Status values are - 'ACTIVE', 'PAUSED', 'DELETED', 'ARCHIVED'.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "facebook_ads_source://models/stg_facebook_ads.yml", "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads__campaign_history.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads_source", "materialized": "table", "enabled": true}, "created_at": 1661547900.012193, "compiled_sql": "\n\nwith base as (\n\n select * \n from \"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__campaign_history_tmp\"\n),\n\nfields as (\n\n select\n \n \n \n updated_time\n \n as \n \n updated_time\n \n, \n cast(null as \n timestamp without time zone\n) as \n \n created_time\n \n , \n \n \n account_id\n \n as \n \n account_id\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 cast(null as \n timestamp without time zone\n) as \n \n start_time\n \n , \n cast(null as \n timestamp without time zone\n) as \n \n stop_time\n \n , \n cast(null as \n varchar\n) as \n \n status\n \n , \n cast(null as \n int\n) as \n \n daily_budget\n \n , \n cast(null as \n int\n) as \n \n lifetime_budget\n \n , \n cast(null as \n float\n) as \n \n budget_remaining\n \n \n\n\n \n from base\n),\n\nfinal as (\n \n select \n updated_time as updated_at,\n created_time as created_at,\n cast(account_id as \n bigint\n) as account_id,\n cast(id as \n bigint\n) as campaign_id,\n name as campaign_name,\n start_time as start_at,\n stop_time as end_at,\n status,\n daily_budget,\n lifetime_budget,\n budget_remaining,\n row_number() over (partition by id order by updated_time desc) = 1 as is_most_recent_record\n from fields\n\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__campaign_history\""}, "model.facebook_ads_source.stg_facebook_ads__account_history": {"raw_sql": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_facebook_ads__account_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_facebook_ads__account_history_tmp')),\n staging_columns=get_account_history_columns()\n )\n }}\n \n from base\n),\n\nfinal as (\n \n select \n cast(id as {{ dbt_utils.type_bigint() }}) as account_id,\n _fivetran_synced,\n name as account_name,\n account_status,\n business_country_code,\n created_time as created_at,\n currency,\n timezone_name,\n row_number() over (partition by id order by _fivetran_synced desc) = 1 as is_most_recent_record\n from fields\n\n)\n\nselect * \nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.facebook_ads_source.get_account_history_columns", "macro.fivetran_utils.fill_staging_columns", "macro.dbt_utils.type_bigint"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__account_history_tmp", "model.facebook_ads_source.stg_facebook_ads__account_history_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_ads_source", "database": null, "tags": [], "meta": {}, "materialized": "table", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "facebook_ads_integration_tests_facebook_ads_source", "fqn": ["facebook_ads_source", "stg_facebook_ads__account_history"], "unique_id": "model.facebook_ads_source.stg_facebook_ads__account_history", "package_name": "facebook_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "stg_facebook_ads__account_history.sql", "original_file_path": "models/stg_facebook_ads__account_history.sql", "name": "stg_facebook_ads__account_history", "alias": "stg_facebook_ads__account_history", "checksum": {"name": "sha256", "checksum": "ebad79f217e4917524a32c0c825e173162e34d2f8b570ed1c7eaf3fcccf9fd01"}, "tags": [], "refs": [["stg_facebook_ads__account_history_tmp"], ["stg_facebook_ads__account_history_tmp"]], "sources": [], "description": "Each record in this table reflects a Facebook ad account.", "columns": {"account_id": {"name": "account_id", "description": "The ID of the ad account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_name": {"name": "account_name", "description": "Name of the account.", "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. All records should have this value set to True given we filter on it.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "When the record was last synced by Fivetran.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_status": {"name": "account_status", "description": "Current status of account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "business_country_code": {"name": "business_country_code", "description": "Country code of business associated to account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "The time account was created.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "currency": {"name": "currency", "description": "Currency associated with account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "timezone_name": {"name": "timezone_name", "description": "Timezone associated with account.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "facebook_ads_source://models/stg_facebook_ads.yml", "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads__account_history.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads_source", "materialized": "table", "enabled": true}, "created_at": 1661547900.0068102, "compiled_sql": "\n\nwith base as (\n\n select * \n from \"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__account_history_tmp\"\n),\n\nfields as (\n\n select\n \n \n \n id\n \n as \n \n id\n \n, \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n name\n \n as \n \n name\n \n, \n cast(null as \n varchar\n) as \n \n account_status\n \n , \n cast(null as \n varchar\n) as \n \n business_country_code\n \n , \n cast(null as \n timestamp without time zone\n) as \n \n created_time\n \n , \n cast(null as \n varchar\n) as \n \n currency\n \n , \n cast(null as \n varchar\n) as \n \n timezone_name\n \n \n\n\n \n from base\n),\n\nfinal as (\n \n select \n cast(id as \n bigint\n) as account_id,\n _fivetran_synced,\n name as account_name,\n account_status,\n business_country_code,\n created_time as created_at,\n currency,\n timezone_name,\n row_number() over (partition by id order by _fivetran_synced desc) = 1 as is_most_recent_record\n from fields\n\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__account_history\""}, "model.facebook_ads_source.stg_facebook_ads__ad_history": {"raw_sql": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_facebook_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_facebook_ads__ad_history_tmp')),\n staging_columns=get_ad_history_columns()\n )\n }}\n \n from base\n),\n\nfinal as (\n \n select \n updated_time as updated_at,\n cast(id as {{ dbt_utils.type_bigint() }}) as ad_id,\n name as ad_name,\n cast(account_id as {{ dbt_utils.type_bigint() }}) as account_id,\n cast(ad_set_id as {{ dbt_utils.type_bigint() }}) as ad_set_id, \n cast(campaign_id as {{ dbt_utils.type_bigint() }}) as campaign_id,\n cast(creative_id as {{ dbt_utils.type_bigint() }}) as creative_id,\n row_number() over (partition by id order by updated_time desc) = 1 as is_most_recent_record\n from fields\n)\n\nselect * \nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.facebook_ads_source.get_ad_history_columns", "macro.fivetran_utils.fill_staging_columns", "macro.dbt_utils.type_bigint"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__ad_history_tmp", "model.facebook_ads_source.stg_facebook_ads__ad_history_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_ads_source", "database": null, "tags": [], "meta": {}, "materialized": "table", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "facebook_ads_integration_tests_facebook_ads_source", "fqn": ["facebook_ads_source", "stg_facebook_ads__ad_history"], "unique_id": "model.facebook_ads_source.stg_facebook_ads__ad_history", "package_name": "facebook_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "stg_facebook_ads__ad_history.sql", "original_file_path": "models/stg_facebook_ads__ad_history.sql", "name": "stg_facebook_ads__ad_history", "alias": "stg_facebook_ads__ad_history", "checksum": {"name": "sha256", "checksum": "b09ee1eca3b5810bb34967118f276d923b4e76e3637326e2e586de9cfb99d48a"}, "tags": [], "refs": [["stg_facebook_ads__ad_history_tmp"], ["stg_facebook_ads__ad_history_tmp"]], "sources": [], "description": "Each record in this table reflects a Facebook ad.", "columns": {"ad_id": {"name": "ad_id", "description": "The ID of this ad.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "The ID of the ad account that this ad belongs to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_set_id": {"name": "ad_set_id", "description": "ID of the ad set that contains the ad.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_id": {"name": "campaign_id", "description": "Ad campaign that contains this ad.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "creative_id": {"name": "creative_id", "description": "The ID of the ad creative to be used by this ad.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_name": {"name": "ad_name", "description": "Name of the ad.", "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. All records should have this value set to True given we filter on it.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "updated_at": {"name": "updated_at", "description": "The timestamp of the last update of a record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "facebook_ads_source://models/stg_facebook_ads.yml", "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads__ad_history.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads_source", "materialized": "table", "enabled": true}, "created_at": 1661547900.008231, "compiled_sql": "\n\nwith base as (\n\n select * \n from \"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__ad_history_tmp\"\n),\n\nfields as (\n\n select\n \n \n \n updated_time\n \n as \n \n updated_time\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 account_id\n \n as \n \n account_id\n \n, \n \n \n ad_set_id\n \n as \n \n ad_set_id\n \n, \n \n \n campaign_id\n \n as \n \n campaign_id\n \n, \n \n \n creative_id\n \n as \n \n creative_id\n \n\n\n\n \n from base\n),\n\nfinal as (\n \n select \n updated_time as updated_at,\n cast(id as \n bigint\n) as ad_id,\n name as ad_name,\n cast(account_id as \n bigint\n) as account_id,\n cast(ad_set_id as \n bigint\n) as ad_set_id, \n cast(campaign_id as \n bigint\n) as campaign_id,\n cast(creative_id as \n bigint\n) as creative_id,\n row_number() over (partition by id order by updated_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\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__ad_history\""}, "model.facebook_ads_source.stg_facebook_ads__ad_set_history": {"raw_sql": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_facebook_ads__ad_set_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_facebook_ads__ad_set_history_tmp')),\n staging_columns=get_ad_set_history_columns()\n )\n }}\n \n from base\n),\n\nfinal as (\n \n select \n updated_time as updated_at,\n cast(id as {{ dbt_utils.type_bigint() }}) as ad_set_id,\n name as ad_set_name,\n cast(account_id as {{ dbt_utils.type_bigint() }}) as account_id,\n cast(campaign_id as {{ dbt_utils.type_bigint() }}) as campaign_id,\n start_time as start_at,\n end_time as end_at,\n bid_strategy,\n daily_budget,\n budget_remaining,\n status,\n row_number() over (partition by id order by updated_time desc) = 1 as is_most_recent_record\n from fields\n\n)\n\nselect * \nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.facebook_ads_source.get_ad_set_history_columns", "macro.fivetran_utils.fill_staging_columns", "macro.dbt_utils.type_bigint"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__ad_set_history_tmp", "model.facebook_ads_source.stg_facebook_ads__ad_set_history_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_ads_source", "database": null, "tags": [], "meta": {}, "materialized": "table", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "facebook_ads_integration_tests_facebook_ads_source", "fqn": ["facebook_ads_source", "stg_facebook_ads__ad_set_history"], "unique_id": "model.facebook_ads_source.stg_facebook_ads__ad_set_history", "package_name": "facebook_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "stg_facebook_ads__ad_set_history.sql", "original_file_path": "models/stg_facebook_ads__ad_set_history.sql", "name": "stg_facebook_ads__ad_set_history", "alias": "stg_facebook_ads__ad_set_history", "checksum": {"name": "sha256", "checksum": "c606fe93d3421bff81293cc88b681087dce54c2e09e7eeffda5e5b8104915fec"}, "tags": [], "refs": [["stg_facebook_ads__ad_set_history_tmp"], ["stg_facebook_ads__ad_set_history_tmp"]], "sources": [], "description": "Each record in this table reflects a Facebook ad set.", "columns": {"ad_set_id": {"name": "ad_set_id", "description": "The ID of the ad set.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "The ID of the ad account that this ad set belongs to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_id": {"name": "campaign_id", "description": "Ad campaign that contains this ad set.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_set_name": {"name": "ad_set_name", "description": "The name of the ad set.", "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. All records should have this value set to True given we filter on it.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "updated_at": {"name": "updated_at", "description": "The timestamp of the last update of a record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "start_at": {"name": "start_at", "description": "Timestamp of designated ad set start time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "end_at": {"name": "end_at", "description": "Timestamp of designated ad set end time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "bid_strategy": {"name": "bid_strategy", "description": "Bid strategy values are - 'LOWEST_COST_WITHOUT_CAP', 'LOWEST_COST_WITH_BID_CAP', 'COST_CAP', 'LOWEST_COST_WITH_MIN_ROAS'.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "daily_budget": {"name": "daily_budget", "description": "Daily budget of ad set.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "budget_remaining": {"name": "budget_remaining", "description": "Remaining budget of ad set.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status": {"name": "status", "description": "Status values are - 'ACTIVE', 'PAUSED', 'DELETED', 'ARCHIVED'.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "facebook_ads_source://models/stg_facebook_ads.yml", "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads__ad_set_history.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads_source", "materialized": "table", "enabled": true}, "created_at": 1661547900.010219, "compiled_sql": "\n\nwith base as (\n\n select * \n from \"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__ad_set_history_tmp\"\n),\n\nfields as (\n\n select\n \n \n \n updated_time\n \n as \n \n updated_time\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 account_id\n \n as \n \n account_id\n \n, \n \n \n campaign_id\n \n as \n \n campaign_id\n \n, \n cast(null as \n timestamp without time zone\n) as \n \n start_time\n \n , \n cast(null as \n timestamp without time zone\n) as \n \n end_time\n \n , \n cast(null as \n varchar\n) as \n \n bid_strategy\n \n , \n cast(null as \n int\n) as \n \n daily_budget\n \n , \n cast(null as \n int\n) as \n \n budget_remaining\n \n , \n cast(null as \n varchar\n) as \n \n status\n \n \n\n\n \n from base\n),\n\nfinal as (\n \n select \n updated_time as updated_at,\n cast(id as \n bigint\n) as ad_set_id,\n name as ad_set_name,\n cast(account_id as \n bigint\n) as account_id,\n cast(campaign_id as \n bigint\n) as campaign_id,\n start_time as start_at,\n end_time as end_at,\n bid_strategy,\n daily_budget,\n budget_remaining,\n status,\n row_number() over (partition by id order by updated_time desc) = 1 as is_most_recent_record\n from fields\n\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__ad_set_history\""}, "model.facebook_ads_source.stg_facebook_ads__ad_set_history_tmp": {"raw_sql": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nselect * \nfrom {{ var('ad_set_history') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.facebook_ads_source.facebook_ads.ad_set_history"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_ads_source", "database": null, "tags": [], "meta": {}, "materialized": "view", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "facebook_ads_integration_tests_facebook_ads_source", "fqn": ["facebook_ads_source", "tmp", "stg_facebook_ads__ad_set_history_tmp"], "unique_id": "model.facebook_ads_source.stg_facebook_ads__ad_set_history_tmp", "package_name": "facebook_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "tmp/stg_facebook_ads__ad_set_history_tmp.sql", "original_file_path": "models/tmp/stg_facebook_ads__ad_set_history_tmp.sql", "name": "stg_facebook_ads__ad_set_history_tmp", "alias": "stg_facebook_ads__ad_set_history_tmp", "checksum": {"name": "sha256", "checksum": "dad1782db9e8232b2613b5b9959963ad0d0ff99b7462524fc223610cd3e14442"}, "tags": [], "refs": [], "sources": [["facebook_ads", "ad_set_history"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/tmp/stg_facebook_ads__ad_set_history_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads_source", "materialized": "view", "enabled": true}, "created_at": 1661547899.885621, "compiled_sql": "\n\nselect * \nfrom \"postgres\".\"facebook_ads_integration_tests\".\"facebook_ads_ad_set_history_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__ad_set_history_tmp\""}, "model.facebook_ads_source.stg_facebook_ads__basic_ad_tmp": {"raw_sql": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nselect * \nfrom {{ var('basic_ad') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.facebook_ads_source.facebook_ads.basic_ad"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_ads_source", "database": null, "tags": [], "meta": {}, "materialized": "view", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "facebook_ads_integration_tests_facebook_ads_source", "fqn": ["facebook_ads_source", "tmp", "stg_facebook_ads__basic_ad_tmp"], "unique_id": "model.facebook_ads_source.stg_facebook_ads__basic_ad_tmp", "package_name": "facebook_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "tmp/stg_facebook_ads__basic_ad_tmp.sql", "original_file_path": "models/tmp/stg_facebook_ads__basic_ad_tmp.sql", "name": "stg_facebook_ads__basic_ad_tmp", "alias": "stg_facebook_ads__basic_ad_tmp", "checksum": {"name": "sha256", "checksum": "46e4ec682f4ed2b33b3123c24ae2b20d9d9bce50ed7ef83b547dd83b57339f89"}, "tags": [], "refs": [], "sources": [["facebook_ads", "basic_ad"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/tmp/stg_facebook_ads__basic_ad_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads_source", "materialized": "view", "enabled": true}, "created_at": 1661547899.8902159, "compiled_sql": "\n\nselect * \nfrom \"postgres\".\"facebook_ads_integration_tests\".\"facebook_ads_basic_ad_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__basic_ad_tmp\""}, "model.facebook_ads_source.stg_facebook_ads__ad_history_tmp": {"raw_sql": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nselect * \nfrom {{ var('ad_history') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.facebook_ads_source.facebook_ads.ad_history"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_ads_source", "database": null, "tags": [], "meta": {}, "materialized": "view", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "facebook_ads_integration_tests_facebook_ads_source", "fqn": ["facebook_ads_source", "tmp", "stg_facebook_ads__ad_history_tmp"], "unique_id": "model.facebook_ads_source.stg_facebook_ads__ad_history_tmp", "package_name": "facebook_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "tmp/stg_facebook_ads__ad_history_tmp.sql", "original_file_path": "models/tmp/stg_facebook_ads__ad_history_tmp.sql", "name": "stg_facebook_ads__ad_history_tmp", "alias": "stg_facebook_ads__ad_history_tmp", "checksum": {"name": "sha256", "checksum": "438f57c6bd1ce2a8c4a73600c1e12878efc0a091f42b3a43ed0334067779eace"}, "tags": [], "refs": [], "sources": [["facebook_ads", "ad_history"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/tmp/stg_facebook_ads__ad_history_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads_source", "materialized": "view", "enabled": true}, "created_at": 1661547899.901427, "compiled_sql": "\n\nselect * \nfrom \"postgres\".\"facebook_ads_integration_tests\".\"facebook_ads_ad_history_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__ad_history_tmp\""}, "model.facebook_ads_source.stg_facebook_ads__campaign_history_tmp": {"raw_sql": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nselect * \nfrom {{ var('campaign_history') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.facebook_ads_source.facebook_ads.campaign_history"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_ads_source", "database": null, "tags": [], "meta": {}, "materialized": "view", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "facebook_ads_integration_tests_facebook_ads_source", "fqn": ["facebook_ads_source", "tmp", "stg_facebook_ads__campaign_history_tmp"], "unique_id": "model.facebook_ads_source.stg_facebook_ads__campaign_history_tmp", "package_name": "facebook_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "tmp/stg_facebook_ads__campaign_history_tmp.sql", "original_file_path": "models/tmp/stg_facebook_ads__campaign_history_tmp.sql", "name": "stg_facebook_ads__campaign_history_tmp", "alias": "stg_facebook_ads__campaign_history_tmp", "checksum": {"name": "sha256", "checksum": "617b7e683421a5712cc129d02e07eeb0f5876b7fdeb680429b4d6069b4dcdfc1"}, "tags": [], "refs": [], "sources": [["facebook_ads", "campaign_history"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/tmp/stg_facebook_ads__campaign_history_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads_source", "materialized": "view", "enabled": true}, "created_at": 1661547899.925128, "compiled_sql": "\n\nselect * \nfrom \"postgres\".\"facebook_ads_integration_tests\".\"facebook_ads_campaign_history_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__campaign_history_tmp\""}, "model.facebook_ads_source.stg_facebook_ads__creative_history_tmp": {"raw_sql": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nselect * \nfrom {{ var('creative_history') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.facebook_ads_source.facebook_ads.creative_history"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_ads_source", "database": null, "tags": [], "meta": {}, "materialized": "view", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "facebook_ads_integration_tests_facebook_ads_source", "fqn": ["facebook_ads_source", "tmp", "stg_facebook_ads__creative_history_tmp"], "unique_id": "model.facebook_ads_source.stg_facebook_ads__creative_history_tmp", "package_name": "facebook_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "tmp/stg_facebook_ads__creative_history_tmp.sql", "original_file_path": "models/tmp/stg_facebook_ads__creative_history_tmp.sql", "name": "stg_facebook_ads__creative_history_tmp", "alias": "stg_facebook_ads__creative_history_tmp", "checksum": {"name": "sha256", "checksum": "9cf5ffb0bc31c525388d169c90fb8b6150e5141777b14337c0fee0730faeecd9"}, "tags": [], "refs": [], "sources": [["facebook_ads", "creative_history"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/tmp/stg_facebook_ads__creative_history_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads_source", "materialized": "view", "enabled": true}, "created_at": 1661547899.9326348, "compiled_sql": "\n\nselect * \nfrom \"postgres\".\"facebook_ads_integration_tests\".\"facebook_ads_creative_history_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__creative_history_tmp\""}, "model.facebook_ads_source.stg_facebook_ads__account_history_tmp": {"raw_sql": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nselect * \nfrom {{ var('account_history') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.facebook_ads_source.facebook_ads.account_history"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_ads_source", "database": null, "tags": [], "meta": {}, "materialized": "view", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "facebook_ads_integration_tests_facebook_ads_source", "fqn": ["facebook_ads_source", "tmp", "stg_facebook_ads__account_history_tmp"], "unique_id": "model.facebook_ads_source.stg_facebook_ads__account_history_tmp", "package_name": "facebook_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "tmp/stg_facebook_ads__account_history_tmp.sql", "original_file_path": "models/tmp/stg_facebook_ads__account_history_tmp.sql", "name": "stg_facebook_ads__account_history_tmp", "alias": "stg_facebook_ads__account_history_tmp", "checksum": {"name": "sha256", "checksum": "caa1f4a119ca187458bff00bd8682eabffdba914962ff8ae7d4cfe55f25833ff"}, "tags": [], "refs": [], "sources": [["facebook_ads", "account_history"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/tmp/stg_facebook_ads__account_history_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads_source", "materialized": "view", "enabled": true}, "created_at": 1661547899.9369988, "compiled_sql": "\n\nselect * \nfrom \"postgres\".\"facebook_ads_integration_tests\".\"facebook_ads_account_history_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__account_history_tmp\""}, "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__url_report_date_day__account_id__campaign_id__ad_set_id__ad_id.03a7e82eb7": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_bf91f5ef1059f34c9059e06e293717eb\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["date_day", "account_id", "campaign_id", "ad_set_id", "ad_id"], "model": "{{ get_where_subquery(ref('facebook_ads__url_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.facebook_ads.facebook_ads__url_report"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_bf91f5ef1059f34c9059e06e293717eb", "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": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads", "dbt_utils_unique_combination_of_columns_facebook_ads__url_report_date_day__account_id__campaign_id__ad_set_id__ad_id"], "unique_id": "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__url_report_date_day__account_id__campaign_id__ad_set_id__ad_id.03a7e82eb7", "package_name": "facebook_ads", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "dbt_utils_unique_combination_o_bf91f5ef1059f34c9059e06e293717eb.sql", "original_file_path": "models/facebook.yml", "name": "dbt_utils_unique_combination_of_columns_facebook_ads__url_report_date_day__account_id__campaign_id__ad_set_id__ad_id", "alias": "dbt_utils_unique_combination_o_bf91f5ef1059f34c9059e06e293717eb", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["facebook_ads__url_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads/models/facebook.yml/dbt_utils_unique_combination_o_bf91f5ef1059f34c9059e06e293717eb.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_bf91f5ef1059f34c9059e06e293717eb"}, "created_at": 1661547899.9764428, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n date_day, account_id, campaign_id, ad_set_id, ad_id\n from \"postgres\".\"facebook_ads_integration_tests_facebook_ads\".\"facebook_ads__url_report\"\n group by date_day, account_id, campaign_id, ad_set_id, ad_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.facebook_ads__url_report"}, "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__ad_report_date_day__account_id__campaign_id__ad_set_id__ad_id.0a25b64738": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_6751270b8425b93a72568a6ff0b52e2e\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["date_day", "account_id", "campaign_id", "ad_set_id", "ad_id"], "model": "{{ get_where_subquery(ref('facebook_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.facebook_ads.facebook_ads__ad_report"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_6751270b8425b93a72568a6ff0b52e2e", "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": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads", "dbt_utils_unique_combination_of_columns_facebook_ads__ad_report_date_day__account_id__campaign_id__ad_set_id__ad_id"], "unique_id": "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__ad_report_date_day__account_id__campaign_id__ad_set_id__ad_id.0a25b64738", "package_name": "facebook_ads", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "dbt_utils_unique_combination_o_6751270b8425b93a72568a6ff0b52e2e.sql", "original_file_path": "models/facebook.yml", "name": "dbt_utils_unique_combination_of_columns_facebook_ads__ad_report_date_day__account_id__campaign_id__ad_set_id__ad_id", "alias": "dbt_utils_unique_combination_o_6751270b8425b93a72568a6ff0b52e2e", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["facebook_ads__ad_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads/models/facebook.yml/dbt_utils_unique_combination_o_6751270b8425b93a72568a6ff0b52e2e.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_6751270b8425b93a72568a6ff0b52e2e"}, "created_at": 1661547899.985248, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n date_day, account_id, campaign_id, ad_set_id, ad_id\n from \"postgres\".\"facebook_ads_integration_tests_facebook_ads\".\"facebook_ads__ad_report\"\n group by date_day, account_id, campaign_id, ad_set_id, ad_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.facebook_ads__ad_report"}, "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__ad_set_report_date_day__account_id__campaign_id__ad_set_id.3dd4da872f": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_b03f58e6a60804a93ab31dbb358dad74\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["date_day", "account_id", "campaign_id", "ad_set_id"], "model": "{{ get_where_subquery(ref('facebook_ads__ad_set_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.facebook_ads.facebook_ads__ad_set_report"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_b03f58e6a60804a93ab31dbb358dad74", "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": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads", "dbt_utils_unique_combination_of_columns_facebook_ads__ad_set_report_date_day__account_id__campaign_id__ad_set_id"], "unique_id": "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__ad_set_report_date_day__account_id__campaign_id__ad_set_id.3dd4da872f", "package_name": "facebook_ads", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "dbt_utils_unique_combination_o_b03f58e6a60804a93ab31dbb358dad74.sql", "original_file_path": "models/facebook.yml", "name": "dbt_utils_unique_combination_of_columns_facebook_ads__ad_set_report_date_day__account_id__campaign_id__ad_set_id", "alias": "dbt_utils_unique_combination_o_b03f58e6a60804a93ab31dbb358dad74", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["facebook_ads__ad_set_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads/models/facebook.yml/dbt_utils_unique_combination_o_b03f58e6a60804a93ab31dbb358dad74.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_b03f58e6a60804a93ab31dbb358dad74"}, "created_at": 1661547899.988945, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n date_day, account_id, campaign_id, ad_set_id\n from \"postgres\".\"facebook_ads_integration_tests_facebook_ads\".\"facebook_ads__ad_set_report\"\n group by date_day, account_id, campaign_id, ad_set_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.facebook_ads__ad_set_report"}, "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__campaign_report_date_day__account_id__campaign_id.7cd75107e6": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_cf7853fdf8e24958f5a0e3e1b7c1ced1\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["date_day", "account_id", "campaign_id"], "model": "{{ get_where_subquery(ref('facebook_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.facebook_ads.facebook_ads__campaign_report"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_cf7853fdf8e24958f5a0e3e1b7c1ced1", "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": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads", "dbt_utils_unique_combination_of_columns_facebook_ads__campaign_report_date_day__account_id__campaign_id"], "unique_id": "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__campaign_report_date_day__account_id__campaign_id.7cd75107e6", "package_name": "facebook_ads", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "dbt_utils_unique_combination_o_cf7853fdf8e24958f5a0e3e1b7c1ced1.sql", "original_file_path": "models/facebook.yml", "name": "dbt_utils_unique_combination_of_columns_facebook_ads__campaign_report_date_day__account_id__campaign_id", "alias": "dbt_utils_unique_combination_o_cf7853fdf8e24958f5a0e3e1b7c1ced1", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["facebook_ads__campaign_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads/models/facebook.yml/dbt_utils_unique_combination_o_cf7853fdf8e24958f5a0e3e1b7c1ced1.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_cf7853fdf8e24958f5a0e3e1b7c1ced1"}, "created_at": 1661547899.992312, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n date_day, account_id, campaign_id\n from \"postgres\".\"facebook_ads_integration_tests_facebook_ads\".\"facebook_ads__campaign_report\"\n group by date_day, account_id, campaign_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.facebook_ads__campaign_report"}, "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__account_report_date_day__account_id.5a94423e40": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_19fe7721a9f8cd99b91dca268368654e\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["date_day", "account_id"], "model": "{{ get_where_subquery(ref('facebook_ads__account_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.facebook_ads.facebook_ads__account_report"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_19fe7721a9f8cd99b91dca268368654e", "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": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads", "dbt_utils_unique_combination_of_columns_facebook_ads__account_report_date_day__account_id"], "unique_id": "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__account_report_date_day__account_id.5a94423e40", "package_name": "facebook_ads", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "dbt_utils_unique_combination_o_19fe7721a9f8cd99b91dca268368654e.sql", "original_file_path": "models/facebook.yml", "name": "dbt_utils_unique_combination_of_columns_facebook_ads__account_report_date_day__account_id", "alias": "dbt_utils_unique_combination_o_19fe7721a9f8cd99b91dca268368654e", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["facebook_ads__account_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads/models/facebook.yml/dbt_utils_unique_combination_o_19fe7721a9f8cd99b91dca268368654e.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_19fe7721a9f8cd99b91dca268368654e"}, "created_at": 1661547899.995852, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n date_day, account_id\n from \"postgres\".\"facebook_ads_integration_tests_facebook_ads\".\"facebook_ads__account_report\"\n group by date_day, account_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.facebook_ads__account_report"}, "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__url_tags__fivetran_id__key__type.ba044777d3": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_496bf013366c506c1f3135f19ec7080a\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["_fivetran_id", "key", "type"], "model": "{{ get_where_subquery(ref('facebook_ads__url_tags')) }}"}, "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.facebook_ads.facebook_ads__url_tags"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_496bf013366c506c1f3135f19ec7080a", "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": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads", "dbt_utils_unique_combination_of_columns_facebook_ads__url_tags__fivetran_id__key__type"], "unique_id": "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__url_tags__fivetran_id__key__type.ba044777d3", "package_name": "facebook_ads", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "dbt_utils_unique_combination_o_496bf013366c506c1f3135f19ec7080a.sql", "original_file_path": "models/facebook.yml", "name": "dbt_utils_unique_combination_of_columns_facebook_ads__url_tags__fivetran_id__key__type", "alias": "dbt_utils_unique_combination_o_496bf013366c506c1f3135f19ec7080a", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["facebook_ads__url_tags"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads/models/facebook.yml/dbt_utils_unique_combination_o_496bf013366c506c1f3135f19ec7080a.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_496bf013366c506c1f3135f19ec7080a"}, "created_at": 1661547899.998815, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n _fivetran_id, key, type\n from \"postgres\".\"facebook_ads_integration_tests_facebook_ads\".\"facebook_ads__url_tags\"\n group by _fivetran_id, key, type\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.facebook_ads__url_tags"}, "test.facebook_ads_source.not_null_stg_facebook_ads__account_history_account_id.f1cf38c40f": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "account_id", "model": "{{ get_where_subquery(ref('stg_facebook_ads__account_history')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__account_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": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "not_null_stg_facebook_ads__account_history_account_id"], "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__account_history_account_id.f1cf38c40f", "package_name": "facebook_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "not_null_stg_facebook_ads__account_history_account_id.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "not_null_stg_facebook_ads__account_history_account_id", "alias": "not_null_stg_facebook_ads__account_history_account_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__account_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/not_null_stg_facebook_ads__account_history_account_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1661547900.018891, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__account_history\"\nwhere account_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "account_id", "file_key_name": "models.stg_facebook_ads__account_history"}, "test.facebook_ads_source.not_null_stg_facebook_ads__account_history__fivetran_synced.0570e35e1f": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "_fivetran_synced", "model": "{{ get_where_subquery(ref('stg_facebook_ads__account_history')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__account_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": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "not_null_stg_facebook_ads__account_history__fivetran_synced"], "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__account_history__fivetran_synced.0570e35e1f", "package_name": "facebook_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "not_null_stg_facebook_ads__account_history__fivetran_synced.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "not_null_stg_facebook_ads__account_history__fivetran_synced", "alias": "not_null_stg_facebook_ads__account_history__fivetran_synced", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__account_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/not_null_stg_facebook_ads__account_history__fivetran_synced.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1661547900.020267, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__account_history\"\nwhere _fivetran_synced is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "_fivetran_synced", "file_key_name": "models.stg_facebook_ads__account_history"}, "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__account_history_account_id___fivetran_synced.f9b4d28fa2": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_6c9521eb7e9747df57d9737e83cb864f\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["account_id", "_fivetran_synced"], "model": "{{ get_where_subquery(ref('stg_facebook_ads__account_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.facebook_ads_source.stg_facebook_ads__account_history"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_6c9521eb7e9747df57d9737e83cb864f", "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": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "dbt_utils_unique_combination_of_columns_stg_facebook_ads__account_history_account_id___fivetran_synced"], "unique_id": "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__account_history_account_id___fivetran_synced.f9b4d28fa2", "package_name": "facebook_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "dbt_utils_unique_combination_o_6c9521eb7e9747df57d9737e83cb864f.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_facebook_ads__account_history_account_id___fivetran_synced", "alias": "dbt_utils_unique_combination_o_6c9521eb7e9747df57d9737e83cb864f", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__account_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/dbt_utils_unique_combination_o_6c9521eb7e9747df57d9737e83cb864f.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_6c9521eb7e9747df57d9737e83cb864f"}, "created_at": 1661547900.0215302, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n account_id, _fivetran_synced\n from \"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__account_history\"\n group by account_id, _fivetran_synced\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_facebook_ads__account_history"}, "test.facebook_ads_source.not_null_stg_facebook_ads__ad_history_ad_id.11429d3064": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "ad_id", "model": "{{ get_where_subquery(ref('stg_facebook_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.facebook_ads_source.stg_facebook_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": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "not_null_stg_facebook_ads__ad_history_ad_id"], "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__ad_history_ad_id.11429d3064", "package_name": "facebook_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "not_null_stg_facebook_ads__ad_history_ad_id.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "not_null_stg_facebook_ads__ad_history_ad_id", "alias": "not_null_stg_facebook_ads__ad_history_ad_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__ad_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/not_null_stg_facebook_ads__ad_history_ad_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1661547900.024808, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_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_facebook_ads__ad_history"}, "test.facebook_ads_source.not_null_stg_facebook_ads__ad_history_updated_at.250a5a84e4": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "updated_at", "model": "{{ get_where_subquery(ref('stg_facebook_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.facebook_ads_source.stg_facebook_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": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "not_null_stg_facebook_ads__ad_history_updated_at"], "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__ad_history_updated_at.250a5a84e4", "package_name": "facebook_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "not_null_stg_facebook_ads__ad_history_updated_at.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "not_null_stg_facebook_ads__ad_history_updated_at", "alias": "not_null_stg_facebook_ads__ad_history_updated_at", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__ad_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/not_null_stg_facebook_ads__ad_history_updated_at.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1661547900.026239, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__ad_history\"\nwhere updated_at is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "updated_at", "file_key_name": "models.stg_facebook_ads__ad_history"}, "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__ad_history_ad_id__updated_at.2922c18b58": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_da2a7458e53ca8b420768a0c3e8e2137\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["ad_id", "updated_at"], "model": "{{ get_where_subquery(ref('stg_facebook_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.facebook_ads_source.stg_facebook_ads__ad_history"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_da2a7458e53ca8b420768a0c3e8e2137", "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": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "dbt_utils_unique_combination_of_columns_stg_facebook_ads__ad_history_ad_id__updated_at"], "unique_id": "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__ad_history_ad_id__updated_at.2922c18b58", "package_name": "facebook_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "dbt_utils_unique_combination_o_da2a7458e53ca8b420768a0c3e8e2137.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_facebook_ads__ad_history_ad_id__updated_at", "alias": "dbt_utils_unique_combination_o_da2a7458e53ca8b420768a0c3e8e2137", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__ad_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/dbt_utils_unique_combination_o_da2a7458e53ca8b420768a0c3e8e2137.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_da2a7458e53ca8b420768a0c3e8e2137"}, "created_at": 1661547900.027405, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n ad_id, updated_at\n from \"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__ad_history\"\n group by ad_id, updated_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_facebook_ads__ad_history"}, "test.facebook_ads_source.not_null_stg_facebook_ads__ad_set_history_ad_set_id.e19a1df1bb": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "ad_set_id", "model": "{{ get_where_subquery(ref('stg_facebook_ads__ad_set_history')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__ad_set_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": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "not_null_stg_facebook_ads__ad_set_history_ad_set_id"], "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__ad_set_history_ad_set_id.e19a1df1bb", "package_name": "facebook_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "not_null_stg_facebook_ads__ad_set_history_ad_set_id.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "not_null_stg_facebook_ads__ad_set_history_ad_set_id", "alias": "not_null_stg_facebook_ads__ad_set_history_ad_set_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__ad_set_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/not_null_stg_facebook_ads__ad_set_history_ad_set_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1661547900.030813, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__ad_set_history\"\nwhere ad_set_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "ad_set_id", "file_key_name": "models.stg_facebook_ads__ad_set_history"}, "test.facebook_ads_source.not_null_stg_facebook_ads__ad_set_history_updated_at.ef7fafe0fa": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "updated_at", "model": "{{ get_where_subquery(ref('stg_facebook_ads__ad_set_history')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__ad_set_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": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "not_null_stg_facebook_ads__ad_set_history_updated_at"], "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__ad_set_history_updated_at.ef7fafe0fa", "package_name": "facebook_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "not_null_stg_facebook_ads__ad_set_history_updated_at.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "not_null_stg_facebook_ads__ad_set_history_updated_at", "alias": "not_null_stg_facebook_ads__ad_set_history_updated_at", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__ad_set_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/not_null_stg_facebook_ads__ad_set_history_updated_at.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1661547900.0321212, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__ad_set_history\"\nwhere updated_at is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "updated_at", "file_key_name": "models.stg_facebook_ads__ad_set_history"}, "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__ad_set_history_ad_set_id__updated_at.0a60ad0fef": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_214e0ea8c1d3eb6e1c1fae451c60969f\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["ad_set_id", "updated_at"], "model": "{{ get_where_subquery(ref('stg_facebook_ads__ad_set_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.facebook_ads_source.stg_facebook_ads__ad_set_history"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_214e0ea8c1d3eb6e1c1fae451c60969f", "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": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "dbt_utils_unique_combination_of_columns_stg_facebook_ads__ad_set_history_ad_set_id__updated_at"], "unique_id": "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__ad_set_history_ad_set_id__updated_at.0a60ad0fef", "package_name": "facebook_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "dbt_utils_unique_combination_o_214e0ea8c1d3eb6e1c1fae451c60969f.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_facebook_ads__ad_set_history_ad_set_id__updated_at", "alias": "dbt_utils_unique_combination_o_214e0ea8c1d3eb6e1c1fae451c60969f", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__ad_set_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/dbt_utils_unique_combination_o_214e0ea8c1d3eb6e1c1fae451c60969f.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_214e0ea8c1d3eb6e1c1fae451c60969f"}, "created_at": 1661547900.033427, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n ad_set_id, updated_at\n from \"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__ad_set_history\"\n group by ad_set_id, updated_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_facebook_ads__ad_set_history"}, "test.facebook_ads_source.not_null_stg_facebook_ads__campaign_history_campaign_id.1ca7a83852": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "campaign_id", "model": "{{ get_where_subquery(ref('stg_facebook_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.facebook_ads_source.stg_facebook_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": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "not_null_stg_facebook_ads__campaign_history_campaign_id"], "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__campaign_history_campaign_id.1ca7a83852", "package_name": "facebook_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "not_null_stg_facebook_ads__campaign_history_campaign_id.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "not_null_stg_facebook_ads__campaign_history_campaign_id", "alias": "not_null_stg_facebook_ads__campaign_history_campaign_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__campaign_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/not_null_stg_facebook_ads__campaign_history_campaign_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1661547900.0367281, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_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_facebook_ads__campaign_history"}, "test.facebook_ads_source.not_null_stg_facebook_ads__campaign_history_updated_at.9e59f99270": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "updated_at", "model": "{{ get_where_subquery(ref('stg_facebook_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.facebook_ads_source.stg_facebook_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": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "not_null_stg_facebook_ads__campaign_history_updated_at"], "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__campaign_history_updated_at.9e59f99270", "package_name": "facebook_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "not_null_stg_facebook_ads__campaign_history_updated_at.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "not_null_stg_facebook_ads__campaign_history_updated_at", "alias": "not_null_stg_facebook_ads__campaign_history_updated_at", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__campaign_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/not_null_stg_facebook_ads__campaign_history_updated_at.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1661547900.038676, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__campaign_history\"\nwhere updated_at is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "updated_at", "file_key_name": "models.stg_facebook_ads__campaign_history"}, "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__campaign_history_campaign_id__updated_at.7437b392c2": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_6067330a8eb187d5024e9840cd7cbd78\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["campaign_id", "updated_at"], "model": "{{ get_where_subquery(ref('stg_facebook_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.facebook_ads_source.stg_facebook_ads__campaign_history"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_6067330a8eb187d5024e9840cd7cbd78", "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": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "dbt_utils_unique_combination_of_columns_stg_facebook_ads__campaign_history_campaign_id__updated_at"], "unique_id": "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__campaign_history_campaign_id__updated_at.7437b392c2", "package_name": "facebook_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "dbt_utils_unique_combination_o_6067330a8eb187d5024e9840cd7cbd78.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_facebook_ads__campaign_history_campaign_id__updated_at", "alias": "dbt_utils_unique_combination_o_6067330a8eb187d5024e9840cd7cbd78", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__campaign_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/dbt_utils_unique_combination_o_6067330a8eb187d5024e9840cd7cbd78.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_6067330a8eb187d5024e9840cd7cbd78"}, "created_at": 1661547900.039778, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n campaign_id, updated_at\n from \"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__campaign_history\"\n group by campaign_id, updated_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_facebook_ads__campaign_history"}, "test.facebook_ads_source.not_null_stg_facebook_ads__creative_history__fivetran_synced.3b0593cb4f": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "_fivetran_synced", "model": "{{ get_where_subquery(ref('stg_facebook_ads__creative_history')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__creative_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": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "not_null_stg_facebook_ads__creative_history__fivetran_synced"], "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__creative_history__fivetran_synced.3b0593cb4f", "package_name": "facebook_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "not_null_stg_facebook_ads__creative_history__fivetran_synced.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "not_null_stg_facebook_ads__creative_history__fivetran_synced", "alias": "not_null_stg_facebook_ads__creative_history__fivetran_synced", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__creative_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/not_null_stg_facebook_ads__creative_history__fivetran_synced.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1661547900.043094, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__creative_history\"\nwhere _fivetran_synced is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "_fivetran_synced", "file_key_name": "models.stg_facebook_ads__creative_history"}, "test.facebook_ads_source.not_null_stg_facebook_ads__creative_history_creative_id.eb4d804261": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "creative_id", "model": "{{ get_where_subquery(ref('stg_facebook_ads__creative_history')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__creative_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": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "not_null_stg_facebook_ads__creative_history_creative_id"], "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__creative_history_creative_id.eb4d804261", "package_name": "facebook_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "not_null_stg_facebook_ads__creative_history_creative_id.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "not_null_stg_facebook_ads__creative_history_creative_id", "alias": "not_null_stg_facebook_ads__creative_history_creative_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__creative_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/not_null_stg_facebook_ads__creative_history_creative_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1661547900.044648, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__creative_history\"\nwhere creative_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "creative_id", "file_key_name": "models.stg_facebook_ads__creative_history"}, "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__creative_history_creative_id___fivetran_synced.69ddc26562": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_c52d893dfedd530a7cd19c495da30217\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["creative_id", "_fivetran_synced"], "model": "{{ get_where_subquery(ref('stg_facebook_ads__creative_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.facebook_ads_source.stg_facebook_ads__creative_history"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_c52d893dfedd530a7cd19c495da30217", "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": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "dbt_utils_unique_combination_of_columns_stg_facebook_ads__creative_history_creative_id___fivetran_synced"], "unique_id": "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__creative_history_creative_id___fivetran_synced.69ddc26562", "package_name": "facebook_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "dbt_utils_unique_combination_o_c52d893dfedd530a7cd19c495da30217.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_facebook_ads__creative_history_creative_id___fivetran_synced", "alias": "dbt_utils_unique_combination_o_c52d893dfedd530a7cd19c495da30217", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__creative_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/dbt_utils_unique_combination_o_c52d893dfedd530a7cd19c495da30217.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_c52d893dfedd530a7cd19c495da30217"}, "created_at": 1661547900.0461361, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n creative_id, _fivetran_synced\n from \"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__creative_history\"\n group by creative_id, _fivetran_synced\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_facebook_ads__creative_history"}, "test.facebook_ads_source.not_null_stg_facebook_ads__basic_ad_ad_id.2611b250fc": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "ad_id", "model": "{{ get_where_subquery(ref('stg_facebook_ads__basic_ad')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__basic_ad"]}, "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": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "not_null_stg_facebook_ads__basic_ad_ad_id"], "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__basic_ad_ad_id.2611b250fc", "package_name": "facebook_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "not_null_stg_facebook_ads__basic_ad_ad_id.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "not_null_stg_facebook_ads__basic_ad_ad_id", "alias": "not_null_stg_facebook_ads__basic_ad_ad_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__basic_ad"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/not_null_stg_facebook_ads__basic_ad_ad_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1661547900.049463, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__basic_ad\"\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_facebook_ads__basic_ad"}, "test.facebook_ads_source.not_null_stg_facebook_ads__basic_ad_account_id.d06f6d861b": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "account_id", "model": "{{ get_where_subquery(ref('stg_facebook_ads__basic_ad')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__basic_ad"]}, "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": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "not_null_stg_facebook_ads__basic_ad_account_id"], "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__basic_ad_account_id.d06f6d861b", "package_name": "facebook_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "not_null_stg_facebook_ads__basic_ad_account_id.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "not_null_stg_facebook_ads__basic_ad_account_id", "alias": "not_null_stg_facebook_ads__basic_ad_account_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__basic_ad"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/not_null_stg_facebook_ads__basic_ad_account_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1661547900.0508, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__basic_ad\"\nwhere account_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "account_id", "file_key_name": "models.stg_facebook_ads__basic_ad"}, "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__basic_ad_date_day__ad_id__account_id.bd909529e7": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_42caf2b48bab7db5c316ae2524dd0683\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["date_day", "ad_id", "account_id"], "model": "{{ get_where_subquery(ref('stg_facebook_ads__basic_ad')) }}"}, "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.facebook_ads_source.stg_facebook_ads__basic_ad"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_42caf2b48bab7db5c316ae2524dd0683", "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": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "dbt_utils_unique_combination_of_columns_stg_facebook_ads__basic_ad_date_day__ad_id__account_id"], "unique_id": "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__basic_ad_date_day__ad_id__account_id.bd909529e7", "package_name": "facebook_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "dbt_utils_unique_combination_o_42caf2b48bab7db5c316ae2524dd0683.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_facebook_ads__basic_ad_date_day__ad_id__account_id", "alias": "dbt_utils_unique_combination_o_42caf2b48bab7db5c316ae2524dd0683", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__basic_ad"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/dbt_utils_unique_combination_o_42caf2b48bab7db5c316ae2524dd0683.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_42caf2b48bab7db5c316ae2524dd0683"}, "created_at": 1661547900.051897, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n date_day, ad_id, account_id\n from \"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__basic_ad\"\n group by date_day, ad_id, account_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_facebook_ads__basic_ad"}}, "sources": {"source.facebook_ads_source.facebook_ads.account_history": {"fqn": ["facebook_ads_source", "facebook_ads", "account_history"], "database": "postgres", "schema": "facebook_ads_integration_tests", "unique_id": "source.facebook_ads_source.facebook_ads.account_history", "package_name": "facebook_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "models/src_facebook_ads.yml", "original_file_path": "models/src_facebook_ads.yml", "name": "account_history", "source_name": "facebook_ads", "source_description": "", "loader": "Fivetran", "identifier": "facebook_ads_account_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 in this table reflects a version of a Facebook ad account.", "columns": {"id": {"name": "id", "description": "The ID of the ad account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Name of the account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "When the record was last synced by Fivetran.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_status": {"name": "account_status", "description": "Current status of account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "business_country_code": {"name": "business_country_code", "description": "Country code of business associated to account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_time": {"name": "created_time", "description": "The time account was created.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "currency": {"name": "currency", "description": "Currency associated with account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "timezone_name": {"name": "timezone_name", "description": "Timezone associated with account.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"facebook_ads_integration_tests\".\"facebook_ads_account_history_data\"", "created_at": 1661547900.0755148}, "source.facebook_ads_source.facebook_ads.ad_history": {"fqn": ["facebook_ads_source", "facebook_ads", "ad_history"], "database": "postgres", "schema": "facebook_ads_integration_tests", "unique_id": "source.facebook_ads_source.facebook_ads.ad_history", "package_name": "facebook_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "models/src_facebook_ads.yml", "original_file_path": "models/src_facebook_ads.yml", "name": "ad_history", "source_name": "facebook_ads", "source_description": "", "loader": "Fivetran", "identifier": "facebook_ads_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 in this table reflects a version of a Facebook ad.", "columns": {"id": {"name": "id", "description": "The ID of this ad.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "The ID of the ad account that this ad belongs to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_set_id": {"name": "ad_set_id", "description": "ID of the ad set that contains the ad.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_id": {"name": "campaign_id", "description": "Ad campaign that contains this ad.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "creative_id": {"name": "creative_id", "description": "The ID of the ad creative to be used by this ad.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Name of the ad.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "When the record was last synced by Fivetran.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "updated_time": {"name": "updated_time", "description": "The timestamp of the last update of a record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"facebook_ads_integration_tests\".\"facebook_ads_ad_history_data\"", "created_at": 1661547900.0756311}, "source.facebook_ads_source.facebook_ads.ad_set_history": {"fqn": ["facebook_ads_source", "facebook_ads", "ad_set_history"], "database": "postgres", "schema": "facebook_ads_integration_tests", "unique_id": "source.facebook_ads_source.facebook_ads.ad_set_history", "package_name": "facebook_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "models/src_facebook_ads.yml", "original_file_path": "models/src_facebook_ads.yml", "name": "ad_set_history", "source_name": "facebook_ads", "source_description": "", "loader": "Fivetran", "identifier": "facebook_ads_ad_set_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 in this table reflects a version of a Facebook ad set.", "columns": {"id": {"name": "id", "description": "The ID of the ad set.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "The ID of the ad account that this ad set belongs to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_id": {"name": "campaign_id", "description": "Ad campaign that contains this ad set.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "The name of the ad set.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "When the record was last synced by Fivetran.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "updated_time": {"name": "updated_time", "description": "The timestamp of the last update of a record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "start_time": {"name": "start_time", "description": "Timestamp of designated ad set start time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "end_time": {"name": "end_time", "description": "Timestamp of designated ad set end time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "bid_strategy": {"name": "bid_strategy", "description": "Bid strategy values are - 'LOWEST_COST_WITHOUT_CAP', 'LOWEST_COST_WITH_BID_CAP', 'COST_CAP', 'LOWEST_COST_WITH_MIN_ROAS'.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "daily_budget": {"name": "daily_budget", "description": "Daily budget of ad set.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "budget_remaining": {"name": "budget_remaining", "description": "Remaining budget of ad set.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status": {"name": "status", "description": "Status values are - 'ACTIVE', 'PAUSED', 'DELETED', 'ARCHIVED'.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"facebook_ads_integration_tests\".\"facebook_ads_ad_set_history_data\"", "created_at": 1661547900.075711}, "source.facebook_ads_source.facebook_ads.basic_ad": {"fqn": ["facebook_ads_source", "facebook_ads", "basic_ad"], "database": "postgres", "schema": "facebook_ads_integration_tests", "unique_id": "source.facebook_ads_source.facebook_ads.basic_ad", "package_name": "facebook_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "models/src_facebook_ads.yml", "original_file_path": "models/src_facebook_ads.yml", "name": "basic_ad", "source_name": "facebook_ads", "source_description": "", "loader": "Fivetran", "identifier": "facebook_ads_basic_ad_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 Facebook.", "columns": {"ad_id": {"name": "ad_id", "description": "The ID of the ad the report relates to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_name": {"name": "ad_name", "description": "Name of the ad the report relates to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "adset_name": {"name": "adset_name", "description": "Name of the ad set the report relates to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "date": {"name": "date", "description": "The date of the reported performance.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "The ID of the ad account that this ad belongs to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "The number of impressions the ad had on the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "inline_link_clicks": {"name": "inline_link_clicks", "description": "The number of clicks the ad had on the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The spend on the ad in the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "reach": {"name": "reach", "description": "The number of people who saw any content from your Page or about your Page. This metric is estimated.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "frequency": {"name": "frequency", "description": "The average number of times each person saw your ad; it is calculated as impressions divided by reach.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "When the record was last synced by Fivetran.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"facebook_ads_integration_tests\".\"facebook_ads_basic_ad_data\"", "created_at": 1661547900.0757859}, "source.facebook_ads_source.facebook_ads.campaign_history": {"fqn": ["facebook_ads_source", "facebook_ads", "campaign_history"], "database": "postgres", "schema": "facebook_ads_integration_tests", "unique_id": "source.facebook_ads_source.facebook_ads.campaign_history", "package_name": "facebook_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "models/src_facebook_ads.yml", "original_file_path": "models/src_facebook_ads.yml", "name": "campaign_history", "source_name": "facebook_ads", "source_description": "", "loader": "Fivetran", "identifier": "facebook_ads_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 in this table reflects a version of a Facebook campaign.", "columns": {"id": {"name": "id", "description": "The ID of the campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "The ID of the ad account that this campaign belongs to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "The name of the campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "When the record was last synced by Fivetran.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "updated_time": {"name": "updated_time", "description": "The timestamp of the last update of a record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_time": {"name": "created_time", "description": "The time the campaign was created.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "start_time": {"name": "start_time", "description": "Timestamp of designated campaign start time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "stop_time": {"name": "stop_time", "description": "Timestamp of designated campaign end time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "daily_budget": {"name": "daily_budget", "description": "Daily budget of campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "budget_remaining": {"name": "budget_remaining", "description": "Remaining budget of campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "lifetime_budget": {"name": "lifetime_budget", "description": "Lifetime budget of the campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status": {"name": "status", "description": "Status values are - 'ACTIVE', 'PAUSED', 'DELETED', 'ARCHIVED'.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"facebook_ads_integration_tests\".\"facebook_ads_campaign_history_data\"", "created_at": 1661547900.075904}, "source.facebook_ads_source.facebook_ads.creative_history": {"fqn": ["facebook_ads_source", "facebook_ads", "creative_history"], "database": "postgres", "schema": "facebook_ads_integration_tests", "unique_id": "source.facebook_ads_source.facebook_ads.creative_history", "package_name": "facebook_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "models/src_facebook_ads.yml", "original_file_path": "models/src_facebook_ads.yml", "name": "creative_history", "source_name": "facebook_ads", "source_description": "", "loader": "Fivetran", "identifier": "facebook_ads_creative_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 in this table reflects a version of a Facebook creative.", "columns": {"_fivetran_id": {"name": "_fivetran_id", "description": "Unique record identifier", "meta": {}, "data_type": null, "quote": null, "tags": []}, "page_link": {"name": "page_link", "description": "URL destination of Facebook ads.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "template_page_link": {"name": "template_page_link", "description": "URL destination of Facebook dynamic ads.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "id": {"name": "id", "description": "Unique ID for an ad creative.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "Ad account ID for the account this ad creative belongs to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Name of this ad creative as seen in the ad account's library.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "url_tags": {"name": "url_tags", "description": "A set of query string parameters which will replace or be appended to urls clicked from page post ads, message of the post, and canvas app install creatives only.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "When the record was last synced by Fivetran.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "asset_feed_spec_link_urls": {"name": "asset_feed_spec_link_urls", "description": "Link to the asset feed spec", "meta": {}, "data_type": null, "quote": null, "tags": []}, "object_story_link_data_child_attachments": {"name": "object_story_link_data_child_attachments", "description": "Link of the object story child attachments", "meta": {}, "data_type": null, "quote": null, "tags": []}, "object_story_link_data_caption": {"name": "object_story_link_data_caption", "description": "Link of the object story caption", "meta": {}, "data_type": null, "quote": null, "tags": []}, "object_story_link_data_description": {"name": "object_story_link_data_description", "description": "Link of the object story description", "meta": {}, "data_type": null, "quote": null, "tags": []}, "object_story_link_data_link": {"name": "object_story_link_data_link", "description": "Link of the object story link", "meta": {}, "data_type": null, "quote": null, "tags": []}, "object_story_link_data_message": {"name": "object_story_link_data_message", "description": "Link of the object story message", "meta": {}, "data_type": null, "quote": null, "tags": []}, "template_app_link_spec_ios": {"name": "template_app_link_spec_ios", "description": "Link of the object story spec for ios", "meta": {}, "data_type": null, "quote": null, "tags": []}, "template_app_link_spec_ipad": {"name": "template_app_link_spec_ipad", "description": "Link of the template app spec for ipad", "meta": {}, "data_type": null, "quote": null, "tags": []}, "template_app_link_spec_android": {"name": "template_app_link_spec_android", "description": "Link of the template app for android", "meta": {}, "data_type": null, "quote": null, "tags": []}, "template_app_link_spec_iphone": {"name": "template_app_link_spec_iphone", "description": "Link of the template app for iphone", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"facebook_ads_integration_tests\".\"facebook_ads_creative_history_data\"", "created_at": 1661547900.075986}}, "macros": {"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.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.039527}, "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.0.4/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\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}, "patch_path": null, "arguments": [], "created_at": 1661547899.040475}, "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.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.046259}, "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.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.0468009}, "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.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.0471418}, "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.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.04748}, "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.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.0479841}, "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.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.0483708}, "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.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.048547}, "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.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.0489159}, "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.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.049361}, "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.0.4/libexec/lib/python3.9/site-packages/dbt/include/postgres", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.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}, "patch_path": null, "arguments": [], "created_at": 1661547899.0494459}, "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.0.4/libexec/lib/python3.9/site-packages/dbt/include/postgres", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.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}, "patch_path": null, "arguments": [], "created_at": 1661547899.049642}, "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.0.4/libexec/lib/python3.9/site-packages/dbt/include/postgres", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.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_utils.current_timestamp"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.0497532}, "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.0.4/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 dt = modules.datetime.datetime.now() %}\n {% set dtstring = dt.strftime(\"%H%M%S%f\") %}\n {% set suffix_length = suffix|length + dtstring|length %}\n {% set relation_max_name_length = 63 %}\n {% if suffix_length > relation_max_name_length %}\n {% do exceptions.raise_compiler_error('Temp relation suffix is too long (' ~ suffix|length ~ ' characters). Maximum length is ' ~ (relation_max_name_length - dtstring|length) ~ ' characters.') %}\n {% endif %}\n {% set tmp_identifier = base_relation.identifier[:relation_max_name_length - suffix_length] ~ suffix ~ dtstring %}\n {% do return(base_relation.incorporate(\n path={\n \"identifier\": tmp_identifier,\n \"schema\": none,\n \"database\": none\n })) -%}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.051258}, "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.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.051851}, "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.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.052138}, "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.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.052952}, "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.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.054038}, "macro.dbt.run_hooks": {"unique_id": "macro.dbt.run_hooks", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.0552719}, "macro.dbt.make_hook_config": {"unique_id": "macro.dbt.make_hook_config", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.0554938}, "macro.dbt.before_begin": {"unique_id": "macro.dbt.before_begin", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.055648}, "macro.dbt.in_transaction": {"unique_id": "macro.dbt.in_transaction", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.055794}, "macro.dbt.after_commit": {"unique_id": "macro.dbt.after_commit", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.055948}, "macro.dbt.set_sql_header": {"unique_id": "macro.dbt.set_sql_header", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.056438}, "macro.dbt.should_full_refresh": {"unique_id": "macro.dbt.should_full_refresh", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.056756}, "macro.dbt.should_store_failures": {"unique_id": "macro.dbt.should_store_failures", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.0570722}, "macro.dbt.snapshot_merge_sql": {"unique_id": "macro.dbt.snapshot_merge_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.057599}, "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.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.057882}, "macro.dbt.strategy_dispatch": {"unique_id": "macro.dbt.strategy_dispatch", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.061532}, "macro.dbt.snapshot_hash_arguments": {"unique_id": "macro.dbt.snapshot_hash_arguments", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.0617652}, "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.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.062013}, "macro.dbt.snapshot_get_time": {"unique_id": "macro.dbt.snapshot_get_time", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.0.4/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_get_time", "macro_sql": "{% macro snapshot_get_time() -%}\n {{ adapter.dispatch('snapshot_get_time', 'dbt')() }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_postgres.postgres__snapshot_get_time"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.0621738}, "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.0.4/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_get_time", "macro_sql": "{% macro default__snapshot_get_time() -%}\n {{ current_timestamp() }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.current_timestamp"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.0622761}, "macro.dbt.snapshot_timestamp_strategy": {"unique_id": "macro.dbt.snapshot_timestamp_strategy", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.063157}, "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.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.0633411}, "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.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.063521}, "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.0.4/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) -%}\n {%- set query_columns = get_columns_in_query(node['compiled_sql']) -%}\n {%- if not target_exists -%}\n {# no table yet -> return whatever the query does #}\n {{ return([false, query_columns]) }}\n {%- endif -%}\n {# handle any schema changes #}\n {%- set target_table = node.get('alias', node.get('name')) -%}\n {%- set target_relation = adapter.get_relation(database=node.database, schema=node.schema, identifier=target_table) -%}\n {%- set existing_cols = get_columns_in_query('select * from ' ~ target_relation) -%}\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(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}, "patch_path": null, "arguments": [], "created_at": 1661547899.064555}, "macro.dbt.snapshot_check_strategy": {"unique_id": "macro.dbt.snapshot_check_strategy", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.0.4/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 \n {% set select_current_time -%}\n select {{ snapshot_get_time() }} as snapshot_start\n {%- endset %}\n\n {#-- don't access the column by name, to avoid dealing with casing issues on snowflake #}\n {%- set now = run_query(select_current_time)[0][0] -%}\n {% if now is none or now is undefined -%}\n {%- do exceptions.raise_compiler_error('Could not get a snapshot start time from the database') -%}\n {%- endif %}\n {% set updated_at = config.get('updated_at', snapshot_string_as_time(now)) %}\n\n {% set column_added = false %}\n\n {% if check_cols_config == 'all' %}\n {% set column_added, check_cols = snapshot_check_all_get_existing_columns(node, target_exists) %}\n {% elif check_cols_config is iterable and (check_cols_config | length) > 0 %}\n {% set check_cols = check_cols_config %}\n {% else %}\n {% do exceptions.raise_compiler_error(\"Invalid value for 'check_cols': \" ~ check_cols_config) %}\n {% endif %}\n\n {%- set row_changed_expr -%}\n (\n {%- if column_added -%}\n TRUE\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.run_query", "macro.dbt.snapshot_string_as_time", "macro.dbt.snapshot_check_all_get_existing_columns", "macro.dbt.snapshot_hash_arguments"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.066544}, "macro.dbt.create_columns": {"unique_id": "macro.dbt.create_columns", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.070038}, "macro.dbt.default__create_columns": {"unique_id": "macro.dbt.default__create_columns", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.070358}, "macro.dbt.post_snapshot": {"unique_id": "macro.dbt.post_snapshot", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.070536}, "macro.dbt.default__post_snapshot": {"unique_id": "macro.dbt.default__post_snapshot", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.0706282}, "macro.dbt.snapshot_staging_table": {"unique_id": "macro.dbt.snapshot_staging_table", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.070848}, "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.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.071775}, "macro.dbt.build_snapshot_table": {"unique_id": "macro.dbt.build_snapshot_table", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.071976}, "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.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.0722911}, "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.0.4/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 tmp_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, tmp_relation, select) }}\n {% endcall %}\n\n {% do return(tmp_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.07279}, "macro.dbt.materialization_snapshot_default": {"unique_id": "macro.dbt.materialization_snapshot_default", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.0.4/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\n {% if not adapter.check_schema_exists(model.database, model.schema) %}\n {% do create_schema(model.database, model.schema) %}\n {% endif %}\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_sql']) %}\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 {% 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.create_schema", "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.persist_docs", "macro.dbt.create_indexes", "macro.dbt.post_snapshot"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.07961}, "macro.dbt.materialization_test_default": {"unique_id": "macro.dbt.materialization_test_default", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.0819771}, "macro.dbt.get_test_sql": {"unique_id": "macro.dbt.get_test_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.0825632}, "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.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.082887}, "macro.dbt.get_where_subquery": {"unique_id": "macro.dbt.get_where_subquery", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.0835042}, "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.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.083916}, "macro.dbt.get_quoted_csv": {"unique_id": "macro.dbt.get_quoted_csv", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.085008}, "macro.dbt.diff_columns": {"unique_id": "macro.dbt.diff_columns", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.085675}, "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.0.4/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 %}\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}, "patch_path": null, "arguments": [], "created_at": 1661547899.086324}, "macro.dbt.get_merge_sql": {"unique_id": "macro.dbt.get_merge_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.089252}, "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.0.4/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 update_columns = config.get('merge_update_columns', default = dest_columns | map(attribute=\"quoted\") | list) -%}\n {%- set sql_header = config.get('sql_header', none) -%}\n\n {% if unique_key %}\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 {% 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"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.090453}, "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.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.0907001}, "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.0.4/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 is not none %}\n delete from {{ target }}\n where ({{ unique_key }}) in (\n select ({{ unique_key }})\n from {{ source }}\n );\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}, "patch_path": null, "arguments": [], "created_at": 1661547899.0911329}, "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.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.091406}, "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.0.4/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 {%- 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}, "patch_path": null, "arguments": [], "created_at": 1661547899.092055}, "macro.dbt.is_incremental": {"unique_id": "macro.dbt.is_incremental", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.092916}, "macro.dbt.materialization_incremental_default": {"unique_id": "macro.dbt.materialization_incremental_default", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.0.4/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 {% set unique_key = config.get('unique_key') %}\n\n {% set target_relation = this.incorporate(type='table') %}\n {% set existing_relation = load_relation(this) %}\n {% set tmp_relation = make_temp_relation(target_relation) %}\n {%- set full_refresh_mode = (should_full_refresh()) -%}\n\n {% set on_schema_change = incremental_validate_on_schema_change(config.get('on_schema_change'), default='ignore') %}\n\n {% set tmp_identifier = model['name'] + '__dbt_tmp' %}\n {% set backup_identifier = model['name'] + \"__dbt_backup\" %}\n\n -- the intermediate_ 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 = adapter.get_relation(identifier=tmp_identifier, \n schema=schema,\n database=database) %} \n {% set preexisting_backup_relation = adapter.get_relation(identifier=backup_identifier,\n schema=schema,\n database=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 {% set to_drop = [] %}\n\n {# -- first check whether we want to full refresh for source view or config reasons #}\n {% set trigger_full_refresh = (full_refresh_mode or existing_relation.is_view) %}\n\n {% if existing_relation is none %}\n {% set build_sql = create_table_as(False, target_relation, sql) %}\n{% elif trigger_full_refresh %}\n {#-- Make sure the backup doesn't exist so we don't encounter issues with the rename below #}\n {% set tmp_identifier = model['name'] + '__dbt_tmp' %}\n {% set backup_identifier = model['name'] + '__dbt_backup' %}\n {% set intermediate_relation = existing_relation.incorporate(path={\"identifier\": tmp_identifier}) %}\n {% set backup_relation = existing_relation.incorporate(path={\"identifier\": backup_identifier}) %}\n\n {% set build_sql = create_table_as(False, intermediate_relation, sql) %}\n {% set need_swap = true %}\n {% do to_drop.append(backup_relation) %}\n {% else %}\n {% do run_query(create_table_as(True, tmp_relation, sql)) %}\n {% do adapter.expand_target_column_types(\n from_relation=tmp_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, tmp_relation, existing_relation) %}\n {% if not dest_columns %}\n {% set dest_columns = adapter.get_columns_in_relation(existing_relation) %}\n {% endif %}\n {% set build_sql = get_delete_insert_merge_sql(target_relation, tmp_relation, unique_key, dest_columns) %}\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 {% endif %}\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_relation", "macro.dbt.make_temp_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.create_table_as", "macro.dbt.run_query", "macro.dbt.process_schema_changes", "macro.dbt.get_delete_insert_merge_sql", "macro.dbt.statement", "macro.dbt.persist_docs", "macro.dbt.create_indexes"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.098123}, "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.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.1030998}, "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.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.1043682}, "macro.dbt.sync_column_schemas": {"unique_id": "macro.dbt.sync_column_schemas", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.1055958}, "macro.dbt.process_schema_changes": {"unique_id": "macro.dbt.process_schema_changes", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.0.4/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 {% 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}, "patch_path": null, "arguments": [], "created_at": 1661547899.106336}, "macro.dbt.materialization_table_default": {"unique_id": "macro.dbt.materialization_table_default", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.0.4/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 {%- set identifier = model['alias'] -%}\n {%- set tmp_identifier = model['name'] + '__dbt_tmp' -%}\n {%- set backup_identifier = model['name'] + '__dbt_backup' -%}\n\n {%- set old_relation = adapter.get_relation(database=database, schema=schema, identifier=identifier) -%}\n {%- set target_relation = api.Relation.create(identifier=identifier,\n schema=schema,\n database=database,\n type='table') -%}\n {%- set intermediate_relation = api.Relation.create(identifier=tmp_identifier,\n schema=schema,\n database=database,\n type='table') -%}\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 = adapter.get_relation(identifier=tmp_identifier, \n schema=schema,\n database=database) -%}\n /*\n See ../view/view.sql for more information about this relation.\n */\n {%- set backup_relation_type = 'table' if old_relation is none else old_relation.type -%}\n {%- set backup_relation = api.Relation.create(identifier=backup_identifier,\n schema=schema,\n database=database,\n type=backup_relation_type) -%}\n -- as above, the backup_relation should not already exist\n {%- set preexisting_backup_relation = adapter.get_relation(identifier=backup_identifier,\n schema=schema,\n database=database) -%}\n\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 old_relation is not none %}\n {{ adapter.rename_relation(old_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 {% 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.drop_relation_if_exists", "macro.dbt.run_hooks", "macro.dbt.statement", "macro.dbt.get_create_table_as_sql", "macro.dbt.create_indexes", "macro.dbt.persist_docs"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.110281}, "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.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.110872}, "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.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.111061}, "macro.dbt.create_table_as": {"unique_id": "macro.dbt.create_table_as", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.0.4/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, sql) -%}\n {{ adapter.dispatch('create_table_as', 'dbt')(temporary, relation, sql) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_postgres.postgres__create_table_as"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.111274}, "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.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.111698}, "macro.dbt.materialization_view_default": {"unique_id": "macro.dbt.materialization_view_default", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.0.4/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 identifier = model['alias'] -%}\n {%- set tmp_identifier = model['name'] + '__dbt_tmp' -%}\n {%- set backup_identifier = model['name'] + '__dbt_backup' -%}\n\n {%- set old_relation = adapter.get_relation(database=database, schema=schema, identifier=identifier) -%}\n {%- set target_relation = api.Relation.create(identifier=identifier, schema=schema, database=database,\n type='view') -%}\n {%- set intermediate_relation = api.Relation.create(identifier=tmp_identifier,\n schema=schema, database=database, type='view') -%}\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 = adapter.get_relation(identifier=tmp_identifier, \n schema=schema,\n database=database) -%}\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 \"old_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 old_relation, if it exists,\n or else \"view\" as a sane default if it does not. Note that if the old_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 old_relation is none else old_relation.type -%}\n {%- set backup_relation = api.Relation.create(identifier=backup_identifier,\n schema=schema, database=database,\n type=backup_relation_type) -%}\n -- as above, the backup_relation should not already exist\n {%- set preexisting_backup_relation = adapter.get_relation(identifier=backup_identifier,\n schema=schema,\n database=database) -%}\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 {{ create_view_as(intermediate_relation, sql) }}\n {%- endcall %}\n\n -- cleanup\n -- move the existing view out of the way\n {% if old_relation is not none %}\n {{ adapter.rename_relation(old_relation, backup_relation) }}\n {% endif %}\n {{ adapter.rename_relation(intermediate_relation, target_relation) }}\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.run_hooks", "macro.dbt.drop_relation_if_exists", "macro.dbt.statement", "macro.dbt.create_view_as", "macro.dbt.persist_docs"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.115474}, "macro.dbt.handle_existing_table": {"unique_id": "macro.dbt.handle_existing_table", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.115915}, "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.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.116143}, "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.0.4/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\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\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 {{ 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"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.117422}, "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.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.117863}, "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.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.118029}, "macro.dbt.create_view_as": {"unique_id": "macro.dbt.create_view_as", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.118217}, "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.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.118488}, "macro.dbt.materialization_seed_default": {"unique_id": "macro.dbt.materialization_seed_default", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.0.4/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 agate_table = load_agate_table() -%}\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 {{ create_table_sql }};\n -- dbt seed --\n {{ sql }}\n {% endcall %}\n\n {% set target_relation = this.incorporate(type='table') %}\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.persist_docs", "macro.dbt.create_indexes"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.121444}, "macro.dbt.create_csv_table": {"unique_id": "macro.dbt.create_csv_table", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.125671}, "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.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.126622}, "macro.dbt.reset_csv_table": {"unique_id": "macro.dbt.reset_csv_table", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.126879}, "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.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.127399}, "macro.dbt.get_binding_char": {"unique_id": "macro.dbt.get_binding_char", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.127558}, "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.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.127678}, "macro.dbt.get_batch_size": {"unique_id": "macro.dbt.get_batch_size", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.12786}, "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.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.127985}, "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.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.1284852}, "macro.dbt.load_csv_rows": {"unique_id": "macro.dbt.load_csv_rows", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.1288629}, "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.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.130157}, "macro.dbt.generate_alias_name": {"unique_id": "macro.dbt.generate_alias_name", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.130718}, "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.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.130951}, "macro.dbt.generate_schema_name": {"unique_id": "macro.dbt.generate_schema_name", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.131559}, "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.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.131814}, "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.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.132096}, "macro.dbt.generate_database_name": {"unique_id": "macro.dbt.generate_database_name", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.132554}, "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.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.132797}, "macro.dbt.default__test_relationships": {"unique_id": "macro.dbt.default__test_relationships", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.133197}, "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.0.4/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\nselect *\nfrom {{ model }}\nwhere {{ column_name }} is null\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.133441}, "macro.dbt.default__test_unique": {"unique_id": "macro.dbt.default__test_unique", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.133752}, "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.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.13436}, "macro.dbt.statement": {"unique_id": "macro.dbt.statement", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.0.4/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": "{% macro statement(name=None, fetch_result=False, auto_begin=True) -%}\n {%- if execute: -%}\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 {%- set res, table = adapter.execute(sql, auto_begin=auto_begin, fetch=fetch_result) -%}\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}, "patch_path": null, "arguments": [], "created_at": 1661547899.1355011}, "macro.dbt.noop_statement": {"unique_id": "macro.dbt.noop_statement", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.136082}, "macro.dbt.run_query": {"unique_id": "macro.dbt.run_query", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.136375}, "macro.dbt.convert_datetime": {"unique_id": "macro.dbt.convert_datetime", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.1381152}, "macro.dbt.dates_in_range": {"unique_id": "macro.dbt.dates_in_range", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.1397288}, "macro.dbt.partition_range": {"unique_id": "macro.dbt.partition_range", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.140584}, "macro.dbt.py_current_timestring": {"unique_id": "macro.dbt.py_current_timestring", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.140838}, "macro.dbt.create_schema": {"unique_id": "macro.dbt.create_schema", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.141508}, "macro.dbt.default__create_schema": {"unique_id": "macro.dbt.default__create_schema", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.141713}, "macro.dbt.drop_schema": {"unique_id": "macro.dbt.drop_schema", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.141886}, "macro.dbt.default__drop_schema": {"unique_id": "macro.dbt.default__drop_schema", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.142078}, "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.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.1426828}, "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.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.142826}, "macro.dbt.create_indexes": {"unique_id": "macro.dbt.create_indexes", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.142993}, "macro.dbt.default__create_indexes": {"unique_id": "macro.dbt.default__create_indexes", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.143404}, "macro.dbt.make_temp_relation": {"unique_id": "macro.dbt.make_temp_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.1451478}, "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.0.4/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 tmp_identifier = base_relation.identifier ~ suffix %}\n {% set tmp_relation = base_relation.incorporate(\n path={\"identifier\": tmp_identifier}) -%}\n\n {% do return(tmp_relation) %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.1454778}, "macro.dbt.drop_relation": {"unique_id": "macro.dbt.drop_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.1456761}, "macro.dbt.default__drop_relation": {"unique_id": "macro.dbt.default__drop_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.145903}, "macro.dbt.truncate_relation": {"unique_id": "macro.dbt.truncate_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.14609}, "macro.dbt.default__truncate_relation": {"unique_id": "macro.dbt.default__truncate_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.146262}, "macro.dbt.rename_relation": {"unique_id": "macro.dbt.rename_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.1464791}, "macro.dbt.default__rename_relation": {"unique_id": "macro.dbt.default__rename_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.146762}, "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.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.147014}, "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.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.147696}, "macro.dbt.load_relation": {"unique_id": "macro.dbt.load_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.0.4/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 {% 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}, "patch_path": null, "arguments": [], "created_at": 1661547899.147933}, "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.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.148135}, "macro.dbt.current_timestamp": {"unique_id": "macro.dbt.current_timestamp", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.0.4/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/freshness.sql", "original_file_path": "macros/adapters/freshness.sql", "name": "current_timestamp", "macro_sql": "{% macro current_timestamp() -%}\n {{ adapter.dispatch('current_timestamp', 'dbt')() }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_postgres.postgres__current_timestamp"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.148742}, "macro.dbt.default__current_timestamp": {"unique_id": "macro.dbt.default__current_timestamp", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.0.4/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/freshness.sql", "original_file_path": "macros/adapters/freshness.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}, "patch_path": null, "arguments": [], "created_at": 1661547899.1488929}, "macro.dbt.collect_freshness": {"unique_id": "macro.dbt.collect_freshness", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.0.4/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.fivetran_utils.default__collect_freshness"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.1491258}, "macro.dbt.default__collect_freshness": {"unique_id": "macro.dbt.default__collect_freshness", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.0.4/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_utils.current_timestamp"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.14956}, "macro.dbt.alter_column_comment": {"unique_id": "macro.dbt.alter_column_comment", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.150316}, "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.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.150493}, "macro.dbt.alter_relation_comment": {"unique_id": "macro.dbt.alter_relation_comment", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.150702}, "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.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.150877}, "macro.dbt.persist_docs": {"unique_id": "macro.dbt.persist_docs", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.151158}, "macro.dbt.default__persist_docs": {"unique_id": "macro.dbt.default__persist_docs", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.151659}, "macro.dbt.get_catalog": {"unique_id": "macro.dbt.get_catalog", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.15319}, "macro.dbt.default__get_catalog": {"unique_id": "macro.dbt.default__get_catalog", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.153457}, "macro.dbt.information_schema_name": {"unique_id": "macro.dbt.information_schema_name", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.1536472}, "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.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.153803}, "macro.dbt.list_schemas": {"unique_id": "macro.dbt.list_schemas", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.153995}, "macro.dbt.default__list_schemas": {"unique_id": "macro.dbt.default__list_schemas", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.1542542}, "macro.dbt.check_schema_exists": {"unique_id": "macro.dbt.check_schema_exists", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.1544561}, "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.0.4/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_utils.replace", "macro.dbt.run_query"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.154853}, "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.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.155042}, "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.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.155205}, "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.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.157054}, "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.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.1572201}, "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.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.1575449}, "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.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.157734}, "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.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.158088}, "macro.dbt.alter_column_type": {"unique_id": "macro.dbt.alter_column_type", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.158326}, "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.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.158952}, "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.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.1592152}, "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.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.160107}, "macro.dbt.test_unique": {"unique_id": "macro.dbt.test_unique", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.1608489}, "macro.dbt.test_not_null": {"unique_id": "macro.dbt.test_not_null", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.1610901}, "macro.dbt.test_accepted_values": {"unique_id": "macro.dbt.test_accepted_values", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.1613839}, "macro.dbt.test_relationships": {"unique_id": "macro.dbt.test_relationships", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.0.4/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.1616619}, "macro.dbt_utils.except": {"unique_id": "macro.dbt_utils.except", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/except.sql", "original_file_path": "macros/cross_db_utils/except.sql", "name": "except", "macro_sql": "{% macro except() %}\n {{ return(adapter.dispatch('except', 'dbt_utils')()) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.default__except"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.162005}, "macro.dbt_utils.default__except": {"unique_id": "macro.dbt_utils.default__except", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/except.sql", "original_file_path": "macros/cross_db_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.162081}, "macro.dbt_utils.bigquery__except": {"unique_id": "macro.dbt_utils.bigquery__except", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/except.sql", "original_file_path": "macros/cross_db_utils/except.sql", "name": "bigquery__except", "macro_sql": "{% macro bigquery__except() %}\n\n except distinct\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.16215}, "macro.dbt_utils.replace": {"unique_id": "macro.dbt_utils.replace", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/replace.sql", "original_file_path": "macros/cross_db_utils/replace.sql", "name": "replace", "macro_sql": "{% macro replace(field, old_chars, new_chars) -%}\n {{ return(adapter.dispatch('replace', 'dbt_utils') (field, old_chars, new_chars)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.default__replace"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.162557}, "macro.dbt_utils.default__replace": {"unique_id": "macro.dbt_utils.default__replace", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/replace.sql", "original_file_path": "macros/cross_db_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.162719}, "macro.dbt_utils.concat": {"unique_id": "macro.dbt_utils.concat", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/concat.sql", "original_file_path": "macros/cross_db_utils/concat.sql", "name": "concat", "macro_sql": "{% macro concat(fields) -%}\n {{ return(adapter.dispatch('concat', 'dbt_utils')(fields)) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.default__concat"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.1630368}, "macro.dbt_utils.default__concat": {"unique_id": "macro.dbt_utils.default__concat", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/concat.sql", "original_file_path": "macros/cross_db_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.163248}, "macro.dbt_utils.type_string": {"unique_id": "macro.dbt_utils.type_string", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/datatypes.sql", "original_file_path": "macros/cross_db_utils/datatypes.sql", "name": "type_string", "macro_sql": "\n\n{%- macro type_string() -%}\n {{ return(adapter.dispatch('type_string', 'dbt_utils')()) }}\n{%- endmacro -%}\n\n", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.postgres__type_string"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.163979}, "macro.dbt_utils.default__type_string": {"unique_id": "macro.dbt_utils.default__type_string", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/datatypes.sql", "original_file_path": "macros/cross_db_utils/datatypes.sql", "name": "default__type_string", "macro_sql": "{% macro default__type_string() %}\n string\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.164053}, "macro.dbt_utils.redshift__type_string": {"unique_id": "macro.dbt_utils.redshift__type_string", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/datatypes.sql", "original_file_path": "macros/cross_db_utils/datatypes.sql", "name": "redshift__type_string", "macro_sql": "\n\n{%- macro redshift__type_string() -%}\n varchar\n{%- endmacro -%}\n\n", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.1641228}, "macro.dbt_utils.postgres__type_string": {"unique_id": "macro.dbt_utils.postgres__type_string", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/datatypes.sql", "original_file_path": "macros/cross_db_utils/datatypes.sql", "name": "postgres__type_string", "macro_sql": "{% macro postgres__type_string() %}\n varchar\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.16419}, "macro.dbt_utils.snowflake__type_string": {"unique_id": "macro.dbt_utils.snowflake__type_string", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/datatypes.sql", "original_file_path": "macros/cross_db_utils/datatypes.sql", "name": "snowflake__type_string", "macro_sql": "{% macro snowflake__type_string() %}\n varchar\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.164259}, "macro.dbt_utils.type_timestamp": {"unique_id": "macro.dbt_utils.type_timestamp", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/datatypes.sql", "original_file_path": "macros/cross_db_utils/datatypes.sql", "name": "type_timestamp", "macro_sql": "\n\n{%- macro type_timestamp() -%}\n {{ return(adapter.dispatch('type_timestamp', 'dbt_utils')()) }}\n{%- endmacro -%}\n\n", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.postgres__type_timestamp"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.164415}, "macro.dbt_utils.default__type_timestamp": {"unique_id": "macro.dbt_utils.default__type_timestamp", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/datatypes.sql", "original_file_path": "macros/cross_db_utils/datatypes.sql", "name": "default__type_timestamp", "macro_sql": "{% macro default__type_timestamp() %}\n timestamp\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.164486}, "macro.dbt_utils.postgres__type_timestamp": {"unique_id": "macro.dbt_utils.postgres__type_timestamp", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/datatypes.sql", "original_file_path": "macros/cross_db_utils/datatypes.sql", "name": "postgres__type_timestamp", "macro_sql": "{% macro postgres__type_timestamp() %}\n timestamp without time zone\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.164553}, "macro.dbt_utils.snowflake__type_timestamp": {"unique_id": "macro.dbt_utils.snowflake__type_timestamp", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/datatypes.sql", "original_file_path": "macros/cross_db_utils/datatypes.sql", "name": "snowflake__type_timestamp", "macro_sql": "{% macro snowflake__type_timestamp() %}\n timestamp_ntz\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.164622}, "macro.dbt_utils.type_float": {"unique_id": "macro.dbt_utils.type_float", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/datatypes.sql", "original_file_path": "macros/cross_db_utils/datatypes.sql", "name": "type_float", "macro_sql": "\n\n{%- macro type_float() -%}\n {{ return(adapter.dispatch('type_float', 'dbt_utils')()) }}\n{%- endmacro -%}\n\n", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.default__type_float"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.164782}, "macro.dbt_utils.default__type_float": {"unique_id": "macro.dbt_utils.default__type_float", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/datatypes.sql", "original_file_path": "macros/cross_db_utils/datatypes.sql", "name": "default__type_float", "macro_sql": "{% macro default__type_float() %}\n float\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.16485}, "macro.dbt_utils.bigquery__type_float": {"unique_id": "macro.dbt_utils.bigquery__type_float", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/datatypes.sql", "original_file_path": "macros/cross_db_utils/datatypes.sql", "name": "bigquery__type_float", "macro_sql": "{% macro bigquery__type_float() %}\n float64\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.1649191}, "macro.dbt_utils.type_numeric": {"unique_id": "macro.dbt_utils.type_numeric", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/datatypes.sql", "original_file_path": "macros/cross_db_utils/datatypes.sql", "name": "type_numeric", "macro_sql": "\n\n{%- macro type_numeric() -%}\n {{ return(adapter.dispatch('type_numeric', 'dbt_utils')()) }}\n{%- endmacro -%}\n\n", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.default__type_numeric"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.1650748}, "macro.dbt_utils.default__type_numeric": {"unique_id": "macro.dbt_utils.default__type_numeric", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/datatypes.sql", "original_file_path": "macros/cross_db_utils/datatypes.sql", "name": "default__type_numeric", "macro_sql": "{% macro default__type_numeric() %}\n numeric(28, 6)\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.1651561}, "macro.dbt_utils.bigquery__type_numeric": {"unique_id": "macro.dbt_utils.bigquery__type_numeric", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/datatypes.sql", "original_file_path": "macros/cross_db_utils/datatypes.sql", "name": "bigquery__type_numeric", "macro_sql": "{% macro bigquery__type_numeric() %}\n numeric\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.165222}, "macro.dbt_utils.type_bigint": {"unique_id": "macro.dbt_utils.type_bigint", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/datatypes.sql", "original_file_path": "macros/cross_db_utils/datatypes.sql", "name": "type_bigint", "macro_sql": "\n\n{%- macro type_bigint() -%}\n {{ return(adapter.dispatch('type_bigint', 'dbt_utils')()) }}\n{%- endmacro -%}\n\n", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.default__type_bigint"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.165375}, "macro.dbt_utils.default__type_bigint": {"unique_id": "macro.dbt_utils.default__type_bigint", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/datatypes.sql", "original_file_path": "macros/cross_db_utils/datatypes.sql", "name": "default__type_bigint", "macro_sql": "{% macro default__type_bigint() %}\n bigint\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.1654432}, "macro.dbt_utils.bigquery__type_bigint": {"unique_id": "macro.dbt_utils.bigquery__type_bigint", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/datatypes.sql", "original_file_path": "macros/cross_db_utils/datatypes.sql", "name": "bigquery__type_bigint", "macro_sql": "{% macro bigquery__type_bigint() %}\n int64\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.165511}, "macro.dbt_utils.type_int": {"unique_id": "macro.dbt_utils.type_int", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/datatypes.sql", "original_file_path": "macros/cross_db_utils/datatypes.sql", "name": "type_int", "macro_sql": "\n\n{%- macro type_int() -%}\n {{ return(adapter.dispatch('type_int', 'dbt_utils')()) }}\n{%- endmacro -%}\n\n", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.default__type_int"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.1657228}, "macro.dbt_utils.default__type_int": {"unique_id": "macro.dbt_utils.default__type_int", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/datatypes.sql", "original_file_path": "macros/cross_db_utils/datatypes.sql", "name": "default__type_int", "macro_sql": "{% macro default__type_int() %}\n int\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.165793}, "macro.dbt_utils.bigquery__type_int": {"unique_id": "macro.dbt_utils.bigquery__type_int", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/datatypes.sql", "original_file_path": "macros/cross_db_utils/datatypes.sql", "name": "bigquery__type_int", "macro_sql": "{% macro bigquery__type_int() %}\n int64\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.1658618}, "macro.dbt_utils._is_relation": {"unique_id": "macro.dbt_utils._is_relation", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/_is_relation.sql", "original_file_path": "macros/cross_db_utils/_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.166389}, "macro.dbt_utils.cast_array_to_string": {"unique_id": "macro.dbt_utils.cast_array_to_string", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/cast_array_to_string.sql", "original_file_path": "macros/cross_db_utils/cast_array_to_string.sql", "name": "cast_array_to_string", "macro_sql": "{% macro cast_array_to_string(array) %}\n {{ adapter.dispatch('cast_array_to_string', 'dbt_utils') (array) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.postgres__cast_array_to_string"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.1668448}, "macro.dbt_utils.default__cast_array_to_string": {"unique_id": "macro.dbt_utils.default__cast_array_to_string", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/cast_array_to_string.sql", "original_file_path": "macros/cross_db_utils/cast_array_to_string.sql", "name": "default__cast_array_to_string", "macro_sql": "{% macro default__cast_array_to_string(array) %}\n cast({{ array }} as {{ dbt_utils.type_string() }})\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_string"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.166982}, "macro.dbt_utils.postgres__cast_array_to_string": {"unique_id": "macro.dbt_utils.postgres__cast_array_to_string", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/cast_array_to_string.sql", "original_file_path": "macros/cross_db_utils/cast_array_to_string.sql", "name": "postgres__cast_array_to_string", "macro_sql": "{% macro postgres__cast_array_to_string(array) %}\n {%- set array_as_string -%}cast({{ array }} as {{ dbt_utils.type_string() }}){%- endset -%}\n {{ dbt_utils.replace(dbt_utils.replace(array_as_string,\"'}'\",\"']'\"),\"'{'\",\"'['\") }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_string", "macro.dbt_utils.replace"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.167283}, "macro.dbt_utils.redshift__cast_array_to_string": {"unique_id": "macro.dbt_utils.redshift__cast_array_to_string", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/cast_array_to_string.sql", "original_file_path": "macros/cross_db_utils/cast_array_to_string.sql", "name": "redshift__cast_array_to_string", "macro_sql": "{% macro redshift__cast_array_to_string(array) %}\n cast({{ array }} as {{ dbt_utils.type_string() }})\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_string"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.1674209}, "macro.dbt_utils.bigquery__cast_array_to_string": {"unique_id": "macro.dbt_utils.bigquery__cast_array_to_string", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/cast_array_to_string.sql", "original_file_path": "macros/cross_db_utils/cast_array_to_string.sql", "name": "bigquery__cast_array_to_string", "macro_sql": "{% macro bigquery__cast_array_to_string(array) %}\n '['||(select string_agg(cast(element as string), ',') from unnest({{ array }}) element)||']'\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.167522}, "macro.dbt_utils.length": {"unique_id": "macro.dbt_utils.length", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/length.sql", "original_file_path": "macros/cross_db_utils/length.sql", "name": "length", "macro_sql": "{% macro length(expression) -%}\n {{ return(adapter.dispatch('length', 'dbt_utils') (expression)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.default__length"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.167885}, "macro.dbt_utils.default__length": {"unique_id": "macro.dbt_utils.default__length", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/length.sql", "original_file_path": "macros/cross_db_utils/length.sql", "name": "default__length", "macro_sql": "{% macro default__length(expression) %}\n \n length(\n {{ expression }}\n )\n \n{%- endmacro -%}\n\n\n", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.167994}, "macro.dbt_utils.redshift__length": {"unique_id": "macro.dbt_utils.redshift__length", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/length.sql", "original_file_path": "macros/cross_db_utils/length.sql", "name": "redshift__length", "macro_sql": "{% macro redshift__length(expression) %}\n\n len(\n {{ expression }}\n )\n \n{%- endmacro -%}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.1680908}, "macro.dbt_utils.dateadd": {"unique_id": "macro.dbt_utils.dateadd", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/dateadd.sql", "original_file_path": "macros/cross_db_utils/dateadd.sql", "name": "dateadd", "macro_sql": "{% macro dateadd(datepart, interval, from_date_or_timestamp) %}\n {{ return(adapter.dispatch('dateadd', 'dbt_utils')(datepart, interval, from_date_or_timestamp)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.postgres__dateadd"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.16869}, "macro.dbt_utils.default__dateadd": {"unique_id": "macro.dbt_utils.default__dateadd", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/dateadd.sql", "original_file_path": "macros/cross_db_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.16885}, "macro.dbt_utils.bigquery__dateadd": {"unique_id": "macro.dbt_utils.bigquery__dateadd", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/dateadd.sql", "original_file_path": "macros/cross_db_utils/dateadd.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.169006}, "macro.dbt_utils.postgres__dateadd": {"unique_id": "macro.dbt_utils.postgres__dateadd", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/dateadd.sql", "original_file_path": "macros/cross_db_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.1691608}, "macro.dbt_utils.redshift__dateadd": {"unique_id": "macro.dbt_utils.redshift__dateadd", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/dateadd.sql", "original_file_path": "macros/cross_db_utils/dateadd.sql", "name": "redshift__dateadd", "macro_sql": "{% macro redshift__dateadd(datepart, interval, from_date_or_timestamp) %}\n\n {{ return(dbt_utils.default__dateadd(datepart, interval, from_date_or_timestamp)) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.default__dateadd"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.1693509}, "macro.dbt_utils.intersect": {"unique_id": "macro.dbt_utils.intersect", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/intersect.sql", "original_file_path": "macros/cross_db_utils/intersect.sql", "name": "intersect", "macro_sql": "{% macro intersect() %}\n {{ return(adapter.dispatch('intersect', 'dbt_utils')()) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.default__intersect"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.169659}, "macro.dbt_utils.default__intersect": {"unique_id": "macro.dbt_utils.default__intersect", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/intersect.sql", "original_file_path": "macros/cross_db_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.169733}, "macro.dbt_utils.bigquery__intersect": {"unique_id": "macro.dbt_utils.bigquery__intersect", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/intersect.sql", "original_file_path": "macros/cross_db_utils/intersect.sql", "name": "bigquery__intersect", "macro_sql": "{% macro bigquery__intersect() %}\n\n intersect distinct\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.1698}, "macro.dbt_utils.escape_single_quotes": {"unique_id": "macro.dbt_utils.escape_single_quotes", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/escape_single_quotes.sql", "original_file_path": "macros/cross_db_utils/escape_single_quotes.sql", "name": "escape_single_quotes", "macro_sql": "{% macro escape_single_quotes(expression) %}\n {{ return(adapter.dispatch('escape_single_quotes', 'dbt_utils') (expression)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.default__escape_single_quotes"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.1703308}, "macro.dbt_utils.default__escape_single_quotes": {"unique_id": "macro.dbt_utils.default__escape_single_quotes", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/escape_single_quotes.sql", "original_file_path": "macros/cross_db_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.170516}, "macro.dbt_utils.snowflake__escape_single_quotes": {"unique_id": "macro.dbt_utils.snowflake__escape_single_quotes", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/escape_single_quotes.sql", "original_file_path": "macros/cross_db_utils/escape_single_quotes.sql", "name": "snowflake__escape_single_quotes", "macro_sql": "{% macro snowflake__escape_single_quotes(expression) -%}\n{{ expression | replace(\"'\", \"\\\\'\") }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.170785}, "macro.dbt_utils.bigquery__escape_single_quotes": {"unique_id": "macro.dbt_utils.bigquery__escape_single_quotes", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/escape_single_quotes.sql", "original_file_path": "macros/cross_db_utils/escape_single_quotes.sql", "name": "bigquery__escape_single_quotes", "macro_sql": "{% macro bigquery__escape_single_quotes(expression) -%}\n{{ expression | replace(\"'\", \"\\\\'\") }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.170929}, "macro.dbt_utils.right": {"unique_id": "macro.dbt_utils.right", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/right.sql", "original_file_path": "macros/cross_db_utils/right.sql", "name": "right", "macro_sql": "{% macro right(string_text, length_expression) -%}\n {{ return(adapter.dispatch('right', 'dbt_utils') (string_text, length_expression)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.default__right"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.17169}, "macro.dbt_utils.default__right": {"unique_id": "macro.dbt_utils.default__right", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/right.sql", "original_file_path": "macros/cross_db_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 -%}\n\n", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.171833}, "macro.dbt_utils.bigquery__right": {"unique_id": "macro.dbt_utils.bigquery__right", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/right.sql", "original_file_path": "macros/cross_db_utils/right.sql", "name": "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 -%}\n\n", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.171995}, "macro.dbt_utils.snowflake__right": {"unique_id": "macro.dbt_utils.snowflake__right", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/right.sql", "original_file_path": "macros/cross_db_utils/right.sql", "name": "snowflake__right", "macro_sql": "{% macro snowflake__right(string_text, length_expression) %}\n\n case when {{ length_expression }} = 0 \n then ''\n else \n right(\n {{ string_text }},\n {{ length_expression }}\n )\n end\n\n{%- endmacro -%}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.172161}, "macro.dbt_utils.listagg": {"unique_id": "macro.dbt_utils.listagg", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/listagg.sql", "original_file_path": "macros/cross_db_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_utils') (measure, delimiter_text, order_by_clause, limit_num)) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.postgres__listagg"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.174902}, "macro.dbt_utils.default__listagg": {"unique_id": "macro.dbt_utils.default__listagg", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/listagg.sql", "original_file_path": "macros/cross_db_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.175338}, "macro.dbt_utils.bigquery__listagg": {"unique_id": "macro.dbt_utils.bigquery__listagg", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/listagg.sql", "original_file_path": "macros/cross_db_utils/listagg.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.175627}, "macro.dbt_utils.postgres__listagg": {"unique_id": "macro.dbt_utils.postgres__listagg", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/listagg.sql", "original_file_path": "macros/cross_db_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.176024}, "macro.dbt_utils.redshift__listagg": {"unique_id": "macro.dbt_utils.redshift__listagg", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/listagg.sql", "original_file_path": "macros/cross_db_utils/listagg.sql", "name": "redshift__listagg", "macro_sql": "{% macro redshift__listagg(measure, delimiter_text, order_by_clause, limit_num) -%}\n\n {% if limit_num -%}\n {% set ns = namespace() %}\n {% set ns.delimiter_text_regex = delimiter_text|trim(\"'\") %}\n {% set special_chars %}\\,^,$,.,|,?,*,+,(,),[,],{,}{% endset %} \n {%- for char in special_chars.split(',') -%}\n {% set escape_char %}\\\\{{ char }}{% endset %}\n {% set ns.delimiter_text_regex = ns.delimiter_text_regex|replace(char,escape_char) %}\n {%- endfor -%}\n\n {% set regex %}'([^{{ ns.delimiter_text_regex }}]+{{ ns.delimiter_text_regex }}){1,{{ limit_num - 1}}}[^{{ ns.delimiter_text_regex }}]+'{% endset %}\n regexp_substr(\n listagg(\n {{ measure }},\n {{ delimiter_text }}\n )\n {% if order_by_clause -%}\n within group ({{ order_by_clause }})\n {%- endif %}\n ,{{ regex }}\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}, "patch_path": null, "arguments": [], "created_at": 1661547899.176994}, "macro.dbt_utils.datediff": {"unique_id": "macro.dbt_utils.datediff", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/datediff.sql", "original_file_path": "macros/cross_db_utils/datediff.sql", "name": "datediff", "macro_sql": "{% macro datediff(first_date, second_date, datepart) %}\n {{ return(adapter.dispatch('datediff', 'dbt_utils')(first_date, second_date, datepart)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.postgres__datediff"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.180058}, "macro.dbt_utils.default__datediff": {"unique_id": "macro.dbt_utils.default__datediff", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/datediff.sql", "original_file_path": "macros/cross_db_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.180251}, "macro.dbt_utils.bigquery__datediff": {"unique_id": "macro.dbt_utils.bigquery__datediff", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/datediff.sql", "original_file_path": "macros/cross_db_utils/datediff.sql", "name": "bigquery__datediff", "macro_sql": "{% macro bigquery__datediff(first_date, second_date, datepart) -%}\n\n datetime_diff(\n cast({{second_date}} as datetime),\n cast({{first_date}} as datetime),\n {{datepart}}\n )\n\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.1804318}, "macro.dbt_utils.postgres__datediff": {"unique_id": "macro.dbt_utils.postgres__datediff", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/datediff.sql", "original_file_path": "macros/cross_db_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 ({{ dbt_utils.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_utils.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_utils.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_utils.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_utils.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_utils.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_utils.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_utils.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_utils.datediff"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.182324}, "macro.dbt_utils.redshift__datediff": {"unique_id": "macro.dbt_utils.redshift__datediff", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/datediff.sql", "original_file_path": "macros/cross_db_utils/datediff.sql", "name": "redshift__datediff", "macro_sql": "{% macro redshift__datediff(first_date, second_date, datepart) -%}\n\n {{ return(dbt_utils.default__datediff(first_date, second_date, datepart)) }}\n\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.default__datediff"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.182545}, "macro.dbt_utils.safe_cast": {"unique_id": "macro.dbt_utils.safe_cast", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/safe_cast.sql", "original_file_path": "macros/cross_db_utils/safe_cast.sql", "name": "safe_cast", "macro_sql": "{% macro safe_cast(field, type) %}\n {{ return(adapter.dispatch('safe_cast', 'dbt_utils') (field, type)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.default__safe_cast"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.183111}, "macro.dbt_utils.default__safe_cast": {"unique_id": "macro.dbt_utils.default__safe_cast", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/safe_cast.sql", "original_file_path": "macros/cross_db_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.183254}, "macro.dbt_utils.snowflake__safe_cast": {"unique_id": "macro.dbt_utils.snowflake__safe_cast", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/safe_cast.sql", "original_file_path": "macros/cross_db_utils/safe_cast.sql", "name": "snowflake__safe_cast", "macro_sql": "{% macro snowflake__safe_cast(field, type) %}\n try_cast({{field}} as {{type}})\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.183381}, "macro.dbt_utils.bigquery__safe_cast": {"unique_id": "macro.dbt_utils.bigquery__safe_cast", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/safe_cast.sql", "original_file_path": "macros/cross_db_utils/safe_cast.sql", "name": "bigquery__safe_cast", "macro_sql": "{% macro bigquery__safe_cast(field, type) %}\n safe_cast({{field}} as {{type}})\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.18351}, "macro.dbt_utils.hash": {"unique_id": "macro.dbt_utils.hash", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/hash.sql", "original_file_path": "macros/cross_db_utils/hash.sql", "name": "hash", "macro_sql": "{% macro hash(field) -%}\n {{ return(adapter.dispatch('hash', 'dbt_utils') (field)) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.default__hash"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.183891}, "macro.dbt_utils.default__hash": {"unique_id": "macro.dbt_utils.default__hash", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/hash.sql", "original_file_path": "macros/cross_db_utils/hash.sql", "name": "default__hash", "macro_sql": "{% macro default__hash(field) -%}\n md5(cast({{field}} as {{dbt_utils.type_string()}}))\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_string"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.184034}, "macro.dbt_utils.bigquery__hash": {"unique_id": "macro.dbt_utils.bigquery__hash", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/hash.sql", "original_file_path": "macros/cross_db_utils/hash.sql", "name": "bigquery__hash", "macro_sql": "{% macro bigquery__hash(field) -%}\n to_hex({{dbt_utils.default__hash(field)}})\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.default__hash"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.184166}, "macro.dbt_utils.cast_bool_to_text": {"unique_id": "macro.dbt_utils.cast_bool_to_text", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/cast_bool_to_text.sql", "original_file_path": "macros/cross_db_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_utils') (field) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.default__cast_bool_to_text"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.184554}, "macro.dbt_utils.default__cast_bool_to_text": {"unique_id": "macro.dbt_utils.default__cast_bool_to_text", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/cast_bool_to_text.sql", "original_file_path": "macros/cross_db_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 {{ dbt_utils.type_string() }})\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_string"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.184698}, "macro.dbt_utils.redshift__cast_bool_to_text": {"unique_id": "macro.dbt_utils.redshift__cast_bool_to_text", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/cast_bool_to_text.sql", "original_file_path": "macros/cross_db_utils/cast_bool_to_text.sql", "name": "redshift__cast_bool_to_text", "macro_sql": "{% macro redshift__cast_bool_to_text(field) %}\n case\n when {{ field }} is true then 'true'\n when {{ field }} is false then 'false'\n end::text\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.184829}, "macro.dbt_utils.identifier": {"unique_id": "macro.dbt_utils.identifier", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/identifier.sql", "original_file_path": "macros/cross_db_utils/identifier.sql", "name": "identifier", "macro_sql": "{% macro identifier(value) %}\t\n {%- set error_message = '\n Warning: the `identifier` macro is no longer supported and will be deprecated in a future release of dbt-utils. \\\n Use `adapter.quote` instead. The {}.{} model triggered this warning. \\\n '.format(model.package_name, model.name) -%}\n {%- do exceptions.warn(error_message) -%}\n {{ return(adapter.dispatch('identifier', 'dbt_utils') (value)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.default__identifier"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.185387}, "macro.dbt_utils.default__identifier": {"unique_id": "macro.dbt_utils.default__identifier", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/identifier.sql", "original_file_path": "macros/cross_db_utils/identifier.sql", "name": "default__identifier", "macro_sql": "{% macro default__identifier(value) -%}\t\n \"{{ value }}\"\t\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.1854951}, "macro.dbt_utils.bigquery__identifier": {"unique_id": "macro.dbt_utils.bigquery__identifier", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/identifier.sql", "original_file_path": "macros/cross_db_utils/identifier.sql", "name": "bigquery__identifier", "macro_sql": "{% macro bigquery__identifier(value) -%}\t\n `{{ value }}`\t\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.1855931}, "macro.dbt_utils.any_value": {"unique_id": "macro.dbt_utils.any_value", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/any_value.sql", "original_file_path": "macros/cross_db_utils/any_value.sql", "name": "any_value", "macro_sql": "{% macro any_value(expression) -%}\n {{ return(adapter.dispatch('any_value', 'dbt_utils') (expression)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.postgres__any_value"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.18596}, "macro.dbt_utils.default__any_value": {"unique_id": "macro.dbt_utils.default__any_value", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/any_value.sql", "original_file_path": "macros/cross_db_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.186068}, "macro.dbt_utils.postgres__any_value": {"unique_id": "macro.dbt_utils.postgres__any_value", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/any_value.sql", "original_file_path": "macros/cross_db_utils/any_value.sql", "name": "postgres__any_value", "macro_sql": "{% macro postgres__any_value(expression) -%}\n {#- /*Postgres doesn't support any_value, so we're using min() to get the same result*/ -#}\n min({{ expression }})\n \n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.186173}, "macro.dbt_utils.position": {"unique_id": "macro.dbt_utils.position", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/position.sql", "original_file_path": "macros/cross_db_utils/position.sql", "name": "position", "macro_sql": "{% macro position(substring_text, string_text) -%}\n {{ return(adapter.dispatch('position', 'dbt_utils') (substring_text, string_text)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.default__position"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.1866329}, "macro.dbt_utils.default__position": {"unique_id": "macro.dbt_utils.default__position", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/position.sql", "original_file_path": "macros/cross_db_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 -%}\n\n", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.186783}, "macro.dbt_utils.bigquery__position": {"unique_id": "macro.dbt_utils.bigquery__position", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/position.sql", "original_file_path": "macros/cross_db_utils/position.sql", "name": "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 -%}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.186927}, "macro.dbt_utils.string_literal": {"unique_id": "macro.dbt_utils.string_literal", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/literal.sql", "original_file_path": "macros/cross_db_utils/literal.sql", "name": "string_literal", "macro_sql": "{%- macro string_literal(value) -%}\n {{ return(adapter.dispatch('string_literal', 'dbt_utils') (value)) }}\n{%- endmacro -%}\n\n", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.default__string_literal"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.187374}, "macro.dbt_utils.default__string_literal": {"unique_id": "macro.dbt_utils.default__string_literal", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/literal.sql", "original_file_path": "macros/cross_db_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.187488}, "macro.dbt_utils.current_timestamp": {"unique_id": "macro.dbt_utils.current_timestamp", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/current_timestamp.sql", "original_file_path": "macros/cross_db_utils/current_timestamp.sql", "name": "current_timestamp", "macro_sql": "{% macro current_timestamp() -%}\n {{ return(adapter.dispatch('current_timestamp', 'dbt_utils')()) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.default__current_timestamp"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.188137}, "macro.dbt_utils.default__current_timestamp": {"unique_id": "macro.dbt_utils.default__current_timestamp", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/current_timestamp.sql", "original_file_path": "macros/cross_db_utils/current_timestamp.sql", "name": "default__current_timestamp", "macro_sql": "{% macro default__current_timestamp() %}\n current_timestamp::{{dbt_utils.type_timestamp()}}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_timestamp"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.188257}, "macro.dbt_utils.redshift__current_timestamp": {"unique_id": "macro.dbt_utils.redshift__current_timestamp", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/current_timestamp.sql", "original_file_path": "macros/cross_db_utils/current_timestamp.sql", "name": "redshift__current_timestamp", "macro_sql": "{% macro redshift__current_timestamp() %}\n getdate()\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.1883311}, "macro.dbt_utils.bigquery__current_timestamp": {"unique_id": "macro.dbt_utils.bigquery__current_timestamp", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/current_timestamp.sql", "original_file_path": "macros/cross_db_utils/current_timestamp.sql", "name": "bigquery__current_timestamp", "macro_sql": "{% macro bigquery__current_timestamp() %}\n current_timestamp\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.188404}, "macro.dbt_utils.current_timestamp_in_utc": {"unique_id": "macro.dbt_utils.current_timestamp_in_utc", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/current_timestamp.sql", "original_file_path": "macros/cross_db_utils/current_timestamp.sql", "name": "current_timestamp_in_utc", "macro_sql": "{% macro current_timestamp_in_utc() -%}\n {{ return(adapter.dispatch('current_timestamp_in_utc', 'dbt_utils')()) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.postgres__current_timestamp_in_utc"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.188571}, "macro.dbt_utils.default__current_timestamp_in_utc": {"unique_id": "macro.dbt_utils.default__current_timestamp_in_utc", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/current_timestamp.sql", "original_file_path": "macros/cross_db_utils/current_timestamp.sql", "name": "default__current_timestamp_in_utc", "macro_sql": "{% macro default__current_timestamp_in_utc() %}\n {{dbt_utils.current_timestamp()}}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.current_timestamp"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.1886878}, "macro.dbt_utils.snowflake__current_timestamp_in_utc": {"unique_id": "macro.dbt_utils.snowflake__current_timestamp_in_utc", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/current_timestamp.sql", "original_file_path": "macros/cross_db_utils/current_timestamp.sql", "name": "snowflake__current_timestamp_in_utc", "macro_sql": "{% macro snowflake__current_timestamp_in_utc() %}\n convert_timezone('UTC', {{dbt_utils.current_timestamp()}})::{{dbt_utils.type_timestamp()}}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.current_timestamp", "macro.dbt_utils.type_timestamp"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.1888409}, "macro.dbt_utils.postgres__current_timestamp_in_utc": {"unique_id": "macro.dbt_utils.postgres__current_timestamp_in_utc", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/current_timestamp.sql", "original_file_path": "macros/cross_db_utils/current_timestamp.sql", "name": "postgres__current_timestamp_in_utc", "macro_sql": "{% macro postgres__current_timestamp_in_utc() %}\n (current_timestamp at time zone 'utc')::{{dbt_utils.type_timestamp()}}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_timestamp"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.18896}, "macro.dbt_utils.redshift__current_timestamp_in_utc": {"unique_id": "macro.dbt_utils.redshift__current_timestamp_in_utc", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/current_timestamp.sql", "original_file_path": "macros/cross_db_utils/current_timestamp.sql", "name": "redshift__current_timestamp_in_utc", "macro_sql": "{% macro redshift__current_timestamp_in_utc() %}\n {{ return(dbt_utils.default__current_timestamp_in_utc()) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.default__current_timestamp_in_utc"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.189097}, "macro.dbt_utils.width_bucket": {"unique_id": "macro.dbt_utils.width_bucket", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/width_bucket.sql", "original_file_path": "macros/cross_db_utils/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.19073}, "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/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/width_bucket.sql", "original_file_path": "macros/cross_db_utils/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_utils.safe_cast(expr, dbt_utils.type_numeric() ) }},\n {{ dbt_utils.safe_cast(bin_size, dbt_utils.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_utils.safe_cast", "macro.dbt_utils.type_numeric"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.191212}, "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/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/width_bucket.sql", "original_file_path": "macros/cross_db_utils/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_utils.safe_cast(expr, dbt_utils.type_numeric() ) }} %\n {{ dbt_utils.safe_cast(bin_size, dbt_utils.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_utils.safe_cast", "macro.dbt_utils.type_numeric"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.1916852}, "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/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/width_bucket.sql", "original_file_path": "macros/cross_db_utils/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}, "patch_path": null, "arguments": [], "created_at": 1661547899.191873}, "macro.dbt_utils.array_concat": {"unique_id": "macro.dbt_utils.array_concat", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/array_concat.sql", "original_file_path": "macros/cross_db_utils/array_concat.sql", "name": "array_concat", "macro_sql": "{% macro array_concat(array_1, array_2) -%}\n {{ return(adapter.dispatch('array_concat', 'dbt_utils')(array_1, array_2)) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.default__array_concat"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.1924212}, "macro.dbt_utils.default__array_concat": {"unique_id": "macro.dbt_utils.default__array_concat", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/array_concat.sql", "original_file_path": "macros/cross_db_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.1925561}, "macro.dbt_utils.bigquery__array_concat": {"unique_id": "macro.dbt_utils.bigquery__array_concat", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/array_concat.sql", "original_file_path": "macros/cross_db_utils/array_concat.sql", "name": "bigquery__array_concat", "macro_sql": "{% macro bigquery__array_concat(array_1, array_2) -%}\n array_concat({{ array_1 }}, {{ array_2 }})\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.1926851}, "macro.dbt_utils.redshift__array_concat": {"unique_id": "macro.dbt_utils.redshift__array_concat", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/array_concat.sql", "original_file_path": "macros/cross_db_utils/array_concat.sql", "name": "redshift__array_concat", "macro_sql": "{% macro redshift__array_concat(array_1, array_2) -%}\n array_concat({{ array_1 }}, {{ array_2 }})\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.192814}, "macro.dbt_utils.bool_or": {"unique_id": "macro.dbt_utils.bool_or", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/bool_or.sql", "original_file_path": "macros/cross_db_utils/bool_or.sql", "name": "bool_or", "macro_sql": "{% macro bool_or(expression) -%}\n {{ return(adapter.dispatch('bool_or', 'dbt_utils') (expression)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.default__bool_or"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.193223}, "macro.dbt_utils.default__bool_or": {"unique_id": "macro.dbt_utils.default__bool_or", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/bool_or.sql", "original_file_path": "macros/cross_db_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.193333}, "macro.dbt_utils.snowflake__bool_or": {"unique_id": "macro.dbt_utils.snowflake__bool_or", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/bool_or.sql", "original_file_path": "macros/cross_db_utils/bool_or.sql", "name": "snowflake__bool_or", "macro_sql": "{% macro snowflake__bool_or(expression) -%}\n \n boolor_agg({{ expression }})\n \n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.1935291}, "macro.dbt_utils.bigquery__bool_or": {"unique_id": "macro.dbt_utils.bigquery__bool_or", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/bool_or.sql", "original_file_path": "macros/cross_db_utils/bool_or.sql", "name": "bigquery__bool_or", "macro_sql": "{% macro bigquery__bool_or(expression) -%}\n \n logical_or({{ expression }})\n \n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.1936278}, "macro.dbt_utils.last_day": {"unique_id": "macro.dbt_utils.last_day", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/last_day.sql", "original_file_path": "macros/cross_db_utils/last_day.sql", "name": "last_day", "macro_sql": "{% macro last_day(date, datepart) %}\n {{ return(adapter.dispatch('last_day', 'dbt_utils') (date, datepart)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.postgres__last_day"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.194245}, "macro.dbt_utils.default_last_day": {"unique_id": "macro.dbt_utils.default_last_day", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/last_day.sql", "original_file_path": "macros/cross_db_utils/last_day.sql", "name": "default_last_day", "macro_sql": "\n\n\n{%- macro default_last_day(date, datepart) -%}\n cast(\n {{dbt_utils.dateadd('day', '-1',\n dbt_utils.dateadd(datepart, '1', dbt_utils.date_trunc(datepart, date))\n )}}\n as date)\n{%- endmacro -%}\n\n\n", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.dateadd", "macro.dbt_utils.date_trunc"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.194518}, "macro.dbt_utils.default__last_day": {"unique_id": "macro.dbt_utils.default__last_day", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/last_day.sql", "original_file_path": "macros/cross_db_utils/last_day.sql", "name": "default__last_day", "macro_sql": "{% macro default__last_day(date, datepart) -%}\n {{dbt_utils.default_last_day(date, datepart)}}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.default_last_day"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.194667}, "macro.dbt_utils.postgres__last_day": {"unique_id": "macro.dbt_utils.postgres__last_day", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/last_day.sql", "original_file_path": "macros/cross_db_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_utils.dateadd('day', '-1',\n dbt_utils.dateadd('month', '3', dbt_utils.date_trunc(datepart, date))\n )}}\n as date)\n {%- else -%}\n {{dbt_utils.default_last_day(date, datepart)}}\n {%- endif -%}\n\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.dateadd", "macro.dbt_utils.date_trunc", "macro.dbt_utils.default_last_day"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.195075}, "macro.dbt_utils.redshift__last_day": {"unique_id": "macro.dbt_utils.redshift__last_day", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/last_day.sql", "original_file_path": "macros/cross_db_utils/last_day.sql", "name": "redshift__last_day", "macro_sql": "{% macro redshift__last_day(date, datepart) %}\n\n {{ return(dbt_utils.default__last_day(date, datepart)) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.default__last_day"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.195261}, "macro.dbt_utils.split_part": {"unique_id": "macro.dbt_utils.split_part", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/split_part.sql", "original_file_path": "macros/cross_db_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_utils') (string_text, delimiter_text, part_number)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.postgres__split_part"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.1967869}, "macro.dbt_utils.default__split_part": {"unique_id": "macro.dbt_utils.default__split_part", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/split_part.sql", "original_file_path": "macros/cross_db_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.196955}, "macro.dbt_utils._split_part_negative": {"unique_id": "macro.dbt_utils._split_part_negative", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/split_part.sql", "original_file_path": "macros/cross_db_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.197185}, "macro.dbt_utils.postgres__split_part": {"unique_id": "macro.dbt_utils.postgres__split_part", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/split_part.sql", "original_file_path": "macros/cross_db_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_utils.default__split_part(string_text, delimiter_text, part_number) }}\n {% else %}\n {{ dbt_utils._split_part_negative(string_text, delimiter_text, part_number) }}\n {% endif %}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.default__split_part", "macro.dbt_utils._split_part_negative"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.197522}, "macro.dbt_utils.redshift__split_part": {"unique_id": "macro.dbt_utils.redshift__split_part", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/split_part.sql", "original_file_path": "macros/cross_db_utils/split_part.sql", "name": "redshift__split_part", "macro_sql": "{% macro redshift__split_part(string_text, delimiter_text, part_number) %}\n\n {% if part_number >= 0 %}\n {{ dbt_utils.default__split_part(string_text, delimiter_text, part_number) }}\n {% else %}\n {{ dbt_utils._split_part_negative(string_text, delimiter_text, part_number) }}\n {% endif %}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.default__split_part", "macro.dbt_utils._split_part_negative"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.1978612}, "macro.dbt_utils.bigquery__split_part": {"unique_id": "macro.dbt_utils.bigquery__split_part", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/split_part.sql", "original_file_path": "macros/cross_db_utils/split_part.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.198229}, "macro.dbt_utils.date_trunc": {"unique_id": "macro.dbt_utils.date_trunc", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/date_trunc.sql", "original_file_path": "macros/cross_db_utils/date_trunc.sql", "name": "date_trunc", "macro_sql": "{% macro date_trunc(datepart, date) -%}\n {{ return(adapter.dispatch('date_trunc', 'dbt_utils') (datepart, date)) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.default__date_trunc"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.198674}, "macro.dbt_utils.default__date_trunc": {"unique_id": "macro.dbt_utils.default__date_trunc", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/date_trunc.sql", "original_file_path": "macros/cross_db_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.198805}, "macro.dbt_utils.bigquery__date_trunc": {"unique_id": "macro.dbt_utils.bigquery__date_trunc", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/date_trunc.sql", "original_file_path": "macros/cross_db_utils/date_trunc.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.198942}, "macro.dbt_utils.array_construct": {"unique_id": "macro.dbt_utils.array_construct", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/array_construct.sql", "original_file_path": "macros/cross_db_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_utils')(inputs, data_type)) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.default__array_construct"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.199671}, "macro.dbt_utils.default__array_construct": {"unique_id": "macro.dbt_utils.default__array_construct", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/array_construct.sql", "original_file_path": "macros/cross_db_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.199971}, "macro.dbt_utils.snowflake__array_construct": {"unique_id": "macro.dbt_utils.snowflake__array_construct", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/array_construct.sql", "original_file_path": "macros/cross_db_utils/array_construct.sql", "name": "snowflake__array_construct", "macro_sql": "{% macro snowflake__array_construct(inputs, data_type) -%}\n array_construct( {{ inputs|join(' , ') }} )\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.2001228}, "macro.dbt_utils.redshift__array_construct": {"unique_id": "macro.dbt_utils.redshift__array_construct", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/array_construct.sql", "original_file_path": "macros/cross_db_utils/array_construct.sql", "name": "redshift__array_construct", "macro_sql": "{% macro redshift__array_construct(inputs, data_type) -%}\n array( {{ inputs|join(' , ') }} )\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.200266}, "macro.dbt_utils.bigquery__array_construct": {"unique_id": "macro.dbt_utils.bigquery__array_construct", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/array_construct.sql", "original_file_path": "macros/cross_db_utils/array_construct.sql", "name": "bigquery__array_construct", "macro_sql": "{% macro bigquery__array_construct(inputs, data_type) -%}\n [ {{ inputs|join(' , ') }} ]\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.200406}, "macro.dbt_utils._is_ephemeral": {"unique_id": "macro.dbt_utils._is_ephemeral", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/_is_ephemeral.sql", "original_file_path": "macros/cross_db_utils/_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.2015371}, "macro.dbt_utils.array_append": {"unique_id": "macro.dbt_utils.array_append", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/array_append.sql", "original_file_path": "macros/cross_db_utils/array_append.sql", "name": "array_append", "macro_sql": "{% macro array_append(array, new_element) -%}\n {{ return(adapter.dispatch('array_append', 'dbt_utils')(array, new_element)) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.default__array_append"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.202006}, "macro.dbt_utils.default__array_append": {"unique_id": "macro.dbt_utils.default__array_append", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/array_append.sql", "original_file_path": "macros/cross_db_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.202141}, "macro.dbt_utils.bigquery__array_append": {"unique_id": "macro.dbt_utils.bigquery__array_append", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/array_append.sql", "original_file_path": "macros/cross_db_utils/array_append.sql", "name": "bigquery__array_append", "macro_sql": "{% macro bigquery__array_append(array, new_element) -%}\n {{ dbt_utils.array_concat(array, dbt_utils.array_construct([new_element])) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.array_concat", "macro.dbt_utils.array_construct"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.2023308}, "macro.dbt_utils.redshift__array_append": {"unique_id": "macro.dbt_utils.redshift__array_append", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/array_append.sql", "original_file_path": "macros/cross_db_utils/array_append.sql", "name": "redshift__array_append", "macro_sql": "{% macro redshift__array_append(array, new_element) -%}\n {{ dbt_utils.array_concat(array, dbt_utils.array_construct([new_element])) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.array_concat", "macro.dbt_utils.array_construct"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.2025259}, "macro.dbt_utils.get_period_boundaries": {"unique_id": "macro.dbt_utils.get_period_boundaries", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/materializations/insert_by_period_materialization.sql", "original_file_path": "macros/materializations/insert_by_period_materialization.sql", "name": "get_period_boundaries", "macro_sql": "{% macro get_period_boundaries(target_schema, target_table, timestamp_field, start_date, stop_date, period) -%}\n {{ return(adapter.dispatch('get_period_boundaries', 'dbt_utils')(target_schema, target_table, timestamp_field, start_date, stop_date, period)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.default__get_period_boundaries"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.208334}, "macro.dbt_utils.default__get_period_boundaries": {"unique_id": "macro.dbt_utils.default__get_period_boundaries", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/materializations/insert_by_period_materialization.sql", "original_file_path": "macros/materializations/insert_by_period_materialization.sql", "name": "default__get_period_boundaries", "macro_sql": "{% macro default__get_period_boundaries(target_schema, target_table, timestamp_field, start_date, stop_date, period) -%}\n\n {% call statement('period_boundaries', fetch_result=True) -%}\n with data as (\n select\n coalesce(max(\"{{timestamp_field}}\"), '{{start_date}}')::timestamp as start_timestamp,\n coalesce(\n {{dbt_utils.dateadd('millisecond',\n -1,\n \"nullif('\" ~ stop_date ~ \"','')::timestamp\")}},\n {{dbt_utils.current_timestamp()}}\n ) as stop_timestamp\n from \"{{target_schema}}\".\"{{target_table}}\"\n )\n\n select\n start_timestamp,\n stop_timestamp,\n {{dbt_utils.datediff('start_timestamp',\n 'stop_timestamp',\n period)}} + 1 as num_periods\n from data\n {%- endcall %}\n\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.statement", "macro.dbt_utils.dateadd", "macro.dbt_utils.current_timestamp", "macro.dbt_utils.datediff"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.208881}, "macro.dbt_utils.get_period_sql": {"unique_id": "macro.dbt_utils.get_period_sql", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/materializations/insert_by_period_materialization.sql", "original_file_path": "macros/materializations/insert_by_period_materialization.sql", "name": "get_period_sql", "macro_sql": "{% macro get_period_sql(target_cols_csv, sql, timestamp_field, period, start_timestamp, stop_timestamp, offset) -%}\n {{ return(adapter.dispatch('get_period_sql', 'dbt_utils')(target_cols_csv, sql, timestamp_field, period, start_timestamp, stop_timestamp, offset)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.default__get_period_sql"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.209217}, "macro.dbt_utils.default__get_period_sql": {"unique_id": "macro.dbt_utils.default__get_period_sql", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/materializations/insert_by_period_materialization.sql", "original_file_path": "macros/materializations/insert_by_period_materialization.sql", "name": "default__get_period_sql", "macro_sql": "{% macro default__get_period_sql(target_cols_csv, sql, timestamp_field, period, start_timestamp, stop_timestamp, offset) -%}\n\n {%- set period_filter -%}\n (\"{{timestamp_field}}\" > '{{start_timestamp}}'::timestamp + interval '{{offset}} {{period}}' and\n \"{{timestamp_field}}\" <= '{{start_timestamp}}'::timestamp + interval '{{offset}} {{period}}' + interval '1 {{period}}' and\n \"{{timestamp_field}}\" < '{{stop_timestamp}}'::timestamp)\n {%- endset -%}\n\n {%- set filtered_sql = sql | replace(\"__PERIOD_FILTER__\", period_filter) -%}\n\n select\n {{target_cols_csv}}\n from (\n {{filtered_sql}}\n )\n\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.209734}, "macro.dbt_utils.materialization_insert_by_period_default": {"unique_id": "macro.dbt_utils.materialization_insert_by_period_default", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/materializations/insert_by_period_materialization.sql", "original_file_path": "macros/materializations/insert_by_period_materialization.sql", "name": "materialization_insert_by_period_default", "macro_sql": "{% materialization insert_by_period, default -%}\n {%- set timestamp_field = config.require('timestamp_field') -%}\n {%- set start_date = config.require('start_date') -%}\n {%- set stop_date = config.get('stop_date') or '' -%}\n {%- set period = config.get('period') or 'week' -%}\n\n {%- if sql.find('__PERIOD_FILTER__') == -1 -%}\n {%- set error_message -%}\n Model '{{ model.unique_id }}' does not include the required string '__PERIOD_FILTER__' in its sql\n {%- endset -%}\n {{ exceptions.raise_compiler_error(error_message) }}\n {%- endif -%}\n\n {%- set identifier = model['name'] -%}\n\n {%- set old_relation = adapter.get_relation(database=database, schema=schema, identifier=identifier) -%}\n {%- set target_relation = api.Relation.create(identifier=identifier, schema=schema, type='table') -%}\n\n {%- set non_destructive_mode = (flags.NON_DESTRUCTIVE == True) -%}\n {%- set full_refresh_mode = (flags.FULL_REFRESH == True) -%}\n\n {%- set exists_as_table = (old_relation is not none and old_relation.is_table) -%}\n {%- set exists_not_as_table = (old_relation is not none and not old_relation.is_table) -%}\n\n {%- set should_truncate = (non_destructive_mode and full_refresh_mode and exists_as_table) -%}\n {%- set should_drop = (not should_truncate and (full_refresh_mode or exists_not_as_table)) -%}\n {%- set force_create = (flags.FULL_REFRESH and not flags.NON_DESTRUCTIVE) -%}\n\n -- setup\n {% if old_relation is none -%}\n -- noop\n {%- elif should_truncate -%}\n {{adapter.truncate_relation(old_relation)}}\n {%- elif should_drop -%}\n {{adapter.drop_relation(old_relation)}}\n {%- set old_relation = none -%}\n {%- endif %}\n\n {{run_hooks(pre_hooks, inside_transaction=False)}}\n\n -- `begin` happens here, so `commit` after it to finish the transaction\n {{run_hooks(pre_hooks, inside_transaction=True)}}\n {% call statement() -%}\n begin; -- make extra sure we've closed out the transaction\n commit;\n {%- endcall %}\n\n -- build model\n {% if force_create or old_relation is none -%}\n {# Create an empty target table -#}\n {% call statement('main') -%}\n {%- set empty_sql = sql | replace(\"__PERIOD_FILTER__\", 'false') -%}\n {{create_table_as(False, target_relation, empty_sql)}}\n {%- endcall %}\n {%- endif %}\n\n {% set _ = dbt_utils.get_period_boundaries(schema,\n identifier,\n timestamp_field,\n start_date,\n stop_date,\n period) %}\n {%- set start_timestamp = load_result('period_boundaries')['data'][0][0] | string -%}\n {%- set stop_timestamp = load_result('period_boundaries')['data'][0][1] | string -%}\n {%- set num_periods = load_result('period_boundaries')['data'][0][2] | int -%}\n\n {% set target_columns = adapter.get_columns_in_relation(target_relation) %}\n {%- set target_cols_csv = target_columns | map(attribute='quoted') | join(', ') -%}\n {%- set loop_vars = {'sum_rows_inserted': 0} -%}\n\n -- commit each period as a separate transaction\n {% for i in range(num_periods) -%}\n {%- set msg = \"Running for \" ~ period ~ \" \" ~ (i + 1) ~ \" of \" ~ (num_periods) -%}\n {{ dbt_utils.log_info(msg) }}\n\n {%- set tmp_identifier = model['name'] ~ '__dbt_incremental_period' ~ i ~ '_tmp' -%}\n {%- set tmp_relation = api.Relation.create(identifier=tmp_identifier,\n schema=schema, type='table') -%}\n {% call statement() -%}\n {% set tmp_table_sql = dbt_utils.get_period_sql(target_cols_csv,\n sql,\n timestamp_field,\n period,\n start_timestamp,\n stop_timestamp,\n i) %}\n {{dbt.create_table_as(True, tmp_relation, tmp_table_sql)}}\n {%- endcall %}\n\n {{adapter.expand_target_column_types(from_relation=tmp_relation,\n to_relation=target_relation)}}\n {%- set name = 'main-' ~ i -%}\n {% call statement(name, fetch_result=True) -%}\n insert into {{target_relation}} ({{target_cols_csv}})\n (\n select\n {{target_cols_csv}}\n from {{tmp_relation.include(schema=False)}}\n );\n {%- endcall %}\n {% set result = load_result('main-' ~ i) %}\n {% if 'response' in result.keys() %} {# added in v0.19.0 #}\n {% set rows_inserted = result['response']['rows_affected'] %}\n {% else %} {# older versions #}\n {% set rows_inserted = result['status'].split(\" \")[2] | int %}\n {% endif %}\n \n {%- set sum_rows_inserted = loop_vars['sum_rows_inserted'] + rows_inserted -%}\n {%- if loop_vars.update({'sum_rows_inserted': sum_rows_inserted}) %} {% endif -%}\n\n {%- set msg = \"Ran for \" ~ period ~ \" \" ~ (i + 1) ~ \" of \" ~ (num_periods) ~ \"; \" ~ rows_inserted ~ \" records inserted\" -%}\n {{ dbt_utils.log_info(msg) }}\n\n {%- endfor %}\n\n {% call statement() -%}\n begin;\n {%- endcall %}\n\n {{run_hooks(post_hooks, inside_transaction=True)}}\n\n {% call statement() -%}\n commit;\n {%- endcall %}\n\n {{run_hooks(post_hooks, inside_transaction=False)}}\n\n {%- set status_string = \"INSERT \" ~ loop_vars['sum_rows_inserted'] -%}\n\n {% call noop_statement('main', status_string) -%}\n -- no-op\n {%- endcall %}\n\n -- Return the relations created in this materialization\n {{ return({'relations': [target_relation]}) }} \n\n{%- endmaterialization %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.run_hooks", "macro.dbt.statement", "macro.dbt.create_table_as", "macro.dbt_utils.get_period_boundaries", "macro.dbt_utils.log_info", "macro.dbt_utils.get_period_sql", "macro.dbt.noop_statement"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.2150679}, "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/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.215729}, "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/ad_reporting/facebook/dbt_facebook_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_utils.split_part(\n dbt_utils.split_part(\n dbt_utils.replace(\n dbt_utils.replace(\n dbt_utils.replace(field, \"'android-app://'\", \"''\"\n ), \"'http://'\", \"''\"\n ), \"'https://'\", \"''\"\n ), \"'/'\", 1\n ), \"'?'\", 1\n )\n\n-%}\n\n\n {{ dbt_utils.safe_cast(\n parsed,\n dbt_utils.type_string()\n )}}\n\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.split_part", "macro.dbt_utils.replace", "macro.dbt_utils.safe_cast", "macro.dbt_utils.type_string"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.2162309}, "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/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.216815}, "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/ad_reporting/facebook/dbt_facebook_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_utils.replace(\n dbt_utils.replace(field, \"'http://'\", \"''\"), \"'https://'\", \"''\")\n -%}\n\n {%- set first_slash_pos -%}\n coalesce(\n nullif({{dbt_utils.position(\"'/'\", stripped_url)}}, 0),\n {{dbt_utils.position(\"'?'\", stripped_url)}} - 1\n )\n {%- endset -%}\n\n {%- set parsed_path =\n dbt_utils.split_part(\n dbt_utils.right(\n stripped_url, \n dbt_utils.length(stripped_url) ~ \"-\" ~ first_slash_pos\n ), \n \"'?'\", 1\n )\n -%}\n\n {{ dbt_utils.safe_cast(\n parsed_path,\n dbt_utils.type_string()\n )}}\n \n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.replace", "macro.dbt_utils.position", "macro.dbt_utils.split_part", "macro.dbt_utils.right", "macro.dbt_utils.length", "macro.dbt_utils.safe_cast", "macro.dbt_utils.type_string"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.2174988}, "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/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.217907}, "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/ad_reporting/facebook/dbt_facebook_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_utils.split_part(dbt_utils.split_part(field, formatted_url_parameter, 2), \"'&'\", 1) -%}\n\nnullif({{ split }},'')\n\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.split_part"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.218237}, "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/ad_reporting/facebook/dbt_facebook_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) %}\n {{ return(adapter.dispatch('test_fewer_rows_than', 'dbt_utils')(model, compare_model)) }}\n{% endtest %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.default__test_fewer_rows_than"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.2188642}, "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/ad_reporting/facebook/dbt_facebook_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) %}\n\n{{ config(fail_calc = 'coalesce(row_count_delta, 0)') }}\n\nwith a as (\n\n select count(*) as count_our_model from {{ model }}\n\n),\nb as (\n\n select count(*) as count_comparison_model from {{ compare_model }}\n\n),\ncounts as (\n\n select\n count_our_model,\n count_comparison_model\n from a\n cross join b\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}, "patch_path": null, "arguments": [], "created_at": 1661547899.219108}, "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/ad_reporting/facebook/dbt_facebook_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) %}\n {{ return(adapter.dispatch('test_equal_rowcount', 'dbt_utils')(model, compare_model)) }}\n{% endtest %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.default__test_equal_rowcount"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.2196102}, "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/ad_reporting/facebook/dbt_facebook_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) %}\n\n{#-- Needs to be set at parse time, before we return '' below --#}\n{{ config(fail_calc = '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\nwith a as (\n\n select count(*) as count_a from {{ model }}\n\n),\nb as (\n\n select count(*) as count_b from {{ compare_model }}\n\n),\nfinal as (\n\n select\n count_a,\n count_b,\n abs(count_a - count_b) as diff_count\n from a\n cross join b\n\n)\n\nselect * from final\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.219938}, "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/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.220712}, "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/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.221077}, "macro.dbt_utils.test_recency": {"unique_id": "macro.dbt_utils.test_recency", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_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) %}\n {{ return(adapter.dispatch('test_recency', 'dbt_utils')(model, field, datepart, interval)) }}\n{% endtest %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.default__test_recency"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.221592}, "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/ad_reporting/facebook/dbt_facebook_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) %}\n\n{% set threshold = dbt_utils.dateadd(datepart, interval * -1, dbt_utils.current_timestamp()) %}\n\nwith recency as (\n\n select max({{field}}) as most_recent\n from {{ model }}\n\n)\n\nselect\n\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_utils.dateadd", "macro.dbt_utils.current_timestamp"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.22195}, "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/ad_reporting/facebook/dbt_facebook_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) %}\n {{ return(adapter.dispatch('test_not_constant', 'dbt_utils')(model, column_name)) }}\n{% endtest %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.default__test_not_constant"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.222411}, "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/ad_reporting/facebook/dbt_facebook_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) %}\n\n\nselect\n {# In TSQL, subquery aggregate columns need aliases #}\n {# thus: a filler col name, 'filler_column' #}\n count(distinct {{ column_name }}) as filler_column\n\nfrom {{ model }}\n\nhaving count(distinct {{ column_name }}) = 1\n\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.222642}, "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/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.22341}, "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/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.224224}, "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/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.224902}, "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/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.225305}, "macro.dbt_utils.test_unique_where": {"unique_id": "macro.dbt_utils.test_unique_where", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/generic_tests/test_unique_where.sql", "original_file_path": "macros/generic_tests/test_unique_where.sql", "name": "test_unique_where", "macro_sql": "{% test unique_where(model, column_name) %}\r\n {%- set deprecation_warning = '\r\n Warning: `dbt_utils.unique_where` is no longer supported.\r\n Starting in dbt v0.20.0, the built-in `unique` test supports a `where` config.\r\n ' -%}\r\n {%- do exceptions.warn(deprecation_warning) -%}\r\n {{ return(adapter.dispatch('test_unique_where', 'dbt_utils')(model, column_name)) }}\r\n{% endtest %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.default__test_unique_where"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.225845}, "macro.dbt_utils.default__test_unique_where": {"unique_id": "macro.dbt_utils.default__test_unique_where", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/generic_tests/test_unique_where.sql", "original_file_path": "macros/generic_tests/test_unique_where.sql", "name": "default__test_unique_where", "macro_sql": "{% macro default__test_unique_where(model, column_name) %}\r\n {{ return(test_unique(model, column_name)) }}\r\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.test_unique"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.226023}, "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/ad_reporting/facebook/dbt_facebook_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) %}\n {{ return(adapter.dispatch('test_at_least_one', 'dbt_utils')(model, column_name)) }}\n{% endtest %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.default__test_at_least_one"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.226444}, "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/ad_reporting/facebook/dbt_facebook_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) %}\n\nselect *\nfrom (\n select\n {# In TSQL, subquery aggregate columns need aliases #}\n {# thus: a filler col name, 'filler_column' #}\n count({{ column_name }}) as filler_column\n\n from {{ model }}\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}, "patch_path": null, "arguments": [], "created_at": 1661547899.226628}, "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/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.227328}, "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/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.2279968}, "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/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.2286668}, "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/ad_reporting/facebook/dbt_facebook_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_utils.except() }}\n select *\n from table_b\n),\n\nexcept_b as (\n select *\n from table_b\n {{ dbt_utils.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_utils.except"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.2290182}, "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/ad_reporting/facebook/dbt_facebook_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, condition='1=1') %}\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 {{ return(adapter.dispatch('test_expression_is_true', 'dbt_utils')(model, expression, column_name, condition)) }}\n{% endtest %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.default__test_expression_is_true"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.229589}, "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/ad_reporting/facebook/dbt_facebook_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, condition) %}\n\nwith meet_condition as (\n select * from {{ model }} where {{ condition }}\n)\n\nselect\n *\nfrom meet_condition\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": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.229898}, "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/ad_reporting/facebook/dbt_facebook_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) %}\n {{ return(adapter.dispatch('test_not_null_proportion', 'dbt_utils')(model, **kwargs)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.default__test_not_null_proportion"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.230413}, "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/ad_reporting/facebook/dbt_facebook_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) %}\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\nwith validation as (\n select\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),\nvalidation_errors as (\n select\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}, "patch_path": null, "arguments": [], "created_at": 1661547899.230974}, "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/ad_reporting/facebook/dbt_facebook_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) %}\n\n {{ return(adapter.dispatch('test_sequential_values', 'dbt_utils')(model, column_name, interval, datepart)) }}\n\n{% endtest %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.default__test_sequential_values"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.231725}, "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/ad_reporting/facebook/dbt_facebook_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) %}\n\n{% set previous_column_name = \"previous_\" ~ dbt_utils.slugify(column_name) %}\n\nwith windowed as (\n\n select\n {{ column_name }},\n lag({{ column_name }}) over (\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_utils.type_timestamp() }})= cast({{ dbt_utils.dateadd(datepart, interval, previous_column_name) }} as {{ dbt_utils.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_utils.type_timestamp", "macro.dbt_utils.dateadd"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.2544389}, "macro.dbt_utils.test_not_null_where": {"unique_id": "macro.dbt_utils.test_not_null_where", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/generic_tests/test_not_null_where.sql", "original_file_path": "macros/generic_tests/test_not_null_where.sql", "name": "test_not_null_where", "macro_sql": "{% test not_null_where(model, column_name) %}\r\n {%- set deprecation_warning = '\r\n Warning: `dbt_utils.not_null_where` is no longer supported.\r\n Starting in dbt v0.20.0, the built-in `not_null` test supports a `where` config.\r\n ' -%}\r\n {%- do exceptions.warn(deprecation_warning) -%}\r\n {{ return(adapter.dispatch('test_not_null_where', 'dbt_utils')(model, column_name)) }}\r\n{% endtest %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.default__test_not_null_where"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.255146}, "macro.dbt_utils.default__test_not_null_where": {"unique_id": "macro.dbt_utils.default__test_not_null_where", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/generic_tests/test_not_null_where.sql", "original_file_path": "macros/generic_tests/test_not_null_where.sql", "name": "default__test_not_null_where", "macro_sql": "{% macro default__test_not_null_where(model, column_name) %}\r\n {{ return(test_not_null(model, column_name)) }}\r\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.test_not_null"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.255339}, "macro.dbt_utils.test_equality": {"unique_id": "macro.dbt_utils.test_equality", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.256234}, "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/ad_reporting/facebook/dbt_facebook_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_utils.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_utils.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_utils.except"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.257186}, "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/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.2604759}, "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/ad_reporting/facebook/dbt_facebook_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 }}\n ) as next_lower_bound,\n\n row_number() over (\n {{ partition_clause }}\n order by {{ lower_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 nore 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}, "patch_path": null, "arguments": [], "created_at": 1661547899.26202}, "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/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.262453}, "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/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.262632}, "macro.dbt_utils.pretty_time": {"unique_id": "macro.dbt_utils.pretty_time", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.2629938}, "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/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.2632031}, "macro.dbt_utils.log_info": {"unique_id": "macro.dbt_utils.log_info", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.263554}, "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/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.2637382}, "macro.dbt_utils.slugify": {"unique_id": "macro.dbt_utils.slugify", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_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\n{{ return(string) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.264319}, "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/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.265183}, "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/ad_reporting/facebook/dbt_facebook_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_utils.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_utils.datediff"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.265915}, "macro.dbt_utils.date_spine": {"unique_id": "macro.dbt_utils.date_spine", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.266169}, "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/ad_reporting/facebook/dbt_facebook_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 \"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_utils.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_utils.dateadd"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.266562}, "macro.dbt_utils.nullcheck_table": {"unique_id": "macro.dbt_utils.nullcheck_table", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.267057}, "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/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.267415}, "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/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.268364}, "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/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.26931}, "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/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.2702668}, "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/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.2707179}, "macro.dbt_utils.generate_series": {"unique_id": "macro.dbt_utils.generate_series", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.270922}, "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/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.271466}, "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/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.272356}, "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/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.2732701}, "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/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.2738502}, "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/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.274163}, "macro.dbt_utils.star": {"unique_id": "macro.dbt_utils.star", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_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='') -%}\n {{ return(adapter.dispatch('star', 'dbt_utils')(from, relation_alias, except, prefix, suffix)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.default__star"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.274942}, "macro.dbt_utils.default__star": {"unique_id": "macro.dbt_utils.default__star", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_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='') -%}\n {%- do dbt_utils._is_relation(from, 'star') -%}\n {%- do dbt_utils._is_ephemeral(from, 'star') -%}\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 cols = dbt_utils.get_filtered_columns_in_relation(from, except) %}\n\n {%- if cols|length <= 0 -%}\n {{- return('*') -}}\n {%- else -%}\n {%- for col in cols %}\n {%- if relation_alias %}{{ relation_alias }}.{% else %}{%- endif -%}{{ adapter.quote(col)|trim }} {%- if prefix!='' or suffix!='' %} as {{ adapter.quote(prefix ~ col ~ suffix)|trim }} {%- endif -%}\n {%- if not loop.last %},{{ '\\n ' }}{% endif %}\n {%- endfor -%}\n {% endif %}\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}, "patch_path": null, "arguments": [], "created_at": 1661547899.276096}, "macro.dbt_utils.unpivot": {"unique_id": "macro.dbt_utils.unpivot", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_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', table=none) -%}\n {{ return(adapter.dispatch('unpivot', 'dbt_utils')(relation, cast_to, exclude, remove, field_name, value_name, table)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.default__unpivot"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.277961}, "macro.dbt_utils.default__unpivot": {"unique_id": "macro.dbt_utils.default__unpivot", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_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', table=none) -%}\n\n {% if table %}\n {%- set error_message = '\n Warning: the `unpivot` macro no longer accepts a `table` parameter. \\\n This parameter will be deprecated in a future release of dbt-utils. Use the `relation` parameter instead. \\\n The {}.{} model triggered this warning. \\\n '.format(model.package_name, model.name) -%}\n {%- do exceptions.warn(error_message) -%}\n {% endif %}\n\n {% if relation and table %}\n {{ exceptions.raise_compiler_error(\"Error: both the `relation` and `table` parameters were provided to `unpivot` macro. Choose one only (we recommend `relation`).\") }}\n {% elif not relation and table %}\n {% set relation=table %}\n {% elif not relation and not table %}\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_utils.type_string() }}) as {{ field_name }},\n cast( {% if col.data_type == 'boolean' %}\n {{ dbt_utils.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_utils.type_string", "macro.dbt_utils.cast_bool_to_text"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.280097}, "macro.dbt_utils.union_relations": {"unique_id": "macro.dbt_utils.union_relations", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.283034}, "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/ad_reporting/facebook/dbt_facebook_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\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 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 {%- 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 cast({{ dbt_utils.string_literal(relation) }} as {{ dbt_utils.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 {{ 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_utils.string_literal", "macro.dbt_utils.type_string"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.286447}, "macro.dbt_utils.group_by": {"unique_id": "macro.dbt_utils.group_by", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.2899368}, "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/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.290224}, "macro.dbt_utils.deduplicate": {"unique_id": "macro.dbt_utils.deduplicate", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_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=none, relation_alias=none) -%}\n\n {%- set error_message_group_by -%}\nWarning: the `group_by` parameter of the `deduplicate` macro is no longer supported and will be deprecated in a future release of dbt-utils.\nUse `partition_by` instead.\nThe {{ model.package_name }}.{{ model.name }} model triggered this warning.\n {%- endset -%}\n\n {% if kwargs.get('group_by') %}\n {%- do exceptions.warn(error_message_group_by) -%}\n {%- endif -%}\n\n {%- set error_message_order_by -%}\nWarning: `order_by` as an optional parameter of the `deduplicate` macro is no longer supported and will be deprecated in a future release of dbt-utils.\nSupply a non-null value for `order_by` instead.\nThe {{ model.package_name }}.{{ model.name }} model triggered this warning.\n {%- endset -%}\n\n {% if not order_by %}\n {%- do exceptions.warn(error_message_order_by) -%}\n {%- endif -%}\n\n {%- set error_message_alias -%}\nWarning: the `relation_alias` parameter of the `deduplicate` macro is no longer supported and will be deprecated in a future release of dbt-utils.\nIf you were using `relation_alias` to point to a CTE previously then you can now pass the alias directly to `relation` instead.\nThe {{ model.package_name }}.{{ model.name }} model triggered this warning.\n {%- endset -%}\n\n {% if relation_alias %}\n {%- do exceptions.warn(error_message_alias) -%}\n {%- endif -%}\n\n {% set partition_by = partition_by or kwargs.get('group_by') %}\n {% set relation = relation_alias or relation %}\n {% set order_by = order_by or \"'1'\" %}\n\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}, "patch_path": null, "arguments": [], "created_at": 1661547899.29289}, "macro.dbt_utils.default__deduplicate": {"unique_id": "macro.dbt_utils.default__deduplicate", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.29313}, "macro.dbt_utils.redshift__deduplicate": {"unique_id": "macro.dbt_utils.redshift__deduplicate", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.293349}, "macro.dbt_utils.postgres__deduplicate": {"unique_id": "macro.dbt_utils.postgres__deduplicate", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.293548}, "macro.dbt_utils.snowflake__deduplicate": {"unique_id": "macro.dbt_utils.snowflake__deduplicate", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.293717}, "macro.dbt_utils.bigquery__deduplicate": {"unique_id": "macro.dbt_utils.bigquery__deduplicate", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.2938979}, "macro.dbt_utils.surrogate_key": {"unique_id": "macro.dbt_utils.surrogate_key", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_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 {# needed for safe_add to allow for non-keyword arguments see SO post #}\n {# https://stackoverflow.com/questions/13944751/args-kwargs-in-jinja2-macros #}\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}, "patch_path": null, "arguments": [], "created_at": 1661547899.294655}, "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/ad_reporting/facebook/dbt_facebook_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{%- if varargs|length >= 1 or field_list is string %}\n\n{%- set error_message = '\nWarning: the `surrogate_key` macro now takes a single list argument instead of \\\nmultiple string arguments. Support for multiple string arguments will be \\\ndeprecated in a future release of dbt-utils. The {}.{} model triggered this warning. \\\n'.format(model.package_name, model.name) -%}\n\n{%- do exceptions.warn(error_message) -%}\n\n{# first argument is not included in varargs, so add first element to field_list_xf #}\n{%- set field_list_xf = [field_list] -%}\n\n{%- for field in varargs %}\n{%- set _ = field_list_xf.append(field) -%}\n{%- endfor -%}\n\n{%- else -%}\n\n{# if using list, just set field_list_xf as field_list #}\n{%- set field_list_xf = field_list -%}\n\n{%- endif -%}\n\n\n{%- set fields = [] -%}\n\n{%- for field in field_list_xf -%}\n\n {%- set _ = fields.append(\n \"coalesce(cast(\" ~ field ~ \" as \" ~ dbt_utils.type_string() ~ \"), '')\"\n ) -%}\n\n {%- if not loop.last %}\n {%- set _ = fields.append(\"'-'\") -%}\n {%- endif -%}\n\n{%- endfor -%}\n\n{{dbt_utils.hash(dbt_utils.concat(fields))}}\n\n{%- endmacro -%}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_string", "macro.dbt_utils.hash", "macro.dbt_utils.concat"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.29563}, "macro.dbt_utils.safe_add": {"unique_id": "macro.dbt_utils.safe_add", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_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() -%}\n {# needed for safe_add to allow for non-keyword arguments see SO post #}\n {# https://stackoverflow.com/questions/13944751/args-kwargs-in-jinja2-macros #}\n {% set frustrating_jinja_feature = varargs %}\n {{ return(adapter.dispatch('safe_add', 'dbt_utils')(*varargs)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.default__safe_add"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.296124}, "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/ad_reporting/facebook/dbt_facebook_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() -%}\n\n{% set fields = [] %}\n\n{%- for field in varargs -%}\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}, "patch_path": null, "arguments": [], "created_at": 1661547899.296423}, "macro.dbt_utils.nullcheck": {"unique_id": "macro.dbt_utils.nullcheck", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.29686}, "macro.dbt_utils.default__nullcheck": {"unique_id": "macro.dbt_utils.default__nullcheck", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.2972019}, "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/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.298794}, "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/ad_reporting/facebook/dbt_facebook_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 \"table_schema\",\n table_name as \"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}, "patch_path": null, "arguments": [], "created_at": 1661547899.299087}, "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/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.300131}, "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/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.300748}, "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/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.302146}, "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/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.303839}, "macro.dbt_utils.pivot": {"unique_id": "macro.dbt_utils.pivot", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.305143}, "macro.dbt_utils.default__pivot": {"unique_id": "macro.dbt_utils.default__pivot", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_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_utils.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_utils.escape_single_quotes", "macro.dbt_utils.slugify"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.306082}, "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/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.306729}, "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/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.307539}, "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/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.308269}, "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/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.308956}, "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/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.3101041}, "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/ad_reporting/facebook/dbt_facebook_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 \"table_type\"\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.310206}, "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/ad_reporting/facebook/dbt_facebook_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 \"table_type\"\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.310299}, "macro.dbt_utils.bigquery__get_table_types_sql": {"unique_id": "macro.dbt_utils.bigquery__get_table_types_sql", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_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": "bigquery__get_table_types_sql", "macro_sql": "{% macro bigquery__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 `table_type`\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.310385}, "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/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.3116212}, "macro.dbt_utils.haversine_distance": {"unique_id": "macro.dbt_utils.haversine_distance", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.3119848}, "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/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.313663}, "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/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.314687}, "macro.spark_utils.get_tables": {"unique_id": "macro.spark_utils.get_tables", "package_name": "spark_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.3200378}, "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/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.320817}, "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/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.321795}, "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/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.322598}, "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/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.323393}, "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/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.3243861}, "macro.spark_utils.spark__concat": {"unique_id": "macro.spark_utils.spark__concat", "package_name": "spark_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.324789}, "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/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.3249862}, "macro.spark_utils.spark__dateadd": {"unique_id": "macro.spark_utils.spark__dateadd", "package_name": "spark_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.3279848}, "macro.spark_utils.spark__datediff": {"unique_id": "macro.spark_utils.spark__datediff", "package_name": "spark_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.3360481}, "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/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.3364842}, "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/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.336565}, "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/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.3376472}, "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/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.339871}, "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/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.340271}, "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/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.3405771}, "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/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.340884}, "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/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.3414762}, "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/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.3416939}, "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/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.341998}, "macro.facebook_ads.get_url_tags_query": {"unique_id": "macro.facebook_ads.get_url_tags_query", "package_name": "facebook_ads", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "macros/get_url_tag_query.sql", "original_file_path": "macros/get_url_tag_query.sql", "name": "get_url_tags_query", "macro_sql": "{% macro get_url_tags_query() %}\n {{ return(adapter.dispatch('get_url_tags_query') ()) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.facebook_ads.postgres__get_url_tags_query"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.343144}, "macro.facebook_ads.bigquery__get_url_tags_query": {"unique_id": "macro.facebook_ads.bigquery__get_url_tags_query", "package_name": "facebook_ads", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "macros/get_url_tag_query.sql", "original_file_path": "macros/get_url_tag_query.sql", "name": "bigquery__get_url_tags_query", "macro_sql": "{% macro bigquery__get_url_tags_query() %}\n\n cleaned_json as (\n\n select\n _fivetran_id,\n creative_id,\n json_extract_array(replace(trim(url_tags, '\"'),'\\\\','')) as cleaned_url_tags\n from required_fields\n ), \n\n unnested as (\n\n select \n _fivetran_id, \n creative_id, \n url_tag_element\n from cleaned_json\n left join unnest(cleaned_url_tags) as url_tag_element\n where cleaned_url_tags is not null\n ), \n\n fields as (\n\n select\n _fivetran_id,\n creative_id,\n json_extract_scalar(url_tag_element, '$.key') as key,\n json_extract_scalar(url_tag_element, '$.value') as value,\n json_extract_scalar(url_tag_element, '$.type') as type\n from unnested\n )\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.3432698}, "macro.facebook_ads.postgres__get_url_tags_query": {"unique_id": "macro.facebook_ads.postgres__get_url_tags_query", "package_name": "facebook_ads", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "macros/get_url_tag_query.sql", "original_file_path": "macros/get_url_tag_query.sql", "name": "postgres__get_url_tags_query", "macro_sql": "{% macro postgres__get_url_tags_query() %}\n\n cleaned_json as (\n\n select\n _fivetran_id,\n creative_id,\n replace(trim(url_tags::text, '\"'),'\\\\','')::json as cleaned_url_tags\n from required_fields\n ), \n\n unnested as (\n\n select \n _fivetran_id, \n creative_id, \n url_tag_element\n from cleaned_json\n left join lateral json_array_elements(cleaned_url_tags) as url_tag_element on True\n where cleaned_url_tags is not null\n ), \n\n fields as (\n\n select\n _fivetran_id,\n creative_id,\n url_tag_element->>'key' as key,\n url_tag_element->>'value' as value,\n url_tag_element->>'type' as type\n from unnested\n )\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.343383}, "macro.facebook_ads.redshift__get_url_tags_query": {"unique_id": "macro.facebook_ads.redshift__get_url_tags_query", "package_name": "facebook_ads", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "macros/get_url_tag_query.sql", "original_file_path": "macros/get_url_tag_query.sql", "name": "redshift__get_url_tags_query", "macro_sql": "{% macro redshift__get_url_tags_query() %}\n\n numbers as (\n\n {{ dbt_utils.generate_series(upper_bound=1000) }}\n\n ), \n\n flattened_url_tags as (\n\n select\n _fivetran_id,\n creative_id,\n json_extract_array_element_text(required_fields.url_tags, numbers.generated_number::int - 1, true) as element\n from required_fields\n inner join numbers\n on json_array_length(required_fields.url_tags) >= numbers.generated_number\n ), \n\n fields as (\n\n select\n _fivetran_id,\n creative_id,\n json_extract_path_text(element,'key') as key,\n json_extract_path_text(element,'value') as value,\n json_extract_path_text(element,'type') as type\n from flattened_url_tags\n )\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.generate_series"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.343564}, "macro.facebook_ads.snowflake__get_url_tags_query": {"unique_id": "macro.facebook_ads.snowflake__get_url_tags_query", "package_name": "facebook_ads", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "macros/get_url_tag_query.sql", "original_file_path": "macros/get_url_tag_query.sql", "name": "snowflake__get_url_tags_query", "macro_sql": "{% macro snowflake__get_url_tags_query() %}\n\n cleaned_fields as (\n\n select\n _fivetran_id,\n creative_id,\n parse_json(url_tags) as url_tags\n from required_fields\n where url_tags is not null\n ), \n\n fields as (\n\n select\n _fivetran_id,\n creative_id,\n url_tags.value:key::string as key,\n url_tags.value:value::string as value,\n url_tags.value:type::string as type\n from cleaned_fields,\n lateral flatten( input => url_tags ) as url_tags\n )\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.343667}, "macro.facebook_ads.spark__get_url_tags_query": {"unique_id": "macro.facebook_ads.spark__get_url_tags_query", "package_name": "facebook_ads", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "macros/get_url_tag_query.sql", "original_file_path": "macros/get_url_tag_query.sql", "name": "spark__get_url_tags_query", "macro_sql": "{% macro spark__get_url_tags_query() %}\n\n cleaned_fields as (\n\n select\n _fivetran_id,\n creative_id,\n explode(from_json(url_tags, 'array>')) as url_tags\n from required_fields\n where url_tags is not null\n ), \n\n fields as (\n\n select\n _fivetran_id,\n creative_id,\n url_tags.key as key,\n url_tags.value as value,\n url_tags.type as type\n from cleaned_fields\n )\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.343767}, "macro.fivetran_utils.enabled_vars": {"unique_id": "macro.fivetran_utils.enabled_vars", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.344641}, "macro.fivetran_utils.percentile": {"unique_id": "macro.fivetran_utils.percentile", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.346765}, "macro.fivetran_utils.default__percentile": {"unique_id": "macro.fivetran_utils.default__percentile", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.34705}, "macro.fivetran_utils.redshift__percentile": {"unique_id": "macro.fivetran_utils.redshift__percentile", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.347224}, "macro.fivetran_utils.bigquery__percentile": {"unique_id": "macro.fivetran_utils.bigquery__percentile", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.347394}, "macro.fivetran_utils.postgres__percentile": {"unique_id": "macro.fivetran_utils.postgres__percentile", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.3475451}, "macro.fivetran_utils.spark__percentile": {"unique_id": "macro.fivetran_utils.spark__percentile", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.347711}, "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/ad_reporting/facebook/dbt_facebook_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\nreplace( {{ fivetran_utils.json_extract(string, property) }}, '\"', '') as {{ property | replace(' ', '_') | lower }}\n\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}, "patch_path": null, "arguments": [], "created_at": 1661547899.3483782}, "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/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.349579}, "macro.fivetran_utils.json_parse": {"unique_id": "macro.fivetran_utils.json_parse", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.3523998}, "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/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.3526962}, "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/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.352971}, "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/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.3532338}, "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/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.353481}, "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/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.3537579}, "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/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.354031}, "macro.fivetran_utils.max_bool": {"unique_id": "macro.fivetran_utils.max_bool", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.354593}, "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/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.354701}, "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/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.354804}, "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/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.354908}, "macro.fivetran_utils.calculated_fields": {"unique_id": "macro.fivetran_utils.calculated_fields", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.355405}, "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/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.356216}, "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/ad_reporting/facebook/dbt_facebook_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.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 {% endfor %}\n{% endif %}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.3569438}, "macro.fivetran_utils.string_agg": {"unique_id": "macro.fivetran_utils.string_agg", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.357499}, "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/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.357638}, "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/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.357771}, "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/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.357902}, "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/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.358038}, "macro.fivetran_utils.timestamp_diff": {"unique_id": "macro.fivetran_utils.timestamp_diff", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.3608909}, "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/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.361061}, "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/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.361225}, "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/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.361521}, "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/ad_reporting/facebook/dbt_facebook_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_utils.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_utils.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_utils.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_utils.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_utils.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_utils.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_utils.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_utils.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_utils.datediff"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.363442}, "macro.fivetran_utils.try_cast": {"unique_id": "macro.fivetran_utils.try_cast", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.364505}, "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/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.36466}, "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/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.365026}, "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/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.365485}, "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/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.365657}, "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/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.365794}, "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/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.3659258}, "macro.fivetran_utils.source_relation": {"unique_id": "macro.fivetran_utils.source_relation", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.366839}, "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/ad_reporting/facebook/dbt_facebook_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_utils.type_string() }}) as source_relation\n{% endif %}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_string"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.367475}, "macro.fivetran_utils.first_value": {"unique_id": "macro.fivetran_utils.first_value", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.3681128}, "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/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.368326}, "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/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.368555}, "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/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.36892}, "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/ad_reporting/facebook/dbt_facebook_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.alias %}\n\n {% do base_columns.append({ \"name\": column.name, \"alias\": column.alias, \"datatype\": column.datatype if column.datatype else dbt_utils.type_string()}) %}\n\n {% else %}\n\n {% do base_columns.append({ \"name\": column.name, \"datatype\": column.datatype if column.datatype else dbt_utils.type_string()}) %}\n \n {% endif %}\n\n {% endfor %}\n\n {% endif %}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_string"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.369932}, "macro.fivetran_utils.union_relations": {"unique_id": "macro.fivetran_utils.union_relations", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_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_utils.string_literal(relation) }} as {{ dbt_utils.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_utils.string_literal", "macro.dbt_utils.type_string"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.3749912}, "macro.fivetran_utils.union_tables": {"unique_id": "macro.fivetran_utils.union_tables", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.3754141}, "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/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.376009}, "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/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.3777049}, "macro.fivetran_utils.quote_column": {"unique_id": "macro.fivetran_utils.quote_column", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.378303}, "macro.fivetran_utils.json_extract": {"unique_id": "macro.fivetran_utils.json_extract", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.379146}, "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/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.379331}, "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/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.379501}, "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/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.379688}, "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/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.3798568}, "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/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.3800168}, "macro.fivetran_utils.collect_freshness": {"unique_id": "macro.fivetran_utils.collect_freshness", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.38184}, "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/ad_reporting/facebook/dbt_facebook_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_utils.current_timestamp"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.382949}, "macro.fivetran_utils.timestamp_add": {"unique_id": "macro.fivetran_utils.timestamp_add", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.383819}, "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/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.3840032}, "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/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.384176}, "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/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.3843431}, "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/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.3845131}, "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/ad_reporting/facebook/dbt_facebook_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_utils.dateadd(datepart, interval, from_timestamp) }}\n \n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.dateadd"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.384694}, "macro.fivetran_utils.ceiling": {"unique_id": "macro.fivetran_utils.ceiling", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.385032}, "macro.fivetran_utils.default__ceiling": {"unique_id": "macro.fivetran_utils.default__ceiling", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.3851361}, "macro.fivetran_utils.snowflake__ceiling": {"unique_id": "macro.fivetran_utils.snowflake__ceiling", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.385237}, "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/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.386084}, "macro.fivetran_utils.union_data": {"unique_id": "macro.fivetran_utils.union_data", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.38742}, "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/ad_reporting/facebook/dbt_facebook_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\n {% set relation=adapter.get_relation(\n database=var(database_variable, default_database),\n schema=schema,\n identifier=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=database,\n schema=var(schema_variable, default_schema),\n identifier=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}, "patch_path": null, "arguments": [], "created_at": 1661547899.389336}, "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/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.3910909}, "macro.fivetran_utils.array_agg": {"unique_id": "macro.fivetran_utils.array_agg", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.391637}, "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/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.391753}, "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/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.391857}, "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/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.392388}, "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/ad_reporting/facebook/dbt_facebook_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}, "patch_path": null, "arguments": [], "created_at": 1661547899.39291}, "macro.facebook_ads_source.get_ad_set_history_columns": {"unique_id": "macro.facebook_ads_source.get_ad_set_history_columns", "package_name": "facebook_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "macros/get_ad_set_history_columns.sql", "original_file_path": "macros/get_ad_set_history_columns.sql", "name": "get_ad_set_history_columns", "macro_sql": "{% macro get_ad_set_history_columns() %}\n\n{% set columns = [\n {\"name\": \"updated_time\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"account_id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"campaign_id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"start_time\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"end_time\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"bid_strategy\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"daily_budget\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"budget_remaining\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"status\", \"datatype\": dbt_utils.type_string()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_timestamp", "macro.dbt_utils.type_int", "macro.dbt_utils.type_string"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.394481}, "macro.facebook_ads_source.get_creative_history_columns": {"unique_id": "macro.facebook_ads_source.get_creative_history_columns", "package_name": "facebook_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "macros/get_creative_history_columns.sql", "original_file_path": "macros/get_creative_history_columns.sql", "name": "get_creative_history_columns", "macro_sql": "{% macro get_creative_history_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"account_id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"page_link\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"template_page_link\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"url_tags\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"asset_feed_spec_link_urls\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"object_story_link_data_child_attachments\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"object_story_link_data_caption\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"object_story_link_data_description\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"object_story_link_data_link\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"object_story_link_data_message\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"template_app_link_spec_android\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"template_app_link_spec_ios\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"template_app_link_spec_ipad\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"template_app_link_spec_iphone\", \"datatype\": dbt_utils.type_string()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_string", "macro.dbt_utils.type_timestamp", "macro.dbt_utils.type_int"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.3968692}, "macro.facebook_ads_source.get_campaign_history_columns": {"unique_id": "macro.facebook_ads_source.get_campaign_history_columns", "package_name": "facebook_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/facebook_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\": \"updated_time\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"created_time\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"account_id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"start_time\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"stop_time\", \"datatype\": dbt_utils.type_timestamp()}, \n {\"name\": \"status\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"daily_budget\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"lifetime_budget\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"budget_remaining\", \"datatype\": dbt_utils.type_float()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_timestamp", "macro.dbt_utils.type_int", "macro.dbt_utils.type_string", "macro.dbt_utils.type_float"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.398824}, "macro.facebook_ads_source.get_basic_ad_columns": {"unique_id": "macro.facebook_ads_source.get_basic_ad_columns", "package_name": "facebook_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "macros/get_basic_ad_columns.sql", "original_file_path": "macros/get_basic_ad_columns.sql", "name": "get_basic_ad_columns", "macro_sql": "{% macro get_basic_ad_columns() %}\n\n{% set columns = [\n {\"name\": \"ad_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"ad_name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"adset_name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"date\", \"datatype\": \"date\"},\n {\"name\": \"account_id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"impressions\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"inline_link_clicks\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"spend\", \"datatype\": dbt_utils.type_float()},\n {\"name\": \"reach\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"frequency\", \"datatype\": dbt_utils.type_float()}\n] %}\n\n{{ fivetran_utils.add_pass_through_columns(columns, var('facebook_ads__basic_ad_passthrough_metrics')) }}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_string", "macro.dbt_utils.type_int", "macro.dbt_utils.type_float", "macro.fivetran_utils.add_pass_through_columns"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.4005592}, "macro.facebook_ads_source.get_account_history_columns": {"unique_id": "macro.facebook_ads_source.get_account_history_columns", "package_name": "facebook_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "macros/get_account_history_columns.sql", "original_file_path": "macros/get_account_history_columns.sql", "name": "get_account_history_columns", "macro_sql": "{% macro get_account_history_columns() %}\n\n{% set columns = [\n {\"name\": \"id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"account_status\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"business_country_code\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"created_time\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"currency\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"timezone_name\", \"datatype\": dbt_utils.type_string()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_int", "macro.dbt_utils.type_timestamp", "macro.dbt_utils.type_string"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.401932}, "macro.facebook_ads_source.get_ad_history_columns": {"unique_id": "macro.facebook_ads_source.get_ad_history_columns", "package_name": "facebook_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/facebook_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\": \"updated_time\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"account_id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"ad_set_id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"campaign_id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"creative_id\", \"datatype\": dbt_utils.type_int()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_timestamp", "macro.dbt_utils.type_int", "macro.dbt_utils.type_string"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661547899.403112}}, "docs": {"dbt.__overview__": {"unique_id": "dbt.__overview__", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-postgres/1.0.4/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"}, "facebook_ads_source._fivetran_synced": {"unique_id": "facebook_ads_source._fivetran_synced", "package_name": "facebook_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "_fivetran_synced", "block_contents": "When the record was last synced by Fivetran."}, "facebook_ads_source.is_most_recent_record": {"unique_id": "facebook_ads_source.is_most_recent_record", "package_name": "facebook_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "is_most_recent_record", "block_contents": "Boolean representing whether a record is the most recent version of that record. All records should have this value set to True given we filter on it."}, "facebook_ads_source.updated_time": {"unique_id": "facebook_ads_source.updated_time", "package_name": "facebook_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/facebook/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "updated_time", "block_contents": "The timestamp of the last update of a record."}}, "exposures": {}, "metrics": {}, "selectors": {}, "disabled": {}, "parent_map": {"seed.facebook_ads_integration_tests.facebook_ads_ad_history_data": [], "seed.facebook_ads_integration_tests.facebook_ads_creative_history_data": [], "seed.facebook_ads_integration_tests.facebook_ads_campaign_history_data": [], "seed.facebook_ads_integration_tests.facebook_ads_account_history_data": [], "seed.facebook_ads_integration_tests.facebook_ads_basic_ad_data": [], "seed.facebook_ads_integration_tests.facebook_ads_ad_set_history_data": [], "model.facebook_ads.facebook_ads__url_report": ["model.facebook_ads.int_facebook_ads__creative_history", "model.facebook_ads_source.stg_facebook_ads__account_history", "model.facebook_ads_source.stg_facebook_ads__ad_history", "model.facebook_ads_source.stg_facebook_ads__ad_set_history", "model.facebook_ads_source.stg_facebook_ads__basic_ad", "model.facebook_ads_source.stg_facebook_ads__campaign_history"], "model.facebook_ads.facebook_ads__url_tags": ["model.facebook_ads_source.stg_facebook_ads__creative_history"], "model.facebook_ads.facebook_ads__campaign_report": ["model.facebook_ads_source.stg_facebook_ads__account_history", "model.facebook_ads_source.stg_facebook_ads__ad_history", "model.facebook_ads_source.stg_facebook_ads__basic_ad", "model.facebook_ads_source.stg_facebook_ads__campaign_history"], "model.facebook_ads.facebook_ads__account_report": ["model.facebook_ads_source.stg_facebook_ads__account_history", "model.facebook_ads_source.stg_facebook_ads__basic_ad"], "model.facebook_ads.facebook_ads__ad_report": ["model.facebook_ads_source.stg_facebook_ads__account_history", "model.facebook_ads_source.stg_facebook_ads__ad_history", "model.facebook_ads_source.stg_facebook_ads__ad_set_history", "model.facebook_ads_source.stg_facebook_ads__basic_ad", "model.facebook_ads_source.stg_facebook_ads__campaign_history"], "model.facebook_ads.facebook_ads__ad_set_report": ["model.facebook_ads_source.stg_facebook_ads__account_history", "model.facebook_ads_source.stg_facebook_ads__ad_history", "model.facebook_ads_source.stg_facebook_ads__ad_set_history", "model.facebook_ads_source.stg_facebook_ads__basic_ad", "model.facebook_ads_source.stg_facebook_ads__campaign_history"], "model.facebook_ads.int_facebook_ads__creative_history": ["model.facebook_ads.facebook_ads__url_tags", "model.facebook_ads_source.stg_facebook_ads__creative_history"], "model.facebook_ads_source.stg_facebook_ads__basic_ad": ["model.facebook_ads_source.stg_facebook_ads__basic_ad_tmp", "model.facebook_ads_source.stg_facebook_ads__basic_ad_tmp"], "model.facebook_ads_source.stg_facebook_ads__creative_history": ["model.facebook_ads_source.stg_facebook_ads__creative_history_tmp", "model.facebook_ads_source.stg_facebook_ads__creative_history_tmp"], "model.facebook_ads_source.stg_facebook_ads__campaign_history": ["model.facebook_ads_source.stg_facebook_ads__campaign_history_tmp", "model.facebook_ads_source.stg_facebook_ads__campaign_history_tmp"], "model.facebook_ads_source.stg_facebook_ads__account_history": ["model.facebook_ads_source.stg_facebook_ads__account_history_tmp", "model.facebook_ads_source.stg_facebook_ads__account_history_tmp"], "model.facebook_ads_source.stg_facebook_ads__ad_history": ["model.facebook_ads_source.stg_facebook_ads__ad_history_tmp", "model.facebook_ads_source.stg_facebook_ads__ad_history_tmp"], "model.facebook_ads_source.stg_facebook_ads__ad_set_history": ["model.facebook_ads_source.stg_facebook_ads__ad_set_history_tmp", "model.facebook_ads_source.stg_facebook_ads__ad_set_history_tmp"], "model.facebook_ads_source.stg_facebook_ads__ad_set_history_tmp": ["source.facebook_ads_source.facebook_ads.ad_set_history"], "model.facebook_ads_source.stg_facebook_ads__basic_ad_tmp": ["source.facebook_ads_source.facebook_ads.basic_ad"], "model.facebook_ads_source.stg_facebook_ads__ad_history_tmp": ["source.facebook_ads_source.facebook_ads.ad_history"], "model.facebook_ads_source.stg_facebook_ads__campaign_history_tmp": ["source.facebook_ads_source.facebook_ads.campaign_history"], "model.facebook_ads_source.stg_facebook_ads__creative_history_tmp": ["source.facebook_ads_source.facebook_ads.creative_history"], "model.facebook_ads_source.stg_facebook_ads__account_history_tmp": ["source.facebook_ads_source.facebook_ads.account_history"], "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__url_report_date_day__account_id__campaign_id__ad_set_id__ad_id.03a7e82eb7": ["model.facebook_ads.facebook_ads__url_report"], "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__ad_report_date_day__account_id__campaign_id__ad_set_id__ad_id.0a25b64738": ["model.facebook_ads.facebook_ads__ad_report"], "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__ad_set_report_date_day__account_id__campaign_id__ad_set_id.3dd4da872f": ["model.facebook_ads.facebook_ads__ad_set_report"], "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__campaign_report_date_day__account_id__campaign_id.7cd75107e6": ["model.facebook_ads.facebook_ads__campaign_report"], "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__account_report_date_day__account_id.5a94423e40": ["model.facebook_ads.facebook_ads__account_report"], "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__url_tags__fivetran_id__key__type.ba044777d3": ["model.facebook_ads.facebook_ads__url_tags"], "test.facebook_ads_source.not_null_stg_facebook_ads__account_history_account_id.f1cf38c40f": ["model.facebook_ads_source.stg_facebook_ads__account_history"], "test.facebook_ads_source.not_null_stg_facebook_ads__account_history__fivetran_synced.0570e35e1f": ["model.facebook_ads_source.stg_facebook_ads__account_history"], "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__account_history_account_id___fivetran_synced.f9b4d28fa2": ["model.facebook_ads_source.stg_facebook_ads__account_history"], "test.facebook_ads_source.not_null_stg_facebook_ads__ad_history_ad_id.11429d3064": ["model.facebook_ads_source.stg_facebook_ads__ad_history"], "test.facebook_ads_source.not_null_stg_facebook_ads__ad_history_updated_at.250a5a84e4": ["model.facebook_ads_source.stg_facebook_ads__ad_history"], "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__ad_history_ad_id__updated_at.2922c18b58": ["model.facebook_ads_source.stg_facebook_ads__ad_history"], "test.facebook_ads_source.not_null_stg_facebook_ads__ad_set_history_ad_set_id.e19a1df1bb": ["model.facebook_ads_source.stg_facebook_ads__ad_set_history"], "test.facebook_ads_source.not_null_stg_facebook_ads__ad_set_history_updated_at.ef7fafe0fa": ["model.facebook_ads_source.stg_facebook_ads__ad_set_history"], "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__ad_set_history_ad_set_id__updated_at.0a60ad0fef": ["model.facebook_ads_source.stg_facebook_ads__ad_set_history"], "test.facebook_ads_source.not_null_stg_facebook_ads__campaign_history_campaign_id.1ca7a83852": ["model.facebook_ads_source.stg_facebook_ads__campaign_history"], "test.facebook_ads_source.not_null_stg_facebook_ads__campaign_history_updated_at.9e59f99270": ["model.facebook_ads_source.stg_facebook_ads__campaign_history"], "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__campaign_history_campaign_id__updated_at.7437b392c2": ["model.facebook_ads_source.stg_facebook_ads__campaign_history"], "test.facebook_ads_source.not_null_stg_facebook_ads__creative_history__fivetran_synced.3b0593cb4f": ["model.facebook_ads_source.stg_facebook_ads__creative_history"], "test.facebook_ads_source.not_null_stg_facebook_ads__creative_history_creative_id.eb4d804261": ["model.facebook_ads_source.stg_facebook_ads__creative_history"], "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__creative_history_creative_id___fivetran_synced.69ddc26562": ["model.facebook_ads_source.stg_facebook_ads__creative_history"], "test.facebook_ads_source.not_null_stg_facebook_ads__basic_ad_ad_id.2611b250fc": ["model.facebook_ads_source.stg_facebook_ads__basic_ad"], "test.facebook_ads_source.not_null_stg_facebook_ads__basic_ad_account_id.d06f6d861b": ["model.facebook_ads_source.stg_facebook_ads__basic_ad"], "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__basic_ad_date_day__ad_id__account_id.bd909529e7": ["model.facebook_ads_source.stg_facebook_ads__basic_ad"], "source.facebook_ads_source.facebook_ads.account_history": [], "source.facebook_ads_source.facebook_ads.ad_history": [], "source.facebook_ads_source.facebook_ads.ad_set_history": [], "source.facebook_ads_source.facebook_ads.basic_ad": [], "source.facebook_ads_source.facebook_ads.campaign_history": [], "source.facebook_ads_source.facebook_ads.creative_history": []}, "child_map": {"seed.facebook_ads_integration_tests.facebook_ads_ad_history_data": [], "seed.facebook_ads_integration_tests.facebook_ads_creative_history_data": [], "seed.facebook_ads_integration_tests.facebook_ads_campaign_history_data": [], "seed.facebook_ads_integration_tests.facebook_ads_account_history_data": [], "seed.facebook_ads_integration_tests.facebook_ads_basic_ad_data": [], "seed.facebook_ads_integration_tests.facebook_ads_ad_set_history_data": [], "model.facebook_ads.facebook_ads__url_report": ["test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__url_report_date_day__account_id__campaign_id__ad_set_id__ad_id.03a7e82eb7"], "model.facebook_ads.facebook_ads__url_tags": ["model.facebook_ads.int_facebook_ads__creative_history", "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__url_tags__fivetran_id__key__type.ba044777d3"], "model.facebook_ads.facebook_ads__campaign_report": ["test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__campaign_report_date_day__account_id__campaign_id.7cd75107e6"], "model.facebook_ads.facebook_ads__account_report": ["test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__account_report_date_day__account_id.5a94423e40"], "model.facebook_ads.facebook_ads__ad_report": ["test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__ad_report_date_day__account_id__campaign_id__ad_set_id__ad_id.0a25b64738"], "model.facebook_ads.facebook_ads__ad_set_report": ["test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__ad_set_report_date_day__account_id__campaign_id__ad_set_id.3dd4da872f"], "model.facebook_ads.int_facebook_ads__creative_history": ["model.facebook_ads.facebook_ads__url_report"], "model.facebook_ads_source.stg_facebook_ads__basic_ad": ["model.facebook_ads.facebook_ads__account_report", "model.facebook_ads.facebook_ads__ad_report", "model.facebook_ads.facebook_ads__ad_set_report", "model.facebook_ads.facebook_ads__campaign_report", "model.facebook_ads.facebook_ads__url_report", "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__basic_ad_date_day__ad_id__account_id.bd909529e7", "test.facebook_ads_source.not_null_stg_facebook_ads__basic_ad_account_id.d06f6d861b", "test.facebook_ads_source.not_null_stg_facebook_ads__basic_ad_ad_id.2611b250fc"], "model.facebook_ads_source.stg_facebook_ads__creative_history": ["model.facebook_ads.facebook_ads__url_tags", "model.facebook_ads.int_facebook_ads__creative_history", "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__creative_history_creative_id___fivetran_synced.69ddc26562", "test.facebook_ads_source.not_null_stg_facebook_ads__creative_history__fivetran_synced.3b0593cb4f", "test.facebook_ads_source.not_null_stg_facebook_ads__creative_history_creative_id.eb4d804261"], "model.facebook_ads_source.stg_facebook_ads__campaign_history": ["model.facebook_ads.facebook_ads__ad_report", "model.facebook_ads.facebook_ads__ad_set_report", "model.facebook_ads.facebook_ads__campaign_report", "model.facebook_ads.facebook_ads__url_report", "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__campaign_history_campaign_id__updated_at.7437b392c2", "test.facebook_ads_source.not_null_stg_facebook_ads__campaign_history_campaign_id.1ca7a83852", "test.facebook_ads_source.not_null_stg_facebook_ads__campaign_history_updated_at.9e59f99270"], "model.facebook_ads_source.stg_facebook_ads__account_history": ["model.facebook_ads.facebook_ads__account_report", "model.facebook_ads.facebook_ads__ad_report", "model.facebook_ads.facebook_ads__ad_set_report", "model.facebook_ads.facebook_ads__campaign_report", "model.facebook_ads.facebook_ads__url_report", "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__account_history_account_id___fivetran_synced.f9b4d28fa2", "test.facebook_ads_source.not_null_stg_facebook_ads__account_history__fivetran_synced.0570e35e1f", "test.facebook_ads_source.not_null_stg_facebook_ads__account_history_account_id.f1cf38c40f"], "model.facebook_ads_source.stg_facebook_ads__ad_history": ["model.facebook_ads.facebook_ads__ad_report", "model.facebook_ads.facebook_ads__ad_set_report", "model.facebook_ads.facebook_ads__campaign_report", "model.facebook_ads.facebook_ads__url_report", "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__ad_history_ad_id__updated_at.2922c18b58", "test.facebook_ads_source.not_null_stg_facebook_ads__ad_history_ad_id.11429d3064", "test.facebook_ads_source.not_null_stg_facebook_ads__ad_history_updated_at.250a5a84e4"], "model.facebook_ads_source.stg_facebook_ads__ad_set_history": ["model.facebook_ads.facebook_ads__ad_report", "model.facebook_ads.facebook_ads__ad_set_report", "model.facebook_ads.facebook_ads__url_report", "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__ad_set_history_ad_set_id__updated_at.0a60ad0fef", "test.facebook_ads_source.not_null_stg_facebook_ads__ad_set_history_ad_set_id.e19a1df1bb", "test.facebook_ads_source.not_null_stg_facebook_ads__ad_set_history_updated_at.ef7fafe0fa"], "model.facebook_ads_source.stg_facebook_ads__ad_set_history_tmp": ["model.facebook_ads_source.stg_facebook_ads__ad_set_history", "model.facebook_ads_source.stg_facebook_ads__ad_set_history"], "model.facebook_ads_source.stg_facebook_ads__basic_ad_tmp": ["model.facebook_ads_source.stg_facebook_ads__basic_ad", "model.facebook_ads_source.stg_facebook_ads__basic_ad"], "model.facebook_ads_source.stg_facebook_ads__ad_history_tmp": ["model.facebook_ads_source.stg_facebook_ads__ad_history", "model.facebook_ads_source.stg_facebook_ads__ad_history"], "model.facebook_ads_source.stg_facebook_ads__campaign_history_tmp": ["model.facebook_ads_source.stg_facebook_ads__campaign_history", "model.facebook_ads_source.stg_facebook_ads__campaign_history"], "model.facebook_ads_source.stg_facebook_ads__creative_history_tmp": ["model.facebook_ads_source.stg_facebook_ads__creative_history", "model.facebook_ads_source.stg_facebook_ads__creative_history"], "model.facebook_ads_source.stg_facebook_ads__account_history_tmp": ["model.facebook_ads_source.stg_facebook_ads__account_history", "model.facebook_ads_source.stg_facebook_ads__account_history"], "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__url_report_date_day__account_id__campaign_id__ad_set_id__ad_id.03a7e82eb7": [], "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__ad_report_date_day__account_id__campaign_id__ad_set_id__ad_id.0a25b64738": [], "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__ad_set_report_date_day__account_id__campaign_id__ad_set_id.3dd4da872f": [], "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__campaign_report_date_day__account_id__campaign_id.7cd75107e6": [], "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__account_report_date_day__account_id.5a94423e40": [], "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__url_tags__fivetran_id__key__type.ba044777d3": [], "test.facebook_ads_source.not_null_stg_facebook_ads__account_history_account_id.f1cf38c40f": [], "test.facebook_ads_source.not_null_stg_facebook_ads__account_history__fivetran_synced.0570e35e1f": [], "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__account_history_account_id___fivetran_synced.f9b4d28fa2": [], "test.facebook_ads_source.not_null_stg_facebook_ads__ad_history_ad_id.11429d3064": [], "test.facebook_ads_source.not_null_stg_facebook_ads__ad_history_updated_at.250a5a84e4": [], "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__ad_history_ad_id__updated_at.2922c18b58": [], "test.facebook_ads_source.not_null_stg_facebook_ads__ad_set_history_ad_set_id.e19a1df1bb": [], "test.facebook_ads_source.not_null_stg_facebook_ads__ad_set_history_updated_at.ef7fafe0fa": [], "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__ad_set_history_ad_set_id__updated_at.0a60ad0fef": [], "test.facebook_ads_source.not_null_stg_facebook_ads__campaign_history_campaign_id.1ca7a83852": [], "test.facebook_ads_source.not_null_stg_facebook_ads__campaign_history_updated_at.9e59f99270": [], "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__campaign_history_campaign_id__updated_at.7437b392c2": [], "test.facebook_ads_source.not_null_stg_facebook_ads__creative_history__fivetran_synced.3b0593cb4f": [], "test.facebook_ads_source.not_null_stg_facebook_ads__creative_history_creative_id.eb4d804261": [], "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__creative_history_creative_id___fivetran_synced.69ddc26562": [], "test.facebook_ads_source.not_null_stg_facebook_ads__basic_ad_ad_id.2611b250fc": [], "test.facebook_ads_source.not_null_stg_facebook_ads__basic_ad_account_id.d06f6d861b": [], "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__basic_ad_date_day__ad_id__account_id.bd909529e7": [], "source.facebook_ads_source.facebook_ads.account_history": ["model.facebook_ads_source.stg_facebook_ads__account_history_tmp"], "source.facebook_ads_source.facebook_ads.ad_history": ["model.facebook_ads_source.stg_facebook_ads__ad_history_tmp"], "source.facebook_ads_source.facebook_ads.ad_set_history": ["model.facebook_ads_source.stg_facebook_ads__ad_set_history_tmp"], "source.facebook_ads_source.facebook_ads.basic_ad": ["model.facebook_ads_source.stg_facebook_ads__basic_ad_tmp"], "source.facebook_ads_source.facebook_ads.campaign_history": ["model.facebook_ads_source.stg_facebook_ads__campaign_history_tmp"], "source.facebook_ads_source.facebook_ads.creative_history": ["model.facebook_ads_source.stg_facebook_ads__creative_history_tmp"]}} \ No newline at end of file +{"metadata": {"dbt_schema_version": "https://schemas.getdbt.com/dbt/manifest/v7.json", "dbt_version": "1.3.0", "generated_at": "2022-10-25T21:01:43.894510Z", "invocation_id": "bb3da3fc-73db-47bd-88c1-560f01c5b724", "env": {}, "project_id": "6d850e6ac780f18e972b683bd77cbc61", "user_id": "2bfa9082-ea6e-467b-abdc-d0514ab111d9", "send_anonymous_usage_stats": true, "adapter_type": "bigquery"}, "nodes": {"seed.facebook_ads_integration_tests.facebook_ads_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": {"id": "int64", "account_id": "int64", "campaign_id": "int64", "ad_set_id": "int64", "ad_id": "int64", "creative_id": "int64", "page_link": "string", "template_page_link": "string", "_fivetran_synced": "timestamp", "updated_time": "timestamp"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "facebook_ads_integration_tests", "fqn": ["facebook_ads_integration_tests", "facebook_ads_ad_history_data"], "unique_id": "seed.facebook_ads_integration_tests.facebook_ads_ad_history_data", "raw_code": "", "language": "sql", "package_name": "facebook_ads_integration_tests", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests", "path": "facebook_ads_ad_history_data.csv", "original_file_path": "seeds/facebook_ads_ad_history_data.csv", "name": "facebook_ads_ad_history_data", "alias": "facebook_ads_ad_history_data", "checksum": {"name": "sha256", "checksum": "95c960d78745b1652034ba4da5cc2a7d5b923e816a81c90360f1b28588b7befd"}, "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": {"column_types": {"id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "account_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "ad_set_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "ad_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "creative_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "page_link": "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}", "template_page_link": "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}", "_fivetran_synced": "timestamp", "updated_time": "timestamp"}}, "created_at": 1666731665.886453, "compiled_code": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`facebook_ads_integration_tests`.`facebook_ads_ad_history_data`"}, "seed.facebook_ads_integration_tests.facebook_ads_creative_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": {"id": "int64", "account_id": "int64", "campaign_id": "int64", "ad_set_id": "int64", "ad_id": "int64", "creative_id": "int64", "page_link": "string", "template_page_link": "string", "_fivetran_synced": "timestamp", "updated_time": "timestamp"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "facebook_ads_integration_tests", "fqn": ["facebook_ads_integration_tests", "facebook_ads_creative_history_data"], "unique_id": "seed.facebook_ads_integration_tests.facebook_ads_creative_history_data", "raw_code": "", "language": "sql", "package_name": "facebook_ads_integration_tests", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests", "path": "facebook_ads_creative_history_data.csv", "original_file_path": "seeds/facebook_ads_creative_history_data.csv", "name": "facebook_ads_creative_history_data", "alias": "facebook_ads_creative_history_data", "checksum": {"name": "path", "checksum": "seeds/facebook_ads_creative_history_data.csv"}, "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": {"column_types": {"id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "account_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "ad_set_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "ad_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "creative_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "page_link": "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}", "template_page_link": "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}", "_fivetran_synced": "timestamp", "updated_time": "timestamp"}}, "created_at": 1666731665.8914921, "compiled_code": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`facebook_ads_integration_tests`.`facebook_ads_creative_history_data`"}, "seed.facebook_ads_integration_tests.facebook_ads_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": {"id": "int64", "account_id": "int64", "campaign_id": "int64", "ad_set_id": "int64", "ad_id": "int64", "creative_id": "int64", "page_link": "string", "template_page_link": "string", "_fivetran_synced": "timestamp", "updated_time": "timestamp"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "facebook_ads_integration_tests", "fqn": ["facebook_ads_integration_tests", "facebook_ads_campaign_history_data"], "unique_id": "seed.facebook_ads_integration_tests.facebook_ads_campaign_history_data", "raw_code": "", "language": "sql", "package_name": "facebook_ads_integration_tests", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests", "path": "facebook_ads_campaign_history_data.csv", "original_file_path": "seeds/facebook_ads_campaign_history_data.csv", "name": "facebook_ads_campaign_history_data", "alias": "facebook_ads_campaign_history_data", "checksum": {"name": "sha256", "checksum": "1dfd8244efe7c32be5fb93c8417575d79670225092a28cab9da03d0ad7773432"}, "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": {"column_types": {"id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "account_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "ad_set_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "ad_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "creative_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "page_link": "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}", "template_page_link": "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}", "_fivetran_synced": "timestamp", "updated_time": "timestamp"}}, "created_at": 1666731665.892606, "compiled_code": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`facebook_ads_integration_tests`.`facebook_ads_campaign_history_data`"}, "seed.facebook_ads_integration_tests.facebook_ads_account_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": {"id": "int64", "account_id": "int64", "campaign_id": "int64", "ad_set_id": "int64", "ad_id": "int64", "creative_id": "int64", "page_link": "string", "template_page_link": "string", "_fivetran_synced": "timestamp", "updated_time": "timestamp"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "facebook_ads_integration_tests", "fqn": ["facebook_ads_integration_tests", "facebook_ads_account_history_data"], "unique_id": "seed.facebook_ads_integration_tests.facebook_ads_account_history_data", "raw_code": "", "language": "sql", "package_name": "facebook_ads_integration_tests", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests", "path": "facebook_ads_account_history_data.csv", "original_file_path": "seeds/facebook_ads_account_history_data.csv", "name": "facebook_ads_account_history_data", "alias": "facebook_ads_account_history_data", "checksum": {"name": "sha256", "checksum": "cd864f60b0ec016488416e66c22b5ff0ffcb882139124d92c3207f5abb0ae36d"}, "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": {"column_types": {"id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "account_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "ad_set_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "ad_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "creative_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "page_link": "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}", "template_page_link": "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}", "_fivetran_synced": "timestamp", "updated_time": "timestamp"}}, "created_at": 1666731665.893573, "compiled_code": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`facebook_ads_integration_tests`.`facebook_ads_account_history_data`"}, "seed.facebook_ads_integration_tests.facebook_ads_basic_ad_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": {"id": "int64", "account_id": "int64", "campaign_id": "int64", "ad_set_id": "int64", "ad_id": "int64", "creative_id": "int64", "page_link": "string", "template_page_link": "string", "_fivetran_synced": "timestamp", "updated_time": "timestamp"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "facebook_ads_integration_tests", "fqn": ["facebook_ads_integration_tests", "facebook_ads_basic_ad_data"], "unique_id": "seed.facebook_ads_integration_tests.facebook_ads_basic_ad_data", "raw_code": "", "language": "sql", "package_name": "facebook_ads_integration_tests", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests", "path": "facebook_ads_basic_ad_data.csv", "original_file_path": "seeds/facebook_ads_basic_ad_data.csv", "name": "facebook_ads_basic_ad_data", "alias": "facebook_ads_basic_ad_data", "checksum": {"name": "sha256", "checksum": "66b31e24edd0ba75d3fee6ad4c1522fd9b43417943aac398f1c92f5076ba7ac0"}, "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": {"column_types": {"id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "account_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "ad_set_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "ad_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "creative_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "page_link": "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}", "template_page_link": "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}", "_fivetran_synced": "timestamp", "updated_time": "timestamp"}}, "created_at": 1666731665.894538, "compiled_code": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`facebook_ads_integration_tests`.`facebook_ads_basic_ad_data`"}, "seed.facebook_ads_integration_tests.facebook_ads_ad_set_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": {"id": "int64", "account_id": "int64", "campaign_id": "int64", "ad_set_id": "int64", "ad_id": "int64", "creative_id": "int64", "page_link": "string", "template_page_link": "string", "_fivetran_synced": "timestamp", "updated_time": "timestamp"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "facebook_ads_integration_tests", "fqn": ["facebook_ads_integration_tests", "facebook_ads_ad_set_history_data"], "unique_id": "seed.facebook_ads_integration_tests.facebook_ads_ad_set_history_data", "raw_code": "", "language": "sql", "package_name": "facebook_ads_integration_tests", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests", "path": "facebook_ads_ad_set_history_data.csv", "original_file_path": "seeds/facebook_ads_ad_set_history_data.csv", "name": "facebook_ads_ad_set_history_data", "alias": "facebook_ads_ad_set_history_data", "checksum": {"name": "sha256", "checksum": "da4e6b48f3feaa4bd2c3783b125909a14c5317b3c1484b4f6af5d7c1d88f5bd7"}, "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": {"column_types": {"id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "account_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "ad_set_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "ad_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "creative_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "page_link": "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}", "template_page_link": "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}", "_fivetran_synced": "timestamp", "updated_time": "timestamp"}}, "created_at": 1666731665.8954968, "compiled_code": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`facebook_ads_integration_tests`.`facebook_ads_ad_set_history_data`"}, "model.facebook_ads.facebook_ads__url_report": {"compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.fivetran_utils.persist_pass_through_columns", "macro.dbt_utils.group_by"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__basic_ad", "model.facebook_ads.int_facebook_ads__creative_history", "model.facebook_ads_source.stg_facebook_ads__account_history", "model.facebook_ads_source.stg_facebook_ads__ad_history", "model.facebook_ads_source.stg_facebook_ads__ad_set_history", "model.facebook_ads_source.stg_facebook_ads__campaign_history"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_facebook_ads", "fqn": ["facebook_ads", "facebook_ads__url_report"], "unique_id": "model.facebook_ads.facebook_ads__url_report", "raw_code": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nwith report as (\n\n select *\n from {{ var('basic_ad') }}\n\n), \n\ncreatives as (\n\n select *\n from {{ ref('int_facebook_ads__creative_history') }}\n\n), \n\naccounts as (\n\n select *\n from {{ var('account_history') }}\n where is_most_recent_record = true\n\n), \n\nads as (\n\n select *\n from {{ var('ad_history') }}\n where is_most_recent_record = true\n\n), \n\nad_sets as (\n\n select *\n from {{ var('ad_set_history') }}\n where is_most_recent_record = true\n\n), \n\ncampaigns as (\n\n select *\n from {{ var('campaign_history') }}\n where is_most_recent_record = true\n\n), \n\njoined as (\n\n select\n report.date_day,\n accounts.account_id,\n accounts.account_name,\n campaigns.campaign_id,\n campaigns.campaign_name,\n ad_sets.ad_set_id,\n ad_sets.ad_set_name,\n ads.ad_id,\n ads.ad_name,\n creatives.creative_id,\n creatives.creative_name,\n creatives.base_url,\n creatives.url_host,\n creatives.url_path,\n creatives.utm_source,\n creatives.utm_medium,\n creatives.utm_campaign,\n creatives.utm_content,\n creatives.utm_term,\n sum(report.clicks) as clicks,\n sum(report.impressions) as impressions,\n sum(report.spend) as spend\n\n {{ fivetran_utils.persist_pass_through_columns(pass_through_variable='facebook_ads__basic_ad_passthrough_metrics', transform = 'sum') }}\n from report\n left join ads \n on report.ad_id = ads.ad_id\n left join creatives\n on ads.creative_id = creatives.creative_id\n left join ad_sets\n on ads.ad_set_id = ad_sets.ad_set_id\n left join campaigns\n on ads.campaign_id = campaigns.campaign_id\n left join accounts\n on report.account_id = accounts.account_id \n where creatives.url is not null\n {{ dbt_utils.group_by(19) }}\n)\n\nselect *\nfrom joined", "language": "sql", "package_name": "facebook_ads", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "facebook_ads__url_report.sql", "original_file_path": "models/facebook_ads__url_report.sql", "name": "facebook_ads__url_report", "alias": "facebook_ads__url_report", "checksum": {"name": "sha256", "checksum": "10c9e21c2dd8784f9e08d760bced13633256fa77a516234ee971c3c6d1aa97c6"}, "tags": [], "refs": [["stg_facebook_ads__basic_ad"], ["int_facebook_ads__creative_history"], ["stg_facebook_ads__account_history"], ["stg_facebook_ads__ad_history"], ["stg_facebook_ads__ad_set_history"], ["stg_facebook_ads__campaign_history"]], "sources": [], "metrics": [], "description": "Each record represents the daily performance of a Facebook ad at the URL level.", "columns": {"date_day": {"name": "date_day", "description": "The date of the performance.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "The ID of the related account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_name": {"name": "account_name", "description": "The name of the related account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_id": {"name": "campaign_id", "description": "The ID of the related campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_name": {"name": "campaign_name", "description": "The name of the related campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_set_id": {"name": "ad_set_id", "description": "The ID of the related ad set.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_set_name": {"name": "ad_set_name", "description": "The name of the related ad set.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_id": {"name": "ad_id", "description": "The ID of the related ad.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_name": {"name": "ad_name", "description": "The name of the related ad.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "creative_id": {"name": "creative_id", "description": "The ID of the related creative.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "creative_name": {"name": "creative_name", "description": "The name of the related creative.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "base_url": {"name": "base_url", "description": "The base URL of the ad, extracted from the page_link and template_page_link.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "url_host": {"name": "url_host", "description": "The URL host of the ad, extracted from the page_link and template_page_link.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "url_path": {"name": "url_path", "description": "The URL path of the ad, extracted from the page_link and template_page_link.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "utm_source": {"name": "utm_source", "description": "The utm_source parameter of the ad, extracted from the page_link and template_page_link.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "utm_medium": {"name": "utm_medium", "description": "The utm_medium parameter of the ad, extracted from the page_link and template_page_link.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "utm_campaign": {"name": "utm_campaign", "description": "The utm_campaign parameter of the ad, extracted from the page_link and template_page_link.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "utm_content": {"name": "utm_content", "description": "The utm_content parameter of the ad, extracted from the page_link and template_page_link.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "utm_term": {"name": "utm_term", "description": "The utm_term parameter of the ad, extracted from the page_link and template_page_link.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clicks": {"name": "clicks", "description": "The number of clicks the ad had on the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "The number of impressions the ad had on the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The spend on the ad in the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": "facebook_ads://models/facebook.yml", "compiled_path": "target/compiled/facebook_ads/models/facebook_ads__url_report.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads", "materialized": "table", "enabled": true}, "created_at": 1666731666.0970361, "compiled_code": "\n\nwith report as (\n\n select *\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__basic_ad`\n\n), \n\ncreatives as (\n\n select *\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads`.`int_facebook_ads__creative_history`\n\n), \n\naccounts as (\n\n select *\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__account_history`\n where is_most_recent_record = true\n\n), \n\nads as (\n\n select *\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__ad_history`\n where is_most_recent_record = true\n\n), \n\nad_sets as (\n\n select *\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__ad_set_history`\n where is_most_recent_record = true\n\n), \n\ncampaigns as (\n\n select *\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__campaign_history`\n where is_most_recent_record = true\n\n), \n\njoined as (\n\n select\n report.date_day,\n accounts.account_id,\n accounts.account_name,\n campaigns.campaign_id,\n campaigns.campaign_name,\n ad_sets.ad_set_id,\n ad_sets.ad_set_name,\n ads.ad_id,\n ads.ad_name,\n creatives.creative_id,\n creatives.creative_name,\n creatives.base_url,\n creatives.url_host,\n creatives.url_path,\n creatives.utm_source,\n creatives.utm_medium,\n creatives.utm_campaign,\n creatives.utm_content,\n creatives.utm_term,\n sum(report.clicks) as clicks,\n sum(report.impressions) as impressions,\n sum(report.spend) as spend\n\n \n\n\n\n\n from report\n left join ads \n on report.ad_id = ads.ad_id\n left join creatives\n on ads.creative_id = creatives.creative_id\n left join ad_sets\n on ads.ad_set_id = ad_sets.ad_set_id\n left join campaigns\n on ads.campaign_id = campaigns.campaign_id\n left join accounts\n on report.account_id = accounts.account_id \n where creatives.url is not null\n group by 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19\n)\n\nselect *\nfrom joined", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads`.`facebook_ads__url_report`"}, "model.facebook_ads.facebook_ads__url_tags": {"compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.facebook_ads.get_url_tags_query"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__creative_history"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_facebook_ads", "fqn": ["facebook_ads", "facebook_ads__url_tags"], "unique_id": "model.facebook_ads.facebook_ads__url_tags", "raw_code": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nwith base as (\n\n select *\n from {{ var('creative_history') }}\n where is_most_recent_record = true\n), \n\nrequired_fields as (\n\n select\n _fivetran_id,\n creative_id,\n url_tags\n from base\n where url_tags is not null\n), \n\n{{ get_url_tags_query() }} \n\nselect *\nfrom fields", "language": "sql", "package_name": "facebook_ads", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "facebook_ads__url_tags.sql", "original_file_path": "models/facebook_ads__url_tags.sql", "name": "facebook_ads__url_tags", "alias": "facebook_ads__url_tags", "checksum": {"name": "sha256", "checksum": "94dcb7faf1441b289fcec62f3e81794a05a34cf10bf2955e8a8f8c18555f8ad2"}, "tags": [], "refs": [["stg_facebook_ads__creative_history"]], "sources": [], "metrics": [], "description": "Each record is a unique combination of creative_id and corresponding key, value, type contained in the url_tags field", "columns": {"_fivetran_id": {"name": "_fivetran_id", "description": "The unique fivetran ID for this record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "creative_id": {"name": "creative_id", "description": "The associated creative_id for this record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "key": {"name": "key", "description": "The url tag object name e.g. utm_source associated with this record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "value": {"name": "value", "description": "The value assigned to the url tag object associated with this record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "type": {"name": "type", "description": "The type assigned to the url tag object e.g. 'AD_VIDEO'.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": "facebook_ads://models/facebook.yml", "compiled_path": "target/compiled/facebook_ads/models/facebook_ads__url_tags.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads", "materialized": "table", "enabled": true}, "created_at": 1666731666.1034582, "compiled_code": "\n\nwith base as (\n\n select *\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__creative_history`\n where is_most_recent_record = true\n), \n\nrequired_fields as (\n\n select\n _fivetran_id,\n creative_id,\n url_tags\n from base\n where url_tags is not null\n), \n\n\n\n cleaned_json as (\n\n select\n _fivetran_id,\n creative_id,\n json_extract_array(replace(trim(url_tags, '\"'),'\\\\','')) as cleaned_url_tags\n from required_fields\n ), \n\n unnested as (\n\n select \n _fivetran_id, \n creative_id, \n url_tag_element\n from cleaned_json\n left join unnest(cleaned_url_tags) as url_tag_element\n where cleaned_url_tags is not null\n ), \n\n fields as (\n\n select\n _fivetran_id,\n creative_id,\n json_extract_scalar(url_tag_element, '$.key') as key,\n json_extract_scalar(url_tag_element, '$.value') as value,\n json_extract_scalar(url_tag_element, '$.type') as type\n from unnested\n )\n\n \n\nselect *\nfrom fields", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads`.`facebook_ads__url_tags`"}, "model.facebook_ads.facebook_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.facebook_ads_source.stg_facebook_ads__basic_ad", "model.facebook_ads_source.stg_facebook_ads__account_history", "model.facebook_ads_source.stg_facebook_ads__campaign_history", "model.facebook_ads_source.stg_facebook_ads__ad_history"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_facebook_ads", "fqn": ["facebook_ads", "facebook_ads__campaign_report"], "unique_id": "model.facebook_ads.facebook_ads__campaign_report", "raw_code": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nwith report as (\n\n select *\n from {{ var('basic_ad') }}\n\n), \n\naccounts as (\n\n select *\n from {{ var('account_history') }}\n where is_most_recent_record = true\n\n),\n\ncampaigns as (\n\n select *\n from {{ var('campaign_history') }}\n where is_most_recent_record = true\n\n),\n\nads as (\n\n select *\n from {{ var('ad_history') }}\n where is_most_recent_record = true\n\n),\n\njoined as (\n\n select \n report.date_day,\n accounts.account_id,\n accounts.account_name,\n campaigns.campaign_id,\n campaigns.campaign_name,\n campaigns.start_at,\n campaigns.end_at,\n campaigns.status,\n campaigns.daily_budget,\n campaigns.lifetime_budget,\n campaigns.budget_remaining,\n sum(report.clicks) as clicks,\n sum(report.impressions) as impressions,\n sum(report.spend) as spend\n\n {{ fivetran_utils.persist_pass_through_columns(pass_through_variable='facebook_ads__basic_ad_passthrough_metrics', transform = 'sum') }}\n from report \n left join accounts\n on report.account_id = accounts.account_id\n left join ads \n on report.ad_id = ads.ad_id\n left join campaigns\n on ads.campaign_id = campaigns.campaign_id\n {{ dbt_utils.group_by(11) }}\n)\n\nselect *\nfrom joined", "language": "sql", "package_name": "facebook_ads", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "facebook_ads__campaign_report.sql", "original_file_path": "models/facebook_ads__campaign_report.sql", "name": "facebook_ads__campaign_report", "alias": "facebook_ads__campaign_report", "checksum": {"name": "sha256", "checksum": "4bec447c9d29e7a26180ce14a68d0a1217d60f0d24bed7c89716b3520c053a75"}, "tags": [], "refs": [["stg_facebook_ads__basic_ad"], ["stg_facebook_ads__account_history"], ["stg_facebook_ads__campaign_history"], ["stg_facebook_ads__ad_history"]], "sources": [], "metrics": [], "description": "Each record represents the daily performance of a Facebook campaign.", "columns": {"date_day": {"name": "date_day", "description": "The date of the performance.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "The ID of the related account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_name": {"name": "account_name", "description": "The name of the related account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_id": {"name": "campaign_id", "description": "The ID of the related campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_name": {"name": "campaign_name", "description": "The name of the related campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clicks": {"name": "clicks", "description": "The number of clicks the ad had on the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "The number of impressions the ad had on the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The spend on the ad in the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": "facebook_ads://models/facebook.yml", "compiled_path": "target/compiled/facebook_ads/models/facebook_ads__campaign_report.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads", "materialized": "table", "enabled": true}, "created_at": 1666731666.101599, "compiled_code": "\n\nwith report as (\n\n select *\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__basic_ad`\n\n), \n\naccounts as (\n\n select *\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__account_history`\n where is_most_recent_record = true\n\n),\n\ncampaigns as (\n\n select *\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__campaign_history`\n where is_most_recent_record = true\n\n),\n\nads as (\n\n select *\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__ad_history`\n where is_most_recent_record = true\n\n),\n\njoined as (\n\n select \n report.date_day,\n accounts.account_id,\n accounts.account_name,\n campaigns.campaign_id,\n campaigns.campaign_name,\n campaigns.start_at,\n campaigns.end_at,\n campaigns.status,\n campaigns.daily_budget,\n campaigns.lifetime_budget,\n campaigns.budget_remaining,\n sum(report.clicks) as clicks,\n sum(report.impressions) as impressions,\n sum(report.spend) as spend\n\n \n\n\n\n\n from report \n left join accounts\n on report.account_id = accounts.account_id\n left join ads \n on report.ad_id = ads.ad_id\n left join campaigns\n on ads.campaign_id = campaigns.campaign_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": "`dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads`.`facebook_ads__campaign_report`"}, "model.facebook_ads.facebook_ads__account_report": {"compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.fivetran_utils.persist_pass_through_columns", "macro.dbt_utils.group_by"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__basic_ad", "model.facebook_ads_source.stg_facebook_ads__account_history"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_facebook_ads", "fqn": ["facebook_ads", "facebook_ads__account_report"], "unique_id": "model.facebook_ads.facebook_ads__account_report", "raw_code": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nwith report as (\n\n select *\n from {{ var('basic_ad') }}\n\n), \n\naccounts as (\n\n select *\n from {{ var('account_history') }}\n where is_most_recent_record = true\n\n),\n\njoined as (\n\n select \n report.date_day,\n accounts.account_id,\n accounts.account_name,\n accounts.account_status,\n accounts.business_country_code,\n accounts.created_at,\n accounts.currency,\n accounts.timezone_name,\n sum(report.clicks) as clicks,\n sum(report.impressions) as impressions,\n sum(report.spend) as spend\n\n {{ fivetran_utils.persist_pass_through_columns(pass_through_variable='facebook_ads__basic_ad_passthrough_metrics', transform = 'sum') }}\n from report \n left join accounts\n on report.account_id = accounts.account_id\n {{ dbt_utils.group_by(8) }}\n)\n\nselect *\nfrom joined", "language": "sql", "package_name": "facebook_ads", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "facebook_ads__account_report.sql", "original_file_path": "models/facebook_ads__account_report.sql", "name": "facebook_ads__account_report", "alias": "facebook_ads__account_report", "checksum": {"name": "sha256", "checksum": "845cdb5118e536d66d515c2e11eee71d380e406ba4f443bae4828ec70362841e"}, "tags": [], "refs": [["stg_facebook_ads__basic_ad"], ["stg_facebook_ads__account_history"]], "sources": [], "metrics": [], "description": "Each record represents the daily performance of a Facebook account.", "columns": {"date_day": {"name": "date_day", "description": "The date of the performance.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "The ID of the related account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_name": {"name": "account_name", "description": "The name of the related account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clicks": {"name": "clicks", "description": "The number of clicks the ad had on the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "The number of impressions the ad had on the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The spend on the ad in the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": "facebook_ads://models/facebook.yml", "compiled_path": "target/compiled/facebook_ads/models/facebook_ads__account_report.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads", "materialized": "table", "enabled": true}, "created_at": 1666731666.102554, "compiled_code": "\n\nwith report as (\n\n select *\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__basic_ad`\n\n), \n\naccounts as (\n\n select *\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__account_history`\n where is_most_recent_record = true\n\n),\n\njoined as (\n\n select \n report.date_day,\n accounts.account_id,\n accounts.account_name,\n accounts.account_status,\n accounts.business_country_code,\n accounts.created_at,\n accounts.currency,\n accounts.timezone_name,\n sum(report.clicks) as clicks,\n sum(report.impressions) as impressions,\n sum(report.spend) as spend\n\n \n\n\n\n\n from report \n left join accounts\n on report.account_id = accounts.account_id\n group by 1,2,3,4,5,6,7,8\n)\n\nselect *\nfrom joined", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads`.`facebook_ads__account_report`"}, "model.facebook_ads.facebook_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.facebook_ads_source.stg_facebook_ads__basic_ad", "model.facebook_ads_source.stg_facebook_ads__account_history", "model.facebook_ads_source.stg_facebook_ads__campaign_history", "model.facebook_ads_source.stg_facebook_ads__ad_set_history", "model.facebook_ads_source.stg_facebook_ads__ad_history"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_facebook_ads", "fqn": ["facebook_ads", "facebook_ads__ad_report"], "unique_id": "model.facebook_ads.facebook_ads__ad_report", "raw_code": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nwith report as (\n\n select *\n from {{ var('basic_ad') }}\n\n), \n\naccounts as (\n\n select *\n from {{ var('account_history') }}\n where is_most_recent_record = true\n\n),\n\ncampaigns as (\n\n select *\n from {{ var('campaign_history') }}\n where is_most_recent_record = true\n\n),\n\nad_sets as (\n\n select *\n from {{ var('ad_set_history') }}\n where is_most_recent_record = true\n\n),\n\nads as (\n\n select *\n from {{ var('ad_history') }}\n where is_most_recent_record = true\n\n),\n\njoined as (\n\n select \n report.date_day,\n accounts.account_id,\n accounts.account_name,\n campaigns.campaign_id,\n campaigns.campaign_name,\n ad_sets.ad_set_id,\n ad_sets.ad_set_name,\n ads.ad_id,\n ads.ad_name,\n sum(report.clicks) as clicks,\n sum(report.impressions) as impressions,\n sum(report.spend) as spend\n\n {{ fivetran_utils.persist_pass_through_columns(pass_through_variable='facebook_ads__basic_ad_passthrough_metrics', transform = 'sum') }}\n from report \n left join accounts\n on report.account_id = accounts.account_id\n left join ads \n on report.ad_id = ads.ad_id\n left join campaigns\n on ads.campaign_id = campaigns.campaign_id\n left join ad_sets\n on ads.ad_set_id = ad_sets.ad_set_id\n {{ dbt_utils.group_by(9) }}\n)\n\nselect *\nfrom joined", "language": "sql", "package_name": "facebook_ads", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "facebook_ads__ad_report.sql", "original_file_path": "models/facebook_ads__ad_report.sql", "name": "facebook_ads__ad_report", "alias": "facebook_ads__ad_report", "checksum": {"name": "sha256", "checksum": "36088a9abc521347aacc7d9bf0f56fd712441e94a2bc66ef334f85ff8f4761ea"}, "tags": [], "refs": [["stg_facebook_ads__basic_ad"], ["stg_facebook_ads__account_history"], ["stg_facebook_ads__campaign_history"], ["stg_facebook_ads__ad_set_history"], ["stg_facebook_ads__ad_history"]], "sources": [], "metrics": [], "description": "Each record represents the daily performance of a Facebook ad.", "columns": {"date_day": {"name": "date_day", "description": "The date of the performance.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "The ID of the related account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_name": {"name": "account_name", "description": "The name of the related account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_id": {"name": "campaign_id", "description": "The ID of the related campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_name": {"name": "campaign_name", "description": "The name of the related campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_set_id": {"name": "ad_set_id", "description": "The ID of the related ad set.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_set_name": {"name": "ad_set_name", "description": "The name of the related ad set.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_id": {"name": "ad_id", "description": "The ID of the related ad.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_name": {"name": "ad_name", "description": "The name of the related ad.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clicks": {"name": "clicks", "description": "The number of clicks the ad had on the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "The number of impressions the ad had on the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The spend on the ad in the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": "facebook_ads://models/facebook.yml", "compiled_path": "target/compiled/facebook_ads/models/facebook_ads__ad_report.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads", "materialized": "table", "enabled": true}, "created_at": 1666731666.098884, "compiled_code": "\n\nwith report as (\n\n select *\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__basic_ad`\n\n), \n\naccounts as (\n\n select *\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__account_history`\n where is_most_recent_record = true\n\n),\n\ncampaigns as (\n\n select *\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__campaign_history`\n where is_most_recent_record = true\n\n),\n\nad_sets as (\n\n select *\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__ad_set_history`\n where is_most_recent_record = true\n\n),\n\nads as (\n\n select *\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__ad_history`\n where is_most_recent_record = true\n\n),\n\njoined as (\n\n select \n report.date_day,\n accounts.account_id,\n accounts.account_name,\n campaigns.campaign_id,\n campaigns.campaign_name,\n ad_sets.ad_set_id,\n ad_sets.ad_set_name,\n ads.ad_id,\n ads.ad_name,\n sum(report.clicks) as clicks,\n sum(report.impressions) as impressions,\n sum(report.spend) as spend\n\n \n\n\n\n\n from report \n left join accounts\n on report.account_id = accounts.account_id\n left join ads \n on report.ad_id = ads.ad_id\n left join campaigns\n on ads.campaign_id = campaigns.campaign_id\n left join ad_sets\n on ads.ad_set_id = ad_sets.ad_set_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": "`dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads`.`facebook_ads__ad_report`"}, "model.facebook_ads.facebook_ads__ad_set_report": {"compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.fivetran_utils.persist_pass_through_columns", "macro.dbt_utils.group_by"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__basic_ad", "model.facebook_ads_source.stg_facebook_ads__account_history", "model.facebook_ads_source.stg_facebook_ads__campaign_history", "model.facebook_ads_source.stg_facebook_ads__ad_set_history", "model.facebook_ads_source.stg_facebook_ads__ad_history"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_facebook_ads", "fqn": ["facebook_ads", "facebook_ads__ad_set_report"], "unique_id": "model.facebook_ads.facebook_ads__ad_set_report", "raw_code": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nwith report as (\n\n select *\n from {{ var('basic_ad') }}\n\n), \n\naccounts as (\n\n select *\n from {{ var('account_history') }}\n where is_most_recent_record = true\n\n),\n\ncampaigns as (\n\n select *\n from {{ var('campaign_history') }}\n where is_most_recent_record = true\n\n),\n\nad_sets as (\n\n select *\n from {{ var('ad_set_history') }}\n where is_most_recent_record = true\n\n),\n\nads as (\n\n select *\n from {{ var('ad_history') }}\n where is_most_recent_record = true\n\n),\n\njoined as (\n\n select \n report.date_day,\n accounts.account_id,\n accounts.account_name,\n campaigns.campaign_id,\n campaigns.campaign_name,\n ad_sets.ad_set_id,\n ad_sets.ad_set_name,\n ad_sets.start_at,\n ad_sets.end_at,\n ad_sets.bid_strategy,\n ad_sets.daily_budget,\n ad_sets.budget_remaining,\n sum(report.clicks) as clicks,\n sum(report.impressions) as impressions,\n sum(report.spend) as spend\n\n {{ fivetran_utils.persist_pass_through_columns(pass_through_variable='facebook_ads__basic_ad_passthrough_metrics', transform = 'sum') }}\n from report \n left join accounts\n on report.account_id = accounts.account_id\n left join ads \n on report.ad_id = ads.ad_id\n left join campaigns\n on ads.campaign_id = campaigns.campaign_id\n left join ad_sets\n on ads.ad_set_id = ad_sets.ad_set_id\n {{ dbt_utils.group_by(12) }}\n)\n\nselect *\nfrom joined", "language": "sql", "package_name": "facebook_ads", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "facebook_ads__ad_set_report.sql", "original_file_path": "models/facebook_ads__ad_set_report.sql", "name": "facebook_ads__ad_set_report", "alias": "facebook_ads__ad_set_report", "checksum": {"name": "sha256", "checksum": "d1b0e28fe240e405fe8f746c38d4fad26a8d43e10dcd6f375617b78095f87e01"}, "tags": [], "refs": [["stg_facebook_ads__basic_ad"], ["stg_facebook_ads__account_history"], ["stg_facebook_ads__campaign_history"], ["stg_facebook_ads__ad_set_history"], ["stg_facebook_ads__ad_history"]], "sources": [], "metrics": [], "description": "Each record represents the daily performance of a Facebook ad set.", "columns": {"date_day": {"name": "date_day", "description": "The date of the performance.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "The ID of the related account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_name": {"name": "account_name", "description": "The name of the related account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_id": {"name": "campaign_id", "description": "The ID of the related campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_name": {"name": "campaign_name", "description": "The name of the related campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_set_id": {"name": "ad_set_id", "description": "The ID of the related ad set.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_set_name": {"name": "ad_set_name", "description": "The name of the related ad set.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clicks": {"name": "clicks", "description": "The number of clicks the ad had on the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "The number of impressions the ad had on the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The spend on the ad in the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": "facebook_ads://models/facebook.yml", "compiled_path": "target/compiled/facebook_ads/models/facebook_ads__ad_set_report.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads", "materialized": "table", "enabled": true}, "created_at": 1666731666.100323, "compiled_code": "\n\nwith report as (\n\n select *\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__basic_ad`\n\n), \n\naccounts as (\n\n select *\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__account_history`\n where is_most_recent_record = true\n\n),\n\ncampaigns as (\n\n select *\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__campaign_history`\n where is_most_recent_record = true\n\n),\n\nad_sets as (\n\n select *\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__ad_set_history`\n where is_most_recent_record = true\n\n),\n\nads as (\n\n select *\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__ad_history`\n where is_most_recent_record = true\n\n),\n\njoined as (\n\n select \n report.date_day,\n accounts.account_id,\n accounts.account_name,\n campaigns.campaign_id,\n campaigns.campaign_name,\n ad_sets.ad_set_id,\n ad_sets.ad_set_name,\n ad_sets.start_at,\n ad_sets.end_at,\n ad_sets.bid_strategy,\n ad_sets.daily_budget,\n ad_sets.budget_remaining,\n sum(report.clicks) as clicks,\n sum(report.impressions) as impressions,\n sum(report.spend) as spend\n\n \n\n\n\n\n from report \n left join accounts\n on report.account_id = accounts.account_id\n left join ads \n on report.ad_id = ads.ad_id\n left join campaigns\n on ads.campaign_id = campaigns.campaign_id\n left join ad_sets\n on ads.ad_set_id = ad_sets.ad_set_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": "`dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads`.`facebook_ads__ad_set_report`"}, "model.facebook_ads.int_facebook_ads__creative_history": {"compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.dbt.split_part", "macro.dbt_utils.get_url_host", "macro.dbt_utils.get_url_path", "macro.dbt_utils.get_url_parameter"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__creative_history", "model.facebook_ads.facebook_ads__url_tags"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_ads", "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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_facebook_ads", "fqn": ["facebook_ads", "intermediate", "int_facebook_ads__creative_history"], "unique_id": "model.facebook_ads.int_facebook_ads__creative_history", "raw_code": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\n{% set url_field = \"coalesce(page_link,template_page_link)\" %}\n\nwith base as (\n\n select *\n from {{ var('creative_history') }}\n where is_most_recent_record = true\n\n), \n\nurl_tags as (\n\n select *\n from {{ ref('facebook_ads__url_tags') }}\n), \n\nurl_tags_pivoted as (\n\n select \n _fivetran_id,\n creative_id,\n min(case when key = 'utm_source' then value end) as utm_source,\n min(case when key = 'utm_medium' then value end) as utm_medium,\n min(case when key = 'utm_campaign' then value end) as utm_campaign,\n min(case when key = 'utm_content' then value end) as utm_content,\n min(case when key = 'utm_term' then value end) as utm_term\n from url_tags\n group by 1,2\n\n), \n\nfields as (\n\n select\n base._fivetran_id,\n base.creative_id,\n base.account_id,\n base.creative_name,\n {{ url_field }} as url,\n {{ dbt.split_part(url_field, \"'?'\", 1) }} as base_url,\n {{ dbt_utils.get_url_host(url_field) }} as url_host,\n '/' || {{ dbt_utils.get_url_path(url_field) }} as url_path,\n coalesce(url_tags_pivoted.utm_source, {{ dbt_utils.get_url_parameter(url_field, 'utm_source') }}) as utm_source,\n coalesce(url_tags_pivoted.utm_medium, {{ dbt_utils.get_url_parameter(url_field, 'utm_medium') }}) as utm_medium,\n coalesce(url_tags_pivoted.utm_campaign, {{ dbt_utils.get_url_parameter(url_field, 'utm_campaign') }}) as utm_campaign,\n coalesce(url_tags_pivoted.utm_content, {{ dbt_utils.get_url_parameter(url_field, 'utm_content') }}) as utm_content,\n coalesce(url_tags_pivoted.utm_term, {{ dbt_utils.get_url_parameter(url_field, 'utm_term') }}) as utm_term\n from base\n left join url_tags_pivoted\n on base._fivetran_id = url_tags_pivoted._fivetran_id\n and base.creative_id = url_tags_pivoted.creative_id\n)\n\nselect *\nfrom fields", "language": "sql", "package_name": "facebook_ads", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "intermediate/int_facebook_ads__creative_history.sql", "original_file_path": "models/intermediate/int_facebook_ads__creative_history.sql", "name": "int_facebook_ads__creative_history", "alias": "int_facebook_ads__creative_history", "checksum": {"name": "sha256", "checksum": "58070e7fbe67471ca464a7f8fdb011e4e8582d1651e7b42b966218bdaf1b4235"}, "tags": [], "refs": [["stg_facebook_ads__creative_history"], ["facebook_ads__url_tags"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads/models/intermediate/int_facebook_ads__creative_history.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads", "materialized": "view", "enabled": true}, "created_at": 1666731665.946038, "compiled_code": "\n\n\n\nwith base as (\n\n select *\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__creative_history`\n where is_most_recent_record = true\n\n), \n\nurl_tags as (\n\n select *\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads`.`facebook_ads__url_tags`\n), \n\nurl_tags_pivoted as (\n\n select \n _fivetran_id,\n creative_id,\n min(case when key = 'utm_source' then value end) as utm_source,\n min(case when key = 'utm_medium' then value end) as utm_medium,\n min(case when key = 'utm_campaign' then value end) as utm_campaign,\n min(case when key = 'utm_content' then value end) as utm_content,\n min(case when key = 'utm_term' then value end) as utm_term\n from url_tags\n group by 1,2\n\n), \n\nfields as (\n\n select\n base._fivetran_id,\n base.creative_id,\n base.account_id,\n base.creative_name,\n coalesce(page_link,template_page_link) as url,\n \n\n \n split(\n coalesce(page_link,template_page_link),\n '?'\n )[safe_offset(0)]\n \n\n as base_url,\n \n safe_cast(\n\n \n split(\n \n\n \n split(\n \n\n replace(\n \n\n replace(\n \n\n replace(\n coalesce(page_link,template_page_link),\n 'android-app://',\n ''\n )\n\n\n,\n 'http://',\n ''\n )\n\n\n,\n 'https://',\n ''\n )\n\n\n,\n '/'\n )[safe_offset(0)]\n \n\n,\n '?'\n )[safe_offset(0)]\n \n\n as STRING)\n as url_host,\n '/' || \n safe_cast(\n\n \n split(\n \n\n case when \n\n length(\n \n\n replace(\n \n\n replace(\n coalesce(page_link,template_page_link),\n 'http://',\n ''\n )\n\n\n,\n 'https://',\n ''\n )\n\n\n\n )-coalesce(\n nullif(\n\n strpos(\n \n\n replace(\n \n\n replace(\n coalesce(page_link,template_page_link),\n 'http://',\n ''\n )\n\n\n,\n 'https://',\n ''\n )\n\n\n,\n '/'\n\n ), 0),\n \n\n strpos(\n \n\n replace(\n \n\n replace(\n coalesce(page_link,template_page_link),\n 'http://',\n ''\n )\n\n\n,\n 'https://',\n ''\n )\n\n\n,\n '?'\n\n ) - 1\n ) = 0\n then ''\n else\n substr(\n \n\n replace(\n \n\n replace(\n coalesce(page_link,template_page_link),\n 'http://',\n ''\n )\n\n\n,\n 'https://',\n ''\n )\n\n\n,\n -1 * (\n\n length(\n \n\n replace(\n \n\n replace(\n coalesce(page_link,template_page_link),\n 'http://',\n ''\n )\n\n\n,\n 'https://',\n ''\n )\n\n\n\n )-coalesce(\n nullif(\n\n strpos(\n \n\n replace(\n \n\n replace(\n coalesce(page_link,template_page_link),\n 'http://',\n ''\n )\n\n\n,\n 'https://',\n ''\n )\n\n\n,\n '/'\n\n ), 0),\n \n\n strpos(\n \n\n replace(\n \n\n replace(\n coalesce(page_link,template_page_link),\n 'http://',\n ''\n )\n\n\n,\n 'https://',\n ''\n )\n\n\n,\n '?'\n\n ) - 1\n ))\n )\n end,\n '?'\n )[safe_offset(0)]\n \n\n as STRING)\n as url_path,\n coalesce(url_tags_pivoted.utm_source, nullif(\n\n \n split(\n \n\n \n split(\n coalesce(page_link,template_page_link),\n 'utm_source='\n )[safe_offset(1)]\n \n\n,\n '&'\n )[safe_offset(0)]\n \n\n,'')) as utm_source,\n coalesce(url_tags_pivoted.utm_medium, nullif(\n\n \n split(\n \n\n \n split(\n coalesce(page_link,template_page_link),\n 'utm_medium='\n )[safe_offset(1)]\n \n\n,\n '&'\n )[safe_offset(0)]\n \n\n,'')) as utm_medium,\n coalesce(url_tags_pivoted.utm_campaign, nullif(\n\n \n split(\n \n\n \n split(\n coalesce(page_link,template_page_link),\n 'utm_campaign='\n )[safe_offset(1)]\n \n\n,\n '&'\n )[safe_offset(0)]\n \n\n,'')) as utm_campaign,\n coalesce(url_tags_pivoted.utm_content, nullif(\n\n \n split(\n \n\n \n split(\n coalesce(page_link,template_page_link),\n 'utm_content='\n )[safe_offset(1)]\n \n\n,\n '&'\n )[safe_offset(0)]\n \n\n,'')) as utm_content,\n coalesce(url_tags_pivoted.utm_term, nullif(\n\n \n split(\n \n\n \n split(\n coalesce(page_link,template_page_link),\n 'utm_term='\n )[safe_offset(1)]\n \n\n,\n '&'\n )[safe_offset(0)]\n \n\n,'')) as utm_term\n from base\n left join url_tags_pivoted\n on base._fivetran_id = url_tags_pivoted._fivetran_id\n and base.creative_id = url_tags_pivoted.creative_id\n)\n\nselect *\nfrom fields", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads`.`int_facebook_ads__creative_history`"}, "model.facebook_ads_source.stg_facebook_ads__basic_ad": {"compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.facebook_ads_source.get_basic_ad_columns", "macro.fivetran_utils.fill_staging_columns", "macro.dbt.type_bigint", "macro.fivetran_utils.fill_pass_through_columns"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__basic_ad_tmp", "model.facebook_ads_source.stg_facebook_ads__basic_ad_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_facebook_ads_source", "fqn": ["facebook_ads_source", "stg_facebook_ads__basic_ad"], "unique_id": "model.facebook_ads_source.stg_facebook_ads__basic_ad", "raw_code": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_facebook_ads__basic_ad_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_facebook_ads__basic_ad_tmp')),\n staging_columns=get_basic_ad_columns()\n )\n }}\n \n from base\n),\n\nfinal as (\n \n select \n cast(ad_id as {{ dbt.type_bigint() }}) as ad_id,\n ad_name,\n adset_name as ad_set_name,\n date as date_day,\n cast(account_id as {{ dbt.type_bigint() }}) as account_id,\n impressions,\n coalesce(inline_link_clicks,0) as clicks,\n spend,\n reach,\n frequency\n\n {{ fivetran_utils.fill_pass_through_columns('facebook_ads__basic_ad_passthrough_metrics') }}\n from fields\n)\n\nselect * \nfrom final", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "stg_facebook_ads__basic_ad.sql", "original_file_path": "models/stg_facebook_ads__basic_ad.sql", "name": "stg_facebook_ads__basic_ad", "alias": "stg_facebook_ads__basic_ad", "checksum": {"name": "sha256", "checksum": "2034249ba6885eae9434fc88a91b108e34b667b7e29c83711b29498b85da644a"}, "tags": [], "refs": [["stg_facebook_ads__basic_ad_tmp"], ["stg_facebook_ads__basic_ad_tmp"]], "sources": [], "metrics": [], "description": "Each record represents the daily performance of an ad in Facebook.", "columns": {"ad_id": {"name": "ad_id", "description": "The ID of the ad the report relates to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_name": {"name": "ad_name", "description": "Name of the ad the report relates to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_set_name": {"name": "ad_set_name", "description": "Name of the ad set the report relates to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "date_day": {"name": "date_day", "description": "The date of the reported performance.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "The ID of the ad account that this ad belongs to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "The number of impressions the ad had on the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clicks": {"name": "clicks", "description": "The number of clicks the ad had on the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The spend on the ad in the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "reach": {"name": "reach", "description": "The number of people who saw any content from your Page or about your Page. This metric is estimated.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "frequency": {"name": "frequency", "description": "The average number of times each person saw your ad; it is calculated as impressions divided by reach.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": "facebook_ads_source://models/stg_facebook_ads.yml", "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads__basic_ad.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads_source", "materialized": "table", "enabled": true}, "created_at": 1666731666.143991, "compiled_code": "\n\nwith base as (\n\n select * \n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__basic_ad_tmp`\n),\n\nfields as (\n\n select\n \n \n \n ad_id\n \n as \n \n ad_id\n \n, \n cast(null as STRING) as \n \n ad_name\n \n , \n cast(null as STRING) as \n \n adset_name\n \n , \n \n \n date\n \n as \n \n date\n \n, \n \n \n account_id\n \n as \n \n account_id\n \n, \n \n \n impressions\n \n as \n \n impressions\n \n, \n \n \n inline_link_clicks\n \n as \n \n inline_link_clicks\n \n, \n \n \n spend\n \n as \n \n spend\n \n, \n cast(null as INT64) as \n \n reach\n \n , \n cast(null as FLOAT64) as \n \n frequency\n \n \n\n\n \n from base\n),\n\nfinal as (\n \n select \n cast(ad_id as bigint) as ad_id,\n ad_name,\n adset_name as ad_set_name,\n date as date_day,\n cast(account_id as bigint) as account_id,\n impressions,\n coalesce(inline_link_clicks,0) as clicks,\n spend,\n reach,\n frequency\n\n \n\n\n\n\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__basic_ad`"}, "model.facebook_ads_source.stg_facebook_ads__creative_history": {"compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.facebook_ads_source.get_creative_history_columns", "macro.fivetran_utils.fill_staging_columns", "macro.dbt.type_bigint"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__creative_history_tmp", "model.facebook_ads_source.stg_facebook_ads__creative_history_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_facebook_ads_source", "fqn": ["facebook_ads_source", "stg_facebook_ads__creative_history"], "unique_id": "model.facebook_ads_source.stg_facebook_ads__creative_history", "raw_code": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_facebook_ads__creative_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_facebook_ads__creative_history_tmp')),\n staging_columns=get_creative_history_columns()\n )\n }}\n \n from base\n),\n\nfinal as (\n \n select \n _fivetran_id,\n _fivetran_synced,\n cast(id as {{ dbt.type_bigint() }}) as creative_id,\n cast(account_id as {{ dbt.type_bigint() }}) as account_id,\n name as creative_name,\n page_link,\n template_page_link,\n url_tags,\n asset_feed_spec_link_urls,\n object_story_link_data_child_attachments,\n object_story_link_data_caption, \n object_story_link_data_description, \n object_story_link_data_link, \n object_story_link_data_message,\n template_app_link_spec_ios,\n template_app_link_spec_ipad,\n template_app_link_spec_android,\n template_app_link_spec_iphone,\n row_number() over (partition by id order by _fivetran_synced desc) = 1 as is_most_recent_record\n from fields\n)\n\nselect * \nfrom final", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "stg_facebook_ads__creative_history.sql", "original_file_path": "models/stg_facebook_ads__creative_history.sql", "name": "stg_facebook_ads__creative_history", "alias": "stg_facebook_ads__creative_history", "checksum": {"name": "sha256", "checksum": "b881fe7a6d7f0ec06355c9073495a4e1f89529eceffc1771ca48044e6f401309"}, "tags": [], "refs": [["stg_facebook_ads__creative_history_tmp"], ["stg_facebook_ads__creative_history_tmp"]], "sources": [], "metrics": [], "description": "Each record in this table reflects a Facebook creative.", "columns": {"_fivetran_id": {"name": "_fivetran_id", "description": "Unique record identifier", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "When the record was last synced by Fivetran.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "creative_id": {"name": "creative_id", "description": "Unique ID for an ad creative.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "Ad account ID for the account this ad creative belongs to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "creative_name": {"name": "creative_name", "description": "Name of this ad creative as seen in the ad account's library.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "url_tags": {"name": "url_tags", "description": "A set of query string parameters which will replace or be appended to urls clicked from page post ads, message of the post, and canvas app install creatives only.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_most_recent_record": {"name": "is_most_recent_record", "description": "Indicates whether a record is the most recent version of that record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "page_link": {"name": "page_link", "description": "Link for the page.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "template_page_link": {"name": "template_page_link", "description": "URL destination of Facebook dynamic ads.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "asset_feed_spec_link_urls": {"name": "asset_feed_spec_link_urls", "description": "Link to the asset feed spec", "meta": {}, "data_type": null, "quote": null, "tags": []}, "object_story_link_data_child_attachments": {"name": "object_story_link_data_child_attachments", "description": "Link of the object story child attachments", "meta": {}, "data_type": null, "quote": null, "tags": []}, "object_story_link_data_caption": {"name": "object_story_link_data_caption", "description": "Link of the object story caption", "meta": {}, "data_type": null, "quote": null, "tags": []}, "object_story_link_data_description": {"name": "object_story_link_data_description", "description": "Link of the object story description", "meta": {}, "data_type": null, "quote": null, "tags": []}, "object_story_link_data_link": {"name": "object_story_link_data_link", "description": "Link of the object story link", "meta": {}, "data_type": null, "quote": null, "tags": []}, "object_story_link_data_message": {"name": "object_story_link_data_message", "description": "Link of the object story message", "meta": {}, "data_type": null, "quote": null, "tags": []}, "template_app_link_spec_ios": {"name": "template_app_link_spec_ios", "description": "Link of the object story spec for ios", "meta": {}, "data_type": null, "quote": null, "tags": []}, "template_app_link_spec_ipad": {"name": "template_app_link_spec_ipad", "description": "Link of the template app spec for ipad", "meta": {}, "data_type": null, "quote": null, "tags": []}, "template_app_link_spec_android": {"name": "template_app_link_spec_android", "description": "Link of the template app for android", "meta": {}, "data_type": null, "quote": null, "tags": []}, "template_app_link_spec_iphone": {"name": "template_app_link_spec_iphone", "description": "Link of the template app for iphone", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": "facebook_ads_source://models/stg_facebook_ads.yml", "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads__creative_history.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads_source", "materialized": "table", "enabled": true}, "created_at": 1666731666.1424818, "compiled_code": "\n\nwith base as (\n\n select * \n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__creative_history_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 _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n account_id\n \n as \n \n account_id\n \n, \n \n \n name\n \n as \n \n name\n \n, \n \n \n page_link\n \n as \n \n page_link\n \n, \n \n \n template_page_link\n \n as \n \n template_page_link\n \n, \n \n \n url_tags\n \n as \n \n url_tags\n \n, \n \n \n asset_feed_spec_link_urls\n \n as \n \n asset_feed_spec_link_urls\n \n, \n \n \n object_story_link_data_child_attachments\n \n as \n \n object_story_link_data_child_attachments\n \n, \n \n \n object_story_link_data_caption\n \n as \n \n object_story_link_data_caption\n \n, \n \n \n object_story_link_data_description\n \n as \n \n object_story_link_data_description\n \n, \n \n \n object_story_link_data_link\n \n as \n \n object_story_link_data_link\n \n, \n \n \n object_story_link_data_message\n \n as \n \n object_story_link_data_message\n \n, \n cast(null as STRING) as \n \n template_app_link_spec_android\n \n , \n \n \n template_app_link_spec_ios\n \n as \n \n template_app_link_spec_ios\n \n, \n cast(null as STRING) as \n \n template_app_link_spec_ipad\n \n , \n cast(null as STRING) as \n \n template_app_link_spec_iphone\n \n \n\n\n \n from base\n),\n\nfinal as (\n \n select \n _fivetran_id,\n _fivetran_synced,\n cast(id as bigint) as creative_id,\n cast(account_id as bigint) as account_id,\n name as creative_name,\n page_link,\n template_page_link,\n url_tags,\n asset_feed_spec_link_urls,\n object_story_link_data_child_attachments,\n object_story_link_data_caption, \n object_story_link_data_description, \n object_story_link_data_link, \n object_story_link_data_message,\n template_app_link_spec_ios,\n template_app_link_spec_ipad,\n template_app_link_spec_android,\n template_app_link_spec_iphone,\n row_number() over (partition by id order by _fivetran_synced desc) = 1 as is_most_recent_record\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__creative_history`"}, "model.facebook_ads_source.stg_facebook_ads__campaign_history": {"compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.facebook_ads_source.get_campaign_history_columns", "macro.fivetran_utils.fill_staging_columns", "macro.dbt.type_bigint"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__campaign_history_tmp", "model.facebook_ads_source.stg_facebook_ads__campaign_history_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_facebook_ads_source", "fqn": ["facebook_ads_source", "stg_facebook_ads__campaign_history"], "unique_id": "model.facebook_ads_source.stg_facebook_ads__campaign_history", "raw_code": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_facebook_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_facebook_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 updated_time as updated_at,\n created_time as created_at,\n cast(account_id as {{ dbt.type_bigint() }}) as account_id,\n cast(id as {{ dbt.type_bigint() }}) as campaign_id,\n name as campaign_name,\n start_time as start_at,\n stop_time as end_at,\n status,\n daily_budget,\n lifetime_budget,\n budget_remaining,\n row_number() over (partition by id order by updated_time desc) = 1 as is_most_recent_record\n from fields\n\n)\n\nselect * \nfrom final", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "stg_facebook_ads__campaign_history.sql", "original_file_path": "models/stg_facebook_ads__campaign_history.sql", "name": "stg_facebook_ads__campaign_history", "alias": "stg_facebook_ads__campaign_history", "checksum": {"name": "sha256", "checksum": "d536771ac164bc64d15f6a8f03f6c06626d76f344c02de8d04bf97b978ed60d7"}, "tags": [], "refs": [["stg_facebook_ads__campaign_history_tmp"], ["stg_facebook_ads__campaign_history_tmp"]], "sources": [], "metrics": [], "description": "Each record in this table reflects a Facebook campaign.", "columns": {"campaign_id": {"name": "campaign_id", "description": "The ID of the campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "The ID of the ad account that this campaign belongs to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_name": {"name": "campaign_name", "description": "The name of the campaign.", "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. All records should have this value set to True given we filter on it.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "updated_at": {"name": "updated_at", "description": "The timestamp of the last update of a record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "The time the campaign was created.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "start_at": {"name": "start_at", "description": "Timestamp of designated campaign start time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "end_at": {"name": "end_at", "description": "Timestamp of designated campaign end time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "daily_budget": {"name": "daily_budget", "description": "Daily budget of campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "budget_remaining": {"name": "budget_remaining", "description": "Remaining budget of campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "lifetime_budget": {"name": "lifetime_budget", "description": "Lifetime budget of the campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status": {"name": "status", "description": "Status values are - 'ACTIVE', 'PAUSED', 'DELETED', 'ARCHIVED'.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": "facebook_ads_source://models/stg_facebook_ads.yml", "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads__campaign_history.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads_source", "materialized": "table", "enabled": true}, "created_at": 1666731666.139766, "compiled_code": "\n\nwith base as (\n\n select * \n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__campaign_history_tmp`\n),\n\nfields as (\n\n select\n \n \n \n updated_time\n \n as \n \n updated_time\n \n, \n cast(null as TIMESTAMP) as \n \n created_time\n \n , \n \n \n account_id\n \n as \n \n account_id\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 cast(null as TIMESTAMP) as \n \n start_time\n \n , \n cast(null as TIMESTAMP) as \n \n stop_time\n \n , \n cast(null as STRING) as \n \n status\n \n , \n cast(null as INT64) as \n \n daily_budget\n \n , \n cast(null as INT64) as \n \n lifetime_budget\n \n , \n cast(null as FLOAT64) as \n \n budget_remaining\n \n \n\n\n \n from base\n),\n\nfinal as (\n \n select \n updated_time as updated_at,\n created_time as created_at,\n cast(account_id as bigint) as account_id,\n cast(id as bigint) as campaign_id,\n name as campaign_name,\n start_time as start_at,\n stop_time as end_at,\n status,\n daily_budget,\n lifetime_budget,\n budget_remaining,\n row_number() over (partition by id order by updated_time desc) = 1 as is_most_recent_record\n from fields\n\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__campaign_history`"}, "model.facebook_ads_source.stg_facebook_ads__account_history": {"compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.facebook_ads_source.get_account_history_columns", "macro.fivetran_utils.fill_staging_columns", "macro.dbt.type_bigint"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__account_history_tmp", "model.facebook_ads_source.stg_facebook_ads__account_history_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_facebook_ads_source", "fqn": ["facebook_ads_source", "stg_facebook_ads__account_history"], "unique_id": "model.facebook_ads_source.stg_facebook_ads__account_history", "raw_code": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_facebook_ads__account_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_facebook_ads__account_history_tmp')),\n staging_columns=get_account_history_columns()\n )\n }}\n \n from base\n),\n\nfinal as (\n \n select \n cast(id as {{ dbt.type_bigint() }}) as account_id,\n _fivetran_synced,\n name as account_name,\n account_status,\n business_country_code,\n created_time as created_at,\n currency,\n timezone_name,\n row_number() over (partition by id order by _fivetran_synced desc) = 1 as is_most_recent_record\n from fields\n\n)\n\nselect * \nfrom final", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "stg_facebook_ads__account_history.sql", "original_file_path": "models/stg_facebook_ads__account_history.sql", "name": "stg_facebook_ads__account_history", "alias": "stg_facebook_ads__account_history", "checksum": {"name": "sha256", "checksum": "db38aeeedb4c0b457605036f2452543a77d1e65f0d7d13287fac1b705c1d1407"}, "tags": [], "refs": [["stg_facebook_ads__account_history_tmp"], ["stg_facebook_ads__account_history_tmp"]], "sources": [], "metrics": [], "description": "Each record in this table reflects a Facebook ad account.", "columns": {"account_id": {"name": "account_id", "description": "The ID of the ad account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_name": {"name": "account_name", "description": "Name of the account.", "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. All records should have this value set to True given we filter on it.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "When the record was last synced by Fivetran.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_status": {"name": "account_status", "description": "Current status of account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "business_country_code": {"name": "business_country_code", "description": "Country code of business associated to account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "The time account was created.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "currency": {"name": "currency", "description": "Currency associated with account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "timezone_name": {"name": "timezone_name", "description": "Timezone associated with account.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": "facebook_ads_source://models/stg_facebook_ads.yml", "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads__account_history.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads_source", "materialized": "table", "enabled": true}, "created_at": 1666731666.134563, "compiled_code": "\n\nwith base as (\n\n select * \n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__account_history_tmp`\n),\n\nfields as (\n\n select\n \n \n \n id\n \n as \n \n id\n \n, \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n name\n \n as \n \n name\n \n, \n cast(null as STRING) as \n \n account_status\n \n , \n cast(null as STRING) as \n \n business_country_code\n \n , \n cast(null as TIMESTAMP) as \n \n created_time\n \n , \n cast(null as STRING) as \n \n currency\n \n , \n cast(null as STRING) as \n \n timezone_name\n \n \n\n\n \n from base\n),\n\nfinal as (\n \n select \n cast(id as bigint) as account_id,\n _fivetran_synced,\n name as account_name,\n account_status,\n business_country_code,\n created_time as created_at,\n currency,\n timezone_name,\n row_number() over (partition by id order by _fivetran_synced desc) = 1 as is_most_recent_record\n from fields\n\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__account_history`"}, "model.facebook_ads_source.stg_facebook_ads__ad_history": {"compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.facebook_ads_source.get_ad_history_columns", "macro.fivetran_utils.fill_staging_columns", "macro.dbt.type_bigint"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__ad_history_tmp", "model.facebook_ads_source.stg_facebook_ads__ad_history_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_facebook_ads_source", "fqn": ["facebook_ads_source", "stg_facebook_ads__ad_history"], "unique_id": "model.facebook_ads_source.stg_facebook_ads__ad_history", "raw_code": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_facebook_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_facebook_ads__ad_history_tmp')),\n staging_columns=get_ad_history_columns()\n )\n }}\n \n from base\n),\n\nfinal as (\n \n select \n updated_time as updated_at,\n cast(id as {{ dbt.type_bigint() }}) as ad_id,\n name as ad_name,\n cast(account_id as {{ dbt.type_bigint() }}) as account_id,\n cast(ad_set_id as {{ dbt.type_bigint() }}) as ad_set_id, \n cast(campaign_id as {{ dbt.type_bigint() }}) as campaign_id,\n cast(creative_id as {{ dbt.type_bigint() }}) as creative_id,\n row_number() over (partition by id order by updated_time desc) = 1 as is_most_recent_record\n from fields\n)\n\nselect * \nfrom final", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "stg_facebook_ads__ad_history.sql", "original_file_path": "models/stg_facebook_ads__ad_history.sql", "name": "stg_facebook_ads__ad_history", "alias": "stg_facebook_ads__ad_history", "checksum": {"name": "sha256", "checksum": "19719ef45773ae189aeec4da0c5467b45bc6a253bbaf2a13ee271d63723e64da"}, "tags": [], "refs": [["stg_facebook_ads__ad_history_tmp"], ["stg_facebook_ads__ad_history_tmp"]], "sources": [], "metrics": [], "description": "Each record in this table reflects a Facebook ad.", "columns": {"ad_id": {"name": "ad_id", "description": "The ID of this ad.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "The ID of the ad account that this ad belongs to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_set_id": {"name": "ad_set_id", "description": "ID of the ad set that contains the ad.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_id": {"name": "campaign_id", "description": "Ad campaign that contains this ad.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "creative_id": {"name": "creative_id", "description": "The ID of the ad creative to be used by this ad.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_name": {"name": "ad_name", "description": "Name of the ad.", "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. All records should have this value set to True given we filter on it.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "updated_at": {"name": "updated_at", "description": "The timestamp of the last update of a record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": "facebook_ads_source://models/stg_facebook_ads.yml", "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads__ad_history.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads_source", "materialized": "table", "enabled": true}, "created_at": 1666731666.136229, "compiled_code": "\n\nwith base as (\n\n select * \n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__ad_history_tmp`\n),\n\nfields as (\n\n select\n \n \n \n updated_time\n \n as \n \n updated_time\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 account_id\n \n as \n \n account_id\n \n, \n \n \n ad_set_id\n \n as \n \n ad_set_id\n \n, \n \n \n campaign_id\n \n as \n \n campaign_id\n \n, \n \n \n creative_id\n \n as \n \n creative_id\n \n\n\n\n \n from base\n),\n\nfinal as (\n \n select \n updated_time as updated_at,\n cast(id as bigint) as ad_id,\n name as ad_name,\n cast(account_id as bigint) as account_id,\n cast(ad_set_id as bigint) as ad_set_id, \n cast(campaign_id as bigint) as campaign_id,\n cast(creative_id as bigint) as creative_id,\n row_number() over (partition by id order by updated_time desc) = 1 as is_most_recent_record\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__ad_history`"}, "model.facebook_ads_source.stg_facebook_ads__ad_set_history": {"compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.facebook_ads_source.get_ad_set_history_columns", "macro.fivetran_utils.fill_staging_columns", "macro.dbt.type_bigint"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__ad_set_history_tmp", "model.facebook_ads_source.stg_facebook_ads__ad_set_history_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_facebook_ads_source", "fqn": ["facebook_ads_source", "stg_facebook_ads__ad_set_history"], "unique_id": "model.facebook_ads_source.stg_facebook_ads__ad_set_history", "raw_code": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_facebook_ads__ad_set_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_facebook_ads__ad_set_history_tmp')),\n staging_columns=get_ad_set_history_columns()\n )\n }}\n \n from base\n),\n\nfinal as (\n \n select \n updated_time as updated_at,\n cast(id as {{ dbt.type_bigint() }}) as ad_set_id,\n name as ad_set_name,\n cast(account_id as {{ dbt.type_bigint() }}) as account_id,\n cast(campaign_id as {{ dbt.type_bigint() }}) as campaign_id,\n start_time as start_at,\n end_time as end_at,\n bid_strategy,\n daily_budget,\n budget_remaining,\n status,\n row_number() over (partition by id order by updated_time desc) = 1 as is_most_recent_record\n from fields\n\n)\n\nselect * \nfrom final", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "stg_facebook_ads__ad_set_history.sql", "original_file_path": "models/stg_facebook_ads__ad_set_history.sql", "name": "stg_facebook_ads__ad_set_history", "alias": "stg_facebook_ads__ad_set_history", "checksum": {"name": "sha256", "checksum": "32c6ae0ef94b4f88261a0dd4dda62e6e92de99a56ffbe8ae1360c6469052e212"}, "tags": [], "refs": [["stg_facebook_ads__ad_set_history_tmp"], ["stg_facebook_ads__ad_set_history_tmp"]], "sources": [], "metrics": [], "description": "Each record in this table reflects a Facebook ad set.", "columns": {"ad_set_id": {"name": "ad_set_id", "description": "The ID of the ad set.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "The ID of the ad account that this ad set belongs to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_id": {"name": "campaign_id", "description": "Ad campaign that contains this ad set.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_set_name": {"name": "ad_set_name", "description": "The name of the ad set.", "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. All records should have this value set to True given we filter on it.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "updated_at": {"name": "updated_at", "description": "The timestamp of the last update of a record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "start_at": {"name": "start_at", "description": "Timestamp of designated ad set start time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "end_at": {"name": "end_at", "description": "Timestamp of designated ad set end time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "bid_strategy": {"name": "bid_strategy", "description": "Bid strategy values are - 'LOWEST_COST_WITHOUT_CAP', 'LOWEST_COST_WITH_BID_CAP', 'COST_CAP', 'LOWEST_COST_WITH_MIN_ROAS'.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "daily_budget": {"name": "daily_budget", "description": "Daily budget of ad set.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "budget_remaining": {"name": "budget_remaining", "description": "Remaining budget of ad set.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status": {"name": "status", "description": "Status values are - 'ACTIVE', 'PAUSED', 'DELETED', 'ARCHIVED'.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": "facebook_ads_source://models/stg_facebook_ads.yml", "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads__ad_set_history.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads_source", "materialized": "table", "enabled": true}, "created_at": 1666731666.138004, "compiled_code": "\n\nwith base as (\n\n select * \n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__ad_set_history_tmp`\n),\n\nfields as (\n\n select\n \n \n \n updated_time\n \n as \n \n updated_time\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 account_id\n \n as \n \n account_id\n \n, \n \n \n campaign_id\n \n as \n \n campaign_id\n \n, \n cast(null as TIMESTAMP) as \n \n start_time\n \n , \n cast(null as TIMESTAMP) as \n \n end_time\n \n , \n cast(null as STRING) as \n \n bid_strategy\n \n , \n cast(null as INT64) as \n \n daily_budget\n \n , \n cast(null as INT64) as \n \n budget_remaining\n \n , \n cast(null as STRING) as \n \n status\n \n \n\n\n \n from base\n),\n\nfinal as (\n \n select \n updated_time as updated_at,\n cast(id as bigint) as ad_set_id,\n name as ad_set_name,\n cast(account_id as bigint) as account_id,\n cast(campaign_id as bigint) as campaign_id,\n start_time as start_at,\n end_time as end_at,\n bid_strategy,\n daily_budget,\n budget_remaining,\n status,\n row_number() over (partition by id order by updated_time desc) = 1 as is_most_recent_record\n from fields\n\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__ad_set_history`"}, "model.facebook_ads_source.stg_facebook_ads__ad_set_history_tmp": {"compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.facebook_ads_source.facebook_ads.ad_set_history"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_facebook_ads_source", "fqn": ["facebook_ads_source", "tmp", "stg_facebook_ads__ad_set_history_tmp"], "unique_id": "model.facebook_ads_source.stg_facebook_ads__ad_set_history_tmp", "raw_code": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nselect * \nfrom {{ var('ad_set_history') }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "tmp/stg_facebook_ads__ad_set_history_tmp.sql", "original_file_path": "models/tmp/stg_facebook_ads__ad_set_history_tmp.sql", "name": "stg_facebook_ads__ad_set_history_tmp", "alias": "stg_facebook_ads__ad_set_history_tmp", "checksum": {"name": "sha256", "checksum": "dad1782db9e8232b2613b5b9959963ad0d0ff99b7462524fc223610cd3e14442"}, "tags": [], "refs": [], "sources": [["facebook_ads", "ad_set_history"]], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/tmp/stg_facebook_ads__ad_set_history_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads_source", "materialized": "view", "enabled": true}, "created_at": 1666731666.0697448, "compiled_code": "\n\nselect * \nfrom `dbt-package-testing`.`facebook_ads_integration_tests`.`facebook_ads_ad_set_history_data`", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__ad_set_history_tmp`"}, "model.facebook_ads_source.stg_facebook_ads__basic_ad_tmp": {"compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.facebook_ads_source.facebook_ads.basic_ad"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_facebook_ads_source", "fqn": ["facebook_ads_source", "tmp", "stg_facebook_ads__basic_ad_tmp"], "unique_id": "model.facebook_ads_source.stg_facebook_ads__basic_ad_tmp", "raw_code": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nselect * \nfrom {{ var('basic_ad') }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "tmp/stg_facebook_ads__basic_ad_tmp.sql", "original_file_path": "models/tmp/stg_facebook_ads__basic_ad_tmp.sql", "name": "stg_facebook_ads__basic_ad_tmp", "alias": "stg_facebook_ads__basic_ad_tmp", "checksum": {"name": "sha256", "checksum": "46e4ec682f4ed2b33b3123c24ae2b20d9d9bce50ed7ef83b547dd83b57339f89"}, "tags": [], "refs": [], "sources": [["facebook_ads", "basic_ad"]], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/tmp/stg_facebook_ads__basic_ad_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads_source", "materialized": "view", "enabled": true}, "created_at": 1666731666.072782, "compiled_code": "\n\nselect * \nfrom `dbt-package-testing`.`facebook_ads_integration_tests`.`facebook_ads_basic_ad_data`", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__basic_ad_tmp`"}, "model.facebook_ads_source.stg_facebook_ads__ad_history_tmp": {"compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.facebook_ads_source.facebook_ads.ad_history"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_facebook_ads_source", "fqn": ["facebook_ads_source", "tmp", "stg_facebook_ads__ad_history_tmp"], "unique_id": "model.facebook_ads_source.stg_facebook_ads__ad_history_tmp", "raw_code": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nselect * \nfrom {{ var('ad_history') }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "tmp/stg_facebook_ads__ad_history_tmp.sql", "original_file_path": "models/tmp/stg_facebook_ads__ad_history_tmp.sql", "name": "stg_facebook_ads__ad_history_tmp", "alias": "stg_facebook_ads__ad_history_tmp", "checksum": {"name": "sha256", "checksum": "438f57c6bd1ce2a8c4a73600c1e12878efc0a091f42b3a43ed0334067779eace"}, "tags": [], "refs": [], "sources": [["facebook_ads", "ad_history"]], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/tmp/stg_facebook_ads__ad_history_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads_source", "materialized": "view", "enabled": true}, "created_at": 1666731666.075667, "compiled_code": "\n\nselect * \nfrom `dbt-package-testing`.`facebook_ads_integration_tests`.`facebook_ads_ad_history_data`", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__ad_history_tmp`"}, "model.facebook_ads_source.stg_facebook_ads__campaign_history_tmp": {"compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.facebook_ads_source.facebook_ads.campaign_history"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_facebook_ads_source", "fqn": ["facebook_ads_source", "tmp", "stg_facebook_ads__campaign_history_tmp"], "unique_id": "model.facebook_ads_source.stg_facebook_ads__campaign_history_tmp", "raw_code": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nselect * \nfrom {{ var('campaign_history') }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "tmp/stg_facebook_ads__campaign_history_tmp.sql", "original_file_path": "models/tmp/stg_facebook_ads__campaign_history_tmp.sql", "name": "stg_facebook_ads__campaign_history_tmp", "alias": "stg_facebook_ads__campaign_history_tmp", "checksum": {"name": "sha256", "checksum": "617b7e683421a5712cc129d02e07eeb0f5876b7fdeb680429b4d6069b4dcdfc1"}, "tags": [], "refs": [], "sources": [["facebook_ads", "campaign_history"]], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/tmp/stg_facebook_ads__campaign_history_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads_source", "materialized": "view", "enabled": true}, "created_at": 1666731666.0792031, "compiled_code": "\n\nselect * \nfrom `dbt-package-testing`.`facebook_ads_integration_tests`.`facebook_ads_campaign_history_data`", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__campaign_history_tmp`"}, "model.facebook_ads_source.stg_facebook_ads__creative_history_tmp": {"compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.facebook_ads_source.facebook_ads.creative_history"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_facebook_ads_source", "fqn": ["facebook_ads_source", "tmp", "stg_facebook_ads__creative_history_tmp"], "unique_id": "model.facebook_ads_source.stg_facebook_ads__creative_history_tmp", "raw_code": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nselect * \nfrom {{ var('creative_history') }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "tmp/stg_facebook_ads__creative_history_tmp.sql", "original_file_path": "models/tmp/stg_facebook_ads__creative_history_tmp.sql", "name": "stg_facebook_ads__creative_history_tmp", "alias": "stg_facebook_ads__creative_history_tmp", "checksum": {"name": "sha256", "checksum": "9cf5ffb0bc31c525388d169c90fb8b6150e5141777b14337c0fee0730faeecd9"}, "tags": [], "refs": [], "sources": [["facebook_ads", "creative_history"]], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/tmp/stg_facebook_ads__creative_history_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads_source", "materialized": "view", "enabled": true}, "created_at": 1666731666.082069, "compiled_code": "\n\nselect * \nfrom `dbt-package-testing`.`facebook_ads_integration_tests`.`facebook_ads_creative_history_data`", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__creative_history_tmp`"}, "model.facebook_ads_source.stg_facebook_ads__account_history_tmp": {"compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.facebook_ads_source.facebook_ads.account_history"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_facebook_ads_source", "fqn": ["facebook_ads_source", "tmp", "stg_facebook_ads__account_history_tmp"], "unique_id": "model.facebook_ads_source.stg_facebook_ads__account_history_tmp", "raw_code": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nselect * \nfrom {{ var('account_history') }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "tmp/stg_facebook_ads__account_history_tmp.sql", "original_file_path": "models/tmp/stg_facebook_ads__account_history_tmp.sql", "name": "stg_facebook_ads__account_history_tmp", "alias": "stg_facebook_ads__account_history_tmp", "checksum": {"name": "sha256", "checksum": "caa1f4a119ca187458bff00bd8682eabffdba914962ff8ae7d4cfe55f25833ff"}, "tags": [], "refs": [], "sources": [["facebook_ads", "account_history"]], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/tmp/stg_facebook_ads__account_history_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads_source", "materialized": "view", "enabled": true}, "created_at": 1666731666.084939, "compiled_code": "\n\nselect * \nfrom `dbt-package-testing`.`facebook_ads_integration_tests`.`facebook_ads_account_history_data`", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__account_history_tmp`"}, "test.facebook_ads.not_null_facebook_ads__url_report_base_url.b7757e50be": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "base_url", "model": "{{ get_where_subquery(ref('facebook_ads__url_report')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.facebook_ads.facebook_ads__url_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads", "not_null_facebook_ads__url_report_base_url"], "unique_id": "test.facebook_ads.not_null_facebook_ads__url_report_base_url.b7757e50be", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "facebook_ads", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "not_null_facebook_ads__url_report_base_url.sql", "original_file_path": "models/facebook.yml", "name": "not_null_facebook_ads__url_report_base_url", "alias": "not_null_facebook_ads__url_report_base_url", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["facebook_ads__url_report"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads/models/facebook.yml/not_null_facebook_ads__url_report_base_url.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1666731666.106889, "compiled_code": "\n \n \n\n\n\nselect base_url\nfrom `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads`.`facebook_ads__url_report`\nwhere base_url is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "base_url", "file_key_name": "models.facebook_ads__url_report"}, "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__url_report_date_day__account_id__campaign_id__ad_set_id__ad_id.03a7e82eb7": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["date_day", "account_id", "campaign_id", "ad_set_id", "ad_id"], "model": "{{ get_where_subquery(ref('facebook_ads__url_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.facebook_ads.facebook_ads__url_report"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_bf91f5ef1059f34c9059e06e293717eb", "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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads", "dbt_utils_unique_combination_of_columns_facebook_ads__url_report_date_day__account_id__campaign_id__ad_set_id__ad_id"], "unique_id": "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__url_report_date_day__account_id__campaign_id__ad_set_id__ad_id.03a7e82eb7", "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_bf91f5ef1059f34c9059e06e293717eb\") }}", "language": "sql", "package_name": "facebook_ads", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "dbt_utils_unique_combination_o_bf91f5ef1059f34c9059e06e293717eb.sql", "original_file_path": "models/facebook.yml", "name": "dbt_utils_unique_combination_of_columns_facebook_ads__url_report_date_day__account_id__campaign_id__ad_set_id__ad_id", "alias": "dbt_utils_unique_combination_o_bf91f5ef1059f34c9059e06e293717eb", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["facebook_ads__url_report"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads/models/facebook.yml/dbt_utils_unique_combination_o_bf91f5ef1059f34c9059e06e293717eb.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_bf91f5ef1059f34c9059e06e293717eb"}, "created_at": 1666731666.1078, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n date_day, account_id, campaign_id, ad_set_id, ad_id\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads`.`facebook_ads__url_report`\n group by date_day, account_id, campaign_id, ad_set_id, ad_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.facebook_ads__url_report"}, "test.facebook_ads.not_null_facebook_ads__ad_report_ad_id.3811d9c238": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "ad_id", "model": "{{ get_where_subquery(ref('facebook_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.facebook_ads.facebook_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads", "not_null_facebook_ads__ad_report_ad_id"], "unique_id": "test.facebook_ads.not_null_facebook_ads__ad_report_ad_id.3811d9c238", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "facebook_ads", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "not_null_facebook_ads__ad_report_ad_id.sql", "original_file_path": "models/facebook.yml", "name": "not_null_facebook_ads__ad_report_ad_id", "alias": "not_null_facebook_ads__ad_report_ad_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["facebook_ads__ad_report"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads/models/facebook.yml/not_null_facebook_ads__ad_report_ad_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1666731666.114583, "compiled_code": "\n \n \n\n\n\nselect ad_id\nfrom `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads`.`facebook_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.facebook_ads__ad_report"}, "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__ad_report_date_day__account_id__campaign_id__ad_set_id__ad_id.0a25b64738": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["date_day", "account_id", "campaign_id", "ad_set_id", "ad_id"], "model": "{{ get_where_subquery(ref('facebook_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.facebook_ads.facebook_ads__ad_report"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_6751270b8425b93a72568a6ff0b52e2e", "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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads", "dbt_utils_unique_combination_of_columns_facebook_ads__ad_report_date_day__account_id__campaign_id__ad_set_id__ad_id"], "unique_id": "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__ad_report_date_day__account_id__campaign_id__ad_set_id__ad_id.0a25b64738", "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_6751270b8425b93a72568a6ff0b52e2e\") }}", "language": "sql", "package_name": "facebook_ads", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "dbt_utils_unique_combination_o_6751270b8425b93a72568a6ff0b52e2e.sql", "original_file_path": "models/facebook.yml", "name": "dbt_utils_unique_combination_of_columns_facebook_ads__ad_report_date_day__account_id__campaign_id__ad_set_id__ad_id", "alias": "dbt_utils_unique_combination_o_6751270b8425b93a72568a6ff0b52e2e", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["facebook_ads__ad_report"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads/models/facebook.yml/dbt_utils_unique_combination_o_6751270b8425b93a72568a6ff0b52e2e.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_6751270b8425b93a72568a6ff0b52e2e"}, "created_at": 1666731666.115525, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n date_day, account_id, campaign_id, ad_set_id, ad_id\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads`.`facebook_ads__ad_report`\n group by date_day, account_id, campaign_id, ad_set_id, ad_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.facebook_ads__ad_report"}, "test.facebook_ads.not_null_facebook_ads__ad_set_report_ad_set_id.1ac870f5e4": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "ad_set_id", "model": "{{ get_where_subquery(ref('facebook_ads__ad_set_report')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.facebook_ads.facebook_ads__ad_set_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads", "not_null_facebook_ads__ad_set_report_ad_set_id"], "unique_id": "test.facebook_ads.not_null_facebook_ads__ad_set_report_ad_set_id.1ac870f5e4", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "facebook_ads", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "not_null_facebook_ads__ad_set_report_ad_set_id.sql", "original_file_path": "models/facebook.yml", "name": "not_null_facebook_ads__ad_set_report_ad_set_id", "alias": "not_null_facebook_ads__ad_set_report_ad_set_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["facebook_ads__ad_set_report"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads/models/facebook.yml/not_null_facebook_ads__ad_set_report_ad_set_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1666731666.11824, "compiled_code": "\n \n \n\n\n\nselect ad_set_id\nfrom `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads`.`facebook_ads__ad_set_report`\nwhere ad_set_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "ad_set_id", "file_key_name": "models.facebook_ads__ad_set_report"}, "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__ad_set_report_date_day__account_id__campaign_id__ad_set_id.3dd4da872f": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["date_day", "account_id", "campaign_id", "ad_set_id"], "model": "{{ get_where_subquery(ref('facebook_ads__ad_set_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.facebook_ads.facebook_ads__ad_set_report"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_b03f58e6a60804a93ab31dbb358dad74", "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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads", "dbt_utils_unique_combination_of_columns_facebook_ads__ad_set_report_date_day__account_id__campaign_id__ad_set_id"], "unique_id": "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__ad_set_report_date_day__account_id__campaign_id__ad_set_id.3dd4da872f", "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_b03f58e6a60804a93ab31dbb358dad74\") }}", "language": "sql", "package_name": "facebook_ads", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "dbt_utils_unique_combination_o_b03f58e6a60804a93ab31dbb358dad74.sql", "original_file_path": "models/facebook.yml", "name": "dbt_utils_unique_combination_of_columns_facebook_ads__ad_set_report_date_day__account_id__campaign_id__ad_set_id", "alias": "dbt_utils_unique_combination_o_b03f58e6a60804a93ab31dbb358dad74", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["facebook_ads__ad_set_report"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads/models/facebook.yml/dbt_utils_unique_combination_o_b03f58e6a60804a93ab31dbb358dad74.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_b03f58e6a60804a93ab31dbb358dad74"}, "created_at": 1666731666.11906, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n date_day, account_id, campaign_id, ad_set_id\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads`.`facebook_ads__ad_set_report`\n group by date_day, account_id, campaign_id, ad_set_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.facebook_ads__ad_set_report"}, "test.facebook_ads.not_null_facebook_ads__campaign_report_campaign_id.d4f96d8d21": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "campaign_id", "model": "{{ get_where_subquery(ref('facebook_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.facebook_ads.facebook_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads", "not_null_facebook_ads__campaign_report_campaign_id"], "unique_id": "test.facebook_ads.not_null_facebook_ads__campaign_report_campaign_id.d4f96d8d21", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "facebook_ads", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "not_null_facebook_ads__campaign_report_campaign_id.sql", "original_file_path": "models/facebook.yml", "name": "not_null_facebook_ads__campaign_report_campaign_id", "alias": "not_null_facebook_ads__campaign_report_campaign_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["facebook_ads__campaign_report"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads/models/facebook.yml/not_null_facebook_ads__campaign_report_campaign_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1666731666.121589, "compiled_code": "\n \n \n\n\n\nselect campaign_id\nfrom `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads`.`facebook_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.facebook_ads__campaign_report"}, "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__campaign_report_date_day__account_id__campaign_id.7cd75107e6": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["date_day", "account_id", "campaign_id"], "model": "{{ get_where_subquery(ref('facebook_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.facebook_ads.facebook_ads__campaign_report"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_cf7853fdf8e24958f5a0e3e1b7c1ced1", "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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads", "dbt_utils_unique_combination_of_columns_facebook_ads__campaign_report_date_day__account_id__campaign_id"], "unique_id": "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__campaign_report_date_day__account_id__campaign_id.7cd75107e6", "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_cf7853fdf8e24958f5a0e3e1b7c1ced1\") }}", "language": "sql", "package_name": "facebook_ads", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "dbt_utils_unique_combination_o_cf7853fdf8e24958f5a0e3e1b7c1ced1.sql", "original_file_path": "models/facebook.yml", "name": "dbt_utils_unique_combination_of_columns_facebook_ads__campaign_report_date_day__account_id__campaign_id", "alias": "dbt_utils_unique_combination_o_cf7853fdf8e24958f5a0e3e1b7c1ced1", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["facebook_ads__campaign_report"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads/models/facebook.yml/dbt_utils_unique_combination_o_cf7853fdf8e24958f5a0e3e1b7c1ced1.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_cf7853fdf8e24958f5a0e3e1b7c1ced1"}, "created_at": 1666731666.122412, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n date_day, account_id, campaign_id\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads`.`facebook_ads__campaign_report`\n group by date_day, account_id, campaign_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.facebook_ads__campaign_report"}, "test.facebook_ads.not_null_facebook_ads__account_report_account_id.9be02b4024": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "account_id", "model": "{{ get_where_subquery(ref('facebook_ads__account_report')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.facebook_ads.facebook_ads__account_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads", "not_null_facebook_ads__account_report_account_id"], "unique_id": "test.facebook_ads.not_null_facebook_ads__account_report_account_id.9be02b4024", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "facebook_ads", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "not_null_facebook_ads__account_report_account_id.sql", "original_file_path": "models/facebook.yml", "name": "not_null_facebook_ads__account_report_account_id", "alias": "not_null_facebook_ads__account_report_account_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["facebook_ads__account_report"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads/models/facebook.yml/not_null_facebook_ads__account_report_account_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1666731666.12483, "compiled_code": "\n \n \n\n\n\nselect account_id\nfrom `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads`.`facebook_ads__account_report`\nwhere account_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "account_id", "file_key_name": "models.facebook_ads__account_report"}, "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__account_report_date_day__account_id.5a94423e40": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["date_day", "account_id"], "model": "{{ get_where_subquery(ref('facebook_ads__account_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.facebook_ads.facebook_ads__account_report"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_19fe7721a9f8cd99b91dca268368654e", "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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads", "dbt_utils_unique_combination_of_columns_facebook_ads__account_report_date_day__account_id"], "unique_id": "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__account_report_date_day__account_id.5a94423e40", "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_19fe7721a9f8cd99b91dca268368654e\") }}", "language": "sql", "package_name": "facebook_ads", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "dbt_utils_unique_combination_o_19fe7721a9f8cd99b91dca268368654e.sql", "original_file_path": "models/facebook.yml", "name": "dbt_utils_unique_combination_of_columns_facebook_ads__account_report_date_day__account_id", "alias": "dbt_utils_unique_combination_o_19fe7721a9f8cd99b91dca268368654e", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["facebook_ads__account_report"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads/models/facebook.yml/dbt_utils_unique_combination_o_19fe7721a9f8cd99b91dca268368654e.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_19fe7721a9f8cd99b91dca268368654e"}, "created_at": 1666731666.125654, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n date_day, account_id\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads`.`facebook_ads__account_report`\n group by date_day, account_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.facebook_ads__account_report"}, "test.facebook_ads.not_null_facebook_ads__url_tags__fivetran_id.151d9515f3": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "_fivetran_id", "model": "{{ get_where_subquery(ref('facebook_ads__url_tags')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.facebook_ads.facebook_ads__url_tags"]}, "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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads", "not_null_facebook_ads__url_tags__fivetran_id"], "unique_id": "test.facebook_ads.not_null_facebook_ads__url_tags__fivetran_id.151d9515f3", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "facebook_ads", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "not_null_facebook_ads__url_tags__fivetran_id.sql", "original_file_path": "models/facebook.yml", "name": "not_null_facebook_ads__url_tags__fivetran_id", "alias": "not_null_facebook_ads__url_tags__fivetran_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["facebook_ads__url_tags"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads/models/facebook.yml/not_null_facebook_ads__url_tags__fivetran_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1666731666.127918, "compiled_code": "\n \n \n\n\n\nselect _fivetran_id\nfrom `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads`.`facebook_ads__url_tags`\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.facebook_ads__url_tags"}, "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__url_tags__fivetran_id__key__type.ba044777d3": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["_fivetran_id", "key", "type"], "model": "{{ get_where_subquery(ref('facebook_ads__url_tags')) }}"}, "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.facebook_ads.facebook_ads__url_tags"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_496bf013366c506c1f3135f19ec7080a", "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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads", "dbt_utils_unique_combination_of_columns_facebook_ads__url_tags__fivetran_id__key__type"], "unique_id": "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__url_tags__fivetran_id__key__type.ba044777d3", "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_496bf013366c506c1f3135f19ec7080a\") }}", "language": "sql", "package_name": "facebook_ads", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "dbt_utils_unique_combination_o_496bf013366c506c1f3135f19ec7080a.sql", "original_file_path": "models/facebook.yml", "name": "dbt_utils_unique_combination_of_columns_facebook_ads__url_tags__fivetran_id__key__type", "alias": "dbt_utils_unique_combination_o_496bf013366c506c1f3135f19ec7080a", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["facebook_ads__url_tags"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads/models/facebook.yml/dbt_utils_unique_combination_o_496bf013366c506c1f3135f19ec7080a.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_496bf013366c506c1f3135f19ec7080a"}, "created_at": 1666731666.128736, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n _fivetran_id, key, type\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads`.`facebook_ads__url_tags`\n group by _fivetran_id, key, type\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.facebook_ads__url_tags"}, "test.facebook_ads_source.not_null_stg_facebook_ads__account_history_account_id.f1cf38c40f": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "account_id", "model": "{{ get_where_subquery(ref('stg_facebook_ads__account_history')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__account_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "not_null_stg_facebook_ads__account_history_account_id"], "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__account_history_account_id.f1cf38c40f", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "not_null_stg_facebook_ads__account_history_account_id.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "not_null_stg_facebook_ads__account_history_account_id", "alias": "not_null_stg_facebook_ads__account_history_account_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__account_history"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/not_null_stg_facebook_ads__account_history_account_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1666731666.144358, "compiled_code": "\n \n \n\n\n\nselect account_id\nfrom `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__account_history`\nwhere account_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "account_id", "file_key_name": "models.stg_facebook_ads__account_history"}, "test.facebook_ads_source.not_null_stg_facebook_ads__account_history__fivetran_synced.0570e35e1f": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "_fivetran_synced", "model": "{{ get_where_subquery(ref('stg_facebook_ads__account_history')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__account_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "not_null_stg_facebook_ads__account_history__fivetran_synced"], "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__account_history__fivetran_synced.0570e35e1f", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "not_null_stg_facebook_ads__account_history__fivetran_synced.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "not_null_stg_facebook_ads__account_history__fivetran_synced", "alias": "not_null_stg_facebook_ads__account_history__fivetran_synced", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__account_history"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/not_null_stg_facebook_ads__account_history__fivetran_synced.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1666731666.145212, "compiled_code": "\n \n \n\n\n\nselect _fivetran_synced\nfrom `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__account_history`\nwhere _fivetran_synced is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "_fivetran_synced", "file_key_name": "models.stg_facebook_ads__account_history"}, "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__account_history_account_id___fivetran_synced.f9b4d28fa2": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["account_id", "_fivetran_synced"], "model": "{{ get_where_subquery(ref('stg_facebook_ads__account_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.facebook_ads_source.stg_facebook_ads__account_history"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_6c9521eb7e9747df57d9737e83cb864f", "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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "dbt_utils_unique_combination_of_columns_stg_facebook_ads__account_history_account_id___fivetran_synced"], "unique_id": "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__account_history_account_id___fivetran_synced.f9b4d28fa2", "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_6c9521eb7e9747df57d9737e83cb864f\") }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "dbt_utils_unique_combination_o_6c9521eb7e9747df57d9737e83cb864f.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_facebook_ads__account_history_account_id___fivetran_synced", "alias": "dbt_utils_unique_combination_o_6c9521eb7e9747df57d9737e83cb864f", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__account_history"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/dbt_utils_unique_combination_o_6c9521eb7e9747df57d9737e83cb864f.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_6c9521eb7e9747df57d9737e83cb864f"}, "created_at": 1666731666.1460302, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n account_id, _fivetran_synced\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__account_history`\n group by account_id, _fivetran_synced\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_facebook_ads__account_history"}, "test.facebook_ads_source.not_null_stg_facebook_ads__ad_history_ad_id.11429d3064": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "ad_id", "model": "{{ get_where_subquery(ref('stg_facebook_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.facebook_ads_source.stg_facebook_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "not_null_stg_facebook_ads__ad_history_ad_id"], "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__ad_history_ad_id.11429d3064", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "not_null_stg_facebook_ads__ad_history_ad_id.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "not_null_stg_facebook_ads__ad_history_ad_id", "alias": "not_null_stg_facebook_ads__ad_history_ad_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__ad_history"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/not_null_stg_facebook_ads__ad_history_ad_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1666731666.148334, "compiled_code": "\n \n \n\n\n\nselect ad_id\nfrom `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_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_facebook_ads__ad_history"}, "test.facebook_ads_source.not_null_stg_facebook_ads__ad_history_updated_at.250a5a84e4": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "updated_at", "model": "{{ get_where_subquery(ref('stg_facebook_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.facebook_ads_source.stg_facebook_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "not_null_stg_facebook_ads__ad_history_updated_at"], "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__ad_history_updated_at.250a5a84e4", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "not_null_stg_facebook_ads__ad_history_updated_at.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "not_null_stg_facebook_ads__ad_history_updated_at", "alias": "not_null_stg_facebook_ads__ad_history_updated_at", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__ad_history"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/not_null_stg_facebook_ads__ad_history_updated_at.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1666731666.1491358, "compiled_code": "\n \n \n\n\n\nselect updated_at\nfrom `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__ad_history`\nwhere updated_at is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "updated_at", "file_key_name": "models.stg_facebook_ads__ad_history"}, "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__ad_history_ad_id__updated_at.2922c18b58": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["ad_id", "updated_at"], "model": "{{ get_where_subquery(ref('stg_facebook_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.facebook_ads_source.stg_facebook_ads__ad_history"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_da2a7458e53ca8b420768a0c3e8e2137", "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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "dbt_utils_unique_combination_of_columns_stg_facebook_ads__ad_history_ad_id__updated_at"], "unique_id": "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__ad_history_ad_id__updated_at.2922c18b58", "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_da2a7458e53ca8b420768a0c3e8e2137\") }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "dbt_utils_unique_combination_o_da2a7458e53ca8b420768a0c3e8e2137.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_facebook_ads__ad_history_ad_id__updated_at", "alias": "dbt_utils_unique_combination_o_da2a7458e53ca8b420768a0c3e8e2137", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__ad_history"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/dbt_utils_unique_combination_o_da2a7458e53ca8b420768a0c3e8e2137.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_da2a7458e53ca8b420768a0c3e8e2137"}, "created_at": 1666731666.1500669, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n ad_id, updated_at\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__ad_history`\n group by ad_id, updated_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_facebook_ads__ad_history"}, "test.facebook_ads_source.not_null_stg_facebook_ads__ad_set_history_ad_set_id.e19a1df1bb": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "ad_set_id", "model": "{{ get_where_subquery(ref('stg_facebook_ads__ad_set_history')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__ad_set_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "not_null_stg_facebook_ads__ad_set_history_ad_set_id"], "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__ad_set_history_ad_set_id.e19a1df1bb", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "not_null_stg_facebook_ads__ad_set_history_ad_set_id.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "not_null_stg_facebook_ads__ad_set_history_ad_set_id", "alias": "not_null_stg_facebook_ads__ad_set_history_ad_set_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__ad_set_history"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/not_null_stg_facebook_ads__ad_set_history_ad_set_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1666731666.1522381, "compiled_code": "\n \n \n\n\n\nselect ad_set_id\nfrom `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__ad_set_history`\nwhere ad_set_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "ad_set_id", "file_key_name": "models.stg_facebook_ads__ad_set_history"}, "test.facebook_ads_source.not_null_stg_facebook_ads__ad_set_history_updated_at.ef7fafe0fa": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "updated_at", "model": "{{ get_where_subquery(ref('stg_facebook_ads__ad_set_history')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__ad_set_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "not_null_stg_facebook_ads__ad_set_history_updated_at"], "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__ad_set_history_updated_at.ef7fafe0fa", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "not_null_stg_facebook_ads__ad_set_history_updated_at.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "not_null_stg_facebook_ads__ad_set_history_updated_at", "alias": "not_null_stg_facebook_ads__ad_set_history_updated_at", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__ad_set_history"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/not_null_stg_facebook_ads__ad_set_history_updated_at.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1666731666.153171, "compiled_code": "\n \n \n\n\n\nselect updated_at\nfrom `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__ad_set_history`\nwhere updated_at is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "updated_at", "file_key_name": "models.stg_facebook_ads__ad_set_history"}, "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__ad_set_history_ad_set_id__updated_at.0a60ad0fef": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["ad_set_id", "updated_at"], "model": "{{ get_where_subquery(ref('stg_facebook_ads__ad_set_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.facebook_ads_source.stg_facebook_ads__ad_set_history"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_214e0ea8c1d3eb6e1c1fae451c60969f", "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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "dbt_utils_unique_combination_of_columns_stg_facebook_ads__ad_set_history_ad_set_id__updated_at"], "unique_id": "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__ad_set_history_ad_set_id__updated_at.0a60ad0fef", "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_214e0ea8c1d3eb6e1c1fae451c60969f\") }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "dbt_utils_unique_combination_o_214e0ea8c1d3eb6e1c1fae451c60969f.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_facebook_ads__ad_set_history_ad_set_id__updated_at", "alias": "dbt_utils_unique_combination_o_214e0ea8c1d3eb6e1c1fae451c60969f", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__ad_set_history"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/dbt_utils_unique_combination_o_214e0ea8c1d3eb6e1c1fae451c60969f.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_214e0ea8c1d3eb6e1c1fae451c60969f"}, "created_at": 1666731666.1539662, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n ad_set_id, updated_at\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__ad_set_history`\n group by ad_set_id, updated_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_facebook_ads__ad_set_history"}, "test.facebook_ads_source.not_null_stg_facebook_ads__campaign_history_campaign_id.1ca7a83852": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "campaign_id", "model": "{{ get_where_subquery(ref('stg_facebook_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.facebook_ads_source.stg_facebook_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "not_null_stg_facebook_ads__campaign_history_campaign_id"], "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__campaign_history_campaign_id.1ca7a83852", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "not_null_stg_facebook_ads__campaign_history_campaign_id.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "not_null_stg_facebook_ads__campaign_history_campaign_id", "alias": "not_null_stg_facebook_ads__campaign_history_campaign_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__campaign_history"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/not_null_stg_facebook_ads__campaign_history_campaign_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1666731666.156239, "compiled_code": "\n \n \n\n\n\nselect campaign_id\nfrom `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_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_facebook_ads__campaign_history"}, "test.facebook_ads_source.not_null_stg_facebook_ads__campaign_history_updated_at.9e59f99270": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "updated_at", "model": "{{ get_where_subquery(ref('stg_facebook_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.facebook_ads_source.stg_facebook_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "not_null_stg_facebook_ads__campaign_history_updated_at"], "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__campaign_history_updated_at.9e59f99270", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "not_null_stg_facebook_ads__campaign_history_updated_at.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "not_null_stg_facebook_ads__campaign_history_updated_at", "alias": "not_null_stg_facebook_ads__campaign_history_updated_at", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__campaign_history"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/not_null_stg_facebook_ads__campaign_history_updated_at.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1666731666.1570392, "compiled_code": "\n \n \n\n\n\nselect updated_at\nfrom `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__campaign_history`\nwhere updated_at is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "updated_at", "file_key_name": "models.stg_facebook_ads__campaign_history"}, "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__campaign_history_campaign_id__updated_at.7437b392c2": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["campaign_id", "updated_at"], "model": "{{ get_where_subquery(ref('stg_facebook_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.facebook_ads_source.stg_facebook_ads__campaign_history"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_6067330a8eb187d5024e9840cd7cbd78", "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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "dbt_utils_unique_combination_of_columns_stg_facebook_ads__campaign_history_campaign_id__updated_at"], "unique_id": "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__campaign_history_campaign_id__updated_at.7437b392c2", "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_6067330a8eb187d5024e9840cd7cbd78\") }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "dbt_utils_unique_combination_o_6067330a8eb187d5024e9840cd7cbd78.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_facebook_ads__campaign_history_campaign_id__updated_at", "alias": "dbt_utils_unique_combination_o_6067330a8eb187d5024e9840cd7cbd78", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__campaign_history"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/dbt_utils_unique_combination_o_6067330a8eb187d5024e9840cd7cbd78.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_6067330a8eb187d5024e9840cd7cbd78"}, "created_at": 1666731666.157839, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n campaign_id, updated_at\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__campaign_history`\n group by campaign_id, updated_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_facebook_ads__campaign_history"}, "test.facebook_ads_source.not_null_stg_facebook_ads__creative_history__fivetran_synced.3b0593cb4f": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "_fivetran_synced", "model": "{{ get_where_subquery(ref('stg_facebook_ads__creative_history')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__creative_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "not_null_stg_facebook_ads__creative_history__fivetran_synced"], "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__creative_history__fivetran_synced.3b0593cb4f", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "not_null_stg_facebook_ads__creative_history__fivetran_synced.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "not_null_stg_facebook_ads__creative_history__fivetran_synced", "alias": "not_null_stg_facebook_ads__creative_history__fivetran_synced", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__creative_history"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/not_null_stg_facebook_ads__creative_history__fivetran_synced.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1666731666.16013, "compiled_code": "\n \n \n\n\n\nselect _fivetran_synced\nfrom `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__creative_history`\nwhere _fivetran_synced is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "_fivetran_synced", "file_key_name": "models.stg_facebook_ads__creative_history"}, "test.facebook_ads_source.not_null_stg_facebook_ads__creative_history_creative_id.eb4d804261": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "creative_id", "model": "{{ get_where_subquery(ref('stg_facebook_ads__creative_history')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__creative_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "not_null_stg_facebook_ads__creative_history_creative_id"], "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__creative_history_creative_id.eb4d804261", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "not_null_stg_facebook_ads__creative_history_creative_id.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "not_null_stg_facebook_ads__creative_history_creative_id", "alias": "not_null_stg_facebook_ads__creative_history_creative_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__creative_history"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/not_null_stg_facebook_ads__creative_history_creative_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1666731666.160929, "compiled_code": "\n \n \n\n\n\nselect creative_id\nfrom `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__creative_history`\nwhere creative_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "creative_id", "file_key_name": "models.stg_facebook_ads__creative_history"}, "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__creative_history_creative_id___fivetran_synced.69ddc26562": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["creative_id", "_fivetran_synced"], "model": "{{ get_where_subquery(ref('stg_facebook_ads__creative_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.facebook_ads_source.stg_facebook_ads__creative_history"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_c52d893dfedd530a7cd19c495da30217", "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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "dbt_utils_unique_combination_of_columns_stg_facebook_ads__creative_history_creative_id___fivetran_synced"], "unique_id": "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__creative_history_creative_id___fivetran_synced.69ddc26562", "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_c52d893dfedd530a7cd19c495da30217\") }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "dbt_utils_unique_combination_o_c52d893dfedd530a7cd19c495da30217.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_facebook_ads__creative_history_creative_id___fivetran_synced", "alias": "dbt_utils_unique_combination_o_c52d893dfedd530a7cd19c495da30217", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__creative_history"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/dbt_utils_unique_combination_o_c52d893dfedd530a7cd19c495da30217.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_c52d893dfedd530a7cd19c495da30217"}, "created_at": 1666731666.1618571, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n creative_id, _fivetran_synced\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__creative_history`\n group by creative_id, _fivetran_synced\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_facebook_ads__creative_history"}, "test.facebook_ads_source.not_null_stg_facebook_ads__basic_ad_ad_id.2611b250fc": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "ad_id", "model": "{{ get_where_subquery(ref('stg_facebook_ads__basic_ad')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__basic_ad"]}, "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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "not_null_stg_facebook_ads__basic_ad_ad_id"], "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__basic_ad_ad_id.2611b250fc", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "not_null_stg_facebook_ads__basic_ad_ad_id.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "not_null_stg_facebook_ads__basic_ad_ad_id", "alias": "not_null_stg_facebook_ads__basic_ad_ad_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__basic_ad"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/not_null_stg_facebook_ads__basic_ad_ad_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1666731666.164143, "compiled_code": "\n \n \n\n\n\nselect ad_id\nfrom `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__basic_ad`\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_facebook_ads__basic_ad"}, "test.facebook_ads_source.not_null_stg_facebook_ads__basic_ad_account_id.d06f6d861b": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "account_id", "model": "{{ get_where_subquery(ref('stg_facebook_ads__basic_ad')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__basic_ad"]}, "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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "not_null_stg_facebook_ads__basic_ad_account_id"], "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__basic_ad_account_id.d06f6d861b", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "not_null_stg_facebook_ads__basic_ad_account_id.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "not_null_stg_facebook_ads__basic_ad_account_id", "alias": "not_null_stg_facebook_ads__basic_ad_account_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__basic_ad"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/not_null_stg_facebook_ads__basic_ad_account_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1666731666.164969, "compiled_code": "\n \n \n\n\n\nselect account_id\nfrom `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__basic_ad`\nwhere account_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "account_id", "file_key_name": "models.stg_facebook_ads__basic_ad"}, "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__basic_ad_date_day__ad_id__account_id.bd909529e7": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["date_day", "ad_id", "account_id"], "model": "{{ get_where_subquery(ref('stg_facebook_ads__basic_ad')) }}"}, "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.facebook_ads_source.stg_facebook_ads__basic_ad"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_42caf2b48bab7db5c316ae2524dd0683", "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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "dbt_utils_unique_combination_of_columns_stg_facebook_ads__basic_ad_date_day__ad_id__account_id"], "unique_id": "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__basic_ad_date_day__ad_id__account_id.bd909529e7", "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_42caf2b48bab7db5c316ae2524dd0683\") }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "dbt_utils_unique_combination_o_42caf2b48bab7db5c316ae2524dd0683.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_facebook_ads__basic_ad_date_day__ad_id__account_id", "alias": "dbt_utils_unique_combination_o_42caf2b48bab7db5c316ae2524dd0683", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__basic_ad"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/dbt_utils_unique_combination_o_42caf2b48bab7db5c316ae2524dd0683.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_42caf2b48bab7db5c316ae2524dd0683"}, "created_at": 1666731666.1657732, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n date_day, ad_id, account_id\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__basic_ad`\n group by date_day, ad_id, account_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_facebook_ads__basic_ad"}}, "sources": {"source.facebook_ads_source.facebook_ads.account_history": {"fqn": ["facebook_ads_source", "facebook_ads", "account_history"], "database": "dbt-package-testing", "schema": "facebook_ads_integration_tests", "unique_id": "source.facebook_ads_source.facebook_ads.account_history", "package_name": "facebook_ads_source", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "models/src_facebook_ads.yml", "original_file_path": "models/src_facebook_ads.yml", "name": "account_history", "source_name": "facebook_ads", "source_description": "", "loader": "Fivetran", "identifier": "facebook_ads_account_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 in this table reflects a version of a Facebook ad account.", "columns": {"id": {"name": "id", "description": "The ID of the ad account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Name of the account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "When the record was last synced by Fivetran.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_status": {"name": "account_status", "description": "Current status of account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "business_country_code": {"name": "business_country_code", "description": "Country code of business associated to account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_time": {"name": "created_time", "description": "The time account was created.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "currency": {"name": "currency", "description": "Currency associated with account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "timezone_name": {"name": "timezone_name", "description": "Timezone associated with account.", "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`.`facebook_ads_integration_tests`.`facebook_ads_account_history_data`", "created_at": 1666731666.183785}, "source.facebook_ads_source.facebook_ads.ad_history": {"fqn": ["facebook_ads_source", "facebook_ads", "ad_history"], "database": "dbt-package-testing", "schema": "facebook_ads_integration_tests", "unique_id": "source.facebook_ads_source.facebook_ads.ad_history", "package_name": "facebook_ads_source", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "models/src_facebook_ads.yml", "original_file_path": "models/src_facebook_ads.yml", "name": "ad_history", "source_name": "facebook_ads", "source_description": "", "loader": "Fivetran", "identifier": "facebook_ads_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 in this table reflects a version of a Facebook ad.", "columns": {"id": {"name": "id", "description": "The ID of this ad.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "The ID of the ad account that this ad belongs to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_set_id": {"name": "ad_set_id", "description": "ID of the ad set that contains the ad.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_id": {"name": "campaign_id", "description": "Ad campaign that contains this ad.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "creative_id": {"name": "creative_id", "description": "The ID of the ad creative to be used by this ad.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Name of the ad.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "When the record was last synced by Fivetran.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "updated_time": {"name": "updated_time", "description": "The timestamp of the last update of a record.", "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`.`facebook_ads_integration_tests`.`facebook_ads_ad_history_data`", "created_at": 1666731666.183872}, "source.facebook_ads_source.facebook_ads.ad_set_history": {"fqn": ["facebook_ads_source", "facebook_ads", "ad_set_history"], "database": "dbt-package-testing", "schema": "facebook_ads_integration_tests", "unique_id": "source.facebook_ads_source.facebook_ads.ad_set_history", "package_name": "facebook_ads_source", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "models/src_facebook_ads.yml", "original_file_path": "models/src_facebook_ads.yml", "name": "ad_set_history", "source_name": "facebook_ads", "source_description": "", "loader": "Fivetran", "identifier": "facebook_ads_ad_set_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 in this table reflects a version of a Facebook ad set.", "columns": {"id": {"name": "id", "description": "The ID of the ad set.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "The ID of the ad account that this ad set belongs to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_id": {"name": "campaign_id", "description": "Ad campaign that contains this ad set.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "The name of the ad set.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "When the record was last synced by Fivetran.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "updated_time": {"name": "updated_time", "description": "The timestamp of the last update of a record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "start_time": {"name": "start_time", "description": "Timestamp of designated ad set start time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "end_time": {"name": "end_time", "description": "Timestamp of designated ad set end time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "bid_strategy": {"name": "bid_strategy", "description": "Bid strategy values are - 'LOWEST_COST_WITHOUT_CAP', 'LOWEST_COST_WITH_BID_CAP', 'COST_CAP', 'LOWEST_COST_WITH_MIN_ROAS'.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "daily_budget": {"name": "daily_budget", "description": "Daily budget of ad set.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "budget_remaining": {"name": "budget_remaining", "description": "Remaining budget of ad set.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status": {"name": "status", "description": "Status values are - 'ACTIVE', 'PAUSED', 'DELETED', 'ARCHIVED'.", "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`.`facebook_ads_integration_tests`.`facebook_ads_ad_set_history_data`", "created_at": 1666731666.183945}, "source.facebook_ads_source.facebook_ads.basic_ad": {"fqn": ["facebook_ads_source", "facebook_ads", "basic_ad"], "database": "dbt-package-testing", "schema": "facebook_ads_integration_tests", "unique_id": "source.facebook_ads_source.facebook_ads.basic_ad", "package_name": "facebook_ads_source", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "models/src_facebook_ads.yml", "original_file_path": "models/src_facebook_ads.yml", "name": "basic_ad", "source_name": "facebook_ads", "source_description": "", "loader": "Fivetran", "identifier": "facebook_ads_basic_ad_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 Facebook.", "columns": {"ad_id": {"name": "ad_id", "description": "The ID of the ad the report relates to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_name": {"name": "ad_name", "description": "Name of the ad the report relates to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "adset_name": {"name": "adset_name", "description": "Name of the ad set the report relates to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "date": {"name": "date", "description": "The date of the reported performance.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "The ID of the ad account that this ad belongs to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "The number of impressions the ad had on the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "inline_link_clicks": {"name": "inline_link_clicks", "description": "The number of clicks the ad had on the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The spend on the ad in the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "reach": {"name": "reach", "description": "The number of people who saw any content from your Page or about your Page. This metric is estimated.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "frequency": {"name": "frequency", "description": "The average number of times each person saw your ad; it is calculated as impressions divided by reach.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "When the record was last synced by Fivetran.", "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`.`facebook_ads_integration_tests`.`facebook_ads_basic_ad_data`", "created_at": 1666731666.184014}, "source.facebook_ads_source.facebook_ads.campaign_history": {"fqn": ["facebook_ads_source", "facebook_ads", "campaign_history"], "database": "dbt-package-testing", "schema": "facebook_ads_integration_tests", "unique_id": "source.facebook_ads_source.facebook_ads.campaign_history", "package_name": "facebook_ads_source", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "models/src_facebook_ads.yml", "original_file_path": "models/src_facebook_ads.yml", "name": "campaign_history", "source_name": "facebook_ads", "source_description": "", "loader": "Fivetran", "identifier": "facebook_ads_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 in this table reflects a version of a Facebook campaign.", "columns": {"id": {"name": "id", "description": "The ID of the campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "The ID of the ad account that this campaign belongs to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "The name of the campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "When the record was last synced by Fivetran.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "updated_time": {"name": "updated_time", "description": "The timestamp of the last update of a record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_time": {"name": "created_time", "description": "The time the campaign was created.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "start_time": {"name": "start_time", "description": "Timestamp of designated campaign start time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "stop_time": {"name": "stop_time", "description": "Timestamp of designated campaign end time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "daily_budget": {"name": "daily_budget", "description": "Daily budget of campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "budget_remaining": {"name": "budget_remaining", "description": "Remaining budget of campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "lifetime_budget": {"name": "lifetime_budget", "description": "Lifetime budget of the campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status": {"name": "status", "description": "Status values are - 'ACTIVE', 'PAUSED', 'DELETED', 'ARCHIVED'.", "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`.`facebook_ads_integration_tests`.`facebook_ads_campaign_history_data`", "created_at": 1666731666.1840808}, "source.facebook_ads_source.facebook_ads.creative_history": {"fqn": ["facebook_ads_source", "facebook_ads", "creative_history"], "database": "dbt-package-testing", "schema": "facebook_ads_integration_tests", "unique_id": "source.facebook_ads_source.facebook_ads.creative_history", "package_name": "facebook_ads_source", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "models/src_facebook_ads.yml", "original_file_path": "models/src_facebook_ads.yml", "name": "creative_history", "source_name": "facebook_ads", "source_description": "", "loader": "Fivetran", "identifier": "facebook_ads_creative_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 in this table reflects a version of a Facebook creative.", "columns": {"_fivetran_id": {"name": "_fivetran_id", "description": "Unique record identifier", "meta": {}, "data_type": null, "quote": null, "tags": []}, "page_link": {"name": "page_link", "description": "URL destination of Facebook ads.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "template_page_link": {"name": "template_page_link", "description": "URL destination of Facebook dynamic ads.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "id": {"name": "id", "description": "Unique ID for an ad creative.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "Ad account ID for the account this ad creative belongs to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Name of this ad creative as seen in the ad account's library.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "url_tags": {"name": "url_tags", "description": "A set of query string parameters which will replace or be appended to urls clicked from page post ads, message of the post, and canvas app install creatives only.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "When the record was last synced by Fivetran.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "asset_feed_spec_link_urls": {"name": "asset_feed_spec_link_urls", "description": "Link to the asset feed spec", "meta": {}, "data_type": null, "quote": null, "tags": []}, "object_story_link_data_child_attachments": {"name": "object_story_link_data_child_attachments", "description": "Link of the object story child attachments", "meta": {}, "data_type": null, "quote": null, "tags": []}, "object_story_link_data_caption": {"name": "object_story_link_data_caption", "description": "Link of the object story caption", "meta": {}, "data_type": null, "quote": null, "tags": []}, "object_story_link_data_description": {"name": "object_story_link_data_description", "description": "Link of the object story description", "meta": {}, "data_type": null, "quote": null, "tags": []}, "object_story_link_data_link": {"name": "object_story_link_data_link", "description": "Link of the object story link", "meta": {}, "data_type": null, "quote": null, "tags": []}, "object_story_link_data_message": {"name": "object_story_link_data_message", "description": "Link of the object story message", "meta": {}, "data_type": null, "quote": null, "tags": []}, "template_app_link_spec_ios": {"name": "template_app_link_spec_ios", "description": "Link of the object story spec for ios", "meta": {}, "data_type": null, "quote": null, "tags": []}, "template_app_link_spec_ipad": {"name": "template_app_link_spec_ipad", "description": "Link of the template app spec for ipad", "meta": {}, "data_type": null, "quote": null, "tags": []}, "template_app_link_spec_android": {"name": "template_app_link_spec_android", "description": "Link of the template app for android", "meta": {}, "data_type": null, "quote": null, "tags": []}, "template_app_link_spec_iphone": {"name": "template_app_link_spec_iphone", "description": "Link of the template app for iphone", "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`.`facebook_ads_integration_tests`.`facebook_ads_creative_history_data`", "created_at": 1666731666.184155}}, "macros": {"macro.dbt_bigquery.date_sharded_table": {"unique_id": "macro.dbt_bigquery.date_sharded_table", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/etc.sql", "original_file_path": "macros/etc.sql", "name": "date_sharded_table", "macro_sql": "{% macro date_sharded_table(base_name) %}\n {{ return(base_name ~ \"[DBT__PARTITION_DATE]\") }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.348021, "supported_languages": null}, "macro.dbt_bigquery.grant_access_to": {"unique_id": "macro.dbt_bigquery.grant_access_to", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/etc.sql", "original_file_path": "macros/etc.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.3482199, "supported_languages": null}, "macro.dbt_bigquery.get_partitions_metadata": {"unique_id": "macro.dbt_bigquery.get_partitions_metadata", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/etc.sql", "original_file_path": "macros/etc.sql", "name": "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 -%}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.348464, "supported_languages": null}, "macro.dbt_bigquery.bigquery__get_catalog": {"unique_id": "macro.dbt_bigquery.bigquery__get_catalog", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/catalog.sql", "original_file_path": "macros/catalog.sql", "name": "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 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\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 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 %}", "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": 1666731665.351531, "supported_languages": null}, "macro.dbt_bigquery.partition_by": {"unique_id": "macro.dbt_bigquery.partition_by", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "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", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.3555012, "supported_languages": null}, "macro.dbt_bigquery.cluster_by": {"unique_id": "macro.dbt_bigquery.cluster_by", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "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", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.355873, "supported_languages": null}, "macro.dbt_bigquery.bigquery_options": {"unique_id": "macro.dbt_bigquery.bigquery_options", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "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", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.356192, "supported_languages": null}, "macro.dbt_bigquery.bigquery_table_options": {"unique_id": "macro.dbt_bigquery.bigquery_table_options", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "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", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery_options"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.356436, "supported_languages": null}, "macro.dbt_bigquery.bigquery__create_table_as": {"unique_id": "macro.dbt_bigquery.bigquery__create_table_as", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "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", "resource_type": "macro", "tags": [], "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": 1666731665.357336, "supported_languages": null}, "macro.dbt_bigquery.bigquery_view_options": {"unique_id": "macro.dbt_bigquery.bigquery_view_options", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "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", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery_options"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.357558, "supported_languages": null}, "macro.dbt_bigquery.bigquery__create_view_as": {"unique_id": "macro.dbt_bigquery.bigquery__create_view_as", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery_view_options"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.357847, "supported_languages": null}, "macro.dbt_bigquery.bigquery__drop_schema": {"unique_id": "macro.dbt_bigquery.bigquery__drop_schema", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "bigquery__drop_schema", "macro_sql": "{% macro bigquery__drop_schema(relation) -%}\n {{ adapter.drop_schema(relation) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.3579662, "supported_languages": null}, "macro.dbt_bigquery.bigquery__drop_relation": {"unique_id": "macro.dbt_bigquery.bigquery__drop_relation", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.358138, "supported_languages": null}, "macro.dbt_bigquery.bigquery__get_columns_in_relation": {"unique_id": "macro.dbt_bigquery.bigquery__get_columns_in_relation", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "bigquery__get_columns_in_relation", "macro_sql": "{% macro bigquery__get_columns_in_relation(relation) -%}\n {{ return(adapter.get_columns_in_relation(relation)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.358272, "supported_languages": null}, "macro.dbt_bigquery.bigquery__list_relations_without_caching": {"unique_id": "macro.dbt_bigquery.bigquery__list_relations_without_caching", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.3583958, "supported_languages": null}, "macro.dbt_bigquery.bigquery__list_schemas": {"unique_id": "macro.dbt_bigquery.bigquery__list_schemas", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "bigquery__list_schemas", "macro_sql": "{% macro bigquery__list_schemas(database) -%}\n {{ return(adapter.list_schemas(database)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.35852, "supported_languages": null}, "macro.dbt_bigquery.bigquery__check_schema_exists": {"unique_id": "macro.dbt_bigquery.bigquery__check_schema_exists", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.3586812, "supported_languages": null}, "macro.dbt_bigquery.bigquery__persist_docs": {"unique_id": "macro.dbt_bigquery.bigquery__persist_docs", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.alter_column_comment"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.359002, "supported_languages": null}, "macro.dbt_bigquery.bigquery__alter_column_comment": {"unique_id": "macro.dbt_bigquery.bigquery__alter_column_comment", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "bigquery__alter_column_comment", "macro_sql": "{% macro bigquery__alter_column_comment(relation, column_dict) -%}\n {% do adapter.update_columns(relation, column_dict) %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.3591402, "supported_languages": null}, "macro.dbt_bigquery.bigquery__rename_relation": {"unique_id": "macro.dbt_bigquery.bigquery__rename_relation", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "bigquery__rename_relation", "macro_sql": "{% macro bigquery__rename_relation(from_relation, to_relation) -%}\n {% do adapter.rename_relation(from_relation, to_relation) %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.359277, "supported_languages": null}, "macro.dbt_bigquery.bigquery__alter_relation_add_columns": {"unique_id": "macro.dbt_bigquery.bigquery__alter_relation_add_columns", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "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 %}", "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": 1666731665.3596249, "supported_languages": null}, "macro.dbt_bigquery.bigquery__alter_relation_drop_columns": {"unique_id": "macro.dbt_bigquery.bigquery__alter_relation_drop_columns", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "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 %}", "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": 1666731665.3599591, "supported_languages": null}, "macro.dbt_bigquery.bigquery__alter_column_type": {"unique_id": "macro.dbt_bigquery.bigquery__alter_column_type", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "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": 1666731665.360538, "supported_languages": null}, "macro.dbt_bigquery.bigquery__test_unique": {"unique_id": "macro.dbt_bigquery.bigquery__test_unique", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.3606882, "supported_languages": null}, "macro.dbt_bigquery.bigquery__upload_file": {"unique_id": "macro.dbt_bigquery.bigquery__upload_file", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.360933, "supported_languages": null}, "macro.dbt_bigquery.bigquery__create_csv_table": {"unique_id": "macro.dbt_bigquery.bigquery__create_csv_table", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/materializations/seed.sql", "original_file_path": "macros/materializations/seed.sql", "name": "bigquery__create_csv_table", "macro_sql": "{% macro bigquery__create_csv_table(model, agate_table) %}\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": 1666731665.3613691, "supported_languages": null}, "macro.dbt_bigquery.bigquery__reset_csv_table": {"unique_id": "macro.dbt_bigquery.bigquery__reset_csv_table", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/materializations/seed.sql", "original_file_path": "macros/materializations/seed.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.361513, "supported_languages": null}, "macro.dbt_bigquery.bigquery__load_csv_rows": {"unique_id": "macro.dbt_bigquery.bigquery__load_csv_rows", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/materializations/seed.sql", "original_file_path": "macros/materializations/seed.sql", "name": "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 {% 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 %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.362046, "supported_languages": null}, "macro.dbt_bigquery.bigquery__handle_existing_table": {"unique_id": "macro.dbt_bigquery.bigquery__handle_existing_table", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/materializations/view.sql", "original_file_path": "macros/materializations/view.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.362609, "supported_languages": null}, "macro.dbt_bigquery.materialization_view_bigquery": {"unique_id": "macro.dbt_bigquery.materialization_view_bigquery", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/materializations/view.sql", "original_file_path": "macros/materializations/view.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "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": 1666731665.363188, "supported_languages": ["sql"]}, "macro.dbt_bigquery.materialization_table_bigquery": {"unique_id": "macro.dbt_bigquery.materialization_table_bigquery", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/materializations/table.sql", "original_file_path": "macros/materializations/table.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "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": 1666731665.366372, "supported_languages": ["sql", "python"]}, "macro.dbt_bigquery.py_write_table": {"unique_id": "macro.dbt_bigquery.py_write_table", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/materializations/table.sql", "original_file_path": "macros/materializations/table.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.3666408, "supported_languages": null}, "macro.dbt_bigquery.materialization_copy_bigquery": {"unique_id": "macro.dbt_bigquery.materialization_copy_bigquery", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/materializations/copy.sql", "original_file_path": "macros/materializations/copy.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "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": 1666731665.367751, "supported_languages": ["sql"]}, "macro.dbt_bigquery.declare_dbt_max_partition": {"unique_id": "macro.dbt_bigquery.declare_dbt_max_partition", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/materializations/incremental.sql", "original_file_path": "macros/materializations/incremental.sql", "name": "declare_dbt_max_partition", "macro_sql": "{% macro declare_dbt_max_partition(relation, partition_by, complied_code, language='sql') %}\n\n {#-- TODO: revisit partitioning with python models --#}\n {%- if '_dbt_max_partition' in complied_code and language == 'sql' -%}\n\n declare _dbt_max_partition {{ partition_by.data_type }} default (\n select max({{ partition_by.field }}) from {{ this }}\n where {{ partition_by.field }} is not null\n );\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": 1666731665.3698921, "supported_languages": null}, "macro.dbt_bigquery.dbt_bigquery_validate_get_incremental_strategy": {"unique_id": "macro.dbt_bigquery.dbt_bigquery_validate_get_incremental_strategy", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/materializations/incremental.sql", "original_file_path": "macros/materializations/incremental.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.370281, "supported_languages": null}, "macro.dbt_bigquery.bq_insert_overwrite": {"unique_id": "macro.dbt_bigquery.bq_insert_overwrite", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/materializations/incremental.sql", "original_file_path": "macros/materializations/incremental.sql", "name": "bq_insert_overwrite", "macro_sql": "{% macro bq_insert_overwrite(\n tmp_relation, target_relation, sql, unique_key, partition_by, partitions, dest_columns, tmp_relation_exists\n) %}\n\n {% if partitions is not none and partitions != [] %} {# static #}\n\n {% set predicate -%}\n {{ partition_by.render(alias='DBT_INTERNAL_DEST') }} in (\n {{ partitions | join (', ') }}\n )\n {%- endset %}\n\n {%- set source_sql -%}\n (\n {{sql}}\n )\n {%- endset -%}\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 {% else %} {# dynamic #}\n\n {% set predicate -%}\n {{ partition_by.render(alias='DBT_INTERNAL_DEST') }} in unnest(dbt_partitions_for_replacement)\n {%- endset %}\n\n {%- set source_sql -%}\n (\n select * 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 }}>;\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\n {{ create_table_as(True, tmp_relation, compiled_code) }}\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() }})\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 %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.get_insert_overwrite_merge_sql", "macro.dbt_bigquery.declare_dbt_max_partition", "macro.dbt.create_table_as"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.3713589, "supported_languages": null}, "macro.dbt_bigquery.bq_generate_incremental_build_sql": {"unique_id": "macro.dbt_bigquery.bq_generate_incremental_build_sql", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/materializations/incremental.sql", "original_file_path": "macros/materializations/incremental.sql", "name": "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\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 missing_partition_msg -%}\n The 'insert_overwrite' strategy requires the `partition_by` config.\n {%- endset %}\n {% if partition_by is none %}\n {% do exceptions.raise_compiler_error(missing_partition_msg) %}\n {% endif %}\n\n {% set build_sql = bq_insert_overwrite(\n tmp_relation, target_relation, sql, unique_key, partition_by, partitions, dest_columns, tmp_relation_exists\n ) %}\n\n {% else %} {# strategy == 'merge' #}\n {%- set source_sql -%}\n {%- if tmp_relation_exists -%}\n (\n select * from {{ tmp_relation }}\n )\n {%- else -%} {#-- wrap sql in parens to make it a subquery --#}\n (\n {{sql}}\n )\n {%- endif -%}\n {%- endset -%}\n\n {% set build_sql = get_merge_sql(target_relation, source_sql, unique_key, dest_columns) %}\n\n {% endif %}\n\n {{ return(build_sql) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bq_insert_overwrite", "macro.dbt.get_merge_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.372103, "supported_languages": null}, "macro.dbt_bigquery.materialization_incremental_bigquery": {"unique_id": "macro.dbt_bigquery.materialization_incremental_bigquery", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/materializations/incremental.sql", "original_file_path": "macros/materializations/incremental.sql", "name": "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\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 {% if existing_relation is none %}\n {%- call statement('main', language=language) -%}\n {{ create_table_as(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 {{ create_table_as(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 {{ create_table_as(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 create_table_as(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 {% 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\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 %}", "resource_type": "macro", "tags": [], "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.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": 1666731665.375167, "supported_languages": ["sql", "python"]}, "macro.dbt_bigquery.bigquery__snapshot_hash_arguments": {"unique_id": "macro.dbt_bigquery.bigquery__snapshot_hash_arguments", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/materializations/snapshot.sql", "original_file_path": "macros/materializations/snapshot.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.3755982, "supported_languages": null}, "macro.dbt_bigquery.bigquery__create_columns": {"unique_id": "macro.dbt_bigquery.bigquery__create_columns", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/materializations/snapshot.sql", "original_file_path": "macros/materializations/snapshot.sql", "name": "bigquery__create_columns", "macro_sql": "{% macro bigquery__create_columns(relation, columns) %}\n {{ adapter.alter_table_add_columns(relation, columns) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.375736, "supported_languages": null}, "macro.dbt_bigquery.bigquery__post_snapshot": {"unique_id": "macro.dbt_bigquery.bigquery__post_snapshot", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/materializations/snapshot.sql", "original_file_path": "macros/materializations/snapshot.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.drop_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.375853, "supported_languages": null}, "macro.dbt_bigquery.bigquery__except": {"unique_id": "macro.dbt_bigquery.bigquery__except", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/utils/except.sql", "original_file_path": "macros/utils/except.sql", "name": "bigquery__except", "macro_sql": "{% macro bigquery__except() %}\n\n except distinct\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.376006, "supported_languages": null}, "macro.dbt_bigquery.bigquery__dateadd": {"unique_id": "macro.dbt_bigquery.bigquery__dateadd", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/utils/dateadd.sql", "original_file_path": "macros/utils/dateadd.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.3762538, "supported_languages": null}, "macro.dbt_bigquery.bigquery__current_timestamp": {"unique_id": "macro.dbt_bigquery.bigquery__current_timestamp", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/utils/timestamps.sql", "original_file_path": "macros/utils/timestamps.sql", "name": "bigquery__current_timestamp", "macro_sql": "{% macro bigquery__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": 1666731665.3764532, "supported_languages": null}, "macro.dbt_bigquery.bigquery__snapshot_string_as_time": {"unique_id": "macro.dbt_bigquery.bigquery__snapshot_string_as_time", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/utils/timestamps.sql", "original_file_path": "macros/utils/timestamps.sql", "name": "bigquery__snapshot_string_as_time", "macro_sql": "{% macro bigquery__snapshot_string_as_time(timestamp) -%}\n {%- set result = 'TIMESTAMP(\"' ~ timestamp ~ '\")' -%}\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": 1666731665.3766131, "supported_languages": null}, "macro.dbt_bigquery.bigquery__current_timestamp_backcompat": {"unique_id": "macro.dbt_bigquery.bigquery__current_timestamp_backcompat", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/utils/timestamps.sql", "original_file_path": "macros/utils/timestamps.sql", "name": "bigquery__current_timestamp_backcompat", "macro_sql": "{% macro bigquery__current_timestamp_backcompat() -%}\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": 1666731665.376677, "supported_languages": null}, "macro.dbt_bigquery.bigquery__intersect": {"unique_id": "macro.dbt_bigquery.bigquery__intersect", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/utils/intersect.sql", "original_file_path": "macros/utils/intersect.sql", "name": "bigquery__intersect", "macro_sql": "{% macro bigquery__intersect() %}\n\n intersect distinct\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.376821, "supported_languages": null}, "macro.dbt_bigquery.bigquery__escape_single_quotes": {"unique_id": "macro.dbt_bigquery.bigquery__escape_single_quotes", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/utils/escape_single_quotes.sql", "original_file_path": "macros/utils/escape_single_quotes.sql", "name": "bigquery__escape_single_quotes", "macro_sql": "{% macro bigquery__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": 1666731665.377043, "supported_languages": null}, "macro.dbt_bigquery.bigquery__right": {"unique_id": "macro.dbt_bigquery.bigquery__right", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/utils/right.sql", "original_file_path": "macros/utils/right.sql", "name": "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 -%}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.3772979, "supported_languages": null}, "macro.dbt_bigquery.bigquery__listagg": {"unique_id": "macro.dbt_bigquery.bigquery__listagg", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/utils/listagg.sql", "original_file_path": "macros/utils/listagg.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.377692, "supported_languages": null}, "macro.dbt_bigquery.bigquery__datediff": {"unique_id": "macro.dbt_bigquery.bigquery__datediff", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/utils/datediff.sql", "original_file_path": "macros/utils/datediff.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.datediff"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.3781939, "supported_languages": null}, "macro.dbt_bigquery.bigquery__safe_cast": {"unique_id": "macro.dbt_bigquery.bigquery__safe_cast", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/utils/safe_cast.sql", "original_file_path": "macros/utils/safe_cast.sql", "name": "bigquery__safe_cast", "macro_sql": "{% macro bigquery__safe_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": 1666731665.378389, "supported_languages": null}, "macro.dbt_bigquery.bigquery__hash": {"unique_id": "macro.dbt_bigquery.bigquery__hash", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/utils/hash.sql", "original_file_path": "macros/utils/hash.sql", "name": "bigquery__hash", "macro_sql": "{% macro bigquery__hash(field) -%}\n to_hex({{dbt.default__hash(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": 1666731665.378583, "supported_languages": null}, "macro.dbt_bigquery.bigquery__position": {"unique_id": "macro.dbt_bigquery.bigquery__position", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/utils/position.sql", "original_file_path": "macros/utils/position.sql", "name": "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 -%}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.378796, "supported_languages": null}, "macro.dbt_bigquery.bigquery__array_concat": {"unique_id": "macro.dbt_bigquery.bigquery__array_concat", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/utils/array_concat.sql", "original_file_path": "macros/utils/array_concat.sql", "name": "bigquery__array_concat", "macro_sql": "{% macro bigquery__array_concat(array_1, array_2) -%}\n array_concat({{ 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": 1666731665.378996, "supported_languages": null}, "macro.dbt_bigquery.bigquery__bool_or": {"unique_id": "macro.dbt_bigquery.bigquery__bool_or", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/utils/bool_or.sql", "original_file_path": "macros/utils/bool_or.sql", "name": "bigquery__bool_or", "macro_sql": "{% macro bigquery__bool_or(expression) -%}\n\n logical_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": 1666731665.3791611, "supported_languages": null}, "macro.dbt_bigquery.bigquery__split_part": {"unique_id": "macro.dbt_bigquery.bigquery__split_part", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/utils/split_part.sql", "original_file_path": "macros/utils/split_part.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.379766, "supported_languages": null}, "macro.dbt_bigquery.bigquery__date_trunc": {"unique_id": "macro.dbt_bigquery.bigquery__date_trunc", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/utils/date_trunc.sql", "original_file_path": "macros/utils/date_trunc.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.379978, "supported_languages": null}, "macro.dbt_bigquery.bigquery__array_construct": {"unique_id": "macro.dbt_bigquery.bigquery__array_construct", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/utils/array_construct.sql", "original_file_path": "macros/utils/array_construct.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.3802938, "supported_languages": null}, "macro.dbt_bigquery.bigquery__array_append": {"unique_id": "macro.dbt_bigquery.bigquery__array_append", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/utils/array_append.sql", "original_file_path": "macros/utils/array_append.sql", "name": "bigquery__array_append", "macro_sql": "{% macro bigquery__array_append(array, new_element) -%}\n {{ array_concat(array, array_construct([new_element])) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "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": 1666731665.380526, "supported_languages": null}, "macro.dbt_bigquery.bigquery__get_show_grant_sql": {"unique_id": "macro.dbt_bigquery.bigquery__get_show_grant_sql", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.381141, "supported_languages": null}, "macro.dbt_bigquery.bigquery__get_grant_sql": {"unique_id": "macro.dbt_bigquery.bigquery__get_grant_sql", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "name": "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", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.381354, "supported_languages": null}, "macro.dbt_bigquery.bigquery__get_revoke_sql": {"unique_id": "macro.dbt_bigquery.bigquery__get_revoke_sql", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "name": "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 -%}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.381561, "supported_languages": null}, "macro.dbt.run_hooks": {"unique_id": "macro.dbt.run_hooks", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.382554, "supported_languages": null}, "macro.dbt.make_hook_config": {"unique_id": "macro.dbt.make_hook_config", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.382726, "supported_languages": null}, "macro.dbt.before_begin": {"unique_id": "macro.dbt.before_begin", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.38285, "supported_languages": null}, "macro.dbt.in_transaction": {"unique_id": "macro.dbt.in_transaction", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.382974, "supported_languages": null}, "macro.dbt.after_commit": {"unique_id": "macro.dbt.after_commit", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.383103, "supported_languages": null}, "macro.dbt.set_sql_header": {"unique_id": "macro.dbt.set_sql_header", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.383483, "supported_languages": null}, "macro.dbt.should_full_refresh": {"unique_id": "macro.dbt.should_full_refresh", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.3837461, "supported_languages": null}, "macro.dbt.should_store_failures": {"unique_id": "macro.dbt.should_store_failures", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.384013, "supported_languages": null}, "macro.dbt.snapshot_merge_sql": {"unique_id": "macro.dbt.snapshot_merge_sql", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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.default__snapshot_merge_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.384452, "supported_languages": null}, "macro.dbt.default__snapshot_merge_sql": {"unique_id": "macro.dbt.default__snapshot_merge_sql", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.384692, "supported_languages": null}, "macro.dbt.strategy_dispatch": {"unique_id": "macro.dbt.strategy_dispatch", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.3878012, "supported_languages": null}, "macro.dbt.snapshot_hash_arguments": {"unique_id": "macro.dbt.snapshot_hash_arguments", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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_bigquery.bigquery__snapshot_hash_arguments"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.387952, "supported_languages": null}, "macro.dbt.default__snapshot_hash_arguments": {"unique_id": "macro.dbt.default__snapshot_hash_arguments", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.388145, "supported_languages": null}, "macro.dbt.snapshot_timestamp_strategy": {"unique_id": "macro.dbt.snapshot_timestamp_strategy", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.388801, "supported_languages": null}, "macro.dbt.snapshot_string_as_time": {"unique_id": "macro.dbt.snapshot_string_as_time", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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_bigquery.bigquery__snapshot_string_as_time"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.388948, "supported_languages": null}, "macro.dbt.default__snapshot_string_as_time": {"unique_id": "macro.dbt.default__snapshot_string_as_time", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.389096, "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": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.390316, "supported_languages": null}, "macro.dbt.snapshot_check_strategy": {"unique_id": "macro.dbt.snapshot_check_strategy", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.391497, "supported_languages": null}, "macro.dbt.create_columns": {"unique_id": "macro.dbt.create_columns", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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_bigquery.bigquery__create_columns"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.394923, "supported_languages": null}, "macro.dbt.default__create_columns": {"unique_id": "macro.dbt.default__create_columns", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.3951712, "supported_languages": null}, "macro.dbt.post_snapshot": {"unique_id": "macro.dbt.post_snapshot", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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_bigquery.bigquery__post_snapshot"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.395318, "supported_languages": null}, "macro.dbt.default__post_snapshot": {"unique_id": "macro.dbt.default__post_snapshot", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.3953931, "supported_languages": null}, "macro.dbt.get_true_sql": {"unique_id": "macro.dbt.get_true_sql", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.395518, "supported_languages": null}, "macro.dbt.default__get_true_sql": {"unique_id": "macro.dbt.default__get_true_sql", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.395617, "supported_languages": null}, "macro.dbt.snapshot_staging_table": {"unique_id": "macro.dbt.snapshot_staging_table", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.395801, "supported_languages": null}, "macro.dbt.default__snapshot_staging_table": {"unique_id": "macro.dbt.default__snapshot_staging_table", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.396568, "supported_languages": null}, "macro.dbt.build_snapshot_table": {"unique_id": "macro.dbt.build_snapshot_table", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.396734, "supported_languages": null}, "macro.dbt.default__build_snapshot_table": {"unique_id": "macro.dbt.default__build_snapshot_table", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.39695, "supported_languages": null}, "macro.dbt.build_snapshot_staging_table": {"unique_id": "macro.dbt.build_snapshot_staging_table", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.397328, "supported_languages": null}, "macro.dbt.materialization_snapshot_default": {"unique_id": "macro.dbt.materialization_snapshot_default", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.4025338, "supported_languages": ["sql"]}, "macro.dbt.materialization_test_default": {"unique_id": "macro.dbt.materialization_test_default", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.404376, "supported_languages": ["sql"]}, "macro.dbt.get_test_sql": {"unique_id": "macro.dbt.get_test_sql", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.4048378, "supported_languages": null}, "macro.dbt.default__get_test_sql": {"unique_id": "macro.dbt.default__get_test_sql", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.4051101, "supported_languages": null}, "macro.dbt.get_where_subquery": {"unique_id": "macro.dbt.get_where_subquery", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.405489, "supported_languages": null}, "macro.dbt.default__get_where_subquery": {"unique_id": "macro.dbt.default__get_where_subquery", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.405817, "supported_languages": null}, "macro.dbt.get_quoted_csv": {"unique_id": "macro.dbt.get_quoted_csv", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.4072351, "supported_languages": null}, "macro.dbt.diff_columns": {"unique_id": "macro.dbt.diff_columns", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.407709, "supported_languages": null}, "macro.dbt.diff_column_data_types": {"unique_id": "macro.dbt.diff_column_data_types", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.4082859, "supported_languages": null}, "macro.dbt.get_merge_update_columns": {"unique_id": "macro.dbt.get_merge_update_columns", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.408493, "supported_languages": null}, "macro.dbt.default__get_merge_update_columns": {"unique_id": "macro.dbt.default__get_merge_update_columns", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.409111, "supported_languages": null}, "macro.dbt.get_merge_sql": {"unique_id": "macro.dbt.get_merge_sql", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.412858, "supported_languages": null}, "macro.dbt.default__get_merge_sql": {"unique_id": "macro.dbt.default__get_merge_sql", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.414273, "supported_languages": null}, "macro.dbt.get_delete_insert_merge_sql": {"unique_id": "macro.dbt.get_delete_insert_merge_sql", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.414485, "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": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.415138, "supported_languages": null}, "macro.dbt.get_insert_overwrite_merge_sql": {"unique_id": "macro.dbt.get_insert_overwrite_merge_sql", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.4153721, "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": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.4159338, "supported_languages": null}, "macro.dbt.is_incremental": {"unique_id": "macro.dbt.is_incremental", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.4165492, "supported_languages": null}, "macro.dbt.get_incremental_append_sql": {"unique_id": "macro.dbt.get_incremental_append_sql", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.417367, "supported_languages": null}, "macro.dbt.default__get_incremental_append_sql": {"unique_id": "macro.dbt.default__get_incremental_append_sql", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.4175758, "supported_languages": null}, "macro.dbt.get_incremental_delete_insert_sql": {"unique_id": "macro.dbt.get_incremental_delete_insert_sql", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.417734, "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": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.417967, "supported_languages": null}, "macro.dbt.get_incremental_merge_sql": {"unique_id": "macro.dbt.get_incremental_merge_sql", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.4181278, "supported_languages": null}, "macro.dbt.default__get_incremental_merge_sql": {"unique_id": "macro.dbt.default__get_incremental_merge_sql", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.4183629, "supported_languages": null}, "macro.dbt.get_incremental_insert_overwrite_sql": {"unique_id": "macro.dbt.get_incremental_insert_overwrite_sql", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.418529, "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": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.418762, "supported_languages": null}, "macro.dbt.get_incremental_default_sql": {"unique_id": "macro.dbt.get_incremental_default_sql", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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.default__get_incremental_default_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.4189272, "supported_languages": null}, "macro.dbt.default__get_incremental_default_sql": {"unique_id": "macro.dbt.default__get_incremental_default_sql", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.419065, "supported_languages": null}, "macro.dbt.get_insert_into_sql": {"unique_id": "macro.dbt.get_insert_into_sql", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.419314, "supported_languages": null}, "macro.dbt.materialization_incremental_default": {"unique_id": "macro.dbt.materialization_incremental_default", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.423744, "supported_languages": ["sql"]}, "macro.dbt.incremental_validate_on_schema_change": {"unique_id": "macro.dbt.incremental_validate_on_schema_change", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.4283688, "supported_languages": null}, "macro.dbt.check_for_schema_changes": {"unique_id": "macro.dbt.check_for_schema_changes", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.4294431, "supported_languages": null}, "macro.dbt.sync_column_schemas": {"unique_id": "macro.dbt.sync_column_schemas", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.430488, "supported_languages": null}, "macro.dbt.process_schema_changes": {"unique_id": "macro.dbt.process_schema_changes", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.431228, "supported_languages": null}, "macro.dbt.materialization_table_default": {"unique_id": "macro.dbt.materialization_table_default", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.433525, "supported_languages": ["sql"]}, "macro.dbt.get_create_table_as_sql": {"unique_id": "macro.dbt.get_create_table_as_sql", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.4340422, "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": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.4342048, "supported_languages": null}, "macro.dbt.create_table_as": {"unique_id": "macro.dbt.create_table_as", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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_bigquery.bigquery__create_table_as"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.434582, "supported_languages": null}, "macro.dbt.default__create_table_as": {"unique_id": "macro.dbt.default__create_table_as", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.434943, "supported_languages": null}, "macro.dbt.materialization_view_default": {"unique_id": "macro.dbt.materialization_view_default", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.437242, "supported_languages": ["sql"]}, "macro.dbt.handle_existing_table": {"unique_id": "macro.dbt.handle_existing_table", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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_bigquery.bigquery__handle_existing_table"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.43756, "supported_languages": null}, "macro.dbt.default__handle_existing_table": {"unique_id": "macro.dbt.default__handle_existing_table", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.4377542, "supported_languages": null}, "macro.dbt.create_or_replace_view": {"unique_id": "macro.dbt.create_or_replace_view", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.439114, "supported_languages": null}, "macro.dbt.get_create_view_as_sql": {"unique_id": "macro.dbt.get_create_view_as_sql", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.439486, "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": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.439626, "supported_languages": null}, "macro.dbt.create_view_as": {"unique_id": "macro.dbt.create_view_as", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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_bigquery.bigquery__create_view_as"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.43978, "supported_languages": null}, "macro.dbt.default__create_view_as": {"unique_id": "macro.dbt.default__create_view_as", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.440011, "supported_languages": null}, "macro.dbt.materialization_seed_default": {"unique_id": "macro.dbt.materialization_seed_default", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.442917, "supported_languages": ["sql"]}, "macro.dbt.create_csv_table": {"unique_id": "macro.dbt.create_csv_table", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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_bigquery.bigquery__create_csv_table"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.447065, "supported_languages": null}, "macro.dbt.default__create_csv_table": {"unique_id": "macro.dbt.default__create_csv_table", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.4478478, "supported_languages": null}, "macro.dbt.reset_csv_table": {"unique_id": "macro.dbt.reset_csv_table", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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_bigquery.bigquery__reset_csv_table"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.448054, "supported_languages": null}, "macro.dbt.default__reset_csv_table": {"unique_id": "macro.dbt.default__reset_csv_table", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.448472, "supported_languages": null}, "macro.dbt.get_csv_sql": {"unique_id": "macro.dbt.get_csv_sql", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.448639, "supported_languages": null}, "macro.dbt.default__get_csv_sql": {"unique_id": "macro.dbt.default__get_csv_sql", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.4487529, "supported_languages": null}, "macro.dbt.get_binding_char": {"unique_id": "macro.dbt.get_binding_char", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.448874, "supported_languages": null}, "macro.dbt.default__get_binding_char": {"unique_id": "macro.dbt.default__get_binding_char", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.448972, "supported_languages": null}, "macro.dbt.get_batch_size": {"unique_id": "macro.dbt.get_batch_size", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.449108, "supported_languages": null}, "macro.dbt.default__get_batch_size": {"unique_id": "macro.dbt.default__get_batch_size", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.4492102, "supported_languages": null}, "macro.dbt.get_seed_column_quoted_csv": {"unique_id": "macro.dbt.get_seed_column_quoted_csv", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.449623, "supported_languages": null}, "macro.dbt.load_csv_rows": {"unique_id": "macro.dbt.load_csv_rows", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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_bigquery.bigquery__load_csv_rows"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.449785, "supported_languages": null}, "macro.dbt.default__load_csv_rows": {"unique_id": "macro.dbt.default__load_csv_rows", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.450891, "supported_languages": null}, "macro.dbt.generate_alias_name": {"unique_id": "macro.dbt.generate_alias_name", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.451287, "supported_languages": null}, "macro.dbt.default__generate_alias_name": {"unique_id": "macro.dbt.default__generate_alias_name", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.451489, "supported_languages": null}, "macro.dbt.generate_schema_name": {"unique_id": "macro.dbt.generate_schema_name", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.452008, "supported_languages": null}, "macro.dbt.default__generate_schema_name": {"unique_id": "macro.dbt.default__generate_schema_name", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.4522371, "supported_languages": null}, "macro.dbt.generate_schema_name_for_env": {"unique_id": "macro.dbt.generate_schema_name_for_env", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.452488, "supported_languages": null}, "macro.dbt.generate_database_name": {"unique_id": "macro.dbt.generate_database_name", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.452886, "supported_languages": null}, "macro.dbt.default__generate_database_name": {"unique_id": "macro.dbt.default__generate_database_name", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.453106, "supported_languages": null}, "macro.dbt.default__test_relationships": {"unique_id": "macro.dbt.default__test_relationships", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.4534678, "supported_languages": null}, "macro.dbt.default__test_not_null": {"unique_id": "macro.dbt.default__test_not_null", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.453776, "supported_languages": null}, "macro.dbt.default__test_unique": {"unique_id": "macro.dbt.default__test_unique", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.45405, "supported_languages": null}, "macro.dbt.default__test_accepted_values": {"unique_id": "macro.dbt.default__test_accepted_values", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.454588, "supported_languages": null}, "macro.dbt.statement": {"unique_id": "macro.dbt.statement", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.455911, "supported_languages": null}, "macro.dbt.noop_statement": {"unique_id": "macro.dbt.noop_statement", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.4564722, "supported_languages": null}, "macro.dbt.run_query": {"unique_id": "macro.dbt.run_query", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.456725, "supported_languages": null}, "macro.dbt.convert_datetime": {"unique_id": "macro.dbt.convert_datetime", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.4583309, "supported_languages": null}, "macro.dbt.dates_in_range": {"unique_id": "macro.dbt.dates_in_range", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.459358, "supported_languages": null}, "macro.dbt.partition_range": {"unique_id": "macro.dbt.partition_range", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.460015, "supported_languages": null}, "macro.dbt.py_current_timestring": {"unique_id": "macro.dbt.py_current_timestring", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.4602199, "supported_languages": null}, "macro.dbt.except": {"unique_id": "macro.dbt.except", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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_bigquery.bigquery__except"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.460479, "supported_languages": null}, "macro.dbt.default__except": {"unique_id": "macro.dbt.default__except", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.460544, "supported_languages": null}, "macro.dbt.replace": {"unique_id": "macro.dbt.replace", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.4608798, "supported_languages": null}, "macro.dbt.default__replace": {"unique_id": "macro.dbt.default__replace", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.461021, "supported_languages": null}, "macro.dbt.concat": {"unique_id": "macro.dbt.concat", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.4613, "supported_languages": null}, "macro.dbt.default__concat": {"unique_id": "macro.dbt.default__concat", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.461406, "supported_languages": null}, "macro.dbt.length": {"unique_id": "macro.dbt.length", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.461677, "supported_languages": null}, "macro.dbt.default__length": {"unique_id": "macro.dbt.default__length", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.4617732, "supported_languages": null}, "macro.dbt.dateadd": {"unique_id": "macro.dbt.dateadd", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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_bigquery.bigquery__dateadd"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.462121, "supported_languages": null}, "macro.dbt.default__dateadd": {"unique_id": "macro.dbt.default__dateadd", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.462264, "supported_languages": null}, "macro.dbt.intersect": {"unique_id": "macro.dbt.intersect", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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_bigquery.bigquery__intersect"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.4625149, "supported_languages": null}, "macro.dbt.default__intersect": {"unique_id": "macro.dbt.default__intersect", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.46258, "supported_languages": null}, "macro.dbt.escape_single_quotes": {"unique_id": "macro.dbt.escape_single_quotes", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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_bigquery.bigquery__escape_single_quotes"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.46286, "supported_languages": null}, "macro.dbt.default__escape_single_quotes": {"unique_id": "macro.dbt.default__escape_single_quotes", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.462977, "supported_languages": null}, "macro.dbt.right": {"unique_id": "macro.dbt.right", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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_bigquery.bigquery__right"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.4632819, "supported_languages": null}, "macro.dbt.default__right": {"unique_id": "macro.dbt.default__right", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.463459, "supported_languages": null}, "macro.dbt.listagg": {"unique_id": "macro.dbt.listagg", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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_bigquery.bigquery__listagg"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.464044, "supported_languages": null}, "macro.dbt.default__listagg": {"unique_id": "macro.dbt.default__listagg", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.464393, "supported_languages": null}, "macro.dbt.datediff": {"unique_id": "macro.dbt.datediff", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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_bigquery.bigquery__datediff"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.464739, "supported_languages": null}, "macro.dbt.default__datediff": {"unique_id": "macro.dbt.default__datediff", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.464881, "supported_languages": null}, "macro.dbt.safe_cast": {"unique_id": "macro.dbt.safe_cast", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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_bigquery.bigquery__safe_cast"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.465179, "supported_languages": null}, "macro.dbt.default__safe_cast": {"unique_id": "macro.dbt.default__safe_cast", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.465298, "supported_languages": null}, "macro.dbt.hash": {"unique_id": "macro.dbt.hash", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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_bigquery.bigquery__hash"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.465572, "supported_languages": null}, "macro.dbt.default__hash": {"unique_id": "macro.dbt.default__hash", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.465711, "supported_languages": null}, "macro.dbt.cast_bool_to_text": {"unique_id": "macro.dbt.cast_bool_to_text", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.465975, "supported_languages": null}, "macro.dbt.default__cast_bool_to_text": {"unique_id": "macro.dbt.default__cast_bool_to_text", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.4661171, "supported_languages": null}, "macro.dbt.any_value": {"unique_id": "macro.dbt.any_value", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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.default__any_value"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.466387, "supported_languages": null}, "macro.dbt.default__any_value": {"unique_id": "macro.dbt.default__any_value", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.466479, "supported_languages": null}, "macro.dbt.position": {"unique_id": "macro.dbt.position", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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_bigquery.bigquery__position"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.4667819, "supported_languages": null}, "macro.dbt.default__position": {"unique_id": "macro.dbt.default__position", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.466899, "supported_languages": null}, "macro.dbt.string_literal": {"unique_id": "macro.dbt.string_literal", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.4671621, "supported_languages": null}, "macro.dbt.default__string_literal": {"unique_id": "macro.dbt.default__string_literal", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.467249, "supported_languages": null}, "macro.dbt.type_string": {"unique_id": "macro.dbt.type_string", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.468118, "supported_languages": null}, "macro.dbt.default__type_string": {"unique_id": "macro.dbt.default__type_string", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.468249, "supported_languages": null}, "macro.dbt.type_timestamp": {"unique_id": "macro.dbt.type_timestamp", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.468559, "supported_languages": null}, "macro.dbt.default__type_timestamp": {"unique_id": "macro.dbt.default__type_timestamp", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.468695, "supported_languages": null}, "macro.dbt.type_float": {"unique_id": "macro.dbt.type_float", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.468836, "supported_languages": null}, "macro.dbt.default__type_float": {"unique_id": "macro.dbt.default__type_float", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.46897, "supported_languages": null}, "macro.dbt.type_numeric": {"unique_id": "macro.dbt.type_numeric", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.469124, "supported_languages": null}, "macro.dbt.default__type_numeric": {"unique_id": "macro.dbt.default__type_numeric", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.4692779, "supported_languages": null}, "macro.dbt.type_bigint": {"unique_id": "macro.dbt.type_bigint", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.469419, "supported_languages": null}, "macro.dbt.default__type_bigint": {"unique_id": "macro.dbt.default__type_bigint", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.469554, "supported_languages": null}, "macro.dbt.type_int": {"unique_id": "macro.dbt.type_int", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.469693, "supported_languages": null}, "macro.dbt.default__type_int": {"unique_id": "macro.dbt.default__type_int", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.4698188, "supported_languages": null}, "macro.dbt.type_boolean": {"unique_id": "macro.dbt.type_boolean", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.469955, "supported_languages": null}, "macro.dbt.default__type_boolean": {"unique_id": "macro.dbt.default__type_boolean", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.4700842, "supported_languages": null}, "macro.dbt.array_concat": {"unique_id": "macro.dbt.array_concat", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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_bigquery.bigquery__array_concat"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.4703832, "supported_languages": null}, "macro.dbt.default__array_concat": {"unique_id": "macro.dbt.default__array_concat", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.4705, "supported_languages": null}, "macro.dbt.bool_or": {"unique_id": "macro.dbt.bool_or", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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_bigquery.bigquery__bool_or"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.470769, "supported_languages": null}, "macro.dbt.default__bool_or": {"unique_id": "macro.dbt.default__bool_or", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.470859, "supported_languages": null}, "macro.dbt.last_day": {"unique_id": "macro.dbt.last_day", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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.default__last_day"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.471207, "supported_languages": null}, "macro.dbt.default_last_day": {"unique_id": "macro.dbt.default_last_day", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.4714408, "supported_languages": null}, "macro.dbt.default__last_day": {"unique_id": "macro.dbt.default__last_day", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.47157, "supported_languages": null}, "macro.dbt.split_part": {"unique_id": "macro.dbt.split_part", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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_bigquery.bigquery__split_part"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.472073, "supported_languages": null}, "macro.dbt.default__split_part": {"unique_id": "macro.dbt.default__split_part", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.47228, "supported_languages": null}, "macro.dbt._split_part_negative": {"unique_id": "macro.dbt._split_part_negative", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.472472, "supported_languages": null}, "macro.dbt.date_trunc": {"unique_id": "macro.dbt.date_trunc", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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_bigquery.bigquery__date_trunc"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.472768, "supported_languages": null}, "macro.dbt.default__date_trunc": {"unique_id": "macro.dbt.default__date_trunc", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.4728801, "supported_languages": null}, "macro.dbt.array_construct": {"unique_id": "macro.dbt.array_construct", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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_bigquery.bigquery__array_construct"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.473259, "supported_languages": null}, "macro.dbt.default__array_construct": {"unique_id": "macro.dbt.default__array_construct", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.4734662, "supported_languages": null}, "macro.dbt.array_append": {"unique_id": "macro.dbt.array_append", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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_bigquery.bigquery__array_append"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.473762, "supported_languages": null}, "macro.dbt.default__array_append": {"unique_id": "macro.dbt.default__array_append", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.473877, "supported_languages": null}, "macro.dbt.create_schema": {"unique_id": "macro.dbt.create_schema", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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.default__create_schema"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.4742541, "supported_languages": null}, "macro.dbt.default__create_schema": {"unique_id": "macro.dbt.default__create_schema", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.4744132, "supported_languages": null}, "macro.dbt.drop_schema": {"unique_id": "macro.dbt.drop_schema", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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_bigquery.bigquery__drop_schema"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.474551, "supported_languages": null}, "macro.dbt.default__drop_schema": {"unique_id": "macro.dbt.default__drop_schema", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.474717, "supported_languages": null}, "macro.dbt.current_timestamp": {"unique_id": "macro.dbt.current_timestamp", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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_bigquery.bigquery__current_timestamp"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.4751968, "supported_languages": null}, "macro.dbt.default__current_timestamp": {"unique_id": "macro.dbt.default__current_timestamp", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.475328, "supported_languages": null}, "macro.dbt.snapshot_get_time": {"unique_id": "macro.dbt.snapshot_get_time", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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.default__snapshot_get_time"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.475451, "supported_languages": null}, "macro.dbt.default__snapshot_get_time": {"unique_id": "macro.dbt.default__snapshot_get_time", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.47554, "supported_languages": null}, "macro.dbt.current_timestamp_backcompat": {"unique_id": "macro.dbt.current_timestamp_backcompat", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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_bigquery.bigquery__current_timestamp_backcompat"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.475682, "supported_languages": null}, "macro.dbt.default__current_timestamp_backcompat": {"unique_id": "macro.dbt.default__current_timestamp_backcompat", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.475745, "supported_languages": null}, "macro.dbt.current_timestamp_in_utc_backcompat": {"unique_id": "macro.dbt.current_timestamp_in_utc_backcompat", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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.default__current_timestamp_in_utc_backcompat"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.475887, "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": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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_bigquery.bigquery__current_timestamp_backcompat"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.476031, "supported_languages": null}, "macro.dbt.get_create_index_sql": {"unique_id": "macro.dbt.get_create_index_sql", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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.default__get_create_index_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.476537, "supported_languages": null}, "macro.dbt.default__get_create_index_sql": {"unique_id": "macro.dbt.default__get_create_index_sql", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.4766579, "supported_languages": null}, "macro.dbt.create_indexes": {"unique_id": "macro.dbt.create_indexes", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.476799, "supported_languages": null}, "macro.dbt.default__create_indexes": {"unique_id": "macro.dbt.default__create_indexes", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.477153, "supported_languages": null}, "macro.dbt.make_intermediate_relation": {"unique_id": "macro.dbt.make_intermediate_relation", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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.default__make_intermediate_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.480017, "supported_languages": null}, "macro.dbt.default__make_intermediate_relation": {"unique_id": "macro.dbt.default__make_intermediate_relation", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.480165, "supported_languages": null}, "macro.dbt.make_temp_relation": {"unique_id": "macro.dbt.make_temp_relation", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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.default__make_temp_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.4803588, "supported_languages": null}, "macro.dbt.default__make_temp_relation": {"unique_id": "macro.dbt.default__make_temp_relation", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.480615, "supported_languages": null}, "macro.dbt.make_backup_relation": {"unique_id": "macro.dbt.make_backup_relation", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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.default__make_backup_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.48083, "supported_languages": null}, "macro.dbt.default__make_backup_relation": {"unique_id": "macro.dbt.default__make_backup_relation", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.4811058, "supported_languages": null}, "macro.dbt.drop_relation": {"unique_id": "macro.dbt.drop_relation", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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_bigquery.bigquery__drop_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.4812632, "supported_languages": null}, "macro.dbt.default__drop_relation": {"unique_id": "macro.dbt.default__drop_relation", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.4814458, "supported_languages": null}, "macro.dbt.truncate_relation": {"unique_id": "macro.dbt.truncate_relation", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.481604, "supported_languages": null}, "macro.dbt.default__truncate_relation": {"unique_id": "macro.dbt.default__truncate_relation", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.48174, "supported_languages": null}, "macro.dbt.rename_relation": {"unique_id": "macro.dbt.rename_relation", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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_bigquery.bigquery__rename_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.481917, "supported_languages": null}, "macro.dbt.default__rename_relation": {"unique_id": "macro.dbt.default__rename_relation", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.482163, "supported_languages": null}, "macro.dbt.get_or_create_relation": {"unique_id": "macro.dbt.get_or_create_relation", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.48238, "supported_languages": null}, "macro.dbt.default__get_or_create_relation": {"unique_id": "macro.dbt.default__get_or_create_relation", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.482924, "supported_languages": null}, "macro.dbt.load_cached_relation": {"unique_id": "macro.dbt.load_cached_relation", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.483126, "supported_languages": null}, "macro.dbt.load_relation": {"unique_id": "macro.dbt.load_relation", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.4832482, "supported_languages": null}, "macro.dbt.drop_relation_if_exists": {"unique_id": "macro.dbt.drop_relation_if_exists", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.483412, "supported_languages": null}, "macro.dbt.collect_freshness": {"unique_id": "macro.dbt.collect_freshness", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.483836, "supported_languages": null}, "macro.dbt.default__collect_freshness": {"unique_id": "macro.dbt.default__collect_freshness", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.484202, "supported_languages": null}, "macro.dbt.copy_grants": {"unique_id": "macro.dbt.copy_grants", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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.default__copy_grants"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.485752, "supported_languages": null}, "macro.dbt.default__copy_grants": {"unique_id": "macro.dbt.default__copy_grants", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.485854, "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": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.486001, "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": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.4860978, "supported_languages": null}, "macro.dbt.should_revoke": {"unique_id": "macro.dbt.should_revoke", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.486399, "supported_languages": null}, "macro.dbt.get_show_grant_sql": {"unique_id": "macro.dbt.get_show_grant_sql", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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_bigquery.bigquery__get_show_grant_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.486563, "supported_languages": null}, "macro.dbt.default__get_show_grant_sql": {"unique_id": "macro.dbt.default__get_show_grant_sql", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.4866502, "supported_languages": null}, "macro.dbt.get_grant_sql": {"unique_id": "macro.dbt.get_grant_sql", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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_bigquery.bigquery__get_grant_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.486846, "supported_languages": null}, "macro.dbt.default__get_grant_sql": {"unique_id": "macro.dbt.default__get_grant_sql", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.48701, "supported_languages": null}, "macro.dbt.get_revoke_sql": {"unique_id": "macro.dbt.get_revoke_sql", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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_bigquery.bigquery__get_revoke_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.487206, "supported_languages": null}, "macro.dbt.default__get_revoke_sql": {"unique_id": "macro.dbt.default__get_revoke_sql", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.487365, "supported_languages": null}, "macro.dbt.get_dcl_statement_list": {"unique_id": "macro.dbt.get_dcl_statement_list", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.487563, "supported_languages": null}, "macro.dbt.default__get_dcl_statement_list": {"unique_id": "macro.dbt.default__get_dcl_statement_list", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.488149, "supported_languages": null}, "macro.dbt.call_dcl_statements": {"unique_id": "macro.dbt.call_dcl_statements", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.488381, "supported_languages": null}, "macro.dbt.default__call_dcl_statements": {"unique_id": "macro.dbt.default__call_dcl_statements", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.488605, "supported_languages": null}, "macro.dbt.apply_grants": {"unique_id": "macro.dbt.apply_grants", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.488812, "supported_languages": null}, "macro.dbt.default__apply_grants": {"unique_id": "macro.dbt.default__apply_grants", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.489803, "supported_languages": null}, "macro.dbt.alter_column_comment": {"unique_id": "macro.dbt.alter_column_comment", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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_bigquery.bigquery__alter_column_comment"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.4904552, "supported_languages": null}, "macro.dbt.default__alter_column_comment": {"unique_id": "macro.dbt.default__alter_column_comment", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.490605, "supported_languages": null}, "macro.dbt.alter_relation_comment": {"unique_id": "macro.dbt.alter_relation_comment", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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.default__alter_relation_comment"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.490782, "supported_languages": null}, "macro.dbt.default__alter_relation_comment": {"unique_id": "macro.dbt.default__alter_relation_comment", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.4909272, "supported_languages": null}, "macro.dbt.persist_docs": {"unique_id": "macro.dbt.persist_docs", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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_bigquery.bigquery__persist_docs"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.491157, "supported_languages": null}, "macro.dbt.default__persist_docs": {"unique_id": "macro.dbt.default__persist_docs", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.491575, "supported_languages": null}, "macro.dbt.get_catalog": {"unique_id": "macro.dbt.get_catalog", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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_bigquery.bigquery__get_catalog"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.4929018, "supported_languages": null}, "macro.dbt.default__get_catalog": {"unique_id": "macro.dbt.default__get_catalog", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.493129, "supported_languages": null}, "macro.dbt.information_schema_name": {"unique_id": "macro.dbt.information_schema_name", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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.default__information_schema_name"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.493293, "supported_languages": null}, "macro.dbt.default__information_schema_name": {"unique_id": "macro.dbt.default__information_schema_name", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.4934258, "supported_languages": null}, "macro.dbt.list_schemas": {"unique_id": "macro.dbt.list_schemas", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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_bigquery.bigquery__list_schemas"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.4935832, "supported_languages": null}, "macro.dbt.default__list_schemas": {"unique_id": "macro.dbt.default__list_schemas", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.4937978, "supported_languages": null}, "macro.dbt.check_schema_exists": {"unique_id": "macro.dbt.check_schema_exists", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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_bigquery.bigquery__check_schema_exists"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.493976, "supported_languages": null}, "macro.dbt.default__check_schema_exists": {"unique_id": "macro.dbt.default__check_schema_exists", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.494234, "supported_languages": null}, "macro.dbt.list_relations_without_caching": {"unique_id": "macro.dbt.list_relations_without_caching", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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_bigquery.bigquery__list_relations_without_caching"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.4943979, "supported_languages": null}, "macro.dbt.default__list_relations_without_caching": {"unique_id": "macro.dbt.default__list_relations_without_caching", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.494536, "supported_languages": null}, "macro.dbt.get_columns_in_relation": {"unique_id": "macro.dbt.get_columns_in_relation", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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_bigquery.bigquery__get_columns_in_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.496045, "supported_languages": null}, "macro.dbt.default__get_columns_in_relation": {"unique_id": "macro.dbt.default__get_columns_in_relation", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.496246, "supported_languages": null}, "macro.dbt.sql_convert_columns_in_relation": {"unique_id": "macro.dbt.sql_convert_columns_in_relation", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.4965189, "supported_languages": null}, "macro.dbt.get_columns_in_query": {"unique_id": "macro.dbt.get_columns_in_query", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.4966788, "supported_languages": null}, "macro.dbt.default__get_columns_in_query": {"unique_id": "macro.dbt.default__get_columns_in_query", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.496973, "supported_languages": null}, "macro.dbt.alter_column_type": {"unique_id": "macro.dbt.alter_column_type", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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_bigquery.bigquery__alter_column_type"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.4971719, "supported_languages": null}, "macro.dbt.default__alter_column_type": {"unique_id": "macro.dbt.default__alter_column_type", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.497694, "supported_languages": null}, "macro.dbt.alter_relation_add_remove_columns": {"unique_id": "macro.dbt.alter_relation_add_remove_columns", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.497924, "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": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.4985988, "supported_languages": null}, "macro.dbt.build_ref_function": {"unique_id": "macro.dbt.build_ref_function", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.499944, "supported_languages": null}, "macro.dbt.build_source_function": {"unique_id": "macro.dbt.build_source_function", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.5003579, "supported_languages": null}, "macro.dbt.build_config_dict": {"unique_id": "macro.dbt.build_config_dict", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.500748, "supported_languages": null}, "macro.dbt.py_script_postfix": {"unique_id": "macro.dbt.py_script_postfix", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.501102, "supported_languages": null}, "macro.dbt.py_script_comment": {"unique_id": "macro.dbt.py_script_comment", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.501164, "supported_languages": null}, "macro.dbt.test_unique": {"unique_id": "macro.dbt.test_unique", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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_bigquery.bigquery__test_unique"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.5016599, "supported_languages": null}, "macro.dbt.test_not_null": {"unique_id": "macro.dbt.test_not_null", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.501864, "supported_languages": null}, "macro.dbt.test_accepted_values": {"unique_id": "macro.dbt.test_accepted_values", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.502113, "supported_languages": null}, "macro.dbt.test_relationships": {"unique_id": "macro.dbt.test_relationships", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.5023518, "supported_languages": null}, "macro.dbt_utils.xdb_deprecation_warning_without_replacement": {"unique_id": "macro.dbt_utils.xdb_deprecation_warning_without_replacement", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/deprecated/xdb_deprecation_warning.sql", "original_file_path": "macros/cross_db_utils/deprecated/xdb_deprecation_warning.sql", "name": "xdb_deprecation_warning_without_replacement", "macro_sql": "{% macro xdb_deprecation_warning_without_replacement(macro, package, model) %}\n {%- set error_message = \"Warning: the `\" ~ macro ~\"` macro is deprecated and will be removed in a future version of the package, once equivalent functionality is implemented in dbt Core. The \" ~ package ~ \".\" ~ model ~ \" model triggered this warning.\" -%}\n {%- do exceptions.warn(error_message) -%}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.502688, "supported_languages": null}, "macro.dbt_utils.get_url_host": {"unique_id": "macro.dbt_utils.get_url_host", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.503039, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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 split_part(\n split_part(\n replace(\n replace(\n replace(field, \"'android-app://'\", \"''\"\n ), \"'http://'\", \"''\"\n ), \"'https://'\", \"''\"\n ), \"'/'\", 1\n ), \"'?'\", 1\n )\n\n-%}\n\n\n {{ dbt.safe_cast(\n parsed,\n 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": 1666731665.503488, "supported_languages": null}, "macro.dbt_utils.get_url_path": {"unique_id": "macro.dbt_utils.get_url_path", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.5039392, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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 replace(\n replace(field, \"'http://'\", \"''\"), \"'https://'\", \"''\")\n -%}\n\n {%- set first_slash_pos -%}\n coalesce(\n nullif({{ position(\"'/'\", stripped_url) }}, 0),\n {{ position(\"'?'\", stripped_url) }} - 1\n )\n {%- endset -%}\n\n {%- set parsed_path =\n split_part(\n right(\n stripped_url,\n length(stripped_url) ~ \"-\" ~ first_slash_pos\n ),\n \"'?'\", 1\n )\n -%}\n\n {{ safe_cast(\n parsed_path,\n 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": 1666731665.504533, "supported_languages": null}, "macro.dbt_utils.get_url_parameter": {"unique_id": "macro.dbt_utils.get_url_parameter", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.504937, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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 = split_part(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": 1666731665.505208, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.506218, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.507118, "supported_languages": null}, "macro.dbt_utils.test_equal_rowcount": {"unique_id": "macro.dbt_utils.test_equal_rowcount", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.507939, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.5088809, "supported_languages": null}, "macro.dbt_utils.test_relationships_where": {"unique_id": "macro.dbt_utils.test_relationships_where", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.509535, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.5098329, "supported_languages": null}, "macro.dbt_utils.test_recency": {"unique_id": "macro.dbt_utils.test_recency", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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, group_by_columns = []) %}\n {{ return(adapter.dispatch('test_recency', 'dbt_utils')(model, field, datepart, interval, 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": 1666731665.51041, "supported_languages": null}, "macro.dbt_utils.default__test_recency": {"unique_id": "macro.dbt_utils.default__test_recency", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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, group_by_columns) %}\n\n{% set threshold = dateadd(datepart, interval * -1, current_timestamp_backcompat()) %}\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 max({{field}}) as most_recent\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_backcompat"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.510956, "supported_languages": null}, "macro.dbt_utils.test_not_constant": {"unique_id": "macro.dbt_utils.test_not_constant", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.511408, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.511809, "supported_languages": null}, "macro.dbt_utils.test_accepted_range": {"unique_id": "macro.dbt_utils.test_accepted_range", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.5124018, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.512814, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.5133362, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.513738, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.514202, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.5146098, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.5152042, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.515763, "supported_languages": null}, "macro.dbt_utils.test_cardinality_equality": {"unique_id": "macro.dbt_utils.test_cardinality_equality", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.516313, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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 {{ except() }}\n select *\n from table_b\n),\n\nexcept_b as (\n select *\n from table_b\n {{ 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": 1666731665.5166001, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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, condition='1=1') %}\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 {{ return(adapter.dispatch('test_expression_is_true', 'dbt_utils')(model, expression, column_name, condition)) }}\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": 1666731665.517087, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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, condition) %}\n\n{% set column_list = '*' if should_store_failures() else \"1\" %}\n\nwith meet_condition as (\n select * from {{ model }} where {{ condition }}\n)\n\nselect\n {{ column_list }}\nfrom meet_condition\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": 1666731665.517427, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.518047, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.518755, "supported_languages": null}, "macro.dbt_utils.test_sequential_values": {"unique_id": "macro.dbt_utils.test_sequential_values", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.519594, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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 {{ type_timestamp() }})= cast({{ dateadd(datepart, interval, previous_column_name) }} as {{ 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": 1666731665.520363, "supported_languages": null}, "macro.dbt_utils.test_equality": {"unique_id": "macro.dbt_utils.test_equality", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.5210738, "supported_languages": null}, "macro.dbt_utils.default__test_equality": {"unique_id": "macro.dbt_utils.default__test_equality", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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 {{ except() }}\n select {{compare_cols_csv}} from b\n\n),\n\nb_minus_a as (\n\n select {{compare_cols_csv}} from b\n {{ 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": 1666731665.521826, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.5223181, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.5225759, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.52558, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.5269802, "supported_languages": null}, "macro.dbt_utils.pretty_log_format": {"unique_id": "macro.dbt_utils.pretty_log_format", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.527277, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.527425, "supported_languages": null}, "macro.dbt_utils._is_relation": {"unique_id": "macro.dbt_utils._is_relation", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.5278652, "supported_languages": null}, "macro.dbt_utils.pretty_time": {"unique_id": "macro.dbt_utils.pretty_time", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.528159, "supported_languages": null}, "macro.dbt_utils.default__pretty_time": {"unique_id": "macro.dbt_utils.default__pretty_time", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.528325, "supported_languages": null}, "macro.dbt_utils.log_info": {"unique_id": "macro.dbt_utils.log_info", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.528599, "supported_languages": null}, "macro.dbt_utils.default__log_info": {"unique_id": "macro.dbt_utils.default__log_info", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.5287511, "supported_languages": null}, "macro.dbt_utils.slugify": {"unique_id": "macro.dbt_utils.slugify", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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\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": 1666731665.529204, "supported_languages": null}, "macro.dbt_utils._is_ephemeral": {"unique_id": "macro.dbt_utils._is_ephemeral", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.529974, "supported_languages": null}, "macro.dbt_utils.get_intervals_between": {"unique_id": "macro.dbt_utils.get_intervals_between", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.530632, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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 {{ 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": 1666731665.531138, "supported_languages": null}, "macro.dbt_utils.date_spine": {"unique_id": "macro.dbt_utils.date_spine", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.531341, "supported_languages": null}, "macro.dbt_utils.default__date_spine": {"unique_id": "macro.dbt_utils.default__date_spine", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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 \"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 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": 1666731665.531651, "supported_languages": null}, "macro.dbt_utils.nullcheck_table": {"unique_id": "macro.dbt_utils.nullcheck_table", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.531977, "supported_languages": null}, "macro.dbt_utils.default__nullcheck_table": {"unique_id": "macro.dbt_utils.default__nullcheck_table", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.532272, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.532896, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.533704, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.534484, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.534842, "supported_languages": null}, "macro.dbt_utils.generate_series": {"unique_id": "macro.dbt_utils.generate_series", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.535008, "supported_languages": null}, "macro.dbt_utils.default__generate_series": {"unique_id": "macro.dbt_utils.default__generate_series", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.5354612, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.5360892, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.536834, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.537245, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.537502, "supported_languages": null}, "macro.dbt_utils.star": {"unique_id": "macro.dbt_utils.star", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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='') -%}\n {{ return(adapter.dispatch('star', 'dbt_utils')(from, relation_alias, except, prefix, suffix)) }}\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": 1666731665.538145, "supported_languages": null}, "macro.dbt_utils.default__star": {"unique_id": "macro.dbt_utils.default__star", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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='') -%}\n {%- do dbt_utils._is_relation(from, 'star') -%}\n {%- do dbt_utils._is_ephemeral(from, 'star') -%}\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 cols = dbt_utils.get_filtered_columns_in_relation(from, except) %}\n\n {%- if cols|length <= 0 -%}\n {{- return('*') -}}\n {%- else -%}\n {%- for col in cols %}\n {%- if relation_alias %}{{ relation_alias }}.{% else %}{%- endif -%}{{ adapter.quote(col)|trim }} {%- if prefix!='' or suffix!='' %} as {{ adapter.quote(prefix ~ col ~ suffix)|trim }} {%- endif -%}\n {%- if not loop.last %},{{ '\\n ' }}{% endif %}\n {%- endfor -%}\n {% endif %}\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": 1666731665.5389829, "supported_languages": null}, "macro.dbt_utils.unpivot": {"unique_id": "macro.dbt_utils.unpivot", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.540155, "supported_languages": null}, "macro.dbt_utils.default__unpivot": {"unique_id": "macro.dbt_utils.default__unpivot", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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 {{ type_string() }}) as {{ field_name }},\n cast( {% if col.data_type == 'boolean' %}\n {{ 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": 1666731665.541586, "supported_languages": null}, "macro.dbt_utils.union_relations": {"unique_id": "macro.dbt_utils.union_relations", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.544283, "supported_languages": null}, "macro.dbt_utils.default__union_relations": {"unique_id": "macro.dbt_utils.default__union_relations", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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({{ string_literal(relation) }} as {{ 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": 1666731665.547262, "supported_languages": null}, "macro.dbt_utils.group_by": {"unique_id": "macro.dbt_utils.group_by", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.547586, "supported_languages": null}, "macro.dbt_utils.default__group_by": {"unique_id": "macro.dbt_utils.default__group_by", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.5478039, "supported_languages": null}, "macro.dbt_utils.deduplicate": {"unique_id": "macro.dbt_utils.deduplicate", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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.bigquery__deduplicate"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.548533, "supported_languages": null}, "macro.dbt_utils.default__deduplicate": {"unique_id": "macro.dbt_utils.default__deduplicate", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.548722, "supported_languages": null}, "macro.dbt_utils.redshift__deduplicate": {"unique_id": "macro.dbt_utils.redshift__deduplicate", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.548895, "supported_languages": null}, "macro.dbt_utils.postgres__deduplicate": {"unique_id": "macro.dbt_utils.postgres__deduplicate", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.549063, "supported_languages": null}, "macro.dbt_utils.snowflake__deduplicate": {"unique_id": "macro.dbt_utils.snowflake__deduplicate", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.5492039, "supported_languages": null}, "macro.dbt_utils.bigquery__deduplicate": {"unique_id": "macro.dbt_utils.bigquery__deduplicate", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.549354, "supported_languages": null}, "macro.dbt_utils.surrogate_key": {"unique_id": "macro.dbt_utils.surrogate_key", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.549747, "supported_languages": null}, "macro.dbt_utils.default__surrogate_key": {"unique_id": "macro.dbt_utils.default__surrogate_key", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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 variable scoped to the dbt_utils package 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": 1666731665.549957, "supported_languages": null}, "macro.dbt_utils.safe_add": {"unique_id": "macro.dbt_utils.safe_add", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.550338, "supported_languages": null}, "macro.dbt_utils.default__safe_add": {"unique_id": "macro.dbt_utils.default__safe_add", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.5508108, "supported_languages": null}, "macro.dbt_utils.nullcheck": {"unique_id": "macro.dbt_utils.nullcheck", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.55116, "supported_languages": null}, "macro.dbt_utils.default__nullcheck": {"unique_id": "macro.dbt_utils.default__nullcheck", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.55145, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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.bigquery__get_tables_by_pattern_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.5529149, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.55323, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.554044, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.5544882, "supported_languages": null}, "macro.dbt_utils.get_column_values": {"unique_id": "macro.dbt_utils.get_column_values", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.5555, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.5568042, "supported_languages": null}, "macro.dbt_utils.pivot": {"unique_id": "macro.dbt_utils.pivot", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.557771, "supported_languages": null}, "macro.dbt_utils.default__pivot": {"unique_id": "macro.dbt_utils.default__pivot", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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 }} '{{ 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": 1666731665.558489, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.558945, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.559565, "supported_languages": null}, "macro.dbt_utils.width_bucket": {"unique_id": "macro.dbt_utils.width_bucket", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.561326, "supported_languages": null}, "macro.dbt_utils.default__width_bucket": {"unique_id": "macro.dbt_utils.default__width_bucket", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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, type_numeric() ) }},\n {{ dbt.safe_cast(bin_size, 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": 1666731665.561743, "supported_languages": null}, "macro.dbt_utils.redshift__width_bucket": {"unique_id": "macro.dbt_utils.redshift__width_bucket", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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, type_numeric() ) }} %\n {{ dbt.safe_cast(bin_size, 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": 1666731665.5621288, "supported_languages": null}, "macro.dbt_utils.snowflake__width_bucket": {"unique_id": "macro.dbt_utils.snowflake__width_bucket", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.562293, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.5800252, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.580584, "supported_languages": null}, "macro.dbt_utils.generate_surrogate_key": {"unique_id": "macro.dbt_utils.generate_surrogate_key", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.581076, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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 \" ~ type_string() ~ \"), '\" ~ default_null_value ~\"')\"\n ) -%}\n\n {%- if not loop.last %}\n {%- do fields.append(\"'-'\") -%}\n {%- endif -%}\n\n{%- endfor -%}\n\n{{ hash(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": 1666731665.5816598, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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.default__get_table_types_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.5988429, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.598989, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.5991318, "supported_languages": null}, "macro.dbt_utils.degrees_to_radians": {"unique_id": "macro.dbt_utils.degrees_to_radians", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.600353, "supported_languages": null}, "macro.dbt_utils.haversine_distance": {"unique_id": "macro.dbt_utils.haversine_distance", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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.bigquery__haversine_distance"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.600728, "supported_languages": null}, "macro.dbt_utils.default__haversine_distance": {"unique_id": "macro.dbt_utils.default__haversine_distance", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.6013288, "supported_languages": null}, "macro.dbt_utils.bigquery__haversine_distance": {"unique_id": "macro.dbt_utils.bigquery__haversine_distance", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.6021729, "supported_languages": null}, "macro.spark_utils.get_tables": {"unique_id": "macro.spark_utils.get_tables", "package_name": "spark_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.623041, "supported_languages": null}, "macro.spark_utils.get_delta_tables": {"unique_id": "macro.spark_utils.get_delta_tables", "package_name": "spark_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.62377, "supported_languages": null}, "macro.spark_utils.get_statistic_columns": {"unique_id": "macro.spark_utils.get_statistic_columns", "package_name": "spark_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.6246989, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.625466, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.626229, "supported_languages": null}, "macro.spark_utils.spark_analyze_tables": {"unique_id": "macro.spark_utils.spark_analyze_tables", "package_name": "spark_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.62717, "supported_languages": null}, "macro.spark_utils.spark__concat": {"unique_id": "macro.spark_utils.spark__concat", "package_name": "spark_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.636582, "supported_languages": null}, "macro.spark_utils.spark__type_numeric": {"unique_id": "macro.spark_utils.spark__type_numeric", "package_name": "spark_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.636895, "supported_languages": null}, "macro.spark_utils.spark__dateadd": {"unique_id": "macro.spark_utils.spark__dateadd", "package_name": "spark_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.639861, "supported_languages": null}, "macro.spark_utils.spark__datediff": {"unique_id": "macro.spark_utils.spark__datediff", "package_name": "spark_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.647506, "supported_languages": null}, "macro.spark_utils.spark__current_timestamp": {"unique_id": "macro.spark_utils.spark__current_timestamp", "package_name": "spark_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.6477041, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.647774, "supported_languages": null}, "macro.spark_utils.spark__split_part": {"unique_id": "macro.spark_utils.spark__split_part", "package_name": "spark_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.648372, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.649944, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.6502678, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.6505349, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.6508002, "supported_languages": null}, "macro.spark_utils.assert_not_null": {"unique_id": "macro.spark_utils.assert_not_null", "package_name": "spark_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.651176, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.651366, "supported_languages": null}, "macro.spark_utils.spark__convert_timezone": {"unique_id": "macro.spark_utils.spark__convert_timezone", "package_name": "spark_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.651619, "supported_languages": null}, "macro.facebook_ads.get_url_tags_query": {"unique_id": "macro.facebook_ads.get_url_tags_query", "package_name": "facebook_ads", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "macros/get_url_tag_query.sql", "original_file_path": "macros/get_url_tag_query.sql", "name": "get_url_tags_query", "macro_sql": "{% macro get_url_tags_query() %}\n {{ return(adapter.dispatch('get_url_tags_query') ()) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.facebook_ads.bigquery__get_url_tags_query"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.6526961, "supported_languages": null}, "macro.facebook_ads.bigquery__get_url_tags_query": {"unique_id": "macro.facebook_ads.bigquery__get_url_tags_query", "package_name": "facebook_ads", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "macros/get_url_tag_query.sql", "original_file_path": "macros/get_url_tag_query.sql", "name": "bigquery__get_url_tags_query", "macro_sql": "{% macro bigquery__get_url_tags_query() %}\n\n cleaned_json as (\n\n select\n _fivetran_id,\n creative_id,\n json_extract_array(replace(trim(url_tags, '\"'),'\\\\','')) as cleaned_url_tags\n from required_fields\n ), \n\n unnested as (\n\n select \n _fivetran_id, \n creative_id, \n url_tag_element\n from cleaned_json\n left join unnest(cleaned_url_tags) as url_tag_element\n where cleaned_url_tags is not null\n ), \n\n fields as (\n\n select\n _fivetran_id,\n creative_id,\n json_extract_scalar(url_tag_element, '$.key') as key,\n json_extract_scalar(url_tag_element, '$.value') as value,\n json_extract_scalar(url_tag_element, '$.type') as type\n from unnested\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": 1666731665.6528158, "supported_languages": null}, "macro.facebook_ads.postgres__get_url_tags_query": {"unique_id": "macro.facebook_ads.postgres__get_url_tags_query", "package_name": "facebook_ads", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "macros/get_url_tag_query.sql", "original_file_path": "macros/get_url_tag_query.sql", "name": "postgres__get_url_tags_query", "macro_sql": "{% macro postgres__get_url_tags_query() %}\n\n cleaned_json as (\n\n select\n _fivetran_id,\n creative_id,\n replace(trim(url_tags::text, '\"'),'\\\\','')::json as cleaned_url_tags\n from required_fields\n ), \n\n unnested as (\n\n select \n _fivetran_id, \n creative_id, \n url_tag_element\n from cleaned_json\n left join lateral json_array_elements(cleaned_url_tags) as url_tag_element on True\n where cleaned_url_tags is not null\n ), \n\n fields as (\n\n select\n _fivetran_id,\n creative_id,\n url_tag_element->>'key' as key,\n url_tag_element->>'value' as value,\n url_tag_element->>'type' as type\n from unnested\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": 1666731665.652927, "supported_languages": null}, "macro.facebook_ads.redshift__get_url_tags_query": {"unique_id": "macro.facebook_ads.redshift__get_url_tags_query", "package_name": "facebook_ads", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "macros/get_url_tag_query.sql", "original_file_path": "macros/get_url_tag_query.sql", "name": "redshift__get_url_tags_query", "macro_sql": "{% macro redshift__get_url_tags_query() %}\n\n numbers as (\n\n {{ dbt_utils.generate_series(upper_bound=1000) }}\n\n ), \n\n flattened_url_tags as (\n\n select\n _fivetran_id,\n creative_id,\n json_extract_array_element_text(required_fields.url_tags, numbers.generated_number::int - 1, true) as element\n from required_fields\n inner join numbers\n on json_array_length(required_fields.url_tags) >= numbers.generated_number\n ), \n\n fields as (\n\n select\n _fivetran_id,\n creative_id,\n json_extract_path_text(element,'key') as key,\n json_extract_path_text(element,'value') as value,\n json_extract_path_text(element,'type') as type\n from flattened_url_tags\n )\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.generate_series"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.653096, "supported_languages": null}, "macro.facebook_ads.snowflake__get_url_tags_query": {"unique_id": "macro.facebook_ads.snowflake__get_url_tags_query", "package_name": "facebook_ads", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "macros/get_url_tag_query.sql", "original_file_path": "macros/get_url_tag_query.sql", "name": "snowflake__get_url_tags_query", "macro_sql": "{% macro snowflake__get_url_tags_query() %}\n\n cleaned_fields as (\n\n select\n _fivetran_id,\n creative_id,\n parse_json(url_tags) as url_tags\n from required_fields\n where url_tags is not null\n ), \n\n fields as (\n\n select\n _fivetran_id,\n creative_id,\n url_tags.value:key::string as key,\n url_tags.value:value::string as value,\n url_tags.value:type::string as type\n from cleaned_fields,\n lateral flatten( input => url_tags ) as url_tags\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": 1666731665.6531992, "supported_languages": null}, "macro.facebook_ads.spark__get_url_tags_query": {"unique_id": "macro.facebook_ads.spark__get_url_tags_query", "package_name": "facebook_ads", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "macros/get_url_tag_query.sql", "original_file_path": "macros/get_url_tag_query.sql", "name": "spark__get_url_tags_query", "macro_sql": "{% macro spark__get_url_tags_query() %}\n\n cleaned_fields as (\n\n select\n _fivetran_id,\n creative_id,\n explode(from_json(url_tags, 'array>')) as url_tags\n from required_fields\n where url_tags is not null\n ), \n\n fields as (\n\n select\n _fivetran_id,\n creative_id,\n url_tags.key as key,\n url_tags.value as value,\n url_tags.type as type\n from cleaned_fields\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": 1666731665.653294, "supported_languages": null}, "macro.fivetran_utils.enabled_vars": {"unique_id": "macro.fivetran_utils.enabled_vars", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.653734, "supported_languages": null}, "macro.fivetran_utils.percentile": {"unique_id": "macro.fivetran_utils.percentile", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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.bigquery__percentile"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.654691, "supported_languages": null}, "macro.fivetran_utils.default__percentile": {"unique_id": "macro.fivetran_utils.default__percentile", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.6549199, "supported_languages": null}, "macro.fivetran_utils.redshift__percentile": {"unique_id": "macro.fivetran_utils.redshift__percentile", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.6550741, "supported_languages": null}, "macro.fivetran_utils.bigquery__percentile": {"unique_id": "macro.fivetran_utils.bigquery__percentile", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.65523, "supported_languages": null}, "macro.fivetran_utils.postgres__percentile": {"unique_id": "macro.fivetran_utils.postgres__percentile", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.655369, "supported_languages": null}, "macro.fivetran_utils.spark__percentile": {"unique_id": "macro.fivetran_utils.spark__percentile", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.655522, "supported_languages": null}, "macro.fivetran_utils.pivot_json_extract": {"unique_id": "macro.fivetran_utils.pivot_json_extract", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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\nreplace( {{ fivetran_utils.json_extract(string, property) }}, '\"', '') as {{ property | replace(' ', '_') | lower }}\n\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": 1666731665.6559901, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.6566699, "supported_languages": null}, "macro.fivetran_utils.json_parse": {"unique_id": "macro.fivetran_utils.json_parse", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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.bigquery__json_parse"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.6577458, "supported_languages": null}, "macro.fivetran_utils.default__json_parse": {"unique_id": "macro.fivetran_utils.default__json_parse", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.6579719, "supported_languages": null}, "macro.fivetran_utils.redshift__json_parse": {"unique_id": "macro.fivetran_utils.redshift__json_parse", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.658195, "supported_languages": null}, "macro.fivetran_utils.bigquery__json_parse": {"unique_id": "macro.fivetran_utils.bigquery__json_parse", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.658417, "supported_languages": null}, "macro.fivetran_utils.postgres__json_parse": {"unique_id": "macro.fivetran_utils.postgres__json_parse", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.658636, "supported_languages": null}, "macro.fivetran_utils.snowflake__json_parse": {"unique_id": "macro.fivetran_utils.snowflake__json_parse", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.658877, "supported_languages": null}, "macro.fivetran_utils.spark__json_parse": {"unique_id": "macro.fivetran_utils.spark__json_parse", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.659116, "supported_languages": null}, "macro.fivetran_utils.max_bool": {"unique_id": "macro.fivetran_utils.max_bool", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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.bigquery__max_bool"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.6594791, "supported_languages": null}, "macro.fivetran_utils.default__max_bool": {"unique_id": "macro.fivetran_utils.default__max_bool", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.659573, "supported_languages": null}, "macro.fivetran_utils.snowflake__max_bool": {"unique_id": "macro.fivetran_utils.snowflake__max_bool", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.6596632, "supported_languages": null}, "macro.fivetran_utils.bigquery__max_bool": {"unique_id": "macro.fivetran_utils.bigquery__max_bool", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.6597528, "supported_languages": null}, "macro.fivetran_utils.calculated_fields": {"unique_id": "macro.fivetran_utils.calculated_fields", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.660151, "supported_languages": null}, "macro.fivetran_utils.seed_data_helper": {"unique_id": "macro.fivetran_utils.seed_data_helper", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.660807, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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.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 {% 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": 1666731665.661429, "supported_languages": null}, "macro.fivetran_utils.string_agg": {"unique_id": "macro.fivetran_utils.string_agg", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.661927, "supported_languages": null}, "macro.fivetran_utils.default__string_agg": {"unique_id": "macro.fivetran_utils.default__string_agg", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.66205, "supported_languages": null}, "macro.fivetran_utils.snowflake__string_agg": {"unique_id": "macro.fivetran_utils.snowflake__string_agg", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.6621718, "supported_languages": null}, "macro.fivetran_utils.redshift__string_agg": {"unique_id": "macro.fivetran_utils.redshift__string_agg", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.6622899, "supported_languages": null}, "macro.fivetran_utils.spark__string_agg": {"unique_id": "macro.fivetran_utils.spark__string_agg", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.6624131, "supported_languages": null}, "macro.fivetran_utils.timestamp_diff": {"unique_id": "macro.fivetran_utils.timestamp_diff", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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.bigquery__timestamp_diff"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.6650429, "supported_languages": null}, "macro.fivetran_utils.default__timestamp_diff": {"unique_id": "macro.fivetran_utils.default__timestamp_diff", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.665189, "supported_languages": null}, "macro.fivetran_utils.redshift__timestamp_diff": {"unique_id": "macro.fivetran_utils.redshift__timestamp_diff", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.665329, "supported_languages": null}, "macro.fivetran_utils.bigquery__timestamp_diff": {"unique_id": "macro.fivetran_utils.bigquery__timestamp_diff", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.665466, "supported_languages": null}, "macro.fivetran_utils.postgres__timestamp_diff": {"unique_id": "macro.fivetran_utils.postgres__timestamp_diff", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.667024, "supported_languages": null}, "macro.fivetran_utils.try_cast": {"unique_id": "macro.fivetran_utils.try_cast", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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.bigquery__try_cast"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.667831, "supported_languages": null}, "macro.fivetran_utils.default__safe_cast": {"unique_id": "macro.fivetran_utils.default__safe_cast", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.667954, "supported_languages": null}, "macro.fivetran_utils.redshift__try_cast": {"unique_id": "macro.fivetran_utils.redshift__try_cast", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.668193, "supported_languages": null}, "macro.fivetran_utils.postgres__try_cast": {"unique_id": "macro.fivetran_utils.postgres__try_cast", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.668442, "supported_languages": null}, "macro.fivetran_utils.snowflake__try_cast": {"unique_id": "macro.fivetran_utils.snowflake__try_cast", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.668559, "supported_languages": null}, "macro.fivetran_utils.bigquery__try_cast": {"unique_id": "macro.fivetran_utils.bigquery__try_cast", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.6686668, "supported_languages": null}, "macro.fivetran_utils.spark__try_cast": {"unique_id": "macro.fivetran_utils.spark__try_cast", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.668778, "supported_languages": null}, "macro.fivetran_utils.source_relation": {"unique_id": "macro.fivetran_utils.source_relation", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.669266, "supported_languages": null}, "macro.fivetran_utils.default__source_relation": {"unique_id": "macro.fivetran_utils.default__source_relation", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.669774, "supported_languages": null}, "macro.fivetran_utils.first_value": {"unique_id": "macro.fivetran_utils.first_value", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.67027, "supported_languages": null}, "macro.fivetran_utils.default__first_value": {"unique_id": "macro.fivetran_utils.default__first_value", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.6704519, "supported_languages": null}, "macro.fivetran_utils.redshift__first_value": {"unique_id": "macro.fivetran_utils.redshift__first_value", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.670641, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.670919, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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.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 {% 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": 1666731665.6716852, "supported_languages": null}, "macro.fivetran_utils.union_relations": {"unique_id": "macro.fivetran_utils.union_relations", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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_utils.string_literal(relation) }} as {{ dbt_utils.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": 1666731665.6752279, "supported_languages": null}, "macro.fivetran_utils.union_tables": {"unique_id": "macro.fivetran_utils.union_tables", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.675542, "supported_languages": null}, "macro.fivetran_utils.snowflake_seed_data": {"unique_id": "macro.fivetran_utils.snowflake_seed_data", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.675926, "supported_languages": null}, "macro.fivetran_utils.fill_staging_columns": {"unique_id": "macro.fivetran_utils.fill_staging_columns", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.6772969, "supported_languages": null}, "macro.fivetran_utils.quote_column": {"unique_id": "macro.fivetran_utils.quote_column", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.6777668, "supported_languages": null}, "macro.fivetran_utils.json_extract": {"unique_id": "macro.fivetran_utils.json_extract", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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.bigquery__json_extract"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.678316, "supported_languages": null}, "macro.fivetran_utils.default__json_extract": {"unique_id": "macro.fivetran_utils.default__json_extract", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.678454, "supported_languages": null}, "macro.fivetran_utils.snowflake__json_extract": {"unique_id": "macro.fivetran_utils.snowflake__json_extract", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.678586, "supported_languages": null}, "macro.fivetran_utils.redshift__json_extract": {"unique_id": "macro.fivetran_utils.redshift__json_extract", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.678736, "supported_languages": null}, "macro.fivetran_utils.bigquery__json_extract": {"unique_id": "macro.fivetran_utils.bigquery__json_extract", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.678866, "supported_languages": null}, "macro.fivetran_utils.postgres__json_extract": {"unique_id": "macro.fivetran_utils.postgres__json_extract", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.678993, "supported_languages": null}, "macro.fivetran_utils.collect_freshness": {"unique_id": "macro.fivetran_utils.collect_freshness", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.67966, "supported_languages": null}, "macro.fivetran_utils.default__collect_freshness": {"unique_id": "macro.fivetran_utils.default__collect_freshness", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.6805, "supported_languages": null}, "macro.fivetran_utils.timestamp_add": {"unique_id": "macro.fivetran_utils.timestamp_add", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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.bigquery__timestamp_add"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.68116, "supported_languages": null}, "macro.fivetran_utils.default__timestamp_add": {"unique_id": "macro.fivetran_utils.default__timestamp_add", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.681299, "supported_languages": null}, "macro.fivetran_utils.bigquery__timestamp_add": {"unique_id": "macro.fivetran_utils.bigquery__timestamp_add", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.6814332, "supported_languages": null}, "macro.fivetran_utils.redshift__timestamp_add": {"unique_id": "macro.fivetran_utils.redshift__timestamp_add", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.6815732, "supported_languages": null}, "macro.fivetran_utils.postgres__timestamp_add": {"unique_id": "macro.fivetran_utils.postgres__timestamp_add", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.681707, "supported_languages": null}, "macro.fivetran_utils.spark__timestamp_add": {"unique_id": "macro.fivetran_utils.spark__timestamp_add", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.681856, "supported_languages": null}, "macro.fivetran_utils.ceiling": {"unique_id": "macro.fivetran_utils.ceiling", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.682126, "supported_languages": null}, "macro.fivetran_utils.default__ceiling": {"unique_id": "macro.fivetran_utils.default__ceiling", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.6822138, "supported_languages": null}, "macro.fivetran_utils.snowflake__ceiling": {"unique_id": "macro.fivetran_utils.snowflake__ceiling", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.682366, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.68297, "supported_languages": null}, "macro.fivetran_utils.union_data": {"unique_id": "macro.fivetran_utils.union_data", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.6842291, "supported_languages": null}, "macro.fivetran_utils.default__union_data": {"unique_id": "macro.fivetran_utils.default__union_data", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.686312, "supported_languages": null}, "macro.fivetran_utils.dummy_coalesce_value": {"unique_id": "macro.fivetran_utils.dummy_coalesce_value", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.6875882, "supported_languages": null}, "macro.fivetran_utils.array_agg": {"unique_id": "macro.fivetran_utils.array_agg", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.687875, "supported_languages": null}, "macro.fivetran_utils.default__array_agg": {"unique_id": "macro.fivetran_utils.default__array_agg", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.687964, "supported_languages": null}, "macro.fivetran_utils.redshift__array_agg": {"unique_id": "macro.fivetran_utils.redshift__array_agg", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.6880488, "supported_languages": null}, "macro.fivetran_utils.empty_variable_warning": {"unique_id": "macro.fivetran_utils.empty_variable_warning", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.688451, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.688839, "supported_languages": null}, "macro.facebook_ads_source.get_ad_set_history_columns": {"unique_id": "macro.facebook_ads_source.get_ad_set_history_columns", "package_name": "facebook_ads_source", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "macros/get_ad_set_history_columns.sql", "original_file_path": "macros/get_ad_set_history_columns.sql", "name": "get_ad_set_history_columns", "macro_sql": "{% macro get_ad_set_history_columns() %}\n\n{% set columns = [\n {\"name\": \"updated_time\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"id\", \"datatype\": dbt.type_int()},\n {\"name\": \"name\", \"datatype\": dbt.type_string()},\n {\"name\": \"account_id\", \"datatype\": dbt.type_int()},\n {\"name\": \"campaign_id\", \"datatype\": dbt.type_int()},\n {\"name\": \"start_time\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"end_time\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"bid_strategy\", \"datatype\": dbt.type_string()},\n {\"name\": \"daily_budget\", \"datatype\": dbt.type_int()},\n {\"name\": \"budget_remaining\", \"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_timestamp", "macro.dbt.type_int", "macro.dbt.type_string"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.690016, "supported_languages": null}, "macro.facebook_ads_source.get_creative_history_columns": {"unique_id": "macro.facebook_ads_source.get_creative_history_columns", "package_name": "facebook_ads_source", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "macros/get_creative_history_columns.sql", "original_file_path": "macros/get_creative_history_columns.sql", "name": "get_creative_history_columns", "macro_sql": "{% macro get_creative_history_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"id\", \"datatype\": dbt.type_int()},\n {\"name\": \"account_id\", \"datatype\": dbt.type_int()},\n {\"name\": \"name\", \"datatype\": dbt.type_string()},\n {\"name\": \"page_link\", \"datatype\": dbt.type_string()},\n {\"name\": \"template_page_link\", \"datatype\": dbt.type_string()},\n {\"name\": \"url_tags\", \"datatype\": dbt.type_string()},\n {\"name\": \"asset_feed_spec_link_urls\", \"datatype\": dbt.type_string()},\n {\"name\": \"object_story_link_data_child_attachments\", \"datatype\": dbt.type_string()},\n {\"name\": \"object_story_link_data_caption\", \"datatype\": dbt.type_string()},\n {\"name\": \"object_story_link_data_description\", \"datatype\": dbt.type_string()},\n {\"name\": \"object_story_link_data_link\", \"datatype\": dbt.type_string()},\n {\"name\": \"object_story_link_data_message\", \"datatype\": dbt.type_string()},\n {\"name\": \"template_app_link_spec_android\", \"datatype\": dbt.type_string()},\n {\"name\": \"template_app_link_spec_ios\", \"datatype\": dbt.type_string()},\n {\"name\": \"template_app_link_spec_ipad\", \"datatype\": dbt.type_string()},\n {\"name\": \"template_app_link_spec_iphone\", \"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_timestamp", "macro.dbt.type_int"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.691885, "supported_languages": null}, "macro.facebook_ads_source.get_campaign_history_columns": {"unique_id": "macro.facebook_ads_source.get_campaign_history_columns", "package_name": "facebook_ads_source", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_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\": \"updated_time\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"created_time\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"account_id\", \"datatype\": dbt.type_int()},\n {\"name\": \"id\", \"datatype\": dbt.type_int()},\n {\"name\": \"name\", \"datatype\": dbt.type_string()},\n {\"name\": \"start_time\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"stop_time\", \"datatype\": dbt.type_timestamp()}, \n {\"name\": \"status\", \"datatype\": dbt.type_string()},\n {\"name\": \"daily_budget\", \"datatype\": dbt.type_int()},\n {\"name\": \"lifetime_budget\", \"datatype\": dbt.type_int()},\n {\"name\": \"budget_remaining\", \"datatype\": dbt.type_float()}\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", "macro.dbt.type_float"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.693055, "supported_languages": null}, "macro.facebook_ads_source.get_basic_ad_columns": {"unique_id": "macro.facebook_ads_source.get_basic_ad_columns", "package_name": "facebook_ads_source", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "macros/get_basic_ad_columns.sql", "original_file_path": "macros/get_basic_ad_columns.sql", "name": "get_basic_ad_columns", "macro_sql": "{% macro get_basic_ad_columns() %}\n\n{% set columns = [\n {\"name\": \"ad_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"ad_name\", \"datatype\": dbt.type_string()},\n {\"name\": \"adset_name\", \"datatype\": dbt.type_string()},\n {\"name\": \"date\", \"datatype\": \"date\"},\n {\"name\": \"account_id\", \"datatype\": dbt.type_int()},\n {\"name\": \"impressions\", \"datatype\": dbt.type_int()},\n {\"name\": \"inline_link_clicks\", \"datatype\": dbt.type_int()},\n {\"name\": \"spend\", \"datatype\": dbt.type_float()},\n {\"name\": \"reach\", \"datatype\": dbt.type_int()},\n {\"name\": \"frequency\", \"datatype\": dbt.type_float()}\n] %}\n\n{{ fivetran_utils.add_pass_through_columns(columns, var('facebook_ads__basic_ad_passthrough_metrics')) }}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.type_string", "macro.dbt.type_int", "macro.dbt.type_float", "macro.fivetran_utils.add_pass_through_columns"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.694206, "supported_languages": null}, "macro.facebook_ads_source.get_account_history_columns": {"unique_id": "macro.facebook_ads_source.get_account_history_columns", "package_name": "facebook_ads_source", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "macros/get_account_history_columns.sql", "original_file_path": "macros/get_account_history_columns.sql", "name": "get_account_history_columns", "macro_sql": "{% macro get_account_history_columns() %}\n\n{% set columns = [\n {\"name\": \"id\", \"datatype\": dbt.type_int()},\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"name\", \"datatype\": dbt.type_string()},\n {\"name\": \"account_status\", \"datatype\": dbt.type_string()},\n {\"name\": \"business_country_code\", \"datatype\": dbt.type_string()},\n {\"name\": \"created_time\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"currency\", \"datatype\": dbt.type_string()},\n {\"name\": \"timezone_name\", \"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": 1666731665.6951098, "supported_languages": null}, "macro.facebook_ads_source.get_ad_history_columns": {"unique_id": "macro.facebook_ads_source.get_ad_history_columns", "package_name": "facebook_ads_source", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_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\": \"updated_time\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"id\", \"datatype\": dbt.type_int()},\n {\"name\": \"name\", \"datatype\": dbt.type_string()},\n {\"name\": \"account_id\", \"datatype\": dbt.type_int()},\n {\"name\": \"ad_set_id\", \"datatype\": dbt.type_int()},\n {\"name\": \"campaign_id\", \"datatype\": dbt.type_int()},\n {\"name\": \"creative_id\", \"datatype\": dbt.type_int()}\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": 1666731665.695918, "supported_languages": null}}, "docs": {"dbt.__overview__": {"unique_id": "dbt.__overview__", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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"}, "facebook_ads_source._fivetran_synced": {"unique_id": "facebook_ads_source._fivetran_synced", "package_name": "facebook_ads_source", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "_fivetran_synced", "block_contents": "When the record was last synced by Fivetran."}, "facebook_ads_source.is_most_recent_record": {"unique_id": "facebook_ads_source.is_most_recent_record", "package_name": "facebook_ads_source", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "is_most_recent_record", "block_contents": "Boolean representing whether a record is the most recent version of that record. All records should have this value set to True given we filter on it."}, "facebook_ads_source.updated_time": {"unique_id": "facebook_ads_source.updated_time", "package_name": "facebook_ads_source", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "updated_time", "block_contents": "The timestamp of the last update of a record."}}, "exposures": {}, "metrics": {}, "selectors": {}, "disabled": {}, "parent_map": {"seed.facebook_ads_integration_tests.facebook_ads_ad_history_data": [], "seed.facebook_ads_integration_tests.facebook_ads_creative_history_data": [], "seed.facebook_ads_integration_tests.facebook_ads_campaign_history_data": [], "seed.facebook_ads_integration_tests.facebook_ads_account_history_data": [], "seed.facebook_ads_integration_tests.facebook_ads_basic_ad_data": [], "seed.facebook_ads_integration_tests.facebook_ads_ad_set_history_data": [], "model.facebook_ads.facebook_ads__url_report": ["model.facebook_ads.int_facebook_ads__creative_history", "model.facebook_ads_source.stg_facebook_ads__account_history", "model.facebook_ads_source.stg_facebook_ads__ad_history", "model.facebook_ads_source.stg_facebook_ads__ad_set_history", "model.facebook_ads_source.stg_facebook_ads__basic_ad", "model.facebook_ads_source.stg_facebook_ads__campaign_history"], "model.facebook_ads.facebook_ads__url_tags": ["model.facebook_ads_source.stg_facebook_ads__creative_history"], "model.facebook_ads.facebook_ads__campaign_report": ["model.facebook_ads_source.stg_facebook_ads__account_history", "model.facebook_ads_source.stg_facebook_ads__ad_history", "model.facebook_ads_source.stg_facebook_ads__basic_ad", "model.facebook_ads_source.stg_facebook_ads__campaign_history"], "model.facebook_ads.facebook_ads__account_report": ["model.facebook_ads_source.stg_facebook_ads__account_history", "model.facebook_ads_source.stg_facebook_ads__basic_ad"], "model.facebook_ads.facebook_ads__ad_report": ["model.facebook_ads_source.stg_facebook_ads__account_history", "model.facebook_ads_source.stg_facebook_ads__ad_history", "model.facebook_ads_source.stg_facebook_ads__ad_set_history", "model.facebook_ads_source.stg_facebook_ads__basic_ad", "model.facebook_ads_source.stg_facebook_ads__campaign_history"], "model.facebook_ads.facebook_ads__ad_set_report": ["model.facebook_ads_source.stg_facebook_ads__account_history", "model.facebook_ads_source.stg_facebook_ads__ad_history", "model.facebook_ads_source.stg_facebook_ads__ad_set_history", "model.facebook_ads_source.stg_facebook_ads__basic_ad", "model.facebook_ads_source.stg_facebook_ads__campaign_history"], "model.facebook_ads.int_facebook_ads__creative_history": ["model.facebook_ads.facebook_ads__url_tags", "model.facebook_ads_source.stg_facebook_ads__creative_history"], "model.facebook_ads_source.stg_facebook_ads__basic_ad": ["model.facebook_ads_source.stg_facebook_ads__basic_ad_tmp", "model.facebook_ads_source.stg_facebook_ads__basic_ad_tmp"], "model.facebook_ads_source.stg_facebook_ads__creative_history": ["model.facebook_ads_source.stg_facebook_ads__creative_history_tmp", "model.facebook_ads_source.stg_facebook_ads__creative_history_tmp"], "model.facebook_ads_source.stg_facebook_ads__campaign_history": ["model.facebook_ads_source.stg_facebook_ads__campaign_history_tmp", "model.facebook_ads_source.stg_facebook_ads__campaign_history_tmp"], "model.facebook_ads_source.stg_facebook_ads__account_history": ["model.facebook_ads_source.stg_facebook_ads__account_history_tmp", "model.facebook_ads_source.stg_facebook_ads__account_history_tmp"], "model.facebook_ads_source.stg_facebook_ads__ad_history": ["model.facebook_ads_source.stg_facebook_ads__ad_history_tmp", "model.facebook_ads_source.stg_facebook_ads__ad_history_tmp"], "model.facebook_ads_source.stg_facebook_ads__ad_set_history": ["model.facebook_ads_source.stg_facebook_ads__ad_set_history_tmp", "model.facebook_ads_source.stg_facebook_ads__ad_set_history_tmp"], "model.facebook_ads_source.stg_facebook_ads__ad_set_history_tmp": ["source.facebook_ads_source.facebook_ads.ad_set_history"], "model.facebook_ads_source.stg_facebook_ads__basic_ad_tmp": ["source.facebook_ads_source.facebook_ads.basic_ad"], "model.facebook_ads_source.stg_facebook_ads__ad_history_tmp": ["source.facebook_ads_source.facebook_ads.ad_history"], "model.facebook_ads_source.stg_facebook_ads__campaign_history_tmp": ["source.facebook_ads_source.facebook_ads.campaign_history"], "model.facebook_ads_source.stg_facebook_ads__creative_history_tmp": ["source.facebook_ads_source.facebook_ads.creative_history"], "model.facebook_ads_source.stg_facebook_ads__account_history_tmp": ["source.facebook_ads_source.facebook_ads.account_history"], "test.facebook_ads.not_null_facebook_ads__url_report_base_url.b7757e50be": ["model.facebook_ads.facebook_ads__url_report"], "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__url_report_date_day__account_id__campaign_id__ad_set_id__ad_id.03a7e82eb7": ["model.facebook_ads.facebook_ads__url_report"], "test.facebook_ads.not_null_facebook_ads__ad_report_ad_id.3811d9c238": ["model.facebook_ads.facebook_ads__ad_report"], "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__ad_report_date_day__account_id__campaign_id__ad_set_id__ad_id.0a25b64738": ["model.facebook_ads.facebook_ads__ad_report"], "test.facebook_ads.not_null_facebook_ads__ad_set_report_ad_set_id.1ac870f5e4": ["model.facebook_ads.facebook_ads__ad_set_report"], "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__ad_set_report_date_day__account_id__campaign_id__ad_set_id.3dd4da872f": ["model.facebook_ads.facebook_ads__ad_set_report"], "test.facebook_ads.not_null_facebook_ads__campaign_report_campaign_id.d4f96d8d21": ["model.facebook_ads.facebook_ads__campaign_report"], "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__campaign_report_date_day__account_id__campaign_id.7cd75107e6": ["model.facebook_ads.facebook_ads__campaign_report"], "test.facebook_ads.not_null_facebook_ads__account_report_account_id.9be02b4024": ["model.facebook_ads.facebook_ads__account_report"], "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__account_report_date_day__account_id.5a94423e40": ["model.facebook_ads.facebook_ads__account_report"], "test.facebook_ads.not_null_facebook_ads__url_tags__fivetran_id.151d9515f3": ["model.facebook_ads.facebook_ads__url_tags"], "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__url_tags__fivetran_id__key__type.ba044777d3": ["model.facebook_ads.facebook_ads__url_tags"], "test.facebook_ads_source.not_null_stg_facebook_ads__account_history_account_id.f1cf38c40f": ["model.facebook_ads_source.stg_facebook_ads__account_history"], "test.facebook_ads_source.not_null_stg_facebook_ads__account_history__fivetran_synced.0570e35e1f": ["model.facebook_ads_source.stg_facebook_ads__account_history"], "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__account_history_account_id___fivetran_synced.f9b4d28fa2": ["model.facebook_ads_source.stg_facebook_ads__account_history"], "test.facebook_ads_source.not_null_stg_facebook_ads__ad_history_ad_id.11429d3064": ["model.facebook_ads_source.stg_facebook_ads__ad_history"], "test.facebook_ads_source.not_null_stg_facebook_ads__ad_history_updated_at.250a5a84e4": ["model.facebook_ads_source.stg_facebook_ads__ad_history"], "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__ad_history_ad_id__updated_at.2922c18b58": ["model.facebook_ads_source.stg_facebook_ads__ad_history"], "test.facebook_ads_source.not_null_stg_facebook_ads__ad_set_history_ad_set_id.e19a1df1bb": ["model.facebook_ads_source.stg_facebook_ads__ad_set_history"], "test.facebook_ads_source.not_null_stg_facebook_ads__ad_set_history_updated_at.ef7fafe0fa": ["model.facebook_ads_source.stg_facebook_ads__ad_set_history"], "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__ad_set_history_ad_set_id__updated_at.0a60ad0fef": ["model.facebook_ads_source.stg_facebook_ads__ad_set_history"], "test.facebook_ads_source.not_null_stg_facebook_ads__campaign_history_campaign_id.1ca7a83852": ["model.facebook_ads_source.stg_facebook_ads__campaign_history"], "test.facebook_ads_source.not_null_stg_facebook_ads__campaign_history_updated_at.9e59f99270": ["model.facebook_ads_source.stg_facebook_ads__campaign_history"], "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__campaign_history_campaign_id__updated_at.7437b392c2": ["model.facebook_ads_source.stg_facebook_ads__campaign_history"], "test.facebook_ads_source.not_null_stg_facebook_ads__creative_history__fivetran_synced.3b0593cb4f": ["model.facebook_ads_source.stg_facebook_ads__creative_history"], "test.facebook_ads_source.not_null_stg_facebook_ads__creative_history_creative_id.eb4d804261": ["model.facebook_ads_source.stg_facebook_ads__creative_history"], "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__creative_history_creative_id___fivetran_synced.69ddc26562": ["model.facebook_ads_source.stg_facebook_ads__creative_history"], "test.facebook_ads_source.not_null_stg_facebook_ads__basic_ad_ad_id.2611b250fc": ["model.facebook_ads_source.stg_facebook_ads__basic_ad"], "test.facebook_ads_source.not_null_stg_facebook_ads__basic_ad_account_id.d06f6d861b": ["model.facebook_ads_source.stg_facebook_ads__basic_ad"], "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__basic_ad_date_day__ad_id__account_id.bd909529e7": ["model.facebook_ads_source.stg_facebook_ads__basic_ad"], "source.facebook_ads_source.facebook_ads.account_history": [], "source.facebook_ads_source.facebook_ads.ad_history": [], "source.facebook_ads_source.facebook_ads.ad_set_history": [], "source.facebook_ads_source.facebook_ads.basic_ad": [], "source.facebook_ads_source.facebook_ads.campaign_history": [], "source.facebook_ads_source.facebook_ads.creative_history": []}, "child_map": {"seed.facebook_ads_integration_tests.facebook_ads_ad_history_data": [], "seed.facebook_ads_integration_tests.facebook_ads_creative_history_data": [], "seed.facebook_ads_integration_tests.facebook_ads_campaign_history_data": [], "seed.facebook_ads_integration_tests.facebook_ads_account_history_data": [], "seed.facebook_ads_integration_tests.facebook_ads_basic_ad_data": [], "seed.facebook_ads_integration_tests.facebook_ads_ad_set_history_data": [], "model.facebook_ads.facebook_ads__url_report": ["test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__url_report_date_day__account_id__campaign_id__ad_set_id__ad_id.03a7e82eb7", "test.facebook_ads.not_null_facebook_ads__url_report_base_url.b7757e50be"], "model.facebook_ads.facebook_ads__url_tags": ["model.facebook_ads.int_facebook_ads__creative_history", "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__url_tags__fivetran_id__key__type.ba044777d3", "test.facebook_ads.not_null_facebook_ads__url_tags__fivetran_id.151d9515f3"], "model.facebook_ads.facebook_ads__campaign_report": ["test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__campaign_report_date_day__account_id__campaign_id.7cd75107e6", "test.facebook_ads.not_null_facebook_ads__campaign_report_campaign_id.d4f96d8d21"], "model.facebook_ads.facebook_ads__account_report": ["test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__account_report_date_day__account_id.5a94423e40", "test.facebook_ads.not_null_facebook_ads__account_report_account_id.9be02b4024"], "model.facebook_ads.facebook_ads__ad_report": ["test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__ad_report_date_day__account_id__campaign_id__ad_set_id__ad_id.0a25b64738", "test.facebook_ads.not_null_facebook_ads__ad_report_ad_id.3811d9c238"], "model.facebook_ads.facebook_ads__ad_set_report": ["test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__ad_set_report_date_day__account_id__campaign_id__ad_set_id.3dd4da872f", "test.facebook_ads.not_null_facebook_ads__ad_set_report_ad_set_id.1ac870f5e4"], "model.facebook_ads.int_facebook_ads__creative_history": ["model.facebook_ads.facebook_ads__url_report"], "model.facebook_ads_source.stg_facebook_ads__basic_ad": ["model.facebook_ads.facebook_ads__account_report", "model.facebook_ads.facebook_ads__ad_report", "model.facebook_ads.facebook_ads__ad_set_report", "model.facebook_ads.facebook_ads__campaign_report", "model.facebook_ads.facebook_ads__url_report", "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__basic_ad_date_day__ad_id__account_id.bd909529e7", "test.facebook_ads_source.not_null_stg_facebook_ads__basic_ad_account_id.d06f6d861b", "test.facebook_ads_source.not_null_stg_facebook_ads__basic_ad_ad_id.2611b250fc"], "model.facebook_ads_source.stg_facebook_ads__creative_history": ["model.facebook_ads.facebook_ads__url_tags", "model.facebook_ads.int_facebook_ads__creative_history", "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__creative_history_creative_id___fivetran_synced.69ddc26562", "test.facebook_ads_source.not_null_stg_facebook_ads__creative_history__fivetran_synced.3b0593cb4f", "test.facebook_ads_source.not_null_stg_facebook_ads__creative_history_creative_id.eb4d804261"], "model.facebook_ads_source.stg_facebook_ads__campaign_history": ["model.facebook_ads.facebook_ads__ad_report", "model.facebook_ads.facebook_ads__ad_set_report", "model.facebook_ads.facebook_ads__campaign_report", "model.facebook_ads.facebook_ads__url_report", "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__campaign_history_campaign_id__updated_at.7437b392c2", "test.facebook_ads_source.not_null_stg_facebook_ads__campaign_history_campaign_id.1ca7a83852", "test.facebook_ads_source.not_null_stg_facebook_ads__campaign_history_updated_at.9e59f99270"], "model.facebook_ads_source.stg_facebook_ads__account_history": ["model.facebook_ads.facebook_ads__account_report", "model.facebook_ads.facebook_ads__ad_report", "model.facebook_ads.facebook_ads__ad_set_report", "model.facebook_ads.facebook_ads__campaign_report", "model.facebook_ads.facebook_ads__url_report", "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__account_history_account_id___fivetran_synced.f9b4d28fa2", "test.facebook_ads_source.not_null_stg_facebook_ads__account_history__fivetran_synced.0570e35e1f", "test.facebook_ads_source.not_null_stg_facebook_ads__account_history_account_id.f1cf38c40f"], "model.facebook_ads_source.stg_facebook_ads__ad_history": ["model.facebook_ads.facebook_ads__ad_report", "model.facebook_ads.facebook_ads__ad_set_report", "model.facebook_ads.facebook_ads__campaign_report", "model.facebook_ads.facebook_ads__url_report", "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__ad_history_ad_id__updated_at.2922c18b58", "test.facebook_ads_source.not_null_stg_facebook_ads__ad_history_ad_id.11429d3064", "test.facebook_ads_source.not_null_stg_facebook_ads__ad_history_updated_at.250a5a84e4"], "model.facebook_ads_source.stg_facebook_ads__ad_set_history": ["model.facebook_ads.facebook_ads__ad_report", "model.facebook_ads.facebook_ads__ad_set_report", "model.facebook_ads.facebook_ads__url_report", "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__ad_set_history_ad_set_id__updated_at.0a60ad0fef", "test.facebook_ads_source.not_null_stg_facebook_ads__ad_set_history_ad_set_id.e19a1df1bb", "test.facebook_ads_source.not_null_stg_facebook_ads__ad_set_history_updated_at.ef7fafe0fa"], "model.facebook_ads_source.stg_facebook_ads__ad_set_history_tmp": ["model.facebook_ads_source.stg_facebook_ads__ad_set_history", "model.facebook_ads_source.stg_facebook_ads__ad_set_history"], "model.facebook_ads_source.stg_facebook_ads__basic_ad_tmp": ["model.facebook_ads_source.stg_facebook_ads__basic_ad", "model.facebook_ads_source.stg_facebook_ads__basic_ad"], "model.facebook_ads_source.stg_facebook_ads__ad_history_tmp": ["model.facebook_ads_source.stg_facebook_ads__ad_history", "model.facebook_ads_source.stg_facebook_ads__ad_history"], "model.facebook_ads_source.stg_facebook_ads__campaign_history_tmp": ["model.facebook_ads_source.stg_facebook_ads__campaign_history", "model.facebook_ads_source.stg_facebook_ads__campaign_history"], "model.facebook_ads_source.stg_facebook_ads__creative_history_tmp": ["model.facebook_ads_source.stg_facebook_ads__creative_history", "model.facebook_ads_source.stg_facebook_ads__creative_history"], "model.facebook_ads_source.stg_facebook_ads__account_history_tmp": ["model.facebook_ads_source.stg_facebook_ads__account_history", "model.facebook_ads_source.stg_facebook_ads__account_history"], "test.facebook_ads.not_null_facebook_ads__url_report_base_url.b7757e50be": [], "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__url_report_date_day__account_id__campaign_id__ad_set_id__ad_id.03a7e82eb7": [], "test.facebook_ads.not_null_facebook_ads__ad_report_ad_id.3811d9c238": [], "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__ad_report_date_day__account_id__campaign_id__ad_set_id__ad_id.0a25b64738": [], "test.facebook_ads.not_null_facebook_ads__ad_set_report_ad_set_id.1ac870f5e4": [], "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__ad_set_report_date_day__account_id__campaign_id__ad_set_id.3dd4da872f": [], "test.facebook_ads.not_null_facebook_ads__campaign_report_campaign_id.d4f96d8d21": [], "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__campaign_report_date_day__account_id__campaign_id.7cd75107e6": [], "test.facebook_ads.not_null_facebook_ads__account_report_account_id.9be02b4024": [], "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__account_report_date_day__account_id.5a94423e40": [], "test.facebook_ads.not_null_facebook_ads__url_tags__fivetran_id.151d9515f3": [], "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__url_tags__fivetran_id__key__type.ba044777d3": [], "test.facebook_ads_source.not_null_stg_facebook_ads__account_history_account_id.f1cf38c40f": [], "test.facebook_ads_source.not_null_stg_facebook_ads__account_history__fivetran_synced.0570e35e1f": [], "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__account_history_account_id___fivetran_synced.f9b4d28fa2": [], "test.facebook_ads_source.not_null_stg_facebook_ads__ad_history_ad_id.11429d3064": [], "test.facebook_ads_source.not_null_stg_facebook_ads__ad_history_updated_at.250a5a84e4": [], "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__ad_history_ad_id__updated_at.2922c18b58": [], "test.facebook_ads_source.not_null_stg_facebook_ads__ad_set_history_ad_set_id.e19a1df1bb": [], "test.facebook_ads_source.not_null_stg_facebook_ads__ad_set_history_updated_at.ef7fafe0fa": [], "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__ad_set_history_ad_set_id__updated_at.0a60ad0fef": [], "test.facebook_ads_source.not_null_stg_facebook_ads__campaign_history_campaign_id.1ca7a83852": [], "test.facebook_ads_source.not_null_stg_facebook_ads__campaign_history_updated_at.9e59f99270": [], "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__campaign_history_campaign_id__updated_at.7437b392c2": [], "test.facebook_ads_source.not_null_stg_facebook_ads__creative_history__fivetran_synced.3b0593cb4f": [], "test.facebook_ads_source.not_null_stg_facebook_ads__creative_history_creative_id.eb4d804261": [], "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__creative_history_creative_id___fivetran_synced.69ddc26562": [], "test.facebook_ads_source.not_null_stg_facebook_ads__basic_ad_ad_id.2611b250fc": [], "test.facebook_ads_source.not_null_stg_facebook_ads__basic_ad_account_id.d06f6d861b": [], "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__basic_ad_date_day__ad_id__account_id.bd909529e7": [], "source.facebook_ads_source.facebook_ads.account_history": ["model.facebook_ads_source.stg_facebook_ads__account_history_tmp"], "source.facebook_ads_source.facebook_ads.ad_history": ["model.facebook_ads_source.stg_facebook_ads__ad_history_tmp"], "source.facebook_ads_source.facebook_ads.ad_set_history": ["model.facebook_ads_source.stg_facebook_ads__ad_set_history_tmp"], "source.facebook_ads_source.facebook_ads.basic_ad": ["model.facebook_ads_source.stg_facebook_ads__basic_ad_tmp"], "source.facebook_ads_source.facebook_ads.campaign_history": ["model.facebook_ads_source.stg_facebook_ads__campaign_history_tmp"], "source.facebook_ads_source.facebook_ads.creative_history": ["model.facebook_ads_source.stg_facebook_ads__creative_history_tmp"]}} \ No newline at end of file diff --git a/docs/run_results.json b/docs/run_results.json index 3cd6bae..f53272a 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.0.4", "generated_at": "2022-08-26T21:05:14.220450Z", "invocation_id": "19fcddff-0e25-40ec-bebe-1f3806ee99e6", "env": {}}, "results": [{"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T21:05:13.447549Z", "completed_at": "2022-08-26T21:05:13.466064Z"}, {"name": "execute", "started_at": "2022-08-26T21:05:13.470487Z", "completed_at": "2022-08-26T21:05:13.470501Z"}], "thread_id": "Thread-1", "execution_time": 0.02379918098449707, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads_source.stg_facebook_ads__account_history_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T21:05:13.453242Z", "completed_at": "2022-08-26T21:05:13.469625Z"}, {"name": "execute", "started_at": "2022-08-26T21:05:13.470674Z", "completed_at": "2022-08-26T21:05:13.470677Z"}], "thread_id": "Thread-2", "execution_time": 0.019958972930908203, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads_source.stg_facebook_ads__ad_history_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T21:05:13.461306Z", "completed_at": "2022-08-26T21:05:13.470235Z"}, {"name": "execute", "started_at": "2022-08-26T21:05:13.470957Z", "completed_at": "2022-08-26T21:05:13.470960Z"}], "thread_id": "Thread-4", "execution_time": 0.019324064254760742, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads_source.stg_facebook_ads__basic_ad_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T21:05:13.460987Z", "completed_at": "2022-08-26T21:05:13.473642Z"}, {"name": "execute", "started_at": "2022-08-26T21:05:13.479447Z", "completed_at": "2022-08-26T21:05:13.479466Z"}], "thread_id": "Thread-3", "execution_time": 0.030727148056030273, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads_source.stg_facebook_ads__ad_set_history_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T21:05:13.473933Z", "completed_at": "2022-08-26T21:05:13.481891Z"}, {"name": "execute", "started_at": "2022-08-26T21:05:13.483099Z", "completed_at": "2022-08-26T21:05:13.483105Z"}], "thread_id": "Thread-1", "execution_time": 0.011814117431640625, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads_source.stg_facebook_ads__campaign_history_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T21:05:13.476969Z", "completed_at": "2022-08-26T21:05:13.482551Z"}, {"name": "execute", "started_at": "2022-08-26T21:05:13.483336Z", "completed_at": "2022-08-26T21:05:13.483339Z"}], "thread_id": "Thread-4", "execution_time": 0.010838031768798828, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.facebook_ads_integration_tests.facebook_ads_account_history_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T21:05:13.474191Z", "completed_at": "2022-08-26T21:05:13.484715Z"}, {"name": "execute", "started_at": "2022-08-26T21:05:13.488363Z", "completed_at": "2022-08-26T21:05:13.488372Z"}], "thread_id": "Thread-2", "execution_time": 0.018559932708740234, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads_source.stg_facebook_ads__creative_history_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T21:05:13.483970Z", "completed_at": "2022-08-26T21:05:13.487994Z"}, {"name": "execute", "started_at": "2022-08-26T21:05:13.490633Z", "completed_at": "2022-08-26T21:05:13.490638Z"}], "thread_id": "Thread-3", "execution_time": 0.009250879287719727, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.facebook_ads_integration_tests.facebook_ads_ad_history_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T21:05:13.488240Z", "completed_at": "2022-08-26T21:05:13.491788Z"}, {"name": "execute", "started_at": "2022-08-26T21:05:13.493512Z", "completed_at": "2022-08-26T21:05:13.493521Z"}], "thread_id": "Thread-1", "execution_time": 0.009418964385986328, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.facebook_ads_integration_tests.facebook_ads_ad_set_history_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T21:05:13.488630Z", "completed_at": "2022-08-26T21:05:13.492615Z"}, {"name": "execute", "started_at": "2022-08-26T21:05:13.494697Z", "completed_at": "2022-08-26T21:05:13.494702Z"}], "thread_id": "Thread-4", "execution_time": 0.00803995132446289, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.facebook_ads_integration_tests.facebook_ads_basic_ad_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T21:05:13.499356Z", "completed_at": "2022-08-26T21:05:13.500631Z"}, {"name": "execute", "started_at": "2022-08-26T21:05:13.507714Z", "completed_at": "2022-08-26T21:05:13.507730Z"}], "thread_id": "Thread-3", "execution_time": 0.013108968734741211, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.facebook_ads_integration_tests.facebook_ads_creative_history_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T21:05:13.494990Z", "completed_at": "2022-08-26T21:05:13.500878Z"}, {"name": "execute", "started_at": "2022-08-26T21:05:13.507948Z", "completed_at": "2022-08-26T21:05:13.507952Z"}], "thread_id": "Thread-2", "execution_time": 0.015613794326782227, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.facebook_ads_integration_tests.facebook_ads_campaign_history_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T21:05:13.500951Z", "completed_at": "2022-08-26T21:05:13.772401Z"}, {"name": "execute", "started_at": "2022-08-26T21:05:13.772666Z", "completed_at": "2022-08-26T21:05:13.772680Z"}], "thread_id": "Thread-1", "execution_time": 0.29943227767944336, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads_source.stg_facebook_ads__account_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T21:05:13.508361Z", "completed_at": "2022-08-26T21:05:13.815465Z"}, {"name": "execute", "started_at": "2022-08-26T21:05:13.815697Z", "completed_at": "2022-08-26T21:05:13.815707Z"}], "thread_id": "Thread-4", "execution_time": 0.33923816680908203, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads_source.stg_facebook_ads__ad_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T21:05:13.514879Z", "completed_at": "2022-08-26T21:05:13.824011Z"}, {"name": "execute", "started_at": "2022-08-26T21:05:13.824473Z", "completed_at": "2022-08-26T21:05:13.824480Z"}], "thread_id": "Thread-3", "execution_time": 0.33683109283447266, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads_source.stg_facebook_ads__basic_ad"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T21:05:13.514805Z", "completed_at": "2022-08-26T21:05:13.824143Z"}, {"name": "execute", "started_at": "2022-08-26T21:05:13.824559Z", "completed_at": "2022-08-26T21:05:13.824562Z"}], "thread_id": "Thread-2", "execution_time": 0.3367490768432617, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads_source.stg_facebook_ads__ad_set_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T21:05:13.852575Z", "completed_at": "2022-08-26T21:05:13.877429Z"}, {"name": "execute", "started_at": "2022-08-26T21:05:13.877783Z", "completed_at": "2022-08-26T21:05:13.877790Z"}], "thread_id": "Thread-2", "execution_time": 0.02603602409362793, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__account_history__fivetran_synced.0570e35e1f"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T21:05:13.852474Z", "completed_at": "2022-08-26T21:05:13.877524Z"}, {"name": "execute", "started_at": "2022-08-26T21:05:13.877860Z", "completed_at": "2022-08-26T21:05:13.877863Z"}], "thread_id": "Thread-3", "execution_time": 0.026381969451904297, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__account_history_account_id___fivetran_synced.f9b4d28fa2"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T21:05:13.879043Z", "completed_at": "2022-08-26T21:05:13.884181Z"}, {"name": "execute", "started_at": "2022-08-26T21:05:13.884541Z", "completed_at": "2022-08-26T21:05:13.884548Z"}], "thread_id": "Thread-2", "execution_time": 0.006213188171386719, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__account_history_account_id.f1cf38c40f"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T21:05:13.879119Z", "completed_at": "2022-08-26T21:05:13.884255Z"}, {"name": "execute", "started_at": "2022-08-26T21:05:13.884631Z", "completed_at": "2022-08-26T21:05:13.884634Z"}], "thread_id": "Thread-3", "execution_time": 0.0062160491943359375, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__ad_history_ad_id__updated_at.2922c18b58"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T21:05:13.885767Z", "completed_at": "2022-08-26T21:05:13.892297Z"}, {"name": "execute", "started_at": "2022-08-26T21:05:13.892627Z", "completed_at": "2022-08-26T21:05:13.892634Z"}], "thread_id": "Thread-3", "execution_time": 0.007467985153198242, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__ad_history_updated_at.250a5a84e4"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T21:05:13.885692Z", "completed_at": "2022-08-26T21:05:13.892369Z"}, {"name": "execute", "started_at": "2022-08-26T21:05:13.892710Z", "completed_at": "2022-08-26T21:05:13.892713Z"}], "thread_id": "Thread-2", "execution_time": 0.007761240005493164, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__ad_history_ad_id.11429d3064"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T21:05:13.894040Z", "completed_at": "2022-08-26T21:05:13.904289Z"}, {"name": "execute", "started_at": "2022-08-26T21:05:13.904749Z", "completed_at": "2022-08-26T21:05:13.904759Z"}], "thread_id": "Thread-2", "execution_time": 0.01164388656616211, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__basic_ad_date_day__ad_id__account_id.bd909529e7"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T21:05:13.893960Z", "completed_at": "2022-08-26T21:05:13.904390Z"}, {"name": "execute", "started_at": "2022-08-26T21:05:13.904885Z", "completed_at": "2022-08-26T21:05:13.904894Z"}], "thread_id": "Thread-3", "execution_time": 0.012079000473022461, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads.facebook_ads__account_report"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T21:05:13.906539Z", "completed_at": "2022-08-26T21:05:13.911204Z"}, {"name": "execute", "started_at": "2022-08-26T21:05:13.911518Z", "completed_at": "2022-08-26T21:05:13.911525Z"}], "thread_id": "Thread-3", "execution_time": 0.0055921077728271484, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__basic_ad_ad_id.2611b250fc"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T21:05:13.906465Z", "completed_at": "2022-08-26T21:05:13.911285Z"}, {"name": "execute", "started_at": "2022-08-26T21:05:13.911595Z", "completed_at": "2022-08-26T21:05:13.911599Z"}], "thread_id": "Thread-2", "execution_time": 0.005951881408691406, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__basic_ad_account_id.d06f6d861b"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T21:05:13.912677Z", "completed_at": "2022-08-26T21:05:13.918557Z"}, {"name": "execute", "started_at": "2022-08-26T21:05:13.918857Z", "completed_at": "2022-08-26T21:05:13.918863Z"}], "thread_id": "Thread-3", "execution_time": 0.0068569183349609375, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__ad_set_history_ad_set_id__updated_at.0a60ad0fef"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T21:05:13.912747Z", "completed_at": "2022-08-26T21:05:13.918627Z"}, {"name": "execute", "started_at": "2022-08-26T21:05:13.918942Z", "completed_at": "2022-08-26T21:05:13.918947Z"}], "thread_id": "Thread-2", "execution_time": 0.0068721771240234375, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__ad_set_history_ad_set_id.e19a1df1bb"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T21:05:13.919996Z", "completed_at": "2022-08-26T21:05:13.924978Z"}, {"name": "execute", "started_at": "2022-08-26T21:05:13.925232Z", "completed_at": "2022-08-26T21:05:13.925239Z"}], "thread_id": "Thread-3", "execution_time": 0.005885124206542969, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__ad_set_history_updated_at.ef7fafe0fa"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T21:05:13.920071Z", "completed_at": "2022-08-26T21:05:13.925149Z"}, {"name": "execute", "started_at": "2022-08-26T21:05:13.925573Z", "completed_at": "2022-08-26T21:05:13.925575Z"}], "thread_id": "Thread-2", "execution_time": 0.006077289581298828, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__account_report_date_day__account_id.5a94423e40"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T21:05:13.797883Z", "completed_at": "2022-08-26T21:05:14.036826Z"}, {"name": "execute", "started_at": "2022-08-26T21:05:14.036984Z", "completed_at": "2022-08-26T21:05:14.036991Z"}], "thread_id": "Thread-1", "execution_time": 0.2626161575317383, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads_source.stg_facebook_ads__campaign_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T21:05:14.060663Z", "completed_at": "2022-08-26T21:05:14.065783Z"}, {"name": "execute", "started_at": "2022-08-26T21:05:14.073720Z", "completed_at": "2022-08-26T21:05:14.073729Z"}], "thread_id": "Thread-3", "execution_time": 0.013525009155273438, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads.facebook_ads__ad_report"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T21:05:14.065730Z", "completed_at": "2022-08-26T21:05:14.074057Z"}, {"name": "execute", "started_at": "2022-08-26T21:05:14.074667Z", "completed_at": "2022-08-26T21:05:14.074671Z"}], "thread_id": "Thread-2", "execution_time": 0.009690999984741211, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads.facebook_ads__ad_set_report"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T21:05:14.065853Z", "completed_at": "2022-08-26T21:05:14.074264Z"}, {"name": "execute", "started_at": "2022-08-26T21:05:14.074807Z", "completed_at": "2022-08-26T21:05:14.074809Z"}], "thread_id": "Thread-1", "execution_time": 0.009719133377075195, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads.facebook_ads__campaign_report"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T21:05:14.075020Z", "completed_at": "2022-08-26T21:05:14.079534Z"}, {"name": "execute", "started_at": "2022-08-26T21:05:14.084655Z", "completed_at": "2022-08-26T21:05:14.084664Z"}], "thread_id": "Thread-3", "execution_time": 0.010458230972290039, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__campaign_history_campaign_id__updated_at.7437b392c2"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T21:05:14.079475Z", "completed_at": "2022-08-26T21:05:14.088918Z"}, {"name": "execute", "started_at": "2022-08-26T21:05:14.096194Z", "completed_at": "2022-08-26T21:05:14.096202Z"}], "thread_id": "Thread-2", "execution_time": 0.018206119537353516, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__campaign_history_campaign_id.1ca7a83852"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T21:05:14.079606Z", "completed_at": "2022-08-26T21:05:14.094453Z"}, {"name": "execute", "started_at": "2022-08-26T21:05:14.096337Z", "completed_at": "2022-08-26T21:05:14.096340Z"}], "thread_id": "Thread-1", "execution_time": 0.018870115280151367, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__campaign_history_updated_at.9e59f99270"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T21:05:14.085325Z", "completed_at": "2022-08-26T21:05:14.095927Z"}, {"name": "execute", "started_at": "2022-08-26T21:05:14.098739Z", "completed_at": "2022-08-26T21:05:14.098743Z"}], "thread_id": "Thread-3", "execution_time": 0.015105962753295898, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__ad_report_date_day__account_id__campaign_id__ad_set_id__ad_id.0a25b64738"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T21:05:14.100996Z", "completed_at": "2022-08-26T21:05:14.108096Z"}, {"name": "execute", "started_at": "2022-08-26T21:05:14.108245Z", "completed_at": "2022-08-26T21:05:14.108248Z"}], "thread_id": "Thread-1", "execution_time": 0.007912158966064453, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__campaign_report_date_day__account_id__campaign_id.7cd75107e6"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T21:05:14.100923Z", "completed_at": "2022-08-26T21:05:14.108552Z"}, {"name": "execute", "started_at": "2022-08-26T21:05:14.108702Z", "completed_at": "2022-08-26T21:05:14.108706Z"}], "thread_id": "Thread-2", "execution_time": 0.008491039276123047, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__ad_set_report_date_day__account_id__campaign_id__ad_set_id.3dd4da872f"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T21:05:13.840792Z", "completed_at": "2022-08-26T21:05:14.103990Z"}, {"name": "execute", "started_at": "2022-08-26T21:05:14.107724Z", "completed_at": "2022-08-26T21:05:14.107731Z"}], "thread_id": "Thread-4", "execution_time": 0.29128384590148926, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads_source.stg_facebook_ads__creative_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T21:05:14.133296Z", "completed_at": "2022-08-26T21:05:14.144437Z"}, {"name": "execute", "started_at": "2022-08-26T21:05:14.144888Z", "completed_at": "2022-08-26T21:05:14.144899Z"}], "thread_id": "Thread-3", "execution_time": 0.01254892349243164, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads.facebook_ads__url_tags"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T21:05:14.133447Z", "completed_at": "2022-08-26T21:05:14.152151Z"}, {"name": "execute", "started_at": "2022-08-26T21:05:14.206111Z", "completed_at": "2022-08-26T21:05:14.206120Z"}], "thread_id": "Thread-1", "execution_time": 0.07383608818054199, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__creative_history_creative_id___fivetran_synced.69ddc26562"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T21:05:14.140008Z", "completed_at": "2022-08-26T21:05:14.158661Z"}, {"name": "execute", "started_at": "2022-08-26T21:05:14.206215Z", "completed_at": "2022-08-26T21:05:14.206219Z"}], "thread_id": "Thread-4", "execution_time": 0.07365679740905762, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__creative_history_creative_id.eb4d804261"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T21:05:14.137175Z", "completed_at": "2022-08-26T21:05:14.158774Z"}, {"name": "execute", "started_at": "2022-08-26T21:05:14.206362Z", "completed_at": "2022-08-26T21:05:14.206365Z"}], "thread_id": "Thread-2", "execution_time": 0.07396602630615234, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__creative_history__fivetran_synced.3b0593cb4f"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T21:05:14.145687Z", "completed_at": "2022-08-26T21:05:14.206722Z"}, {"name": "execute", "started_at": "2022-08-26T21:05:14.207473Z", "completed_at": "2022-08-26T21:05:14.207477Z"}], "thread_id": "Thread-3", "execution_time": 0.06220698356628418, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads.int_facebook_ads__creative_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T21:05:14.207740Z", "completed_at": "2022-08-26T21:05:14.215107Z"}, {"name": "execute", "started_at": "2022-08-26T21:05:14.215247Z", "completed_at": "2022-08-26T21:05:14.215251Z"}], "thread_id": "Thread-1", "execution_time": 0.008048772811889648, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__url_tags__fivetran_id__key__type.ba044777d3"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T21:05:14.210923Z", "completed_at": "2022-08-26T21:05:14.215497Z"}, {"name": "execute", "started_at": "2022-08-26T21:05:14.215638Z", "completed_at": "2022-08-26T21:05:14.215641Z"}], "thread_id": "Thread-4", "execution_time": 0.005071878433227539, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads.facebook_ads__url_report"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T21:05:14.216154Z", "completed_at": "2022-08-26T21:05:14.219331Z"}, {"name": "execute", "started_at": "2022-08-26T21:05:14.219491Z", "completed_at": "2022-08-26T21:05:14.219496Z"}], "thread_id": "Thread-3", "execution_time": 0.0036759376525878906, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__url_report_date_day__account_id__campaign_id__ad_set_id__ad_id.03a7e82eb7"}], "elapsed_time": 1.623652696609497, "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, "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.3.0", "generated_at": "2022-10-25T21:01:47.098377Z", "invocation_id": "bb3da3fc-73db-47bd-88c1-560f01c5b724", "env": {}}, "results": [{"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:46.143096Z", "completed_at": "2022-10-25T21:01:46.157423Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:46.158354Z", "completed_at": "2022-10-25T21:01:46.158369Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.017778873443603516, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads_source.stg_facebook_ads__account_history_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:46.143297Z", "completed_at": "2022-10-25T21:01:46.157751Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:46.158457Z", "completed_at": "2022-10-25T21:01:46.158461Z"}], "thread_id": "Thread-2 (worker)", "execution_time": 0.017570018768310547, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads_source.stg_facebook_ads__ad_history_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:46.148029Z", "completed_at": "2022-10-25T21:01:46.158217Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:46.159438Z", "completed_at": "2022-10-25T21:01:46.159442Z"}], "thread_id": "Thread-4 (worker)", "execution_time": 0.017676115036010742, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads_source.stg_facebook_ads__basic_ad_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:46.143395Z", "completed_at": "2022-10-25T21:01:46.158295Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:46.159525Z", "completed_at": "2022-10-25T21:01:46.159528Z"}], "thread_id": "Thread-3 (worker)", "execution_time": 0.01847386360168457, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads_source.stg_facebook_ads__ad_set_history_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:46.162445Z", "completed_at": "2022-10-25T21:01:46.171882Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:46.172466Z", "completed_at": "2022-10-25T21:01:46.172472Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.012215137481689453, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads_source.stg_facebook_ads__campaign_history_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:46.169233Z", "completed_at": "2022-10-25T21:01:46.171960Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:46.172538Z", "completed_at": "2022-10-25T21:01:46.172542Z"}], "thread_id": "Thread-4 (worker)", "execution_time": 0.011380910873413086, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.facebook_ads_integration_tests.facebook_ads_account_history_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:46.162530Z", "completed_at": "2022-10-25T21:01:46.172011Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:46.172611Z", "completed_at": "2022-10-25T21:01:46.172614Z"}], "thread_id": "Thread-2 (worker)", "execution_time": 0.01250004768371582, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads_source.stg_facebook_ads__creative_history_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:46.169314Z", "completed_at": "2022-10-25T21:01:46.172077Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:46.172677Z", "completed_at": "2022-10-25T21:01:46.172680Z"}], "thread_id": "Thread-3 (worker)", "execution_time": 0.01164102554321289, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.facebook_ads_integration_tests.facebook_ads_ad_history_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:46.175623Z", "completed_at": "2022-10-25T21:01:46.179892Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:46.180398Z", "completed_at": "2022-10-25T21:01:46.180402Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.0063838958740234375, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.facebook_ads_integration_tests.facebook_ads_ad_set_history_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:46.175690Z", "completed_at": "2022-10-25T21:01:46.179966Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:46.180465Z", "completed_at": "2022-10-25T21:01:46.180467Z"}], "thread_id": "Thread-4 (worker)", "execution_time": 0.007183074951171875, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.facebook_ads_integration_tests.facebook_ads_basic_ad_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:46.175755Z", "completed_at": "2022-10-25T21:01:46.180035Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:46.180524Z", "completed_at": "2022-10-25T21:01:46.180527Z"}], "thread_id": "Thread-2 (worker)", "execution_time": 0.00719904899597168, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.facebook_ads_integration_tests.facebook_ads_campaign_history_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:46.175818Z", "completed_at": "2022-10-25T21:01:46.180095Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:46.180584Z", "completed_at": "2022-10-25T21:01:46.180586Z"}], "thread_id": "Thread-3 (worker)", "execution_time": 0.007214069366455078, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.facebook_ads_integration_tests.facebook_ads_creative_history_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:46.183998Z", "completed_at": "2022-10-25T21:01:46.511985Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:46.512186Z", "completed_at": "2022-10-25T21:01:46.512194Z"}], "thread_id": "Thread-2 (worker)", "execution_time": 0.32919979095458984, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads_source.stg_facebook_ads__basic_ad"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:46.183886Z", "completed_at": "2022-10-25T21:01:46.537336Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:46.537630Z", "completed_at": "2022-10-25T21:01:46.537639Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.3551616668701172, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads_source.stg_facebook_ads__account_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:46.184052Z", "completed_at": "2022-10-25T21:01:46.537521Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:46.538169Z", "completed_at": "2022-10-25T21:01:46.538172Z"}], "thread_id": "Thread-3 (worker)", "execution_time": 0.3551640510559082, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads_source.stg_facebook_ads__ad_set_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:46.183942Z", "completed_at": "2022-10-25T21:01:46.537570Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:46.538243Z", "completed_at": "2022-10-25T21:01:46.538248Z"}], "thread_id": "Thread-4 (worker)", "execution_time": 0.3558981418609619, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads_source.stg_facebook_ads__ad_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:46.543022Z", "completed_at": "2022-10-25T21:01:46.556094Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:46.556256Z", "completed_at": "2022-10-25T21:01:46.556263Z"}], "thread_id": "Thread-4 (worker)", "execution_time": 0.016457796096801758, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__basic_ad_account_id.d06f6d861b"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:46.542951Z", "completed_at": "2022-10-25T21:01:46.559239Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:46.559421Z", "completed_at": "2022-10-25T21:01:46.559425Z"}], "thread_id": "Thread-3 (worker)", "execution_time": 0.01981210708618164, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__basic_ad_date_day__ad_id__account_id.bd909529e7"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:46.557013Z", "completed_at": "2022-10-25T21:01:46.559744Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:46.560163Z", "completed_at": "2022-10-25T21:01:46.560167Z"}], "thread_id": "Thread-4 (worker)", "execution_time": 0.0037221908569335938, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__basic_ad_ad_id.2611b250fc"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:46.560500Z", "completed_at": "2022-10-25T21:01:46.569099Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:46.569261Z", "completed_at": "2022-10-25T21:01:46.569265Z"}], "thread_id": "Thread-3 (worker)", "execution_time": 0.009539127349853516, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads.facebook_ads__account_report"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:46.566505Z", "completed_at": "2022-10-25T21:01:46.569306Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:46.569861Z", "completed_at": "2022-10-25T21:01:46.569864Z"}], "thread_id": "Thread-4 (worker)", "execution_time": 0.004028797149658203, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__account_history_account_id___fivetran_synced.f9b4d28fa2"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:46.570484Z", "completed_at": "2022-10-25T21:01:46.575387Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:46.575525Z", "completed_at": "2022-10-25T21:01:46.575528Z"}], "thread_id": "Thread-3 (worker)", "execution_time": 0.005840301513671875, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__account_history__fivetran_synced.0570e35e1f"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:46.572824Z", "completed_at": "2022-10-25T21:01:46.575568Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:46.576013Z", "completed_at": "2022-10-25T21:01:46.576016Z"}], "thread_id": "Thread-4 (worker)", "execution_time": 0.0058438777923583984, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__account_history_account_id.f1cf38c40f"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:46.576613Z", "completed_at": "2022-10-25T21:01:46.581395Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:46.581530Z", "completed_at": "2022-10-25T21:01:46.581533Z"}], "thread_id": "Thread-3 (worker)", "execution_time": 0.005692005157470703, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__ad_set_history_ad_set_id__updated_at.0a60ad0fef"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:46.579392Z", "completed_at": "2022-10-25T21:01:46.581572Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:46.582020Z", "completed_at": "2022-10-25T21:01:46.582023Z"}], "thread_id": "Thread-4 (worker)", "execution_time": 0.005719900131225586, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__ad_set_history_ad_set_id.e19a1df1bb"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:46.582641Z", "completed_at": "2022-10-25T21:01:46.587432Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:46.587585Z", "completed_at": "2022-10-25T21:01:46.587589Z"}], "thread_id": "Thread-3 (worker)", "execution_time": 0.005716800689697266, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__ad_set_history_updated_at.ef7fafe0fa"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:46.584881Z", "completed_at": "2022-10-25T21:01:46.587910Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:46.588351Z", "completed_at": "2022-10-25T21:01:46.588355Z"}], "thread_id": "Thread-4 (worker)", "execution_time": 0.005897998809814453, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__ad_history_ad_id__updated_at.2922c18b58"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:46.588700Z", "completed_at": "2022-10-25T21:01:46.594231Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:46.594387Z", "completed_at": "2022-10-25T21:01:46.594391Z"}], "thread_id": "Thread-3 (worker)", "execution_time": 0.0064849853515625, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__ad_history_ad_id.11429d3064"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:46.591434Z", "completed_at": "2022-10-25T21:01:46.594435Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:46.594900Z", "completed_at": "2022-10-25T21:01:46.594903Z"}], "thread_id": "Thread-4 (worker)", "execution_time": 0.004118919372558594, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__ad_history_updated_at.250a5a84e4"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:46.595499Z", "completed_at": "2022-10-25T21:01:46.600323Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:46.600551Z", "completed_at": "2022-10-25T21:01:46.600554Z"}], "thread_id": "Thread-3 (worker)", "execution_time": 0.005837917327880859, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__account_report_date_day__account_id.5a94423e40"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:46.598280Z", "completed_at": "2022-10-25T21:01:46.600371Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:46.600608Z", "completed_at": "2022-10-25T21:01:46.600611Z"}], "thread_id": "Thread-4 (worker)", "execution_time": 0.005463123321533203, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads.not_null_facebook_ads__account_report_account_id.9be02b4024"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:46.513290Z", "completed_at": "2022-10-25T21:01:46.919523Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:46.919662Z", "completed_at": "2022-10-25T21:01:46.919669Z"}], "thread_id": "Thread-2 (worker)", "execution_time": 0.40703392028808594, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads_source.stg_facebook_ads__campaign_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:46.920488Z", "completed_at": "2022-10-25T21:01:46.926523Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:46.926914Z", "completed_at": "2022-10-25T21:01:46.926920Z"}], "thread_id": "Thread-3 (worker)", "execution_time": 0.056947946548461914, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads.facebook_ads__ad_report"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:46.926798Z", "completed_at": "2022-10-25T21:01:46.980987Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:46.995423Z", "completed_at": "2022-10-25T21:01:46.995433Z"}], "thread_id": "Thread-4 (worker)", "execution_time": 0.06984400749206543, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads.facebook_ads__ad_set_report"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:46.926860Z", "completed_at": "2022-10-25T21:01:46.999104Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:46.999950Z", "completed_at": "2022-10-25T21:01:46.999955Z"}], "thread_id": "Thread-2 (worker)", "execution_time": 0.0742039680480957, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads.facebook_ads__campaign_report"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:46.995521Z", "completed_at": "2022-10-25T21:01:46.999751Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:47.000639Z", "completed_at": "2022-10-25T21:01:47.000642Z"}], "thread_id": "Thread-3 (worker)", "execution_time": 0.022056102752685547, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__campaign_history_campaign_id__updated_at.7437b392c2"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:47.000135Z", "completed_at": "2022-10-25T21:01:47.003840Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:47.004397Z", "completed_at": "2022-10-25T21:01:47.004401Z"}], "thread_id": "Thread-4 (worker)", "execution_time": 0.007762908935546875, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__campaign_history_campaign_id.1ca7a83852"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:47.004264Z", "completed_at": "2022-10-25T21:01:47.010601Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:47.011142Z", "completed_at": "2022-10-25T21:01:47.011147Z"}], "thread_id": "Thread-2 (worker)", "execution_time": 0.008004903793334961, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__campaign_history_updated_at.9e59f99270"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:47.006831Z", "completed_at": "2022-10-25T21:01:47.010985Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:47.011871Z", "completed_at": "2022-10-25T21:01:47.011875Z"}], "thread_id": "Thread-3 (worker)", "execution_time": 0.019268035888671875, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__ad_report_date_day__account_id__campaign_id__ad_set_id__ad_id.0a25b64738"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:47.011294Z", "completed_at": "2022-10-25T21:01:47.023946Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:47.024668Z", "completed_at": "2022-10-25T21:01:47.024674Z"}], "thread_id": "Thread-4 (worker)", "execution_time": 0.0181429386138916, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads.not_null_facebook_ads__ad_report_ad_id.3811d9c238"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:46.540216Z", "completed_at": "2022-10-25T21:01:47.024000Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:47.024732Z", "completed_at": "2022-10-25T21:01:47.024734Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.48999500274658203, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads_source.stg_facebook_ads__creative_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:47.024539Z", "completed_at": "2022-10-25T21:01:47.031573Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:47.032492Z", "completed_at": "2022-10-25T21:01:47.032497Z"}], "thread_id": "Thread-2 (worker)", "execution_time": 0.009396791458129883, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__ad_set_report_date_day__account_id__campaign_id__ad_set_id.3dd4da872f"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:47.028573Z", "completed_at": "2022-10-25T21:01:47.032170Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:47.032689Z", "completed_at": "2022-10-25T21:01:47.032692Z"}], "thread_id": "Thread-3 (worker)", "execution_time": 0.01384115219116211, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads.not_null_facebook_ads__ad_set_report_ad_set_id.1ac870f5e4"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:47.032625Z", "completed_at": "2022-10-25T21:01:47.038669Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:47.039317Z", "completed_at": "2022-10-25T21:01:47.039320Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.011656761169433594, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads.not_null_facebook_ads__campaign_report_campaign_id.d4f96d8d21"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:47.032559Z", "completed_at": "2022-10-25T21:01:47.038718Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:47.039388Z", "completed_at": "2022-10-25T21:01:47.039390Z"}], "thread_id": "Thread-4 (worker)", "execution_time": 0.012130975723266602, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__campaign_report_date_day__account_id__campaign_id.7cd75107e6"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:47.039248Z", "completed_at": "2022-10-25T21:01:47.046885Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:47.047719Z", "completed_at": "2022-10-25T21:01:47.047724Z"}], "thread_id": "Thread-2 (worker)", "execution_time": 0.009648799896240234, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads.facebook_ads__url_tags"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:47.039458Z", "completed_at": "2022-10-25T21:01:47.047390Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:47.047908Z", "completed_at": "2022-10-25T21:01:47.047911Z"}], "thread_id": "Thread-3 (worker)", "execution_time": 0.013868093490600586, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__creative_history_creative_id___fivetran_synced.69ddc26562"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:47.047781Z", "completed_at": "2022-10-25T21:01:47.053458Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:47.054209Z", "completed_at": "2022-10-25T21:01:47.054214Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.027980804443359375, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__creative_history__fivetran_synced.3b0593cb4f"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:47.047849Z", "completed_at": "2022-10-25T21:01:47.053509Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:47.054285Z", "completed_at": "2022-10-25T21:01:47.054289Z"}], "thread_id": "Thread-4 (worker)", "execution_time": 0.02805304527282715, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__creative_history_creative_id.eb4d804261"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:47.054144Z", "completed_at": "2022-10-25T21:01:47.078732Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:47.079232Z", "completed_at": "2022-10-25T21:01:47.079238Z"}], "thread_id": "Thread-2 (worker)", "execution_time": 0.026374101638793945, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads.int_facebook_ads__creative_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:47.054352Z", "completed_at": "2022-10-25T21:01:47.079104Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:47.079686Z", "completed_at": "2022-10-25T21:01:47.079689Z"}], "thread_id": "Thread-3 (worker)", "execution_time": 0.028731107711791992, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__url_tags__fivetran_id__key__type.ba044777d3"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:47.079374Z", "completed_at": "2022-10-25T21:01:47.082791Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:47.087651Z", "completed_at": "2022-10-25T21:01:47.087657Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.009106874465942383, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads.not_null_facebook_ads__url_tags__fivetran_id.151d9515f3"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:47.082858Z", "completed_at": "2022-10-25T21:01:47.088140Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:47.088281Z", "completed_at": "2022-10-25T21:01:47.088284Z"}], "thread_id": "Thread-4 (worker)", "execution_time": 0.006009101867675781, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads.facebook_ads__url_report"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:47.089848Z", "completed_at": "2022-10-25T21:01:47.096645Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:47.096929Z", "completed_at": "2022-10-25T21:01:47.096935Z"}], "thread_id": "Thread-3 (worker)", "execution_time": 0.00792694091796875, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads.not_null_facebook_ads__url_report_base_url.b7757e50be"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:47.089765Z", "completed_at": "2022-10-25T21:01:47.096703Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:47.097013Z", "completed_at": "2022-10-25T21:01:47.097018Z"}], "thread_id": "Thread-2 (worker)", "execution_time": 0.008435964584350586, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__url_report_date_day__account_id__campaign_id__ad_set_id__ad_id.03a7e82eb7"}], "elapsed_time": 3.1655521392822266, "args": {"write_json": true, "use_colors": true, "printer_width": 80, "version_check": true, "partial_parse": true, "static_parser": true, "profiles_dir": "/Users/jamie.rodriguez/.dbt", "send_anonymous_usage_stats": true, "event_buffer_size": 100000, "quiet": false, "no_print": false, "compile": true, "which": "generate", "rpc_method": "docs.generate", "indirect_selection": "eager"}} \ No newline at end of file diff --git a/integration_tests/dbt_project.yml b/integration_tests/dbt_project.yml index d75b790..71e0add 100644 --- a/integration_tests/dbt_project.yml +++ b/integration_tests/dbt_project.yml @@ -15,14 +15,14 @@ vars: seeds: facebook_ads_integration_tests: +column_types: - id: "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}" - account_id: "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}" - campaign_id: "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}" - ad_set_id: "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}" - ad_id: "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}" - creative_id: "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}" - page_link: "{{ 'string' if target.name in ['bigquery','spark','databricks'] else 'varchar' }}" - template_page_link: "{{ 'string' if target.name in ['bigquery','spark','databricks'] else 'varchar' }}" + id: "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}" + account_id: "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}" + campaign_id: "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}" + ad_set_id: "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}" + ad_id: "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}" + creative_id: "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}" + page_link: "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}" + template_page_link: "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}" _fivetran_synced: "timestamp" updated_time: "timestamp" From c0caf8d8e0a5a6e6d3a22e2611faa80389e0b851 Mon Sep 17 00:00:00 2001 From: Sheri Nguyen Date: Thu, 17 Nov 2022 10:20:56 -0900 Subject: [PATCH 15/40] Update dbt adapter versions and dbt required versions --- .buildkite/pipeline.yml | 2 +- .buildkite/scripts/run_models.sh | 2 ++ .github/pull_request_template.md | 5 ++--- integration_tests/ci/sample.profiles.yml | 2 +- 4 files changed, 6 insertions(+), 5 deletions(-) diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index b84fe04..4c799f0 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -58,7 +58,7 @@ steps: commands: | bash .buildkite/scripts/run_models.sh redshift - - label: ":upside_down_face: Run Tests - Databricks" + - label: ":bricks: Run Tests - Databricks" key: "run_dbt_databricks" plugins: - docker#v3.13.0: diff --git a/.buildkite/scripts/run_models.sh b/.buildkite/scripts/run_models.sh index 5d805b9..ea3de4b 100644 --- a/.buildkite/scripts/run_models.sh +++ b/.buildkite/scripts/run_models.sh @@ -1,5 +1,7 @@ #!/bin/bash +set -euo pipefail + apt-get update apt-get install libsasl2-dev diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 35f658d..50ee0df 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -1,4 +1,3 @@ -Pull Request **Are you a current Fivetran customer?** @@ -29,9 +28,9 @@ Pull Request **How did you test the PR changes?** - + -- [ ] CircleCi +- [ ] Buildkite - [ ] Local (please provide additional testing details below) **Select which warehouse(s) were used to test the PR** diff --git a/integration_tests/ci/sample.profiles.yml b/integration_tests/ci/sample.profiles.yml index abcfdf1..5e4e432 100644 --- a/integration_tests/ci/sample.profiles.yml +++ b/integration_tests/ci/sample.profiles.yml @@ -1,5 +1,5 @@ -# HEY! This file is used in the dbt package integrations tests with CircleCI. +# HEY! This file is used in the dbt package integrations tests with Buildkite. # You should __NEVER__ check credentials into version control. Thanks for reading :) config: From cfe19cffcf846566ac7b8799fa858400f5d82aa0 Mon Sep 17 00:00:00 2001 From: fivetran-catfritz <111930712+fivetran-catfritz@users.noreply.github.com> Date: Thu, 8 Dec 2022 11:05:29 -0600 Subject: [PATCH 16/40] feature/enable-null-urls --- models/facebook.yml | 13 +++++++++++-- models/facebook_ads__url_report.sql | 9 ++++++++- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/models/facebook.yml b/models/facebook.yml index de38af1..59c3ee2 100644 --- a/models/facebook.yml +++ b/models/facebook.yml @@ -33,11 +33,20 @@ models: - name: creative_id description: The ID of the related creative. - name: creative_name - description: The name of the related creative. + description: The name of the related creative. - name: base_url description: The base URL of the ad, extracted from the page_link and template_page_link. tests: - - not_null + - not_null: + config: + # Below is so we don't run this test if the user has allowed urls to have null entries + enabled: > + {%- if (var('allow_facebook_ads_null_urls', False)) + or (var('allow_ad_reporting_null_urls', False)) -%} + {{ 'False' | as_bool }} + {%- else -%} + {{ 'True' | as_bool }} + {%- endif -%} - name: url_host description: The URL host of the ad, extracted from the page_link and template_page_link. - name: url_path diff --git a/models/facebook_ads__url_report.sql b/models/facebook_ads__url_report.sql index 5c63596..cdd970d 100644 --- a/models/facebook_ads__url_report.sql +++ b/models/facebook_ads__url_report.sql @@ -83,8 +83,15 @@ joined as ( left join campaigns on ads.campaign_id = campaigns.campaign_id left join accounts - on report.account_id = accounts.account_id + on report.account_id = accounts.account_id + + {% if (var('include_facebook_ads_null_urls', False)) or + (var('include_ad_reporting_null_urls', False)) %} + -- In this case, skip where clause to include all rows whether or not the url field is populated. + {% else %} where creatives.url is not null + {% endif %} + {{ dbt_utils.group_by(19) }} ) From 73ca24767dfbd5cd2cda98d3d0887be679a6329a Mon Sep 17 00:00:00 2001 From: fivetran-catfritz <111930712+fivetran-catfritz@users.noreply.github.com> Date: Thu, 8 Dec 2022 16:36:12 -0600 Subject: [PATCH 17/40] rename variables --- models/facebook_ads__url_report.sql | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/models/facebook_ads__url_report.sql b/models/facebook_ads__url_report.sql index cdd970d..902cba1 100644 --- a/models/facebook_ads__url_report.sql +++ b/models/facebook_ads__url_report.sql @@ -85,8 +85,8 @@ joined as ( left join accounts on report.account_id = accounts.account_id - {% if (var('include_facebook_ads_null_urls', False)) or - (var('include_ad_reporting_null_urls', False)) %} + {% if (var('allow_facebook_ads_null_urls', False)) or + (var('allow_ad_reporting_null_urls', False)) %} -- In this case, skip where clause to include all rows whether or not the url field is populated. {% else %} where creatives.url is not null From 841a321bd2229afe5c3df02090159bb8814e286a Mon Sep 17 00:00:00 2001 From: fivetran-catfritz <111930712+fivetran-catfritz@users.noreply.github.com> Date: Thu, 8 Dec 2022 16:36:44 -0600 Subject: [PATCH 18/40] rename variables --- models/facebook_ads__url_report.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/models/facebook_ads__url_report.sql b/models/facebook_ads__url_report.sql index 902cba1..4e27f21 100644 --- a/models/facebook_ads__url_report.sql +++ b/models/facebook_ads__url_report.sql @@ -86,7 +86,7 @@ joined as ( on report.account_id = accounts.account_id {% if (var('allow_facebook_ads_null_urls', False)) or - (var('allow_ad_reporting_null_urls', False)) %} + (var('allow_ad_reporting_null_urls', False)) %} -- In this case, skip where clause to include all rows whether or not the url field is populated. {% else %} where creatives.url is not null From f6ed2885bf8bafab3b3a7d723c55affdba5ea27c Mon Sep 17 00:00:00 2001 From: fivetran-catfritz <111930712+fivetran-catfritz@users.noreply.github.com> Date: Thu, 8 Dec 2022 20:40:45 -0600 Subject: [PATCH 19/40] update run_mode --- .buildkite/scripts/run_models.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.buildkite/scripts/run_models.sh b/.buildkite/scripts/run_models.sh index ea3de4b..6d34a92 100644 --- a/.buildkite/scripts/run_models.sh +++ b/.buildkite/scripts/run_models.sh @@ -18,4 +18,6 @@ cd integration_tests dbt deps dbt seed --target "$db" --full-refresh dbt run --target "$db" --full-refresh +dbt test --target "$db" +dbt run --vars '{allow_ad_reporting_null_urls: true}' --target "$db" --full-refresh dbt test --target "$db" \ No newline at end of file From c27e409a03c4fb6a5e389e9c77472b9745b096fb Mon Sep 17 00:00:00 2001 From: fivetran-catfritz <111930712+fivetran-catfritz@users.noreply.github.com> Date: Fri, 9 Dec 2022 10:18:54 -0600 Subject: [PATCH 20/40] update run_models --- .buildkite/scripts/run_models.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.buildkite/scripts/run_models.sh b/.buildkite/scripts/run_models.sh index 6d34a92..d96c5eb 100644 --- a/.buildkite/scripts/run_models.sh +++ b/.buildkite/scripts/run_models.sh @@ -20,4 +20,4 @@ dbt seed --target "$db" --full-refresh dbt run --target "$db" --full-refresh dbt test --target "$db" dbt run --vars '{allow_ad_reporting_null_urls: true}' --target "$db" --full-refresh -dbt test --target "$db" \ No newline at end of file +dbt test --vars '{allow_ad_reporting_null_urls: true}' --target "$db" \ No newline at end of file From 3d4c12a5812b99c6e68ceb930018fb3e5b02502e Mon Sep 17 00:00:00 2001 From: fivetran-catfritz <111930712+fivetran-catfritz@users.noreply.github.com> Date: Fri, 9 Dec 2022 18:09:55 -0600 Subject: [PATCH 21/40] update changelog and readme --- CHANGELOG.md | 14 ++++++++++++++ README.md | 9 +++++++++ 2 files changed, 23 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index fd36b4f..c4d0744 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,17 @@ +# dbt_facebook_ads v0.6.1 +[PR #25](https://github.com/fivetran/dbt_facebook_ads/pull/253) includes the following changes: +## 🎉 Features 🎉 +- Added ability for a user to allow records having nulls in url fields to be included in the `facebook_ads__url_report` model. This is done by setting one of the variables below to `True` in your `dbt_project.yml` file. +- Note that using the variable `allow_ad_reporting_null_urls` will allow records with null urls for ALL Fivetran ad packages included in your project. +```yml +vars: + allow_facebook_ads_null_urls: True # Use this variable to allow null urls for dbt_facebook_ads only. Default is False. + allow_ad_reporting_null_urls: True # Use this variable to allow null urls for ALL Fivetran ad packages included in your project. Default is False. +``` +- Updated README with this information. +## 🚘 Under the Hood 🚘 +- Disabled the `not_null` test for `facebook_ads__url_report` when null urls are allowed. + # dbt_facebook_ads v0.6.0 ## 🚨 Breaking Changes 🚨: diff --git a/README.md b/README.md index 3be8b23..e857fb8 100644 --- a/README.md +++ b/README.md @@ -74,6 +74,15 @@ vars: ## (Optional) Step 4: Additional configurations
Expand for configurations +## Enable records to have null urls +The default behavior for the `facebook_ads__url_report` end model is to filter out records having null URL fields, however you are able to turn off this filter if necessary. This is done by setting one of the variables below to `True` in your `dbt_project.yml` file. +> Note that using the variable `allow_ad_reporting_null_urls` will allow records with null urls for ALL Fivetran ad packages included in your project. + +```yml +vars: + allow_facebook_ads_null_urls: True # Use this variable to allow null urls for dbt_facebook_ads only. Default is False. + allow_ad_reporting_null_urls: True # Use this variable to allow null urls for ALL Fivetran ad packages included in your project. Default is False. +``` ### Passing Through Additional Metrics By default, this package will select `clicks`, `impressions`, and `cost` from the source reporting tables to store into the staging models. If you would like to pass through additional metrics to the staging models, add the below configurations to your `dbt_project.yml` file. These variables allow for the pass-through fields to be aliased (`alias`) if desired, but not required. Use the below format for declaring the respective pass-through variables: From cfb783c2cef6318d7a764d7b94cee0dcbba55558 Mon Sep 17 00:00:00 2001 From: fivetran-catfritz <111930712+fivetran-catfritz@users.noreply.github.com> Date: Fri, 9 Dec 2022 18:13:08 -0600 Subject: [PATCH 22/40] update changelog and readme --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c4d0744..350b453 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,5 @@ # dbt_facebook_ads v0.6.1 -[PR #25](https://github.com/fivetran/dbt_facebook_ads/pull/253) includes the following changes: +[PR #25](https://github.com/fivetran/dbt_facebook_ads/pull/25) includes the following changes: ## 🎉 Features 🎉 - Added ability for a user to allow records having nulls in url fields to be included in the `facebook_ads__url_report` model. This is done by setting one of the variables below to `True` in your `dbt_project.yml` file. - Note that using the variable `allow_ad_reporting_null_urls` will allow records with null urls for ALL Fivetran ad packages included in your project. From 7137da925ba7f0c905e2e97981e62bd5816f7ee0 Mon Sep 17 00:00:00 2001 From: fivetran-catfritz <111930712+fivetran-catfritz@users.noreply.github.com> Date: Mon, 12 Dec 2022 09:51:32 -0600 Subject: [PATCH 23/40] update ymls --- .buildkite/pipeline.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index 4c799f0..6e76ea0 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -58,7 +58,7 @@ steps: commands: | bash .buildkite/scripts/run_models.sh redshift - - label: ":bricks: Run Tests - Databricks" + - label: ":databricks: Run Tests - Databricks" key: "run_dbt_databricks" plugins: - docker#v3.13.0: From 1f5a2133385f4d78672a0aa828a2504951e6d87d Mon Sep 17 00:00:00 2001 From: fivetran-catfritz <111930712+fivetran-catfritz@users.noreply.github.com> Date: Mon, 12 Dec 2022 20:32:31 -0600 Subject: [PATCH 24/40] adjust conditional logic --- models/facebook_ads__url_report.sql | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/models/facebook_ads__url_report.sql b/models/facebook_ads__url_report.sql index 4e27f21..4787eb7 100644 --- a/models/facebook_ads__url_report.sql +++ b/models/facebook_ads__url_report.sql @@ -85,11 +85,8 @@ joined as ( left join accounts on report.account_id = accounts.account_id - {% if (var('allow_facebook_ads_null_urls', False)) or - (var('allow_ad_reporting_null_urls', False)) %} - -- In this case, skip where clause to include all rows whether or not the url field is populated. - {% else %} - where creatives.url is not null + {% if (var('allow_facebook_ads_null_urls', False)==False and var('allow_ad_reporting_null_urls', False)==False) %} + where creatives.url is not null {% endif %} {{ dbt_utils.group_by(19) }} From 8012a243df841cf159150e1e4b354eb65ad369eb Mon Sep 17 00:00:00 2001 From: fivetran-catfritz <111930712+fivetran-catfritz@users.noreply.github.com> Date: Tue, 13 Dec 2022 15:06:50 -0600 Subject: [PATCH 25/40] adjust variables and conditional logic --- models/facebook.yml | 8 +------- models/facebook_ads__url_report.sql | 2 +- 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/models/facebook.yml b/models/facebook.yml index 59c3ee2..af9af41 100644 --- a/models/facebook.yml +++ b/models/facebook.yml @@ -40,13 +40,7 @@ models: - not_null: config: # Below is so we don't run this test if the user has allowed urls to have null entries - enabled: > - {%- if (var('allow_facebook_ads_null_urls', False)) - or (var('allow_ad_reporting_null_urls', False)) -%} - {{ 'False' | as_bool }} - {%- else -%} - {{ 'True' | as_bool }} - {%- endif -%} + enabled: {% var('ad_reporting__url_report__using_null_filter', True) %} - name: url_host description: The URL host of the ad, extracted from the page_link and template_page_link. - name: url_path diff --git a/models/facebook_ads__url_report.sql b/models/facebook_ads__url_report.sql index 4787eb7..dc18e3b 100644 --- a/models/facebook_ads__url_report.sql +++ b/models/facebook_ads__url_report.sql @@ -85,7 +85,7 @@ joined as ( left join accounts on report.account_id = accounts.account_id - {% if (var('allow_facebook_ads_null_urls', False)==False and var('allow_ad_reporting_null_urls', False)==False) %} + {% if var('ad_reporting__url_report__using_null_filter', True) %} where creatives.url is not null {% endif %} From 0d938cb287efda18ea4108051e0ab70068ba7cbb Mon Sep 17 00:00:00 2001 From: fivetran-catfritz <111930712+fivetran-catfritz@users.noreply.github.com> Date: Tue, 13 Dec 2022 15:11:32 -0600 Subject: [PATCH 26/40] update readme --- README.md | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index e857fb8..c499cd4 100644 --- a/README.md +++ b/README.md @@ -75,13 +75,11 @@ vars:
Expand for configurations ## Enable records to have null urls -The default behavior for the `facebook_ads__url_report` end model is to filter out records having null URL fields, however you are able to turn off this filter if necessary. This is done by setting one of the variables below to `True` in your `dbt_project.yml` file. -> Note that using the variable `allow_ad_reporting_null_urls` will allow records with null urls for ALL Fivetran ad packages included in your project. +The default behavior for the `facebook_ads__url_report` end model is to filter out records having null URL fields, however you are able to turn off this filter if necessary. This is done by setting the variable below to `False` in your `dbt_project.yml` file. ```yml vars: - allow_facebook_ads_null_urls: True # Use this variable to allow null urls for dbt_facebook_ads only. Default is False. - allow_ad_reporting_null_urls: True # Use this variable to allow null urls for ALL Fivetran ad packages included in your project. Default is False. + ad_reporting__url_report__using_null_filter: False # Use this variable to allow null urls for ALL Fivetran ad packages included in your project. Default is True. ``` ### Passing Through Additional Metrics By default, this package will select `clicks`, `impressions`, and `cost` from the source reporting tables to store into the staging models. If you would like to pass through additional metrics to the staging models, add the below configurations to your `dbt_project.yml` file. These variables allow for the pass-through fields to be aliased (`alias`) if desired, but not required. Use the below format for declaring the respective pass-through variables: From 064cfd7fd629a6f0cbbec28e70ce1d00ec99f23f Mon Sep 17 00:00:00 2001 From: fivetran-catfritz <111930712+fivetran-catfritz@users.noreply.github.com> Date: Tue, 13 Dec 2022 15:21:16 -0600 Subject: [PATCH 27/40] update ymls --- models/facebook.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/models/facebook.yml b/models/facebook.yml index af9af41..077f72b 100644 --- a/models/facebook.yml +++ b/models/facebook.yml @@ -40,7 +40,7 @@ models: - not_null: config: # Below is so we don't run this test if the user has allowed urls to have null entries - enabled: {% var('ad_reporting__url_report__using_null_filter', True) %} + enabled: "{{ var('ad_reporting__url_report__using_null_filter', True) }}" - name: url_host description: The URL host of the ad, extracted from the page_link and template_page_link. - name: url_path From ebcdc11e047a9e64165964c8794e696a8099ee45 Mon Sep 17 00:00:00 2001 From: fivetran-catfritz <111930712+fivetran-catfritz@users.noreply.github.com> Date: Tue, 13 Dec 2022 15:29:05 -0600 Subject: [PATCH 28/40] update changelog --- CHANGELOG.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 350b453..b0cd902 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,12 +1,12 @@ # dbt_facebook_ads v0.6.1 [PR #25](https://github.com/fivetran/dbt_facebook_ads/pull/25) includes the following changes: ## 🎉 Features 🎉 -- Added ability for a user to allow records having nulls in url fields to be included in the `facebook_ads__url_report` model. This is done by setting one of the variables below to `True` in your `dbt_project.yml` file. -- Note that using the variable `allow_ad_reporting_null_urls` will allow records with null urls for ALL Fivetran ad packages included in your project. +- Added ability for a user to allow records having nulls in url fields to be included in the `facebook_ads__url_report` model. This is done by setting the variable below to `False` in your `dbt_project.yml` file. + ```yml vars: - allow_facebook_ads_null_urls: True # Use this variable to allow null urls for dbt_facebook_ads only. Default is False. - allow_ad_reporting_null_urls: True # Use this variable to allow null urls for ALL Fivetran ad packages included in your project. Default is False. + ad_reporting__url_report__using_null_filter: False # Use this variable to allow null urls for ALL Fivetran ad packages included in your project. Default is True. +```ckages included in your project. Default is False. ``` - Updated README with this information. ## 🚘 Under the Hood 🚘 From b68713eb6840b3f925eb381dc899478bfc8909d7 Mon Sep 17 00:00:00 2001 From: fivetran-catfritz <111930712+fivetran-catfritz@users.noreply.github.com> Date: Tue, 13 Dec 2022 15:30:21 -0600 Subject: [PATCH 29/40] update changelog --- CHANGELOG.md | 1 - 1 file changed, 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b0cd902..32fe912 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,7 +6,6 @@ ```yml vars: ad_reporting__url_report__using_null_filter: False # Use this variable to allow null urls for ALL Fivetran ad packages included in your project. Default is True. -```ckages included in your project. Default is False. ``` - Updated README with this information. ## 🚘 Under the Hood 🚘 From 8b393524735c3859dab444af7192073dd741c810 Mon Sep 17 00:00:00 2001 From: fivetran-catfritz <111930712+fivetran-catfritz@users.noreply.github.com> Date: Wed, 14 Dec 2022 12:37:24 -0600 Subject: [PATCH 30/40] Apply suggestions from code review Co-authored-by: Sheri Nguyen <94874400+fivetran-sheringuyen@users.noreply.github.com> --- .buildkite/scripts/run_models.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.buildkite/scripts/run_models.sh b/.buildkite/scripts/run_models.sh index d96c5eb..54148f4 100644 --- a/.buildkite/scripts/run_models.sh +++ b/.buildkite/scripts/run_models.sh @@ -19,5 +19,5 @@ dbt deps dbt seed --target "$db" --full-refresh dbt run --target "$db" --full-refresh dbt test --target "$db" -dbt run --vars '{allow_ad_reporting_null_urls: true}' --target "$db" --full-refresh -dbt test --vars '{allow_ad_reporting_null_urls: true}' --target "$db" \ No newline at end of file +dbt run --vars '{ad_reporting__url_report__using_null_filter: false}' --target "$db" --full-refresh +dbt test --vars '{ad_reporting__url_report__using_null_filter: false}' --target "$db" \ No newline at end of file From 289044953f1690dc57c2df63c3defde3d9563f3f Mon Sep 17 00:00:00 2001 From: fivetran-catfritz <111930712+fivetran-catfritz@users.noreply.github.com> Date: Wed, 14 Dec 2022 12:45:46 -0600 Subject: [PATCH 31/40] update changelog and readme --- CHANGELOG.md | 8 +------- README.md | 7 ------- 2 files changed, 1 insertion(+), 14 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 32fe912..bc2e33a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,13 +1,7 @@ # dbt_facebook_ads v0.6.1 [PR #25](https://github.com/fivetran/dbt_facebook_ads/pull/25) includes the following changes: ## 🎉 Features 🎉 -- Added ability for a user to allow records having nulls in url fields to be included in the `facebook_ads__url_report` model. This is done by setting the variable below to `False` in your `dbt_project.yml` file. - -```yml -vars: - ad_reporting__url_report__using_null_filter: False # Use this variable to allow null urls for ALL Fivetran ad packages included in your project. Default is True. -``` -- Updated README with this information. +- For use in the [dbt_ad_reporting package](https://github.com/fivetran/dbt_ad_reporting), users can now allow records having nulls in url fields to be included in the `ad_reporting__url_report` model. See the [dbt_ad_reporting README](https://github.com/fivetran/dbt_ad_reporting) for more details. ## 🚘 Under the Hood 🚘 - Disabled the `not_null` test for `facebook_ads__url_report` when null urls are allowed. diff --git a/README.md b/README.md index c499cd4..3be8b23 100644 --- a/README.md +++ b/README.md @@ -74,13 +74,6 @@ vars: ## (Optional) Step 4: Additional configurations
Expand for configurations -## Enable records to have null urls -The default behavior for the `facebook_ads__url_report` end model is to filter out records having null URL fields, however you are able to turn off this filter if necessary. This is done by setting the variable below to `False` in your `dbt_project.yml` file. - -```yml -vars: - ad_reporting__url_report__using_null_filter: False # Use this variable to allow null urls for ALL Fivetran ad packages included in your project. Default is True. -``` ### Passing Through Additional Metrics By default, this package will select `clicks`, `impressions`, and `cost` from the source reporting tables to store into the staging models. If you would like to pass through additional metrics to the staging models, add the below configurations to your `dbt_project.yml` file. These variables allow for the pass-through fields to be aliased (`alias`) if desired, but not required. Use the below format for declaring the respective pass-through variables: From f7d232997e08db4b9d5e7cdcf4a50e7914dbf979 Mon Sep 17 00:00:00 2001 From: fivetran-catfritz <111930712+fivetran-catfritz@users.noreply.github.com> Date: Wed, 14 Dec 2022 14:23:00 -0600 Subject: [PATCH 32/40] update changelog --- CHANGELOG.md | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index bc2e33a..b565088 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,10 +1,3 @@ -# dbt_facebook_ads v0.6.1 -[PR #25](https://github.com/fivetran/dbt_facebook_ads/pull/25) includes the following changes: -## 🎉 Features 🎉 -- For use in the [dbt_ad_reporting package](https://github.com/fivetran/dbt_ad_reporting), users can now allow records having nulls in url fields to be included in the `ad_reporting__url_report` model. See the [dbt_ad_reporting README](https://github.com/fivetran/dbt_ad_reporting) for more details. -## 🚘 Under the Hood 🚘 -- Disabled the `not_null` test for `facebook_ads__url_report` when null urls are allowed. - # dbt_facebook_ads v0.6.0 ## 🚨 Breaking Changes 🚨: @@ -44,6 +37,12 @@ - `dbt.current_timestamp_in_utc_backcompat` - `packages.yml` has been updated to reflect new default `fivetran/fivetran_utils` version, previously `[">=0.3.0", "<0.4.0"]` now `[">=0.4.0", "<0.5.0"]`. +[PR #25](https://github.com/fivetran/dbt_facebook_ads/pull/25) includes the following changes: +## 🎉 Features 🎉 +- For use in the [dbt_ad_reporting package](https://github.com/fivetran/dbt_ad_reporting), users can now allow records having nulls in url fields to be included in the `ad_reporting__url_report` model. See the [dbt_ad_reporting README](https://github.com/fivetran/dbt_ad_reporting) for more details. +## 🚘 Under the Hood 🚘 +- Disabled the `not_null` test for `facebook_ads__url_report` when null urls are allowed. + # dbt_facebook_ads v0.5.0 ## 🚨 Breaking Changes 🚨 The following changes come with PR [https://github.com/fivetran/dbt_facebook_ads/pull/21]: From f330e8d6137f6701dbbb318d63817f1884977da1 Mon Sep 17 00:00:00 2001 From: fivetran-catfritz <111930712+fivetran-catfritz@users.noreply.github.com> Date: Wed, 14 Dec 2022 14:38:43 -0600 Subject: [PATCH 33/40] update changelog --- CHANGELOG.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b565088..888e089 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,10 @@ # dbt_facebook_ads v0.6.0 +## 🎉 Features 🎉 +- For use in the [dbt_ad_reporting package](https://github.com/fivetran/dbt_ad_reporting), users can now allow records having nulls in url fields to be included in the `ad_reporting__url_report` model. See the [dbt_ad_reporting README](https://github.com/fivetran/dbt_ad_reporting) for more details. +## 🚘 Under the Hood 🚘 +- Disabled the `not_null` test for `facebook_ads__url_report` when null urls are allowed. [[#25](https://github.com/fivetran/dbt_facebook_ads/pull/25)]. + ## 🚨 Breaking Changes 🚨: [PR #23](https://github.com/fivetran/dbt_facebook_ads/pull/23) includes the following breaking changes: - Dispatch update for dbt-utils to dbt-core cross-db macros migration. Specifically `{{ dbt_utils. }}` have been updated to `{{ dbt. }}` for the below macros: @@ -37,11 +42,6 @@ - `dbt.current_timestamp_in_utc_backcompat` - `packages.yml` has been updated to reflect new default `fivetran/fivetran_utils` version, previously `[">=0.3.0", "<0.4.0"]` now `[">=0.4.0", "<0.5.0"]`. -[PR #25](https://github.com/fivetran/dbt_facebook_ads/pull/25) includes the following changes: -## 🎉 Features 🎉 -- For use in the [dbt_ad_reporting package](https://github.com/fivetran/dbt_ad_reporting), users can now allow records having nulls in url fields to be included in the `ad_reporting__url_report` model. See the [dbt_ad_reporting README](https://github.com/fivetran/dbt_ad_reporting) for more details. -## 🚘 Under the Hood 🚘 -- Disabled the `not_null` test for `facebook_ads__url_report` when null urls are allowed. # dbt_facebook_ads v0.5.0 ## 🚨 Breaking Changes 🚨 From e56157af93e5bf1992ec245323b361bd1b252e49 Mon Sep 17 00:00:00 2001 From: fivetran-catfritz <111930712+fivetran-catfritz@users.noreply.github.com> Date: Wed, 14 Dec 2022 14:45:26 -0600 Subject: [PATCH 34/40] update changelog --- CHANGELOG.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 888e089..230d2a9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,9 +1,9 @@ # dbt_facebook_ads v0.6.0 ## 🎉 Features 🎉 -- For use in the [dbt_ad_reporting package](https://github.com/fivetran/dbt_ad_reporting), users can now allow records having nulls in url fields to be included in the `ad_reporting__url_report` model. See the [dbt_ad_reporting README](https://github.com/fivetran/dbt_ad_reporting) for more details. +- For use in the [dbt_ad_reporting package](https://github.com/fivetran/dbt_ad_reporting), users can now allow records having nulls in url fields to be included in the `ad_reporting__url_report` model. See the [dbt_ad_reporting README](https://github.com/fivetran/dbt_ad_reporting) for more details [#25](https://github.com/fivetran/dbt_facebook_ads/pull/25). ## 🚘 Under the Hood 🚘 -- Disabled the `not_null` test for `facebook_ads__url_report` when null urls are allowed. [[#25](https://github.com/fivetran/dbt_facebook_ads/pull/25)]. +- Disabled the `not_null` test for `facebook_ads__url_report` when null urls are allowed. [#25](https://github.com/fivetran/dbt_facebook_ads/pull/25). ## 🚨 Breaking Changes 🚨: [PR #23](https://github.com/fivetran/dbt_facebook_ads/pull/23) includes the following breaking changes: From 2b1ad83a9fa0dab663c138d2c128e26e273a5963 Mon Sep 17 00:00:00 2001 From: fivetran-catfritz <111930712+fivetran-catfritz@users.noreply.github.com> Date: Wed, 14 Dec 2022 14:51:31 -0600 Subject: [PATCH 35/40] Update CHANGELOG.md Co-authored-by: Sheri Nguyen <94874400+fivetran-sheringuyen@users.noreply.github.com> --- CHANGELOG.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 230d2a9..4a4ed94 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -42,7 +42,10 @@ - `dbt.current_timestamp_in_utc_backcompat` - `packages.yml` has been updated to reflect new default `fivetran/fivetran_utils` version, previously `[">=0.3.0", "<0.4.0"]` now `[">=0.4.0", "<0.5.0"]`. - +## 🎉 Features 🎉 +- For use in the [dbt_ad_reporting package](https://github.com/fivetran/dbt_ad_reporting), users can now allow records having nulls in url fields to be included in the `ad_reporting__url_report` model. See the [dbt_ad_reporting README](https://github.com/fivetran/dbt_ad_reporting) for more details([#25](https://github.com/fivetran/dbt_facebook_ads/pull/25)). +## 🚘 Under the Hood 🚘 +- Disabled the `not_null` test for `facebook_ads__url_report` when null urls are allowed ([#25](https://github.com/fivetran/dbt_facebook_ads/pull/25)). # dbt_facebook_ads v0.5.0 ## 🚨 Breaking Changes 🚨 The following changes come with PR [https://github.com/fivetran/dbt_facebook_ads/pull/21]: From 5ddea92cab88d3af8849239a0fe6713528d2fccb Mon Sep 17 00:00:00 2001 From: fivetran-catfritz <111930712+fivetran-catfritz@users.noreply.github.com> Date: Wed, 14 Dec 2022 14:52:17 -0600 Subject: [PATCH 36/40] update changelog --- CHANGELOG.md | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4a4ed94..b679fff 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,10 +1,5 @@ # dbt_facebook_ads v0.6.0 -## 🎉 Features 🎉 -- For use in the [dbt_ad_reporting package](https://github.com/fivetran/dbt_ad_reporting), users can now allow records having nulls in url fields to be included in the `ad_reporting__url_report` model. See the [dbt_ad_reporting README](https://github.com/fivetran/dbt_ad_reporting) for more details [#25](https://github.com/fivetran/dbt_facebook_ads/pull/25). -## 🚘 Under the Hood 🚘 -- Disabled the `not_null` test for `facebook_ads__url_report` when null urls are allowed. [#25](https://github.com/fivetran/dbt_facebook_ads/pull/25). - ## 🚨 Breaking Changes 🚨: [PR #23](https://github.com/fivetran/dbt_facebook_ads/pull/23) includes the following breaking changes: - Dispatch update for dbt-utils to dbt-core cross-db macros migration. Specifically `{{ dbt_utils. }}` have been updated to `{{ dbt. }}` for the below macros: @@ -46,6 +41,7 @@ - For use in the [dbt_ad_reporting package](https://github.com/fivetran/dbt_ad_reporting), users can now allow records having nulls in url fields to be included in the `ad_reporting__url_report` model. See the [dbt_ad_reporting README](https://github.com/fivetran/dbt_ad_reporting) for more details([#25](https://github.com/fivetran/dbt_facebook_ads/pull/25)). ## 🚘 Under the Hood 🚘 - Disabled the `not_null` test for `facebook_ads__url_report` when null urls are allowed ([#25](https://github.com/fivetran/dbt_facebook_ads/pull/25)). + # dbt_facebook_ads v0.5.0 ## 🚨 Breaking Changes 🚨 The following changes come with PR [https://github.com/fivetran/dbt_facebook_ads/pull/21]: From 9355c3239eb6b9f8f31cfb6ff91cc7e5bf1b9f44 Mon Sep 17 00:00:00 2001 From: fivetran-catfritz <111930712+fivetran-catfritz@users.noreply.github.com> Date: Wed, 14 Dec 2022 15:25:12 -0600 Subject: [PATCH 37/40] update ymls --- models/facebook.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/models/facebook.yml b/models/facebook.yml index 077f72b..0124111 100644 --- a/models/facebook.yml +++ b/models/facebook.yml @@ -11,6 +11,9 @@ models: - campaign_id - ad_set_id - ad_id + config: + # Below is so we don't run this test if the user has allowed urls to have null entries + enabled: "{{ var('ad_reporting__url_report__using_null_filter', True) }}" columns: - name: date_day description: The date of the performance. From 2a21c4f6845a7f8ccdebb0d58420e87086517419 Mon Sep 17 00:00:00 2001 From: fivetran-catfritz <111930712+fivetran-catfritz@users.noreply.github.com> Date: Wed, 14 Dec 2022 17:20:36 -0600 Subject: [PATCH 38/40] regen docs --- docs/catalog.json | 2 +- docs/manifest.json | 2 +- docs/run_results.json | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/catalog.json b/docs/catalog.json index c3e8a7f..9f657a4 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-10-25T21:01:52.408045Z", "invocation_id": "bb3da3fc-73db-47bd-88c1-560f01c5b724", "env": {}}, "nodes": {"seed.facebook_ads_integration_tests.facebook_ads_campaign_history_data": {"metadata": {"type": "table", "schema": "facebook_ads_integration_tests", "name": "facebook_ads_campaign_history_data", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"id": {"type": "INT64", "index": 1, "name": "id", "comment": null}, "account_id": {"type": "INT64", "index": 2, "name": "account_id", "comment": null}, "name": {"type": "STRING", "index": 3, "name": "name", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 4, "name": "_fivetran_synced", "comment": null}, "updated_time": {"type": "TIMESTAMP", "index": 5, "name": "updated_time", "comment": null}}, "stats": {"num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 522.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": "seed.facebook_ads_integration_tests.facebook_ads_campaign_history_data"}, "seed.facebook_ads_integration_tests.facebook_ads_basic_ad_data": {"metadata": {"type": "table", "schema": "facebook_ads_integration_tests", "name": "facebook_ads_basic_ad_data", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"ad_id": {"type": "INT64", "index": 1, "name": "ad_id", "comment": null}, "date": {"type": "DATE", "index": 2, "name": "date", "comment": null}, "account_id": {"type": "INT64", "index": 3, "name": "account_id", "comment": null}, "impressions": {"type": "INT64", "index": 4, "name": "impressions", "comment": null}, "inline_link_clicks": {"type": "INT64", "index": 5, "name": "inline_link_clicks", "comment": null}, "spend": {"type": "FLOAT64", "index": 6, "name": "spend", "comment": null}}, "stats": {"num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 480.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "num_rows": {"id": "num_rows", "label": "# Rows", "value": 10.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": "seed.facebook_ads_integration_tests.facebook_ads_basic_ad_data"}, "seed.facebook_ads_integration_tests.facebook_ads_creative_history_data": {"metadata": {"type": "table", "schema": "facebook_ads_integration_tests", "name": "facebook_ads_creative_history_data", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"page_link": {"type": "STRING", "index": 1, "name": "page_link", "comment": null}, "template_page_link": {"type": "STRING", "index": 2, "name": "template_page_link", "comment": null}, "id": {"type": "INT64", "index": 3, "name": "id", "comment": null}, "account_id": {"type": "INT64", "index": 4, "name": "account_id", "comment": null}, "name": {"type": "STRING", "index": 5, "name": "name", "comment": null}, "url_tags": {"type": "STRING", "index": 6, "name": "url_tags", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 7, "name": "_fivetran_synced", "comment": null}, "asset_feed_spec_link_urls": {"type": "STRING", "index": 8, "name": "asset_feed_spec_link_urls", "comment": null}, "object_story_link_data_child_attachments": {"type": "STRING", "index": 9, "name": "object_story_link_data_child_attachments", "comment": null}, "object_story_link_data_caption": {"type": "STRING", "index": 10, "name": "object_story_link_data_caption", "comment": null}, "object_story_link_data_description": {"type": "STRING", "index": 11, "name": "object_story_link_data_description", "comment": null}, "object_story_link_data_link": {"type": "STRING", "index": 12, "name": "object_story_link_data_link", "comment": null}, "object_story_link_data_message": {"type": "STRING", "index": 13, "name": "object_story_link_data_message", "comment": null}, "template_app_link_spec_ios": {"type": "STRING", "index": 14, "name": "template_app_link_spec_ios", "comment": null}, "_fivetran_id": {"type": "STRING", "index": 15, "name": "_fivetran_id", "comment": null}}, "stats": {"num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 1399000.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "num_rows": {"id": "num_rows", "label": "# Rows", "value": 1000.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": "seed.facebook_ads_integration_tests.facebook_ads_creative_history_data"}, "seed.facebook_ads_integration_tests.facebook_ads_account_history_data": {"metadata": {"type": "table", "schema": "facebook_ads_integration_tests", "name": "facebook_ads_account_history_data", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"id": {"type": "INT64", "index": 1, "name": "id", "comment": null}, "name": {"type": "STRING", "index": 2, "name": "name", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 3, "name": "_fivetran_synced", "comment": null}}, "stats": {"num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 2478.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "num_rows": {"id": "num_rows", "label": "# Rows", "value": 59.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": "seed.facebook_ads_integration_tests.facebook_ads_account_history_data"}, "seed.facebook_ads_integration_tests.facebook_ads_ad_history_data": {"metadata": {"type": "table", "schema": "facebook_ads_integration_tests", "name": "facebook_ads_ad_history_data", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"id": {"type": "INT64", "index": 1, "name": "id", "comment": null}, "account_id": {"type": "INT64", "index": 2, "name": "account_id", "comment": null}, "ad_set_id": {"type": "INT64", "index": 3, "name": "ad_set_id", "comment": null}, "campaign_id": {"type": "INT64", "index": 4, "name": "campaign_id", "comment": null}, "creative_id": {"type": "INT64", "index": 5, "name": "creative_id", "comment": null}, "name": {"type": "STRING", "index": 6, "name": "name", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 7, "name": "_fivetran_synced", "comment": null}, "updated_time": {"type": "TIMESTAMP", "index": 8, "name": "updated_time", "comment": null}}, "stats": {"num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 720.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "num_rows": {"id": "num_rows", "label": "# Rows", "value": 12.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": "seed.facebook_ads_integration_tests.facebook_ads_ad_history_data"}, "seed.facebook_ads_integration_tests.facebook_ads_ad_set_history_data": {"metadata": {"type": "table", "schema": "facebook_ads_integration_tests", "name": "facebook_ads_ad_set_history_data", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"id": {"type": "INT64", "index": 1, "name": "id", "comment": null}, "account_id": {"type": "INT64", "index": 2, "name": "account_id", "comment": null}, "campaign_id": {"type": "INT64", "index": 3, "name": "campaign_id", "comment": null}, "name": {"type": "STRING", "index": 4, "name": "name", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 5, "name": "_fivetran_synced", "comment": null}, "updated_time": {"type": "TIMESTAMP", "index": 6, "name": "updated_time", "comment": null}}, "stats": {"num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 924.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "num_rows": {"id": "num_rows", "label": "# Rows", "value": 14.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": "seed.facebook_ads_integration_tests.facebook_ads_ad_set_history_data"}, "model.facebook_ads.facebook_ads__url_report": {"metadata": {"type": "table", "schema": "facebook_ads_integration_tests_facebook_ads", "name": "facebook_ads__url_report", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"date_day": {"type": "DATE", "index": 1, "name": "date_day", "comment": null}, "account_id": {"type": "INT64", "index": 2, "name": "account_id", "comment": null}, "account_name": {"type": "STRING", "index": 3, "name": "account_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_set_id": {"type": "INT64", "index": 6, "name": "ad_set_id", "comment": null}, "ad_set_name": {"type": "STRING", "index": 7, "name": "ad_set_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}, "creative_id": {"type": "INT64", "index": 10, "name": "creative_id", "comment": null}, "creative_name": {"type": "STRING", "index": 11, "name": "creative_name", "comment": null}, "base_url": {"type": "STRING", "index": 12, "name": "base_url", "comment": null}, "url_host": {"type": "STRING", "index": 13, "name": "url_host", "comment": null}, "url_path": {"type": "STRING", "index": 14, "name": "url_path", "comment": null}, "utm_source": {"type": "STRING", "index": 15, "name": "utm_source", "comment": null}, "utm_medium": {"type": "STRING", "index": 16, "name": "utm_medium", "comment": null}, "utm_campaign": {"type": "STRING", "index": 17, "name": "utm_campaign", "comment": null}, "utm_content": {"type": "STRING", "index": 18, "name": "utm_content", "comment": null}, "utm_term": {"type": "STRING", "index": 19, "name": "utm_term", "comment": null}, "clicks": {"type": "INT64", "index": 20, "name": "clicks", "comment": null}, "impressions": {"type": "INT64", "index": 21, "name": "impressions", "comment": null}, "spend": {"type": "FLOAT64", "index": 22, "name": "spend", "comment": null}}, "stats": {"num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 0.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "num_rows": {"id": "num_rows", "label": "# Rows", "value": 0.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.facebook_ads.facebook_ads__url_report"}, "model.facebook_ads.facebook_ads__url_tags": {"metadata": {"type": "table", "schema": "facebook_ads_integration_tests_facebook_ads", "name": "facebook_ads__url_tags", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"_fivetran_id": {"type": "STRING", "index": 1, "name": "_fivetran_id", "comment": null}, "creative_id": {"type": "INT64", "index": 2, "name": "creative_id", "comment": null}, "key": {"type": "STRING", "index": 3, "name": "key", "comment": null}, "value": {"type": "STRING", "index": 4, "name": "value", "comment": null}, "type": {"type": "STRING", "index": 5, "name": "type", "comment": null}}, "stats": {"num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 13970.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "num_rows": {"id": "num_rows", "label": "# Rows", "value": 220.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.facebook_ads.facebook_ads__url_tags"}, "model.facebook_ads.facebook_ads__ad_report": {"metadata": {"type": "table", "schema": "facebook_ads_integration_tests_facebook_ads", "name": "facebook_ads__ad_report", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"date_day": {"type": "DATE", "index": 1, "name": "date_day", "comment": null}, "account_id": {"type": "INT64", "index": 2, "name": "account_id", "comment": null}, "account_name": {"type": "STRING", "index": 3, "name": "account_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_set_id": {"type": "INT64", "index": 6, "name": "ad_set_id", "comment": null}, "ad_set_name": {"type": "STRING", "index": 7, "name": "ad_set_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}, "clicks": {"type": "INT64", "index": 10, "name": "clicks", "comment": null}, "impressions": {"type": "INT64", "index": 11, "name": "impressions", "comment": null}, "spend": {"type": "FLOAT64", "index": 12, "name": "spend", "comment": null}}, "stats": {"num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 1460.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "num_rows": {"id": "num_rows", "label": "# Rows", "value": 10.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.facebook_ads.facebook_ads__ad_report"}, "model.facebook_ads.facebook_ads__account_report": {"metadata": {"type": "table", "schema": "facebook_ads_integration_tests_facebook_ads", "name": "facebook_ads__account_report", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"date_day": {"type": "DATE", "index": 1, "name": "date_day", "comment": null}, "account_id": {"type": "INT64", "index": 2, "name": "account_id", "comment": null}, "account_name": {"type": "STRING", "index": 3, "name": "account_name", "comment": null}, "account_status": {"type": "STRING", "index": 4, "name": "account_status", "comment": null}, "business_country_code": {"type": "STRING", "index": 5, "name": "business_country_code", "comment": null}, "created_at": {"type": "TIMESTAMP", "index": 6, "name": "created_at", "comment": null}, "currency": {"type": "STRING", "index": 7, "name": "currency", "comment": null}, "timezone_name": {"type": "STRING", "index": 8, "name": "timezone_name", "comment": null}, "clicks": {"type": "INT64", "index": 9, "name": "clicks", "comment": null}, "impressions": {"type": "INT64", "index": 10, "name": "impressions", "comment": null}, "spend": {"type": "FLOAT64", "index": 11, "name": "spend", "comment": null}}, "stats": {"num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 594.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.facebook_ads.facebook_ads__account_report"}, "model.facebook_ads.int_facebook_ads__creative_history": {"metadata": {"type": "view", "schema": "facebook_ads_integration_tests_facebook_ads", "name": "int_facebook_ads__creative_history", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"_fivetran_id": {"type": "STRING", "index": 1, "name": "_fivetran_id", "comment": null}, "creative_id": {"type": "INT64", "index": 2, "name": "creative_id", "comment": null}, "account_id": {"type": "INT64", "index": 3, "name": "account_id", "comment": null}, "creative_name": {"type": "STRING", "index": 4, "name": "creative_name", "comment": null}, "url": {"type": "STRING", "index": 5, "name": "url", "comment": null}, "base_url": {"type": "STRING", "index": 6, "name": "base_url", "comment": null}, "url_host": {"type": "STRING", "index": 7, "name": "url_host", "comment": null}, "url_path": {"type": "STRING", "index": 8, "name": "url_path", "comment": null}, "utm_source": {"type": "STRING", "index": 9, "name": "utm_source", "comment": null}, "utm_medium": {"type": "STRING", "index": 10, "name": "utm_medium", "comment": null}, "utm_campaign": {"type": "STRING", "index": 11, "name": "utm_campaign", "comment": null}, "utm_content": {"type": "STRING", "index": 12, "name": "utm_content", "comment": null}, "utm_term": {"type": "STRING", "index": 13, "name": "utm_term", "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.facebook_ads.int_facebook_ads__creative_history"}, "model.facebook_ads.facebook_ads__campaign_report": {"metadata": {"type": "table", "schema": "facebook_ads_integration_tests_facebook_ads", "name": "facebook_ads__campaign_report", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"date_day": {"type": "DATE", "index": 1, "name": "date_day", "comment": null}, "account_id": {"type": "INT64", "index": 2, "name": "account_id", "comment": null}, "account_name": {"type": "STRING", "index": 3, "name": "account_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}, "start_at": {"type": "TIMESTAMP", "index": 6, "name": "start_at", "comment": null}, "end_at": {"type": "TIMESTAMP", "index": 7, "name": "end_at", "comment": null}, "status": {"type": "STRING", "index": 8, "name": "status", "comment": null}, "daily_budget": {"type": "INT64", "index": 9, "name": "daily_budget", "comment": null}, "lifetime_budget": {"type": "INT64", "index": 10, "name": "lifetime_budget", "comment": null}, "budget_remaining": {"type": "FLOAT64", "index": 11, "name": "budget_remaining", "comment": null}, "clicks": {"type": "INT64", "index": 12, "name": "clicks", "comment": null}, "impressions": {"type": "INT64", "index": 13, "name": "impressions", "comment": null}, "spend": {"type": "FLOAT64", "index": 14, "name": "spend", "comment": null}}, "stats": {"num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 1000.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "num_rows": {"id": "num_rows", "label": "# Rows", "value": 10.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.facebook_ads.facebook_ads__campaign_report"}, "model.facebook_ads.facebook_ads__ad_set_report": {"metadata": {"type": "table", "schema": "facebook_ads_integration_tests_facebook_ads", "name": "facebook_ads__ad_set_report", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"date_day": {"type": "DATE", "index": 1, "name": "date_day", "comment": null}, "account_id": {"type": "INT64", "index": 2, "name": "account_id", "comment": null}, "account_name": {"type": "STRING", "index": 3, "name": "account_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_set_id": {"type": "INT64", "index": 6, "name": "ad_set_id", "comment": null}, "ad_set_name": {"type": "STRING", "index": 7, "name": "ad_set_name", "comment": null}, "start_at": {"type": "TIMESTAMP", "index": 8, "name": "start_at", "comment": null}, "end_at": {"type": "TIMESTAMP", "index": 9, "name": "end_at", "comment": null}, "bid_strategy": {"type": "STRING", "index": 10, "name": "bid_strategy", "comment": null}, "daily_budget": {"type": "INT64", "index": 11, "name": "daily_budget", "comment": null}, "budget_remaining": {"type": "INT64", "index": 12, "name": "budget_remaining", "comment": null}, "clicks": {"type": "INT64", "index": 13, "name": "clicks", "comment": null}, "impressions": {"type": "INT64", "index": 14, "name": "impressions", "comment": null}, "spend": {"type": "FLOAT64", "index": 15, "name": "spend", "comment": null}}, "stats": {"num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 1340.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "num_rows": {"id": "num_rows", "label": "# Rows", "value": 10.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.facebook_ads.facebook_ads__ad_set_report"}, "model.facebook_ads_source.stg_facebook_ads__creative_history_tmp": {"metadata": {"type": "view", "schema": "facebook_ads_integration_tests_facebook_ads_source", "name": "stg_facebook_ads__creative_history_tmp", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"page_link": {"type": "STRING", "index": 1, "name": "page_link", "comment": null}, "template_page_link": {"type": "STRING", "index": 2, "name": "template_page_link", "comment": null}, "id": {"type": "INT64", "index": 3, "name": "id", "comment": null}, "account_id": {"type": "INT64", "index": 4, "name": "account_id", "comment": null}, "name": {"type": "STRING", "index": 5, "name": "name", "comment": null}, "url_tags": {"type": "STRING", "index": 6, "name": "url_tags", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 7, "name": "_fivetran_synced", "comment": null}, "asset_feed_spec_link_urls": {"type": "STRING", "index": 8, "name": "asset_feed_spec_link_urls", "comment": null}, "object_story_link_data_child_attachments": {"type": "STRING", "index": 9, "name": "object_story_link_data_child_attachments", "comment": null}, "object_story_link_data_caption": {"type": "STRING", "index": 10, "name": "object_story_link_data_caption", "comment": null}, "object_story_link_data_description": {"type": "STRING", "index": 11, "name": "object_story_link_data_description", "comment": null}, "object_story_link_data_link": {"type": "STRING", "index": 12, "name": "object_story_link_data_link", "comment": null}, "object_story_link_data_message": {"type": "STRING", "index": 13, "name": "object_story_link_data_message", "comment": null}, "template_app_link_spec_ios": {"type": "STRING", "index": 14, "name": "template_app_link_spec_ios", "comment": null}, "_fivetran_id": {"type": "STRING", "index": 15, "name": "_fivetran_id", "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.facebook_ads_source.stg_facebook_ads__creative_history_tmp"}, "model.facebook_ads_source.stg_facebook_ads__basic_ad": {"metadata": {"type": "table", "schema": "facebook_ads_integration_tests_facebook_ads_source", "name": "stg_facebook_ads__basic_ad", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"ad_id": {"type": "INT64", "index": 1, "name": "ad_id", "comment": null}, "ad_name": {"type": "STRING", "index": 2, "name": "ad_name", "comment": null}, "ad_set_name": {"type": "STRING", "index": 3, "name": "ad_set_name", "comment": null}, "date_day": {"type": "DATE", "index": 4, "name": "date_day", "comment": null}, "account_id": {"type": "INT64", "index": 5, "name": "account_id", "comment": null}, "impressions": {"type": "INT64", "index": 6, "name": "impressions", "comment": null}, "clicks": {"type": "INT64", "index": 7, "name": "clicks", "comment": null}, "spend": {"type": "FLOAT64", "index": 8, "name": "spend", "comment": null}, "reach": {"type": "INT64", "index": 9, "name": "reach", "comment": null}, "frequency": {"type": "FLOAT64", "index": 10, "name": "frequency", "comment": null}}, "stats": {"num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 480.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "num_rows": {"id": "num_rows", "label": "# Rows", "value": 10.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.facebook_ads_source.stg_facebook_ads__basic_ad"}, "model.facebook_ads_source.stg_facebook_ads__campaign_history_tmp": {"metadata": {"type": "view", "schema": "facebook_ads_integration_tests_facebook_ads_source", "name": "stg_facebook_ads__campaign_history_tmp", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"id": {"type": "INT64", "index": 1, "name": "id", "comment": null}, "account_id": {"type": "INT64", "index": 2, "name": "account_id", "comment": null}, "name": {"type": "STRING", "index": 3, "name": "name", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 4, "name": "_fivetran_synced", "comment": null}, "updated_time": {"type": "TIMESTAMP", "index": 5, "name": "updated_time", "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.facebook_ads_source.stg_facebook_ads__campaign_history_tmp"}, "model.facebook_ads_source.stg_facebook_ads__ad_history": {"metadata": {"type": "table", "schema": "facebook_ads_integration_tests_facebook_ads_source", "name": "stg_facebook_ads__ad_history", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"updated_at": {"type": "TIMESTAMP", "index": 1, "name": "updated_at", "comment": null}, "ad_id": {"type": "INT64", "index": 2, "name": "ad_id", "comment": null}, "ad_name": {"type": "STRING", "index": 3, "name": "ad_name", "comment": null}, "account_id": {"type": "INT64", "index": 4, "name": "account_id", "comment": null}, "ad_set_id": {"type": "INT64", "index": 5, "name": "ad_set_id", "comment": null}, "campaign_id": {"type": "INT64", "index": 6, "name": "campaign_id", "comment": null}, "creative_id": {"type": "INT64", "index": 7, "name": "creative_id", "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": 636.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "num_rows": {"id": "num_rows", "label": "# Rows", "value": 12.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.facebook_ads_source.stg_facebook_ads__ad_history"}, "model.facebook_ads_source.stg_facebook_ads__ad_set_history": {"metadata": {"type": "table", "schema": "facebook_ads_integration_tests_facebook_ads_source", "name": "stg_facebook_ads__ad_set_history", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"updated_at": {"type": "TIMESTAMP", "index": 1, "name": "updated_at", "comment": null}, "ad_set_id": {"type": "INT64", "index": 2, "name": "ad_set_id", "comment": null}, "ad_set_name": {"type": "STRING", "index": 3, "name": "ad_set_name", "comment": null}, "account_id": {"type": "INT64", "index": 4, "name": "account_id", "comment": null}, "campaign_id": {"type": "INT64", "index": 5, "name": "campaign_id", "comment": null}, "start_at": {"type": "TIMESTAMP", "index": 6, "name": "start_at", "comment": null}, "end_at": {"type": "TIMESTAMP", "index": 7, "name": "end_at", "comment": null}, "bid_strategy": {"type": "STRING", "index": 8, "name": "bid_strategy", "comment": null}, "daily_budget": {"type": "INT64", "index": 9, "name": "daily_budget", "comment": null}, "budget_remaining": {"type": "INT64", "index": 10, "name": "budget_remaining", "comment": null}, "status": {"type": "STRING", "index": 11, "name": "status", "comment": null}, "is_most_recent_record": {"type": "BOOL", "index": 12, "name": "is_most_recent_record", "comment": null}}, "stats": {"num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 826.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "num_rows": {"id": "num_rows", "label": "# Rows", "value": 14.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.facebook_ads_source.stg_facebook_ads__ad_set_history"}, "model.facebook_ads_source.stg_facebook_ads__account_history": {"metadata": {"type": "table", "schema": "facebook_ads_integration_tests_facebook_ads_source", "name": "stg_facebook_ads__account_history", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"account_id": {"type": "INT64", "index": 1, "name": "account_id", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 2, "name": "_fivetran_synced", "comment": null}, "account_name": {"type": "STRING", "index": 3, "name": "account_name", "comment": null}, "account_status": {"type": "STRING", "index": 4, "name": "account_status", "comment": null}, "business_country_code": {"type": "STRING", "index": 5, "name": "business_country_code", "comment": null}, "created_at": {"type": "TIMESTAMP", "index": 6, "name": "created_at", "comment": null}, "currency": {"type": "STRING", "index": 7, "name": "currency", "comment": null}, "timezone_name": {"type": "STRING", "index": 8, "name": "timezone_name", "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": 2537.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "num_rows": {"id": "num_rows", "label": "# Rows", "value": 59.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.facebook_ads_source.stg_facebook_ads__account_history"}, "model.facebook_ads_source.stg_facebook_ads__account_history_tmp": {"metadata": {"type": "view", "schema": "facebook_ads_integration_tests_facebook_ads_source", "name": "stg_facebook_ads__account_history_tmp", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"id": {"type": "INT64", "index": 1, "name": "id", "comment": null}, "name": {"type": "STRING", "index": 2, "name": "name", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 3, "name": "_fivetran_synced", "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.facebook_ads_source.stg_facebook_ads__account_history_tmp"}, "model.facebook_ads_source.stg_facebook_ads__creative_history": {"metadata": {"type": "table", "schema": "facebook_ads_integration_tests_facebook_ads_source", "name": "stg_facebook_ads__creative_history", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"_fivetran_id": {"type": "STRING", "index": 1, "name": "_fivetran_id", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 2, "name": "_fivetran_synced", "comment": null}, "creative_id": {"type": "INT64", "index": 3, "name": "creative_id", "comment": null}, "account_id": {"type": "INT64", "index": 4, "name": "account_id", "comment": null}, "creative_name": {"type": "STRING", "index": 5, "name": "creative_name", "comment": null}, "page_link": {"type": "STRING", "index": 6, "name": "page_link", "comment": null}, "template_page_link": {"type": "STRING", "index": 7, "name": "template_page_link", "comment": null}, "url_tags": {"type": "STRING", "index": 8, "name": "url_tags", "comment": null}, "asset_feed_spec_link_urls": {"type": "STRING", "index": 9, "name": "asset_feed_spec_link_urls", "comment": null}, "object_story_link_data_child_attachments": {"type": "STRING", "index": 10, "name": "object_story_link_data_child_attachments", "comment": null}, "object_story_link_data_caption": {"type": "STRING", "index": 11, "name": "object_story_link_data_caption", "comment": null}, "object_story_link_data_description": {"type": "STRING", "index": 12, "name": "object_story_link_data_description", "comment": null}, "object_story_link_data_link": {"type": "STRING", "index": 13, "name": "object_story_link_data_link", "comment": null}, "object_story_link_data_message": {"type": "STRING", "index": 14, "name": "object_story_link_data_message", "comment": null}, "template_app_link_spec_ios": {"type": "STRING", "index": 15, "name": "template_app_link_spec_ios", "comment": null}, "template_app_link_spec_ipad": {"type": "STRING", "index": 16, "name": "template_app_link_spec_ipad", "comment": null}, "template_app_link_spec_android": {"type": "STRING", "index": 17, "name": "template_app_link_spec_android", "comment": null}, "template_app_link_spec_iphone": {"type": "STRING", "index": 18, "name": "template_app_link_spec_iphone", "comment": null}, "is_most_recent_record": {"type": "BOOL", "index": 19, "name": "is_most_recent_record", "comment": null}}, "stats": {"num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 1400000.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "num_rows": {"id": "num_rows", "label": "# Rows", "value": 1000.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.facebook_ads_source.stg_facebook_ads__creative_history"}, "model.facebook_ads_source.stg_facebook_ads__ad_history_tmp": {"metadata": {"type": "view", "schema": "facebook_ads_integration_tests_facebook_ads_source", "name": "stg_facebook_ads__ad_history_tmp", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"id": {"type": "INT64", "index": 1, "name": "id", "comment": null}, "account_id": {"type": "INT64", "index": 2, "name": "account_id", "comment": null}, "ad_set_id": {"type": "INT64", "index": 3, "name": "ad_set_id", "comment": null}, "campaign_id": {"type": "INT64", "index": 4, "name": "campaign_id", "comment": null}, "creative_id": {"type": "INT64", "index": 5, "name": "creative_id", "comment": null}, "name": {"type": "STRING", "index": 6, "name": "name", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 7, "name": "_fivetran_synced", "comment": null}, "updated_time": {"type": "TIMESTAMP", "index": 8, "name": "updated_time", "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.facebook_ads_source.stg_facebook_ads__ad_history_tmp"}, "model.facebook_ads_source.stg_facebook_ads__campaign_history": {"metadata": {"type": "table", "schema": "facebook_ads_integration_tests_facebook_ads_source", "name": "stg_facebook_ads__campaign_history", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"updated_at": {"type": "TIMESTAMP", "index": 1, "name": "updated_at", "comment": null}, "created_at": {"type": "TIMESTAMP", "index": 2, "name": "created_at", "comment": null}, "account_id": {"type": "INT64", "index": 3, "name": "account_id", "comment": null}, "campaign_id": {"type": "INT64", "index": 4, "name": "campaign_id", "comment": null}, "campaign_name": {"type": "STRING", "index": 5, "name": "campaign_name", "comment": null}, "start_at": {"type": "TIMESTAMP", "index": 6, "name": "start_at", "comment": null}, "end_at": {"type": "TIMESTAMP", "index": 7, "name": "end_at", "comment": null}, "status": {"type": "STRING", "index": 8, "name": "status", "comment": null}, "daily_budget": {"type": "INT64", "index": 9, "name": "daily_budget", "comment": null}, "lifetime_budget": {"type": "INT64", "index": 10, "name": "lifetime_budget", "comment": null}, "budget_remaining": {"type": "FLOAT64", "index": 11, "name": "budget_remaining", "comment": null}, "is_most_recent_record": {"type": "BOOL", "index": 12, "name": "is_most_recent_record", "comment": null}}, "stats": {"num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 459.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.facebook_ads_source.stg_facebook_ads__campaign_history"}, "model.facebook_ads_source.stg_facebook_ads__basic_ad_tmp": {"metadata": {"type": "view", "schema": "facebook_ads_integration_tests_facebook_ads_source", "name": "stg_facebook_ads__basic_ad_tmp", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"ad_id": {"type": "INT64", "index": 1, "name": "ad_id", "comment": null}, "date": {"type": "DATE", "index": 2, "name": "date", "comment": null}, "account_id": {"type": "INT64", "index": 3, "name": "account_id", "comment": null}, "impressions": {"type": "INT64", "index": 4, "name": "impressions", "comment": null}, "inline_link_clicks": {"type": "INT64", "index": 5, "name": "inline_link_clicks", "comment": null}, "spend": {"type": "FLOAT64", "index": 6, "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.facebook_ads_source.stg_facebook_ads__basic_ad_tmp"}, "model.facebook_ads_source.stg_facebook_ads__ad_set_history_tmp": {"metadata": {"type": "view", "schema": "facebook_ads_integration_tests_facebook_ads_source", "name": "stg_facebook_ads__ad_set_history_tmp", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"id": {"type": "INT64", "index": 1, "name": "id", "comment": null}, "account_id": {"type": "INT64", "index": 2, "name": "account_id", "comment": null}, "campaign_id": {"type": "INT64", "index": 3, "name": "campaign_id", "comment": null}, "name": {"type": "STRING", "index": 4, "name": "name", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 5, "name": "_fivetran_synced", "comment": null}, "updated_time": {"type": "TIMESTAMP", "index": 6, "name": "updated_time", "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.facebook_ads_source.stg_facebook_ads__ad_set_history_tmp"}}, "sources": {"source.facebook_ads_source.facebook_ads.campaign_history": {"metadata": {"type": "table", "schema": "facebook_ads_integration_tests", "name": "facebook_ads_campaign_history_data", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"id": {"type": "INT64", "index": 1, "name": "id", "comment": null}, "account_id": {"type": "INT64", "index": 2, "name": "account_id", "comment": null}, "name": {"type": "STRING", "index": 3, "name": "name", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 4, "name": "_fivetran_synced", "comment": null}, "updated_time": {"type": "TIMESTAMP", "index": 5, "name": "updated_time", "comment": null}}, "stats": {"num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 522.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.facebook_ads_source.facebook_ads.campaign_history"}, "source.facebook_ads_source.facebook_ads.basic_ad": {"metadata": {"type": "table", "schema": "facebook_ads_integration_tests", "name": "facebook_ads_basic_ad_data", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"ad_id": {"type": "INT64", "index": 1, "name": "ad_id", "comment": null}, "date": {"type": "DATE", "index": 2, "name": "date", "comment": null}, "account_id": {"type": "INT64", "index": 3, "name": "account_id", "comment": null}, "impressions": {"type": "INT64", "index": 4, "name": "impressions", "comment": null}, "inline_link_clicks": {"type": "INT64", "index": 5, "name": "inline_link_clicks", "comment": null}, "spend": {"type": "FLOAT64", "index": 6, "name": "spend", "comment": null}}, "stats": {"num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 480.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "num_rows": {"id": "num_rows", "label": "# Rows", "value": 10.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.facebook_ads_source.facebook_ads.basic_ad"}, "source.facebook_ads_source.facebook_ads.creative_history": {"metadata": {"type": "table", "schema": "facebook_ads_integration_tests", "name": "facebook_ads_creative_history_data", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"page_link": {"type": "STRING", "index": 1, "name": "page_link", "comment": null}, "template_page_link": {"type": "STRING", "index": 2, "name": "template_page_link", "comment": null}, "id": {"type": "INT64", "index": 3, "name": "id", "comment": null}, "account_id": {"type": "INT64", "index": 4, "name": "account_id", "comment": null}, "name": {"type": "STRING", "index": 5, "name": "name", "comment": null}, "url_tags": {"type": "STRING", "index": 6, "name": "url_tags", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 7, "name": "_fivetran_synced", "comment": null}, "asset_feed_spec_link_urls": {"type": "STRING", "index": 8, "name": "asset_feed_spec_link_urls", "comment": null}, "object_story_link_data_child_attachments": {"type": "STRING", "index": 9, "name": "object_story_link_data_child_attachments", "comment": null}, "object_story_link_data_caption": {"type": "STRING", "index": 10, "name": "object_story_link_data_caption", "comment": null}, "object_story_link_data_description": {"type": "STRING", "index": 11, "name": "object_story_link_data_description", "comment": null}, "object_story_link_data_link": {"type": "STRING", "index": 12, "name": "object_story_link_data_link", "comment": null}, "object_story_link_data_message": {"type": "STRING", "index": 13, "name": "object_story_link_data_message", "comment": null}, "template_app_link_spec_ios": {"type": "STRING", "index": 14, "name": "template_app_link_spec_ios", "comment": null}, "_fivetran_id": {"type": "STRING", "index": 15, "name": "_fivetran_id", "comment": null}}, "stats": {"num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 1399000.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "num_rows": {"id": "num_rows", "label": "# Rows", "value": 1000.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.facebook_ads_source.facebook_ads.creative_history"}, "source.facebook_ads_source.facebook_ads.account_history": {"metadata": {"type": "table", "schema": "facebook_ads_integration_tests", "name": "facebook_ads_account_history_data", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"id": {"type": "INT64", "index": 1, "name": "id", "comment": null}, "name": {"type": "STRING", "index": 2, "name": "name", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 3, "name": "_fivetran_synced", "comment": null}}, "stats": {"num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 2478.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "num_rows": {"id": "num_rows", "label": "# Rows", "value": 59.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.facebook_ads_source.facebook_ads.account_history"}, "source.facebook_ads_source.facebook_ads.ad_history": {"metadata": {"type": "table", "schema": "facebook_ads_integration_tests", "name": "facebook_ads_ad_history_data", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"id": {"type": "INT64", "index": 1, "name": "id", "comment": null}, "account_id": {"type": "INT64", "index": 2, "name": "account_id", "comment": null}, "ad_set_id": {"type": "INT64", "index": 3, "name": "ad_set_id", "comment": null}, "campaign_id": {"type": "INT64", "index": 4, "name": "campaign_id", "comment": null}, "creative_id": {"type": "INT64", "index": 5, "name": "creative_id", "comment": null}, "name": {"type": "STRING", "index": 6, "name": "name", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 7, "name": "_fivetran_synced", "comment": null}, "updated_time": {"type": "TIMESTAMP", "index": 8, "name": "updated_time", "comment": null}}, "stats": {"num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 720.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "num_rows": {"id": "num_rows", "label": "# Rows", "value": 12.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.facebook_ads_source.facebook_ads.ad_history"}, "source.facebook_ads_source.facebook_ads.ad_set_history": {"metadata": {"type": "table", "schema": "facebook_ads_integration_tests", "name": "facebook_ads_ad_set_history_data", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"id": {"type": "INT64", "index": 1, "name": "id", "comment": null}, "account_id": {"type": "INT64", "index": 2, "name": "account_id", "comment": null}, "campaign_id": {"type": "INT64", "index": 3, "name": "campaign_id", "comment": null}, "name": {"type": "STRING", "index": 4, "name": "name", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 5, "name": "_fivetran_synced", "comment": null}, "updated_time": {"type": "TIMESTAMP", "index": 6, "name": "updated_time", "comment": null}}, "stats": {"num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 924.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "num_rows": {"id": "num_rows", "label": "# Rows", "value": 14.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.facebook_ads_source.facebook_ads.ad_set_history"}}, "errors": null} \ No newline at end of file +{"metadata": {"dbt_schema_version": "https://schemas.getdbt.com/dbt/catalog/v1.json", "dbt_version": "1.3.0", "generated_at": "2022-12-14T23:03:36.837171Z", "invocation_id": "d5ef8e19-65f4-4fb7-ac37-ede0104ec68f", "env": {}}, "nodes": {"seed.facebook_ads_integration_tests.facebook_ads_basic_ad_data": {"metadata": {"type": "table", "schema": "facebook_ads_integration_tests", "name": "facebook_ads_basic_ad_data", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"ad_id": {"type": "INT64", "index": 1, "name": "ad_id", "comment": null}, "date": {"type": "DATE", "index": 2, "name": "date", "comment": null}, "account_id": {"type": "INT64", "index": 3, "name": "account_id", "comment": null}, "impressions": {"type": "INT64", "index": 4, "name": "impressions", "comment": null}, "inline_link_clicks": {"type": "INT64", "index": 5, "name": "inline_link_clicks", "comment": null}, "spend": {"type": "FLOAT64", "index": 6, "name": "spend", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 10.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 480.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.facebook_ads_integration_tests.facebook_ads_basic_ad_data"}, "seed.facebook_ads_integration_tests.facebook_ads_ad_history_data": {"metadata": {"type": "table", "schema": "facebook_ads_integration_tests", "name": "facebook_ads_ad_history_data", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"id": {"type": "INT64", "index": 1, "name": "id", "comment": null}, "account_id": {"type": "INT64", "index": 2, "name": "account_id", "comment": null}, "ad_set_id": {"type": "INT64", "index": 3, "name": "ad_set_id", "comment": null}, "campaign_id": {"type": "INT64", "index": 4, "name": "campaign_id", "comment": null}, "creative_id": {"type": "INT64", "index": 5, "name": "creative_id", "comment": null}, "name": {"type": "STRING", "index": 6, "name": "name", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 7, "name": "_fivetran_synced", "comment": null}, "updated_time": {"type": "TIMESTAMP", "index": 8, "name": "updated_time", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 12.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 720.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.facebook_ads_integration_tests.facebook_ads_ad_history_data"}, "seed.facebook_ads_integration_tests.facebook_ads_creative_history_data": {"metadata": {"type": "table", "schema": "facebook_ads_integration_tests", "name": "facebook_ads_creative_history_data", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"page_link": {"type": "STRING", "index": 1, "name": "page_link", "comment": null}, "template_page_link": {"type": "STRING", "index": 2, "name": "template_page_link", "comment": null}, "id": {"type": "INT64", "index": 3, "name": "id", "comment": null}, "account_id": {"type": "INT64", "index": 4, "name": "account_id", "comment": null}, "name": {"type": "STRING", "index": 5, "name": "name", "comment": null}, "url_tags": {"type": "STRING", "index": 6, "name": "url_tags", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 7, "name": "_fivetran_synced", "comment": null}, "asset_feed_spec_link_urls": {"type": "STRING", "index": 8, "name": "asset_feed_spec_link_urls", "comment": null}, "object_story_link_data_child_attachments": {"type": "STRING", "index": 9, "name": "object_story_link_data_child_attachments", "comment": null}, "object_story_link_data_caption": {"type": "STRING", "index": 10, "name": "object_story_link_data_caption", "comment": null}, "object_story_link_data_description": {"type": "STRING", "index": 11, "name": "object_story_link_data_description", "comment": null}, "object_story_link_data_link": {"type": "STRING", "index": 12, "name": "object_story_link_data_link", "comment": null}, "object_story_link_data_message": {"type": "STRING", "index": 13, "name": "object_story_link_data_message", "comment": null}, "template_app_link_spec_ios": {"type": "STRING", "index": 14, "name": "template_app_link_spec_ios", "comment": null}, "_fivetran_id": {"type": "STRING", "index": 15, "name": "_fivetran_id", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 1000.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 1399000.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.facebook_ads_integration_tests.facebook_ads_creative_history_data"}, "seed.facebook_ads_integration_tests.facebook_ads_account_history_data": {"metadata": {"type": "table", "schema": "facebook_ads_integration_tests", "name": "facebook_ads_account_history_data", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"id": {"type": "INT64", "index": 1, "name": "id", "comment": null}, "name": {"type": "STRING", "index": 2, "name": "name", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 3, "name": "_fivetran_synced", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 59.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 2478.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.facebook_ads_integration_tests.facebook_ads_account_history_data"}, "seed.facebook_ads_integration_tests.facebook_ads_ad_set_history_data": {"metadata": {"type": "table", "schema": "facebook_ads_integration_tests", "name": "facebook_ads_ad_set_history_data", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"id": {"type": "INT64", "index": 1, "name": "id", "comment": null}, "account_id": {"type": "INT64", "index": 2, "name": "account_id", "comment": null}, "campaign_id": {"type": "INT64", "index": 3, "name": "campaign_id", "comment": null}, "name": {"type": "STRING", "index": 4, "name": "name", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 5, "name": "_fivetran_synced", "comment": null}, "updated_time": {"type": "TIMESTAMP", "index": 6, "name": "updated_time", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 14.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 924.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.facebook_ads_integration_tests.facebook_ads_ad_set_history_data"}, "seed.facebook_ads_integration_tests.facebook_ads_campaign_history_data": {"metadata": {"type": "table", "schema": "facebook_ads_integration_tests", "name": "facebook_ads_campaign_history_data", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"id": {"type": "INT64", "index": 1, "name": "id", "comment": null}, "account_id": {"type": "INT64", "index": 2, "name": "account_id", "comment": null}, "name": {"type": "STRING", "index": 3, "name": "name", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 4, "name": "_fivetran_synced", "comment": null}, "updated_time": {"type": "TIMESTAMP", "index": 5, "name": "updated_time", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 9.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 522.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.facebook_ads_integration_tests.facebook_ads_campaign_history_data"}, "model.facebook_ads.facebook_ads__campaign_report": {"metadata": {"type": "table", "schema": "facebook_ads_integration_tests_facebook_ads", "name": "facebook_ads__campaign_report", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"date_day": {"type": "DATE", "index": 1, "name": "date_day", "comment": null}, "account_id": {"type": "INT64", "index": 2, "name": "account_id", "comment": null}, "account_name": {"type": "STRING", "index": 3, "name": "account_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}, "start_at": {"type": "TIMESTAMP", "index": 6, "name": "start_at", "comment": null}, "end_at": {"type": "TIMESTAMP", "index": 7, "name": "end_at", "comment": null}, "status": {"type": "STRING", "index": 8, "name": "status", "comment": null}, "daily_budget": {"type": "INT64", "index": 9, "name": "daily_budget", "comment": null}, "lifetime_budget": {"type": "INT64", "index": 10, "name": "lifetime_budget", "comment": null}, "budget_remaining": {"type": "FLOAT64", "index": 11, "name": "budget_remaining", "comment": null}, "clicks": {"type": "INT64", "index": 12, "name": "clicks", "comment": null}, "impressions": {"type": "INT64", "index": 13, "name": "impressions", "comment": null}, "spend": {"type": "FLOAT64", "index": 14, "name": "spend", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 10.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 1000.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.facebook_ads.facebook_ads__campaign_report"}, "model.facebook_ads.facebook_ads__ad_set_report": {"metadata": {"type": "table", "schema": "facebook_ads_integration_tests_facebook_ads", "name": "facebook_ads__ad_set_report", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"date_day": {"type": "DATE", "index": 1, "name": "date_day", "comment": null}, "account_id": {"type": "INT64", "index": 2, "name": "account_id", "comment": null}, "account_name": {"type": "STRING", "index": 3, "name": "account_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_set_id": {"type": "INT64", "index": 6, "name": "ad_set_id", "comment": null}, "ad_set_name": {"type": "STRING", "index": 7, "name": "ad_set_name", "comment": null}, "start_at": {"type": "TIMESTAMP", "index": 8, "name": "start_at", "comment": null}, "end_at": {"type": "TIMESTAMP", "index": 9, "name": "end_at", "comment": null}, "bid_strategy": {"type": "STRING", "index": 10, "name": "bid_strategy", "comment": null}, "daily_budget": {"type": "INT64", "index": 11, "name": "daily_budget", "comment": null}, "budget_remaining": {"type": "INT64", "index": 12, "name": "budget_remaining", "comment": null}, "clicks": {"type": "INT64", "index": 13, "name": "clicks", "comment": null}, "impressions": {"type": "INT64", "index": 14, "name": "impressions", "comment": null}, "spend": {"type": "FLOAT64", "index": 15, "name": "spend", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 10.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 1340.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.facebook_ads.facebook_ads__ad_set_report"}, "model.facebook_ads.facebook_ads__account_report": {"metadata": {"type": "table", "schema": "facebook_ads_integration_tests_facebook_ads", "name": "facebook_ads__account_report", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"date_day": {"type": "DATE", "index": 1, "name": "date_day", "comment": null}, "account_id": {"type": "INT64", "index": 2, "name": "account_id", "comment": null}, "account_name": {"type": "STRING", "index": 3, "name": "account_name", "comment": null}, "account_status": {"type": "STRING", "index": 4, "name": "account_status", "comment": null}, "business_country_code": {"type": "STRING", "index": 5, "name": "business_country_code", "comment": null}, "created_at": {"type": "TIMESTAMP", "index": 6, "name": "created_at", "comment": null}, "currency": {"type": "STRING", "index": 7, "name": "currency", "comment": null}, "timezone_name": {"type": "STRING", "index": 8, "name": "timezone_name", "comment": null}, "clicks": {"type": "INT64", "index": 9, "name": "clicks", "comment": null}, "impressions": {"type": "INT64", "index": 10, "name": "impressions", "comment": null}, "spend": {"type": "FLOAT64", "index": 11, "name": "spend", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 9.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 594.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.facebook_ads.facebook_ads__account_report"}, "model.facebook_ads.facebook_ads__ad_report": {"metadata": {"type": "table", "schema": "facebook_ads_integration_tests_facebook_ads", "name": "facebook_ads__ad_report", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"date_day": {"type": "DATE", "index": 1, "name": "date_day", "comment": null}, "account_id": {"type": "INT64", "index": 2, "name": "account_id", "comment": null}, "account_name": {"type": "STRING", "index": 3, "name": "account_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_set_id": {"type": "INT64", "index": 6, "name": "ad_set_id", "comment": null}, "ad_set_name": {"type": "STRING", "index": 7, "name": "ad_set_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}, "clicks": {"type": "INT64", "index": 10, "name": "clicks", "comment": null}, "impressions": {"type": "INT64", "index": 11, "name": "impressions", "comment": null}, "spend": {"type": "FLOAT64", "index": 12, "name": "spend", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 10.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 1460.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.facebook_ads.facebook_ads__ad_report"}, "model.facebook_ads.facebook_ads__url_tags": {"metadata": {"type": "table", "schema": "facebook_ads_integration_tests_facebook_ads", "name": "facebook_ads__url_tags", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"_fivetran_id": {"type": "STRING", "index": 1, "name": "_fivetran_id", "comment": null}, "creative_id": {"type": "INT64", "index": 2, "name": "creative_id", "comment": null}, "key": {"type": "STRING", "index": 3, "name": "key", "comment": null}, "value": {"type": "STRING", "index": 4, "name": "value", "comment": null}, "type": {"type": "STRING", "index": 5, "name": "type", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 220.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 13970.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.facebook_ads.facebook_ads__url_tags"}, "model.facebook_ads.int_facebook_ads__creative_history": {"metadata": {"type": "view", "schema": "facebook_ads_integration_tests_facebook_ads", "name": "int_facebook_ads__creative_history", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"_fivetran_id": {"type": "STRING", "index": 1, "name": "_fivetran_id", "comment": null}, "creative_id": {"type": "INT64", "index": 2, "name": "creative_id", "comment": null}, "account_id": {"type": "INT64", "index": 3, "name": "account_id", "comment": null}, "creative_name": {"type": "STRING", "index": 4, "name": "creative_name", "comment": null}, "url": {"type": "STRING", "index": 5, "name": "url", "comment": null}, "base_url": {"type": "STRING", "index": 6, "name": "base_url", "comment": null}, "url_host": {"type": "STRING", "index": 7, "name": "url_host", "comment": null}, "url_path": {"type": "STRING", "index": 8, "name": "url_path", "comment": null}, "utm_source": {"type": "STRING", "index": 9, "name": "utm_source", "comment": null}, "utm_medium": {"type": "STRING", "index": 10, "name": "utm_medium", "comment": null}, "utm_campaign": {"type": "STRING", "index": 11, "name": "utm_campaign", "comment": null}, "utm_content": {"type": "STRING", "index": 12, "name": "utm_content", "comment": null}, "utm_term": {"type": "STRING", "index": 13, "name": "utm_term", "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.facebook_ads.int_facebook_ads__creative_history"}, "model.facebook_ads.facebook_ads__url_report": {"metadata": {"type": "table", "schema": "facebook_ads_integration_tests_facebook_ads", "name": "facebook_ads__url_report", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"date_day": {"type": "DATE", "index": 1, "name": "date_day", "comment": null}, "account_id": {"type": "INT64", "index": 2, "name": "account_id", "comment": null}, "account_name": {"type": "STRING", "index": 3, "name": "account_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_set_id": {"type": "INT64", "index": 6, "name": "ad_set_id", "comment": null}, "ad_set_name": {"type": "STRING", "index": 7, "name": "ad_set_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}, "creative_id": {"type": "INT64", "index": 10, "name": "creative_id", "comment": null}, "creative_name": {"type": "STRING", "index": 11, "name": "creative_name", "comment": null}, "base_url": {"type": "STRING", "index": 12, "name": "base_url", "comment": null}, "url_host": {"type": "STRING", "index": 13, "name": "url_host", "comment": null}, "url_path": {"type": "STRING", "index": 14, "name": "url_path", "comment": null}, "utm_source": {"type": "STRING", "index": 15, "name": "utm_source", "comment": null}, "utm_medium": {"type": "STRING", "index": 16, "name": "utm_medium", "comment": null}, "utm_campaign": {"type": "STRING", "index": 17, "name": "utm_campaign", "comment": null}, "utm_content": {"type": "STRING", "index": 18, "name": "utm_content", "comment": null}, "utm_term": {"type": "STRING", "index": 19, "name": "utm_term", "comment": null}, "clicks": {"type": "INT64", "index": 20, "name": "clicks", "comment": null}, "impressions": {"type": "INT64", "index": 21, "name": "impressions", "comment": null}, "spend": {"type": "FLOAT64", "index": 22, "name": "spend", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 0.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 0.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.facebook_ads.facebook_ads__url_report"}, "model.facebook_ads_source.stg_facebook_ads__account_history_tmp": {"metadata": {"type": "view", "schema": "facebook_ads_integration_tests_facebook_ads_source", "name": "stg_facebook_ads__account_history_tmp", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"id": {"type": "INT64", "index": 1, "name": "id", "comment": null}, "name": {"type": "STRING", "index": 2, "name": "name", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 3, "name": "_fivetran_synced", "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.facebook_ads_source.stg_facebook_ads__account_history_tmp"}, "model.facebook_ads_source.stg_facebook_ads__basic_ad_tmp": {"metadata": {"type": "view", "schema": "facebook_ads_integration_tests_facebook_ads_source", "name": "stg_facebook_ads__basic_ad_tmp", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"ad_id": {"type": "INT64", "index": 1, "name": "ad_id", "comment": null}, "date": {"type": "DATE", "index": 2, "name": "date", "comment": null}, "account_id": {"type": "INT64", "index": 3, "name": "account_id", "comment": null}, "impressions": {"type": "INT64", "index": 4, "name": "impressions", "comment": null}, "inline_link_clicks": {"type": "INT64", "index": 5, "name": "inline_link_clicks", "comment": null}, "spend": {"type": "FLOAT64", "index": 6, "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.facebook_ads_source.stg_facebook_ads__basic_ad_tmp"}, "model.facebook_ads_source.stg_facebook_ads__ad_set_history": {"metadata": {"type": "table", "schema": "facebook_ads_integration_tests_facebook_ads_source", "name": "stg_facebook_ads__ad_set_history", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"updated_at": {"type": "TIMESTAMP", "index": 1, "name": "updated_at", "comment": null}, "ad_set_id": {"type": "INT64", "index": 2, "name": "ad_set_id", "comment": null}, "ad_set_name": {"type": "STRING", "index": 3, "name": "ad_set_name", "comment": null}, "account_id": {"type": "INT64", "index": 4, "name": "account_id", "comment": null}, "campaign_id": {"type": "INT64", "index": 5, "name": "campaign_id", "comment": null}, "start_at": {"type": "TIMESTAMP", "index": 6, "name": "start_at", "comment": null}, "end_at": {"type": "TIMESTAMP", "index": 7, "name": "end_at", "comment": null}, "bid_strategy": {"type": "STRING", "index": 8, "name": "bid_strategy", "comment": null}, "daily_budget": {"type": "INT64", "index": 9, "name": "daily_budget", "comment": null}, "budget_remaining": {"type": "INT64", "index": 10, "name": "budget_remaining", "comment": null}, "status": {"type": "STRING", "index": 11, "name": "status", "comment": null}, "is_most_recent_record": {"type": "BOOL", "index": 12, "name": "is_most_recent_record", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 14.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 826.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.facebook_ads_source.stg_facebook_ads__ad_set_history"}, "model.facebook_ads_source.stg_facebook_ads__creative_history_tmp": {"metadata": {"type": "view", "schema": "facebook_ads_integration_tests_facebook_ads_source", "name": "stg_facebook_ads__creative_history_tmp", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"page_link": {"type": "STRING", "index": 1, "name": "page_link", "comment": null}, "template_page_link": {"type": "STRING", "index": 2, "name": "template_page_link", "comment": null}, "id": {"type": "INT64", "index": 3, "name": "id", "comment": null}, "account_id": {"type": "INT64", "index": 4, "name": "account_id", "comment": null}, "name": {"type": "STRING", "index": 5, "name": "name", "comment": null}, "url_tags": {"type": "STRING", "index": 6, "name": "url_tags", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 7, "name": "_fivetran_synced", "comment": null}, "asset_feed_spec_link_urls": {"type": "STRING", "index": 8, "name": "asset_feed_spec_link_urls", "comment": null}, "object_story_link_data_child_attachments": {"type": "STRING", "index": 9, "name": "object_story_link_data_child_attachments", "comment": null}, "object_story_link_data_caption": {"type": "STRING", "index": 10, "name": "object_story_link_data_caption", "comment": null}, "object_story_link_data_description": {"type": "STRING", "index": 11, "name": "object_story_link_data_description", "comment": null}, "object_story_link_data_link": {"type": "STRING", "index": 12, "name": "object_story_link_data_link", "comment": null}, "object_story_link_data_message": {"type": "STRING", "index": 13, "name": "object_story_link_data_message", "comment": null}, "template_app_link_spec_ios": {"type": "STRING", "index": 14, "name": "template_app_link_spec_ios", "comment": null}, "_fivetran_id": {"type": "STRING", "index": 15, "name": "_fivetran_id", "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.facebook_ads_source.stg_facebook_ads__creative_history_tmp"}, "model.facebook_ads_source.stg_facebook_ads__ad_history_tmp": {"metadata": {"type": "view", "schema": "facebook_ads_integration_tests_facebook_ads_source", "name": "stg_facebook_ads__ad_history_tmp", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"id": {"type": "INT64", "index": 1, "name": "id", "comment": null}, "account_id": {"type": "INT64", "index": 2, "name": "account_id", "comment": null}, "ad_set_id": {"type": "INT64", "index": 3, "name": "ad_set_id", "comment": null}, "campaign_id": {"type": "INT64", "index": 4, "name": "campaign_id", "comment": null}, "creative_id": {"type": "INT64", "index": 5, "name": "creative_id", "comment": null}, "name": {"type": "STRING", "index": 6, "name": "name", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 7, "name": "_fivetran_synced", "comment": null}, "updated_time": {"type": "TIMESTAMP", "index": 8, "name": "updated_time", "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.facebook_ads_source.stg_facebook_ads__ad_history_tmp"}, "model.facebook_ads_source.stg_facebook_ads__basic_ad": {"metadata": {"type": "table", "schema": "facebook_ads_integration_tests_facebook_ads_source", "name": "stg_facebook_ads__basic_ad", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"ad_id": {"type": "INT64", "index": 1, "name": "ad_id", "comment": null}, "ad_name": {"type": "STRING", "index": 2, "name": "ad_name", "comment": null}, "ad_set_name": {"type": "STRING", "index": 3, "name": "ad_set_name", "comment": null}, "date_day": {"type": "DATE", "index": 4, "name": "date_day", "comment": null}, "account_id": {"type": "INT64", "index": 5, "name": "account_id", "comment": null}, "impressions": {"type": "INT64", "index": 6, "name": "impressions", "comment": null}, "clicks": {"type": "INT64", "index": 7, "name": "clicks", "comment": null}, "spend": {"type": "FLOAT64", "index": 8, "name": "spend", "comment": null}, "reach": {"type": "INT64", "index": 9, "name": "reach", "comment": null}, "frequency": {"type": "FLOAT64", "index": 10, "name": "frequency", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 10.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 480.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.facebook_ads_source.stg_facebook_ads__basic_ad"}, "model.facebook_ads_source.stg_facebook_ads__creative_history": {"metadata": {"type": "table", "schema": "facebook_ads_integration_tests_facebook_ads_source", "name": "stg_facebook_ads__creative_history", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"_fivetran_id": {"type": "STRING", "index": 1, "name": "_fivetran_id", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 2, "name": "_fivetran_synced", "comment": null}, "creative_id": {"type": "INT64", "index": 3, "name": "creative_id", "comment": null}, "account_id": {"type": "INT64", "index": 4, "name": "account_id", "comment": null}, "creative_name": {"type": "STRING", "index": 5, "name": "creative_name", "comment": null}, "page_link": {"type": "STRING", "index": 6, "name": "page_link", "comment": null}, "template_page_link": {"type": "STRING", "index": 7, "name": "template_page_link", "comment": null}, "url_tags": {"type": "STRING", "index": 8, "name": "url_tags", "comment": null}, "asset_feed_spec_link_urls": {"type": "STRING", "index": 9, "name": "asset_feed_spec_link_urls", "comment": null}, "object_story_link_data_child_attachments": {"type": "STRING", "index": 10, "name": "object_story_link_data_child_attachments", "comment": null}, "object_story_link_data_caption": {"type": "STRING", "index": 11, "name": "object_story_link_data_caption", "comment": null}, "object_story_link_data_description": {"type": "STRING", "index": 12, "name": "object_story_link_data_description", "comment": null}, "object_story_link_data_link": {"type": "STRING", "index": 13, "name": "object_story_link_data_link", "comment": null}, "object_story_link_data_message": {"type": "STRING", "index": 14, "name": "object_story_link_data_message", "comment": null}, "template_app_link_spec_ios": {"type": "STRING", "index": 15, "name": "template_app_link_spec_ios", "comment": null}, "template_app_link_spec_ipad": {"type": "STRING", "index": 16, "name": "template_app_link_spec_ipad", "comment": null}, "template_app_link_spec_android": {"type": "STRING", "index": 17, "name": "template_app_link_spec_android", "comment": null}, "template_app_link_spec_iphone": {"type": "STRING", "index": 18, "name": "template_app_link_spec_iphone", "comment": null}, "is_most_recent_record": {"type": "BOOL", "index": 19, "name": "is_most_recent_record", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 1000.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 1400000.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.facebook_ads_source.stg_facebook_ads__creative_history"}, "model.facebook_ads_source.stg_facebook_ads__account_history": {"metadata": {"type": "table", "schema": "facebook_ads_integration_tests_facebook_ads_source", "name": "stg_facebook_ads__account_history", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"account_id": {"type": "INT64", "index": 1, "name": "account_id", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 2, "name": "_fivetran_synced", "comment": null}, "account_name": {"type": "STRING", "index": 3, "name": "account_name", "comment": null}, "account_status": {"type": "STRING", "index": 4, "name": "account_status", "comment": null}, "business_country_code": {"type": "STRING", "index": 5, "name": "business_country_code", "comment": null}, "created_at": {"type": "TIMESTAMP", "index": 6, "name": "created_at", "comment": null}, "currency": {"type": "STRING", "index": 7, "name": "currency", "comment": null}, "timezone_name": {"type": "STRING", "index": 8, "name": "timezone_name", "comment": null}, "is_most_recent_record": {"type": "BOOL", "index": 9, "name": "is_most_recent_record", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 59.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 2537.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.facebook_ads_source.stg_facebook_ads__account_history"}, "model.facebook_ads_source.stg_facebook_ads__ad_set_history_tmp": {"metadata": {"type": "view", "schema": "facebook_ads_integration_tests_facebook_ads_source", "name": "stg_facebook_ads__ad_set_history_tmp", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"id": {"type": "INT64", "index": 1, "name": "id", "comment": null}, "account_id": {"type": "INT64", "index": 2, "name": "account_id", "comment": null}, "campaign_id": {"type": "INT64", "index": 3, "name": "campaign_id", "comment": null}, "name": {"type": "STRING", "index": 4, "name": "name", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 5, "name": "_fivetran_synced", "comment": null}, "updated_time": {"type": "TIMESTAMP", "index": 6, "name": "updated_time", "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.facebook_ads_source.stg_facebook_ads__ad_set_history_tmp"}, "model.facebook_ads_source.stg_facebook_ads__campaign_history_tmp": {"metadata": {"type": "view", "schema": "facebook_ads_integration_tests_facebook_ads_source", "name": "stg_facebook_ads__campaign_history_tmp", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"id": {"type": "INT64", "index": 1, "name": "id", "comment": null}, "account_id": {"type": "INT64", "index": 2, "name": "account_id", "comment": null}, "name": {"type": "STRING", "index": 3, "name": "name", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 4, "name": "_fivetran_synced", "comment": null}, "updated_time": {"type": "TIMESTAMP", "index": 5, "name": "updated_time", "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.facebook_ads_source.stg_facebook_ads__campaign_history_tmp"}, "model.facebook_ads_source.stg_facebook_ads__campaign_history": {"metadata": {"type": "table", "schema": "facebook_ads_integration_tests_facebook_ads_source", "name": "stg_facebook_ads__campaign_history", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"updated_at": {"type": "TIMESTAMP", "index": 1, "name": "updated_at", "comment": null}, "created_at": {"type": "TIMESTAMP", "index": 2, "name": "created_at", "comment": null}, "account_id": {"type": "INT64", "index": 3, "name": "account_id", "comment": null}, "campaign_id": {"type": "INT64", "index": 4, "name": "campaign_id", "comment": null}, "campaign_name": {"type": "STRING", "index": 5, "name": "campaign_name", "comment": null}, "start_at": {"type": "TIMESTAMP", "index": 6, "name": "start_at", "comment": null}, "end_at": {"type": "TIMESTAMP", "index": 7, "name": "end_at", "comment": null}, "status": {"type": "STRING", "index": 8, "name": "status", "comment": null}, "daily_budget": {"type": "INT64", "index": 9, "name": "daily_budget", "comment": null}, "lifetime_budget": {"type": "INT64", "index": 10, "name": "lifetime_budget", "comment": null}, "budget_remaining": {"type": "FLOAT64", "index": 11, "name": "budget_remaining", "comment": null}, "is_most_recent_record": {"type": "BOOL", "index": 12, "name": "is_most_recent_record", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 9.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 459.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.facebook_ads_source.stg_facebook_ads__campaign_history"}, "model.facebook_ads_source.stg_facebook_ads__ad_history": {"metadata": {"type": "table", "schema": "facebook_ads_integration_tests_facebook_ads_source", "name": "stg_facebook_ads__ad_history", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"updated_at": {"type": "TIMESTAMP", "index": 1, "name": "updated_at", "comment": null}, "ad_id": {"type": "INT64", "index": 2, "name": "ad_id", "comment": null}, "ad_name": {"type": "STRING", "index": 3, "name": "ad_name", "comment": null}, "account_id": {"type": "INT64", "index": 4, "name": "account_id", "comment": null}, "ad_set_id": {"type": "INT64", "index": 5, "name": "ad_set_id", "comment": null}, "campaign_id": {"type": "INT64", "index": 6, "name": "campaign_id", "comment": null}, "creative_id": {"type": "INT64", "index": 7, "name": "creative_id", "comment": null}, "is_most_recent_record": {"type": "BOOL", "index": 8, "name": "is_most_recent_record", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 12.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 636.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.facebook_ads_source.stg_facebook_ads__ad_history"}}, "sources": {"source.facebook_ads_source.facebook_ads.basic_ad": {"metadata": {"type": "table", "schema": "facebook_ads_integration_tests", "name": "facebook_ads_basic_ad_data", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"ad_id": {"type": "INT64", "index": 1, "name": "ad_id", "comment": null}, "date": {"type": "DATE", "index": 2, "name": "date", "comment": null}, "account_id": {"type": "INT64", "index": 3, "name": "account_id", "comment": null}, "impressions": {"type": "INT64", "index": 4, "name": "impressions", "comment": null}, "inline_link_clicks": {"type": "INT64", "index": 5, "name": "inline_link_clicks", "comment": null}, "spend": {"type": "FLOAT64", "index": 6, "name": "spend", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 10.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 480.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.facebook_ads_source.facebook_ads.basic_ad"}, "source.facebook_ads_source.facebook_ads.ad_history": {"metadata": {"type": "table", "schema": "facebook_ads_integration_tests", "name": "facebook_ads_ad_history_data", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"id": {"type": "INT64", "index": 1, "name": "id", "comment": null}, "account_id": {"type": "INT64", "index": 2, "name": "account_id", "comment": null}, "ad_set_id": {"type": "INT64", "index": 3, "name": "ad_set_id", "comment": null}, "campaign_id": {"type": "INT64", "index": 4, "name": "campaign_id", "comment": null}, "creative_id": {"type": "INT64", "index": 5, "name": "creative_id", "comment": null}, "name": {"type": "STRING", "index": 6, "name": "name", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 7, "name": "_fivetran_synced", "comment": null}, "updated_time": {"type": "TIMESTAMP", "index": 8, "name": "updated_time", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 12.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 720.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.facebook_ads_source.facebook_ads.ad_history"}, "source.facebook_ads_source.facebook_ads.creative_history": {"metadata": {"type": "table", "schema": "facebook_ads_integration_tests", "name": "facebook_ads_creative_history_data", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"page_link": {"type": "STRING", "index": 1, "name": "page_link", "comment": null}, "template_page_link": {"type": "STRING", "index": 2, "name": "template_page_link", "comment": null}, "id": {"type": "INT64", "index": 3, "name": "id", "comment": null}, "account_id": {"type": "INT64", "index": 4, "name": "account_id", "comment": null}, "name": {"type": "STRING", "index": 5, "name": "name", "comment": null}, "url_tags": {"type": "STRING", "index": 6, "name": "url_tags", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 7, "name": "_fivetran_synced", "comment": null}, "asset_feed_spec_link_urls": {"type": "STRING", "index": 8, "name": "asset_feed_spec_link_urls", "comment": null}, "object_story_link_data_child_attachments": {"type": "STRING", "index": 9, "name": "object_story_link_data_child_attachments", "comment": null}, "object_story_link_data_caption": {"type": "STRING", "index": 10, "name": "object_story_link_data_caption", "comment": null}, "object_story_link_data_description": {"type": "STRING", "index": 11, "name": "object_story_link_data_description", "comment": null}, "object_story_link_data_link": {"type": "STRING", "index": 12, "name": "object_story_link_data_link", "comment": null}, "object_story_link_data_message": {"type": "STRING", "index": 13, "name": "object_story_link_data_message", "comment": null}, "template_app_link_spec_ios": {"type": "STRING", "index": 14, "name": "template_app_link_spec_ios", "comment": null}, "_fivetran_id": {"type": "STRING", "index": 15, "name": "_fivetran_id", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 1000.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 1399000.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.facebook_ads_source.facebook_ads.creative_history"}, "source.facebook_ads_source.facebook_ads.account_history": {"metadata": {"type": "table", "schema": "facebook_ads_integration_tests", "name": "facebook_ads_account_history_data", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"id": {"type": "INT64", "index": 1, "name": "id", "comment": null}, "name": {"type": "STRING", "index": 2, "name": "name", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 3, "name": "_fivetran_synced", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 59.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 2478.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.facebook_ads_source.facebook_ads.account_history"}, "source.facebook_ads_source.facebook_ads.ad_set_history": {"metadata": {"type": "table", "schema": "facebook_ads_integration_tests", "name": "facebook_ads_ad_set_history_data", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"id": {"type": "INT64", "index": 1, "name": "id", "comment": null}, "account_id": {"type": "INT64", "index": 2, "name": "account_id", "comment": null}, "campaign_id": {"type": "INT64", "index": 3, "name": "campaign_id", "comment": null}, "name": {"type": "STRING", "index": 4, "name": "name", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 5, "name": "_fivetran_synced", "comment": null}, "updated_time": {"type": "TIMESTAMP", "index": 6, "name": "updated_time", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 14.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 924.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.facebook_ads_source.facebook_ads.ad_set_history"}, "source.facebook_ads_source.facebook_ads.campaign_history": {"metadata": {"type": "table", "schema": "facebook_ads_integration_tests", "name": "facebook_ads_campaign_history_data", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"id": {"type": "INT64", "index": 1, "name": "id", "comment": null}, "account_id": {"type": "INT64", "index": 2, "name": "account_id", "comment": null}, "name": {"type": "STRING", "index": 3, "name": "name", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 4, "name": "_fivetran_synced", "comment": null}, "updated_time": {"type": "TIMESTAMP", "index": 5, "name": "updated_time", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 9.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 522.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.facebook_ads_source.facebook_ads.campaign_history"}}, "errors": null} \ No newline at end of file diff --git a/docs/manifest.json b/docs/manifest.json index b4be307..9c8d416 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-10-25T21:01:43.894510Z", "invocation_id": "bb3da3fc-73db-47bd-88c1-560f01c5b724", "env": {}, "project_id": "6d850e6ac780f18e972b683bd77cbc61", "user_id": "2bfa9082-ea6e-467b-abdc-d0514ab111d9", "send_anonymous_usage_stats": true, "adapter_type": "bigquery"}, "nodes": {"seed.facebook_ads_integration_tests.facebook_ads_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": {"id": "int64", "account_id": "int64", "campaign_id": "int64", "ad_set_id": "int64", "ad_id": "int64", "creative_id": "int64", "page_link": "string", "template_page_link": "string", "_fivetran_synced": "timestamp", "updated_time": "timestamp"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "facebook_ads_integration_tests", "fqn": ["facebook_ads_integration_tests", "facebook_ads_ad_history_data"], "unique_id": "seed.facebook_ads_integration_tests.facebook_ads_ad_history_data", "raw_code": "", "language": "sql", "package_name": "facebook_ads_integration_tests", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests", "path": "facebook_ads_ad_history_data.csv", "original_file_path": "seeds/facebook_ads_ad_history_data.csv", "name": "facebook_ads_ad_history_data", "alias": "facebook_ads_ad_history_data", "checksum": {"name": "sha256", "checksum": "95c960d78745b1652034ba4da5cc2a7d5b923e816a81c90360f1b28588b7befd"}, "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": {"column_types": {"id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "account_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "ad_set_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "ad_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "creative_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "page_link": "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}", "template_page_link": "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}", "_fivetran_synced": "timestamp", "updated_time": "timestamp"}}, "created_at": 1666731665.886453, "compiled_code": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`facebook_ads_integration_tests`.`facebook_ads_ad_history_data`"}, "seed.facebook_ads_integration_tests.facebook_ads_creative_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": {"id": "int64", "account_id": "int64", "campaign_id": "int64", "ad_set_id": "int64", "ad_id": "int64", "creative_id": "int64", "page_link": "string", "template_page_link": "string", "_fivetran_synced": "timestamp", "updated_time": "timestamp"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "facebook_ads_integration_tests", "fqn": ["facebook_ads_integration_tests", "facebook_ads_creative_history_data"], "unique_id": "seed.facebook_ads_integration_tests.facebook_ads_creative_history_data", "raw_code": "", "language": "sql", "package_name": "facebook_ads_integration_tests", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests", "path": "facebook_ads_creative_history_data.csv", "original_file_path": "seeds/facebook_ads_creative_history_data.csv", "name": "facebook_ads_creative_history_data", "alias": "facebook_ads_creative_history_data", "checksum": {"name": "path", "checksum": "seeds/facebook_ads_creative_history_data.csv"}, "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": {"column_types": {"id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "account_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "ad_set_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "ad_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "creative_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "page_link": "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}", "template_page_link": "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}", "_fivetran_synced": "timestamp", "updated_time": "timestamp"}}, "created_at": 1666731665.8914921, "compiled_code": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`facebook_ads_integration_tests`.`facebook_ads_creative_history_data`"}, "seed.facebook_ads_integration_tests.facebook_ads_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": {"id": "int64", "account_id": "int64", "campaign_id": "int64", "ad_set_id": "int64", "ad_id": "int64", "creative_id": "int64", "page_link": "string", "template_page_link": "string", "_fivetran_synced": "timestamp", "updated_time": "timestamp"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "facebook_ads_integration_tests", "fqn": ["facebook_ads_integration_tests", "facebook_ads_campaign_history_data"], "unique_id": "seed.facebook_ads_integration_tests.facebook_ads_campaign_history_data", "raw_code": "", "language": "sql", "package_name": "facebook_ads_integration_tests", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests", "path": "facebook_ads_campaign_history_data.csv", "original_file_path": "seeds/facebook_ads_campaign_history_data.csv", "name": "facebook_ads_campaign_history_data", "alias": "facebook_ads_campaign_history_data", "checksum": {"name": "sha256", "checksum": "1dfd8244efe7c32be5fb93c8417575d79670225092a28cab9da03d0ad7773432"}, "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": {"column_types": {"id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "account_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "ad_set_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "ad_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "creative_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "page_link": "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}", "template_page_link": "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}", "_fivetran_synced": "timestamp", "updated_time": "timestamp"}}, "created_at": 1666731665.892606, "compiled_code": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`facebook_ads_integration_tests`.`facebook_ads_campaign_history_data`"}, "seed.facebook_ads_integration_tests.facebook_ads_account_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": {"id": "int64", "account_id": "int64", "campaign_id": "int64", "ad_set_id": "int64", "ad_id": "int64", "creative_id": "int64", "page_link": "string", "template_page_link": "string", "_fivetran_synced": "timestamp", "updated_time": "timestamp"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "facebook_ads_integration_tests", "fqn": ["facebook_ads_integration_tests", "facebook_ads_account_history_data"], "unique_id": "seed.facebook_ads_integration_tests.facebook_ads_account_history_data", "raw_code": "", "language": "sql", "package_name": "facebook_ads_integration_tests", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests", "path": "facebook_ads_account_history_data.csv", "original_file_path": "seeds/facebook_ads_account_history_data.csv", "name": "facebook_ads_account_history_data", "alias": "facebook_ads_account_history_data", "checksum": {"name": "sha256", "checksum": "cd864f60b0ec016488416e66c22b5ff0ffcb882139124d92c3207f5abb0ae36d"}, "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": {"column_types": {"id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "account_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "ad_set_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "ad_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "creative_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "page_link": "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}", "template_page_link": "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}", "_fivetran_synced": "timestamp", "updated_time": "timestamp"}}, "created_at": 1666731665.893573, "compiled_code": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`facebook_ads_integration_tests`.`facebook_ads_account_history_data`"}, "seed.facebook_ads_integration_tests.facebook_ads_basic_ad_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": {"id": "int64", "account_id": "int64", "campaign_id": "int64", "ad_set_id": "int64", "ad_id": "int64", "creative_id": "int64", "page_link": "string", "template_page_link": "string", "_fivetran_synced": "timestamp", "updated_time": "timestamp"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "facebook_ads_integration_tests", "fqn": ["facebook_ads_integration_tests", "facebook_ads_basic_ad_data"], "unique_id": "seed.facebook_ads_integration_tests.facebook_ads_basic_ad_data", "raw_code": "", "language": "sql", "package_name": "facebook_ads_integration_tests", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests", "path": "facebook_ads_basic_ad_data.csv", "original_file_path": "seeds/facebook_ads_basic_ad_data.csv", "name": "facebook_ads_basic_ad_data", "alias": "facebook_ads_basic_ad_data", "checksum": {"name": "sha256", "checksum": "66b31e24edd0ba75d3fee6ad4c1522fd9b43417943aac398f1c92f5076ba7ac0"}, "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": {"column_types": {"id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "account_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "ad_set_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "ad_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "creative_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "page_link": "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}", "template_page_link": "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}", "_fivetran_synced": "timestamp", "updated_time": "timestamp"}}, "created_at": 1666731665.894538, "compiled_code": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`facebook_ads_integration_tests`.`facebook_ads_basic_ad_data`"}, "seed.facebook_ads_integration_tests.facebook_ads_ad_set_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": {"id": "int64", "account_id": "int64", "campaign_id": "int64", "ad_set_id": "int64", "ad_id": "int64", "creative_id": "int64", "page_link": "string", "template_page_link": "string", "_fivetran_synced": "timestamp", "updated_time": "timestamp"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "facebook_ads_integration_tests", "fqn": ["facebook_ads_integration_tests", "facebook_ads_ad_set_history_data"], "unique_id": "seed.facebook_ads_integration_tests.facebook_ads_ad_set_history_data", "raw_code": "", "language": "sql", "package_name": "facebook_ads_integration_tests", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests", "path": "facebook_ads_ad_set_history_data.csv", "original_file_path": "seeds/facebook_ads_ad_set_history_data.csv", "name": "facebook_ads_ad_set_history_data", "alias": "facebook_ads_ad_set_history_data", "checksum": {"name": "sha256", "checksum": "da4e6b48f3feaa4bd2c3783b125909a14c5317b3c1484b4f6af5d7c1d88f5bd7"}, "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": {"column_types": {"id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "account_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "ad_set_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "ad_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "creative_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "page_link": "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}", "template_page_link": "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}", "_fivetran_synced": "timestamp", "updated_time": "timestamp"}}, "created_at": 1666731665.8954968, "compiled_code": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`facebook_ads_integration_tests`.`facebook_ads_ad_set_history_data`"}, "model.facebook_ads.facebook_ads__url_report": {"compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.fivetran_utils.persist_pass_through_columns", "macro.dbt_utils.group_by"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__basic_ad", "model.facebook_ads.int_facebook_ads__creative_history", "model.facebook_ads_source.stg_facebook_ads__account_history", "model.facebook_ads_source.stg_facebook_ads__ad_history", "model.facebook_ads_source.stg_facebook_ads__ad_set_history", "model.facebook_ads_source.stg_facebook_ads__campaign_history"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_facebook_ads", "fqn": ["facebook_ads", "facebook_ads__url_report"], "unique_id": "model.facebook_ads.facebook_ads__url_report", "raw_code": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nwith report as (\n\n select *\n from {{ var('basic_ad') }}\n\n), \n\ncreatives as (\n\n select *\n from {{ ref('int_facebook_ads__creative_history') }}\n\n), \n\naccounts as (\n\n select *\n from {{ var('account_history') }}\n where is_most_recent_record = true\n\n), \n\nads as (\n\n select *\n from {{ var('ad_history') }}\n where is_most_recent_record = true\n\n), \n\nad_sets as (\n\n select *\n from {{ var('ad_set_history') }}\n where is_most_recent_record = true\n\n), \n\ncampaigns as (\n\n select *\n from {{ var('campaign_history') }}\n where is_most_recent_record = true\n\n), \n\njoined as (\n\n select\n report.date_day,\n accounts.account_id,\n accounts.account_name,\n campaigns.campaign_id,\n campaigns.campaign_name,\n ad_sets.ad_set_id,\n ad_sets.ad_set_name,\n ads.ad_id,\n ads.ad_name,\n creatives.creative_id,\n creatives.creative_name,\n creatives.base_url,\n creatives.url_host,\n creatives.url_path,\n creatives.utm_source,\n creatives.utm_medium,\n creatives.utm_campaign,\n creatives.utm_content,\n creatives.utm_term,\n sum(report.clicks) as clicks,\n sum(report.impressions) as impressions,\n sum(report.spend) as spend\n\n {{ fivetran_utils.persist_pass_through_columns(pass_through_variable='facebook_ads__basic_ad_passthrough_metrics', transform = 'sum') }}\n from report\n left join ads \n on report.ad_id = ads.ad_id\n left join creatives\n on ads.creative_id = creatives.creative_id\n left join ad_sets\n on ads.ad_set_id = ad_sets.ad_set_id\n left join campaigns\n on ads.campaign_id = campaigns.campaign_id\n left join accounts\n on report.account_id = accounts.account_id \n where creatives.url is not null\n {{ dbt_utils.group_by(19) }}\n)\n\nselect *\nfrom joined", "language": "sql", "package_name": "facebook_ads", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "facebook_ads__url_report.sql", "original_file_path": "models/facebook_ads__url_report.sql", "name": "facebook_ads__url_report", "alias": "facebook_ads__url_report", "checksum": {"name": "sha256", "checksum": "10c9e21c2dd8784f9e08d760bced13633256fa77a516234ee971c3c6d1aa97c6"}, "tags": [], "refs": [["stg_facebook_ads__basic_ad"], ["int_facebook_ads__creative_history"], ["stg_facebook_ads__account_history"], ["stg_facebook_ads__ad_history"], ["stg_facebook_ads__ad_set_history"], ["stg_facebook_ads__campaign_history"]], "sources": [], "metrics": [], "description": "Each record represents the daily performance of a Facebook ad at the URL level.", "columns": {"date_day": {"name": "date_day", "description": "The date of the performance.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "The ID of the related account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_name": {"name": "account_name", "description": "The name of the related account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_id": {"name": "campaign_id", "description": "The ID of the related campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_name": {"name": "campaign_name", "description": "The name of the related campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_set_id": {"name": "ad_set_id", "description": "The ID of the related ad set.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_set_name": {"name": "ad_set_name", "description": "The name of the related ad set.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_id": {"name": "ad_id", "description": "The ID of the related ad.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_name": {"name": "ad_name", "description": "The name of the related ad.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "creative_id": {"name": "creative_id", "description": "The ID of the related creative.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "creative_name": {"name": "creative_name", "description": "The name of the related creative.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "base_url": {"name": "base_url", "description": "The base URL of the ad, extracted from the page_link and template_page_link.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "url_host": {"name": "url_host", "description": "The URL host of the ad, extracted from the page_link and template_page_link.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "url_path": {"name": "url_path", "description": "The URL path of the ad, extracted from the page_link and template_page_link.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "utm_source": {"name": "utm_source", "description": "The utm_source parameter of the ad, extracted from the page_link and template_page_link.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "utm_medium": {"name": "utm_medium", "description": "The utm_medium parameter of the ad, extracted from the page_link and template_page_link.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "utm_campaign": {"name": "utm_campaign", "description": "The utm_campaign parameter of the ad, extracted from the page_link and template_page_link.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "utm_content": {"name": "utm_content", "description": "The utm_content parameter of the ad, extracted from the page_link and template_page_link.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "utm_term": {"name": "utm_term", "description": "The utm_term parameter of the ad, extracted from the page_link and template_page_link.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clicks": {"name": "clicks", "description": "The number of clicks the ad had on the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "The number of impressions the ad had on the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The spend on the ad in the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": "facebook_ads://models/facebook.yml", "compiled_path": "target/compiled/facebook_ads/models/facebook_ads__url_report.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads", "materialized": "table", "enabled": true}, "created_at": 1666731666.0970361, "compiled_code": "\n\nwith report as (\n\n select *\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__basic_ad`\n\n), \n\ncreatives as (\n\n select *\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads`.`int_facebook_ads__creative_history`\n\n), \n\naccounts as (\n\n select *\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__account_history`\n where is_most_recent_record = true\n\n), \n\nads as (\n\n select *\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__ad_history`\n where is_most_recent_record = true\n\n), \n\nad_sets as (\n\n select *\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__ad_set_history`\n where is_most_recent_record = true\n\n), \n\ncampaigns as (\n\n select *\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__campaign_history`\n where is_most_recent_record = true\n\n), \n\njoined as (\n\n select\n report.date_day,\n accounts.account_id,\n accounts.account_name,\n campaigns.campaign_id,\n campaigns.campaign_name,\n ad_sets.ad_set_id,\n ad_sets.ad_set_name,\n ads.ad_id,\n ads.ad_name,\n creatives.creative_id,\n creatives.creative_name,\n creatives.base_url,\n creatives.url_host,\n creatives.url_path,\n creatives.utm_source,\n creatives.utm_medium,\n creatives.utm_campaign,\n creatives.utm_content,\n creatives.utm_term,\n sum(report.clicks) as clicks,\n sum(report.impressions) as impressions,\n sum(report.spend) as spend\n\n \n\n\n\n\n from report\n left join ads \n on report.ad_id = ads.ad_id\n left join creatives\n on ads.creative_id = creatives.creative_id\n left join ad_sets\n on ads.ad_set_id = ad_sets.ad_set_id\n left join campaigns\n on ads.campaign_id = campaigns.campaign_id\n left join accounts\n on report.account_id = accounts.account_id \n where creatives.url is not null\n group by 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19\n)\n\nselect *\nfrom joined", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads`.`facebook_ads__url_report`"}, "model.facebook_ads.facebook_ads__url_tags": {"compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.facebook_ads.get_url_tags_query"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__creative_history"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_facebook_ads", "fqn": ["facebook_ads", "facebook_ads__url_tags"], "unique_id": "model.facebook_ads.facebook_ads__url_tags", "raw_code": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nwith base as (\n\n select *\n from {{ var('creative_history') }}\n where is_most_recent_record = true\n), \n\nrequired_fields as (\n\n select\n _fivetran_id,\n creative_id,\n url_tags\n from base\n where url_tags is not null\n), \n\n{{ get_url_tags_query() }} \n\nselect *\nfrom fields", "language": "sql", "package_name": "facebook_ads", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "facebook_ads__url_tags.sql", "original_file_path": "models/facebook_ads__url_tags.sql", "name": "facebook_ads__url_tags", "alias": "facebook_ads__url_tags", "checksum": {"name": "sha256", "checksum": "94dcb7faf1441b289fcec62f3e81794a05a34cf10bf2955e8a8f8c18555f8ad2"}, "tags": [], "refs": [["stg_facebook_ads__creative_history"]], "sources": [], "metrics": [], "description": "Each record is a unique combination of creative_id and corresponding key, value, type contained in the url_tags field", "columns": {"_fivetran_id": {"name": "_fivetran_id", "description": "The unique fivetran ID for this record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "creative_id": {"name": "creative_id", "description": "The associated creative_id for this record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "key": {"name": "key", "description": "The url tag object name e.g. utm_source associated with this record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "value": {"name": "value", "description": "The value assigned to the url tag object associated with this record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "type": {"name": "type", "description": "The type assigned to the url tag object e.g. 'AD_VIDEO'.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": "facebook_ads://models/facebook.yml", "compiled_path": "target/compiled/facebook_ads/models/facebook_ads__url_tags.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads", "materialized": "table", "enabled": true}, "created_at": 1666731666.1034582, "compiled_code": "\n\nwith base as (\n\n select *\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__creative_history`\n where is_most_recent_record = true\n), \n\nrequired_fields as (\n\n select\n _fivetran_id,\n creative_id,\n url_tags\n from base\n where url_tags is not null\n), \n\n\n\n cleaned_json as (\n\n select\n _fivetran_id,\n creative_id,\n json_extract_array(replace(trim(url_tags, '\"'),'\\\\','')) as cleaned_url_tags\n from required_fields\n ), \n\n unnested as (\n\n select \n _fivetran_id, \n creative_id, \n url_tag_element\n from cleaned_json\n left join unnest(cleaned_url_tags) as url_tag_element\n where cleaned_url_tags is not null\n ), \n\n fields as (\n\n select\n _fivetran_id,\n creative_id,\n json_extract_scalar(url_tag_element, '$.key') as key,\n json_extract_scalar(url_tag_element, '$.value') as value,\n json_extract_scalar(url_tag_element, '$.type') as type\n from unnested\n )\n\n \n\nselect *\nfrom fields", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads`.`facebook_ads__url_tags`"}, "model.facebook_ads.facebook_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.facebook_ads_source.stg_facebook_ads__basic_ad", "model.facebook_ads_source.stg_facebook_ads__account_history", "model.facebook_ads_source.stg_facebook_ads__campaign_history", "model.facebook_ads_source.stg_facebook_ads__ad_history"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_facebook_ads", "fqn": ["facebook_ads", "facebook_ads__campaign_report"], "unique_id": "model.facebook_ads.facebook_ads__campaign_report", "raw_code": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nwith report as (\n\n select *\n from {{ var('basic_ad') }}\n\n), \n\naccounts as (\n\n select *\n from {{ var('account_history') }}\n where is_most_recent_record = true\n\n),\n\ncampaigns as (\n\n select *\n from {{ var('campaign_history') }}\n where is_most_recent_record = true\n\n),\n\nads as (\n\n select *\n from {{ var('ad_history') }}\n where is_most_recent_record = true\n\n),\n\njoined as (\n\n select \n report.date_day,\n accounts.account_id,\n accounts.account_name,\n campaigns.campaign_id,\n campaigns.campaign_name,\n campaigns.start_at,\n campaigns.end_at,\n campaigns.status,\n campaigns.daily_budget,\n campaigns.lifetime_budget,\n campaigns.budget_remaining,\n sum(report.clicks) as clicks,\n sum(report.impressions) as impressions,\n sum(report.spend) as spend\n\n {{ fivetran_utils.persist_pass_through_columns(pass_through_variable='facebook_ads__basic_ad_passthrough_metrics', transform = 'sum') }}\n from report \n left join accounts\n on report.account_id = accounts.account_id\n left join ads \n on report.ad_id = ads.ad_id\n left join campaigns\n on ads.campaign_id = campaigns.campaign_id\n {{ dbt_utils.group_by(11) }}\n)\n\nselect *\nfrom joined", "language": "sql", "package_name": "facebook_ads", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "facebook_ads__campaign_report.sql", "original_file_path": "models/facebook_ads__campaign_report.sql", "name": "facebook_ads__campaign_report", "alias": "facebook_ads__campaign_report", "checksum": {"name": "sha256", "checksum": "4bec447c9d29e7a26180ce14a68d0a1217d60f0d24bed7c89716b3520c053a75"}, "tags": [], "refs": [["stg_facebook_ads__basic_ad"], ["stg_facebook_ads__account_history"], ["stg_facebook_ads__campaign_history"], ["stg_facebook_ads__ad_history"]], "sources": [], "metrics": [], "description": "Each record represents the daily performance of a Facebook campaign.", "columns": {"date_day": {"name": "date_day", "description": "The date of the performance.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "The ID of the related account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_name": {"name": "account_name", "description": "The name of the related account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_id": {"name": "campaign_id", "description": "The ID of the related campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_name": {"name": "campaign_name", "description": "The name of the related campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clicks": {"name": "clicks", "description": "The number of clicks the ad had on the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "The number of impressions the ad had on the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The spend on the ad in the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": "facebook_ads://models/facebook.yml", "compiled_path": "target/compiled/facebook_ads/models/facebook_ads__campaign_report.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads", "materialized": "table", "enabled": true}, "created_at": 1666731666.101599, "compiled_code": "\n\nwith report as (\n\n select *\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__basic_ad`\n\n), \n\naccounts as (\n\n select *\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__account_history`\n where is_most_recent_record = true\n\n),\n\ncampaigns as (\n\n select *\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__campaign_history`\n where is_most_recent_record = true\n\n),\n\nads as (\n\n select *\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__ad_history`\n where is_most_recent_record = true\n\n),\n\njoined as (\n\n select \n report.date_day,\n accounts.account_id,\n accounts.account_name,\n campaigns.campaign_id,\n campaigns.campaign_name,\n campaigns.start_at,\n campaigns.end_at,\n campaigns.status,\n campaigns.daily_budget,\n campaigns.lifetime_budget,\n campaigns.budget_remaining,\n sum(report.clicks) as clicks,\n sum(report.impressions) as impressions,\n sum(report.spend) as spend\n\n \n\n\n\n\n from report \n left join accounts\n on report.account_id = accounts.account_id\n left join ads \n on report.ad_id = ads.ad_id\n left join campaigns\n on ads.campaign_id = campaigns.campaign_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": "`dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads`.`facebook_ads__campaign_report`"}, "model.facebook_ads.facebook_ads__account_report": {"compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.fivetran_utils.persist_pass_through_columns", "macro.dbt_utils.group_by"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__basic_ad", "model.facebook_ads_source.stg_facebook_ads__account_history"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_facebook_ads", "fqn": ["facebook_ads", "facebook_ads__account_report"], "unique_id": "model.facebook_ads.facebook_ads__account_report", "raw_code": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nwith report as (\n\n select *\n from {{ var('basic_ad') }}\n\n), \n\naccounts as (\n\n select *\n from {{ var('account_history') }}\n where is_most_recent_record = true\n\n),\n\njoined as (\n\n select \n report.date_day,\n accounts.account_id,\n accounts.account_name,\n accounts.account_status,\n accounts.business_country_code,\n accounts.created_at,\n accounts.currency,\n accounts.timezone_name,\n sum(report.clicks) as clicks,\n sum(report.impressions) as impressions,\n sum(report.spend) as spend\n\n {{ fivetran_utils.persist_pass_through_columns(pass_through_variable='facebook_ads__basic_ad_passthrough_metrics', transform = 'sum') }}\n from report \n left join accounts\n on report.account_id = accounts.account_id\n {{ dbt_utils.group_by(8) }}\n)\n\nselect *\nfrom joined", "language": "sql", "package_name": "facebook_ads", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "facebook_ads__account_report.sql", "original_file_path": "models/facebook_ads__account_report.sql", "name": "facebook_ads__account_report", "alias": "facebook_ads__account_report", "checksum": {"name": "sha256", "checksum": "845cdb5118e536d66d515c2e11eee71d380e406ba4f443bae4828ec70362841e"}, "tags": [], "refs": [["stg_facebook_ads__basic_ad"], ["stg_facebook_ads__account_history"]], "sources": [], "metrics": [], "description": "Each record represents the daily performance of a Facebook account.", "columns": {"date_day": {"name": "date_day", "description": "The date of the performance.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "The ID of the related account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_name": {"name": "account_name", "description": "The name of the related account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clicks": {"name": "clicks", "description": "The number of clicks the ad had on the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "The number of impressions the ad had on the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The spend on the ad in the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": "facebook_ads://models/facebook.yml", "compiled_path": "target/compiled/facebook_ads/models/facebook_ads__account_report.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads", "materialized": "table", "enabled": true}, "created_at": 1666731666.102554, "compiled_code": "\n\nwith report as (\n\n select *\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__basic_ad`\n\n), \n\naccounts as (\n\n select *\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__account_history`\n where is_most_recent_record = true\n\n),\n\njoined as (\n\n select \n report.date_day,\n accounts.account_id,\n accounts.account_name,\n accounts.account_status,\n accounts.business_country_code,\n accounts.created_at,\n accounts.currency,\n accounts.timezone_name,\n sum(report.clicks) as clicks,\n sum(report.impressions) as impressions,\n sum(report.spend) as spend\n\n \n\n\n\n\n from report \n left join accounts\n on report.account_id = accounts.account_id\n group by 1,2,3,4,5,6,7,8\n)\n\nselect *\nfrom joined", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads`.`facebook_ads__account_report`"}, "model.facebook_ads.facebook_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.facebook_ads_source.stg_facebook_ads__basic_ad", "model.facebook_ads_source.stg_facebook_ads__account_history", "model.facebook_ads_source.stg_facebook_ads__campaign_history", "model.facebook_ads_source.stg_facebook_ads__ad_set_history", "model.facebook_ads_source.stg_facebook_ads__ad_history"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_facebook_ads", "fqn": ["facebook_ads", "facebook_ads__ad_report"], "unique_id": "model.facebook_ads.facebook_ads__ad_report", "raw_code": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nwith report as (\n\n select *\n from {{ var('basic_ad') }}\n\n), \n\naccounts as (\n\n select *\n from {{ var('account_history') }}\n where is_most_recent_record = true\n\n),\n\ncampaigns as (\n\n select *\n from {{ var('campaign_history') }}\n where is_most_recent_record = true\n\n),\n\nad_sets as (\n\n select *\n from {{ var('ad_set_history') }}\n where is_most_recent_record = true\n\n),\n\nads as (\n\n select *\n from {{ var('ad_history') }}\n where is_most_recent_record = true\n\n),\n\njoined as (\n\n select \n report.date_day,\n accounts.account_id,\n accounts.account_name,\n campaigns.campaign_id,\n campaigns.campaign_name,\n ad_sets.ad_set_id,\n ad_sets.ad_set_name,\n ads.ad_id,\n ads.ad_name,\n sum(report.clicks) as clicks,\n sum(report.impressions) as impressions,\n sum(report.spend) as spend\n\n {{ fivetran_utils.persist_pass_through_columns(pass_through_variable='facebook_ads__basic_ad_passthrough_metrics', transform = 'sum') }}\n from report \n left join accounts\n on report.account_id = accounts.account_id\n left join ads \n on report.ad_id = ads.ad_id\n left join campaigns\n on ads.campaign_id = campaigns.campaign_id\n left join ad_sets\n on ads.ad_set_id = ad_sets.ad_set_id\n {{ dbt_utils.group_by(9) }}\n)\n\nselect *\nfrom joined", "language": "sql", "package_name": "facebook_ads", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "facebook_ads__ad_report.sql", "original_file_path": "models/facebook_ads__ad_report.sql", "name": "facebook_ads__ad_report", "alias": "facebook_ads__ad_report", "checksum": {"name": "sha256", "checksum": "36088a9abc521347aacc7d9bf0f56fd712441e94a2bc66ef334f85ff8f4761ea"}, "tags": [], "refs": [["stg_facebook_ads__basic_ad"], ["stg_facebook_ads__account_history"], ["stg_facebook_ads__campaign_history"], ["stg_facebook_ads__ad_set_history"], ["stg_facebook_ads__ad_history"]], "sources": [], "metrics": [], "description": "Each record represents the daily performance of a Facebook ad.", "columns": {"date_day": {"name": "date_day", "description": "The date of the performance.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "The ID of the related account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_name": {"name": "account_name", "description": "The name of the related account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_id": {"name": "campaign_id", "description": "The ID of the related campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_name": {"name": "campaign_name", "description": "The name of the related campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_set_id": {"name": "ad_set_id", "description": "The ID of the related ad set.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_set_name": {"name": "ad_set_name", "description": "The name of the related ad set.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_id": {"name": "ad_id", "description": "The ID of the related ad.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_name": {"name": "ad_name", "description": "The name of the related ad.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clicks": {"name": "clicks", "description": "The number of clicks the ad had on the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "The number of impressions the ad had on the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The spend on the ad in the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": "facebook_ads://models/facebook.yml", "compiled_path": "target/compiled/facebook_ads/models/facebook_ads__ad_report.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads", "materialized": "table", "enabled": true}, "created_at": 1666731666.098884, "compiled_code": "\n\nwith report as (\n\n select *\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__basic_ad`\n\n), \n\naccounts as (\n\n select *\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__account_history`\n where is_most_recent_record = true\n\n),\n\ncampaigns as (\n\n select *\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__campaign_history`\n where is_most_recent_record = true\n\n),\n\nad_sets as (\n\n select *\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__ad_set_history`\n where is_most_recent_record = true\n\n),\n\nads as (\n\n select *\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__ad_history`\n where is_most_recent_record = true\n\n),\n\njoined as (\n\n select \n report.date_day,\n accounts.account_id,\n accounts.account_name,\n campaigns.campaign_id,\n campaigns.campaign_name,\n ad_sets.ad_set_id,\n ad_sets.ad_set_name,\n ads.ad_id,\n ads.ad_name,\n sum(report.clicks) as clicks,\n sum(report.impressions) as impressions,\n sum(report.spend) as spend\n\n \n\n\n\n\n from report \n left join accounts\n on report.account_id = accounts.account_id\n left join ads \n on report.ad_id = ads.ad_id\n left join campaigns\n on ads.campaign_id = campaigns.campaign_id\n left join ad_sets\n on ads.ad_set_id = ad_sets.ad_set_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": "`dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads`.`facebook_ads__ad_report`"}, "model.facebook_ads.facebook_ads__ad_set_report": {"compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.fivetran_utils.persist_pass_through_columns", "macro.dbt_utils.group_by"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__basic_ad", "model.facebook_ads_source.stg_facebook_ads__account_history", "model.facebook_ads_source.stg_facebook_ads__campaign_history", "model.facebook_ads_source.stg_facebook_ads__ad_set_history", "model.facebook_ads_source.stg_facebook_ads__ad_history"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_facebook_ads", "fqn": ["facebook_ads", "facebook_ads__ad_set_report"], "unique_id": "model.facebook_ads.facebook_ads__ad_set_report", "raw_code": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nwith report as (\n\n select *\n from {{ var('basic_ad') }}\n\n), \n\naccounts as (\n\n select *\n from {{ var('account_history') }}\n where is_most_recent_record = true\n\n),\n\ncampaigns as (\n\n select *\n from {{ var('campaign_history') }}\n where is_most_recent_record = true\n\n),\n\nad_sets as (\n\n select *\n from {{ var('ad_set_history') }}\n where is_most_recent_record = true\n\n),\n\nads as (\n\n select *\n from {{ var('ad_history') }}\n where is_most_recent_record = true\n\n),\n\njoined as (\n\n select \n report.date_day,\n accounts.account_id,\n accounts.account_name,\n campaigns.campaign_id,\n campaigns.campaign_name,\n ad_sets.ad_set_id,\n ad_sets.ad_set_name,\n ad_sets.start_at,\n ad_sets.end_at,\n ad_sets.bid_strategy,\n ad_sets.daily_budget,\n ad_sets.budget_remaining,\n sum(report.clicks) as clicks,\n sum(report.impressions) as impressions,\n sum(report.spend) as spend\n\n {{ fivetran_utils.persist_pass_through_columns(pass_through_variable='facebook_ads__basic_ad_passthrough_metrics', transform = 'sum') }}\n from report \n left join accounts\n on report.account_id = accounts.account_id\n left join ads \n on report.ad_id = ads.ad_id\n left join campaigns\n on ads.campaign_id = campaigns.campaign_id\n left join ad_sets\n on ads.ad_set_id = ad_sets.ad_set_id\n {{ dbt_utils.group_by(12) }}\n)\n\nselect *\nfrom joined", "language": "sql", "package_name": "facebook_ads", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "facebook_ads__ad_set_report.sql", "original_file_path": "models/facebook_ads__ad_set_report.sql", "name": "facebook_ads__ad_set_report", "alias": "facebook_ads__ad_set_report", "checksum": {"name": "sha256", "checksum": "d1b0e28fe240e405fe8f746c38d4fad26a8d43e10dcd6f375617b78095f87e01"}, "tags": [], "refs": [["stg_facebook_ads__basic_ad"], ["stg_facebook_ads__account_history"], ["stg_facebook_ads__campaign_history"], ["stg_facebook_ads__ad_set_history"], ["stg_facebook_ads__ad_history"]], "sources": [], "metrics": [], "description": "Each record represents the daily performance of a Facebook ad set.", "columns": {"date_day": {"name": "date_day", "description": "The date of the performance.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "The ID of the related account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_name": {"name": "account_name", "description": "The name of the related account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_id": {"name": "campaign_id", "description": "The ID of the related campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_name": {"name": "campaign_name", "description": "The name of the related campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_set_id": {"name": "ad_set_id", "description": "The ID of the related ad set.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_set_name": {"name": "ad_set_name", "description": "The name of the related ad set.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clicks": {"name": "clicks", "description": "The number of clicks the ad had on the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "The number of impressions the ad had on the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The spend on the ad in the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": "facebook_ads://models/facebook.yml", "compiled_path": "target/compiled/facebook_ads/models/facebook_ads__ad_set_report.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads", "materialized": "table", "enabled": true}, "created_at": 1666731666.100323, "compiled_code": "\n\nwith report as (\n\n select *\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__basic_ad`\n\n), \n\naccounts as (\n\n select *\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__account_history`\n where is_most_recent_record = true\n\n),\n\ncampaigns as (\n\n select *\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__campaign_history`\n where is_most_recent_record = true\n\n),\n\nad_sets as (\n\n select *\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__ad_set_history`\n where is_most_recent_record = true\n\n),\n\nads as (\n\n select *\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__ad_history`\n where is_most_recent_record = true\n\n),\n\njoined as (\n\n select \n report.date_day,\n accounts.account_id,\n accounts.account_name,\n campaigns.campaign_id,\n campaigns.campaign_name,\n ad_sets.ad_set_id,\n ad_sets.ad_set_name,\n ad_sets.start_at,\n ad_sets.end_at,\n ad_sets.bid_strategy,\n ad_sets.daily_budget,\n ad_sets.budget_remaining,\n sum(report.clicks) as clicks,\n sum(report.impressions) as impressions,\n sum(report.spend) as spend\n\n \n\n\n\n\n from report \n left join accounts\n on report.account_id = accounts.account_id\n left join ads \n on report.ad_id = ads.ad_id\n left join campaigns\n on ads.campaign_id = campaigns.campaign_id\n left join ad_sets\n on ads.ad_set_id = ad_sets.ad_set_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": "`dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads`.`facebook_ads__ad_set_report`"}, "model.facebook_ads.int_facebook_ads__creative_history": {"compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.dbt.split_part", "macro.dbt_utils.get_url_host", "macro.dbt_utils.get_url_path", "macro.dbt_utils.get_url_parameter"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__creative_history", "model.facebook_ads.facebook_ads__url_tags"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_ads", "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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_facebook_ads", "fqn": ["facebook_ads", "intermediate", "int_facebook_ads__creative_history"], "unique_id": "model.facebook_ads.int_facebook_ads__creative_history", "raw_code": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\n{% set url_field = \"coalesce(page_link,template_page_link)\" %}\n\nwith base as (\n\n select *\n from {{ var('creative_history') }}\n where is_most_recent_record = true\n\n), \n\nurl_tags as (\n\n select *\n from {{ ref('facebook_ads__url_tags') }}\n), \n\nurl_tags_pivoted as (\n\n select \n _fivetran_id,\n creative_id,\n min(case when key = 'utm_source' then value end) as utm_source,\n min(case when key = 'utm_medium' then value end) as utm_medium,\n min(case when key = 'utm_campaign' then value end) as utm_campaign,\n min(case when key = 'utm_content' then value end) as utm_content,\n min(case when key = 'utm_term' then value end) as utm_term\n from url_tags\n group by 1,2\n\n), \n\nfields as (\n\n select\n base._fivetran_id,\n base.creative_id,\n base.account_id,\n base.creative_name,\n {{ url_field }} as url,\n {{ dbt.split_part(url_field, \"'?'\", 1) }} as base_url,\n {{ dbt_utils.get_url_host(url_field) }} as url_host,\n '/' || {{ dbt_utils.get_url_path(url_field) }} as url_path,\n coalesce(url_tags_pivoted.utm_source, {{ dbt_utils.get_url_parameter(url_field, 'utm_source') }}) as utm_source,\n coalesce(url_tags_pivoted.utm_medium, {{ dbt_utils.get_url_parameter(url_field, 'utm_medium') }}) as utm_medium,\n coalesce(url_tags_pivoted.utm_campaign, {{ dbt_utils.get_url_parameter(url_field, 'utm_campaign') }}) as utm_campaign,\n coalesce(url_tags_pivoted.utm_content, {{ dbt_utils.get_url_parameter(url_field, 'utm_content') }}) as utm_content,\n coalesce(url_tags_pivoted.utm_term, {{ dbt_utils.get_url_parameter(url_field, 'utm_term') }}) as utm_term\n from base\n left join url_tags_pivoted\n on base._fivetran_id = url_tags_pivoted._fivetran_id\n and base.creative_id = url_tags_pivoted.creative_id\n)\n\nselect *\nfrom fields", "language": "sql", "package_name": "facebook_ads", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "intermediate/int_facebook_ads__creative_history.sql", "original_file_path": "models/intermediate/int_facebook_ads__creative_history.sql", "name": "int_facebook_ads__creative_history", "alias": "int_facebook_ads__creative_history", "checksum": {"name": "sha256", "checksum": "58070e7fbe67471ca464a7f8fdb011e4e8582d1651e7b42b966218bdaf1b4235"}, "tags": [], "refs": [["stg_facebook_ads__creative_history"], ["facebook_ads__url_tags"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads/models/intermediate/int_facebook_ads__creative_history.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads", "materialized": "view", "enabled": true}, "created_at": 1666731665.946038, "compiled_code": "\n\n\n\nwith base as (\n\n select *\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__creative_history`\n where is_most_recent_record = true\n\n), \n\nurl_tags as (\n\n select *\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads`.`facebook_ads__url_tags`\n), \n\nurl_tags_pivoted as (\n\n select \n _fivetran_id,\n creative_id,\n min(case when key = 'utm_source' then value end) as utm_source,\n min(case when key = 'utm_medium' then value end) as utm_medium,\n min(case when key = 'utm_campaign' then value end) as utm_campaign,\n min(case when key = 'utm_content' then value end) as utm_content,\n min(case when key = 'utm_term' then value end) as utm_term\n from url_tags\n group by 1,2\n\n), \n\nfields as (\n\n select\n base._fivetran_id,\n base.creative_id,\n base.account_id,\n base.creative_name,\n coalesce(page_link,template_page_link) as url,\n \n\n \n split(\n coalesce(page_link,template_page_link),\n '?'\n )[safe_offset(0)]\n \n\n as base_url,\n \n safe_cast(\n\n \n split(\n \n\n \n split(\n \n\n replace(\n \n\n replace(\n \n\n replace(\n coalesce(page_link,template_page_link),\n 'android-app://',\n ''\n )\n\n\n,\n 'http://',\n ''\n )\n\n\n,\n 'https://',\n ''\n )\n\n\n,\n '/'\n )[safe_offset(0)]\n \n\n,\n '?'\n )[safe_offset(0)]\n \n\n as STRING)\n as url_host,\n '/' || \n safe_cast(\n\n \n split(\n \n\n case when \n\n length(\n \n\n replace(\n \n\n replace(\n coalesce(page_link,template_page_link),\n 'http://',\n ''\n )\n\n\n,\n 'https://',\n ''\n )\n\n\n\n )-coalesce(\n nullif(\n\n strpos(\n \n\n replace(\n \n\n replace(\n coalesce(page_link,template_page_link),\n 'http://',\n ''\n )\n\n\n,\n 'https://',\n ''\n )\n\n\n,\n '/'\n\n ), 0),\n \n\n strpos(\n \n\n replace(\n \n\n replace(\n coalesce(page_link,template_page_link),\n 'http://',\n ''\n )\n\n\n,\n 'https://',\n ''\n )\n\n\n,\n '?'\n\n ) - 1\n ) = 0\n then ''\n else\n substr(\n \n\n replace(\n \n\n replace(\n coalesce(page_link,template_page_link),\n 'http://',\n ''\n )\n\n\n,\n 'https://',\n ''\n )\n\n\n,\n -1 * (\n\n length(\n \n\n replace(\n \n\n replace(\n coalesce(page_link,template_page_link),\n 'http://',\n ''\n )\n\n\n,\n 'https://',\n ''\n )\n\n\n\n )-coalesce(\n nullif(\n\n strpos(\n \n\n replace(\n \n\n replace(\n coalesce(page_link,template_page_link),\n 'http://',\n ''\n )\n\n\n,\n 'https://',\n ''\n )\n\n\n,\n '/'\n\n ), 0),\n \n\n strpos(\n \n\n replace(\n \n\n replace(\n coalesce(page_link,template_page_link),\n 'http://',\n ''\n )\n\n\n,\n 'https://',\n ''\n )\n\n\n,\n '?'\n\n ) - 1\n ))\n )\n end,\n '?'\n )[safe_offset(0)]\n \n\n as STRING)\n as url_path,\n coalesce(url_tags_pivoted.utm_source, nullif(\n\n \n split(\n \n\n \n split(\n coalesce(page_link,template_page_link),\n 'utm_source='\n )[safe_offset(1)]\n \n\n,\n '&'\n )[safe_offset(0)]\n \n\n,'')) as utm_source,\n coalesce(url_tags_pivoted.utm_medium, nullif(\n\n \n split(\n \n\n \n split(\n coalesce(page_link,template_page_link),\n 'utm_medium='\n )[safe_offset(1)]\n \n\n,\n '&'\n )[safe_offset(0)]\n \n\n,'')) as utm_medium,\n coalesce(url_tags_pivoted.utm_campaign, nullif(\n\n \n split(\n \n\n \n split(\n coalesce(page_link,template_page_link),\n 'utm_campaign='\n )[safe_offset(1)]\n \n\n,\n '&'\n )[safe_offset(0)]\n \n\n,'')) as utm_campaign,\n coalesce(url_tags_pivoted.utm_content, nullif(\n\n \n split(\n \n\n \n split(\n coalesce(page_link,template_page_link),\n 'utm_content='\n )[safe_offset(1)]\n \n\n,\n '&'\n )[safe_offset(0)]\n \n\n,'')) as utm_content,\n coalesce(url_tags_pivoted.utm_term, nullif(\n\n \n split(\n \n\n \n split(\n coalesce(page_link,template_page_link),\n 'utm_term='\n )[safe_offset(1)]\n \n\n,\n '&'\n )[safe_offset(0)]\n \n\n,'')) as utm_term\n from base\n left join url_tags_pivoted\n on base._fivetran_id = url_tags_pivoted._fivetran_id\n and base.creative_id = url_tags_pivoted.creative_id\n)\n\nselect *\nfrom fields", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads`.`int_facebook_ads__creative_history`"}, "model.facebook_ads_source.stg_facebook_ads__basic_ad": {"compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.facebook_ads_source.get_basic_ad_columns", "macro.fivetran_utils.fill_staging_columns", "macro.dbt.type_bigint", "macro.fivetran_utils.fill_pass_through_columns"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__basic_ad_tmp", "model.facebook_ads_source.stg_facebook_ads__basic_ad_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_facebook_ads_source", "fqn": ["facebook_ads_source", "stg_facebook_ads__basic_ad"], "unique_id": "model.facebook_ads_source.stg_facebook_ads__basic_ad", "raw_code": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_facebook_ads__basic_ad_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_facebook_ads__basic_ad_tmp')),\n staging_columns=get_basic_ad_columns()\n )\n }}\n \n from base\n),\n\nfinal as (\n \n select \n cast(ad_id as {{ dbt.type_bigint() }}) as ad_id,\n ad_name,\n adset_name as ad_set_name,\n date as date_day,\n cast(account_id as {{ dbt.type_bigint() }}) as account_id,\n impressions,\n coalesce(inline_link_clicks,0) as clicks,\n spend,\n reach,\n frequency\n\n {{ fivetran_utils.fill_pass_through_columns('facebook_ads__basic_ad_passthrough_metrics') }}\n from fields\n)\n\nselect * \nfrom final", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "stg_facebook_ads__basic_ad.sql", "original_file_path": "models/stg_facebook_ads__basic_ad.sql", "name": "stg_facebook_ads__basic_ad", "alias": "stg_facebook_ads__basic_ad", "checksum": {"name": "sha256", "checksum": "2034249ba6885eae9434fc88a91b108e34b667b7e29c83711b29498b85da644a"}, "tags": [], "refs": [["stg_facebook_ads__basic_ad_tmp"], ["stg_facebook_ads__basic_ad_tmp"]], "sources": [], "metrics": [], "description": "Each record represents the daily performance of an ad in Facebook.", "columns": {"ad_id": {"name": "ad_id", "description": "The ID of the ad the report relates to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_name": {"name": "ad_name", "description": "Name of the ad the report relates to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_set_name": {"name": "ad_set_name", "description": "Name of the ad set the report relates to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "date_day": {"name": "date_day", "description": "The date of the reported performance.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "The ID of the ad account that this ad belongs to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "The number of impressions the ad had on the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clicks": {"name": "clicks", "description": "The number of clicks the ad had on the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The spend on the ad in the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "reach": {"name": "reach", "description": "The number of people who saw any content from your Page or about your Page. This metric is estimated.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "frequency": {"name": "frequency", "description": "The average number of times each person saw your ad; it is calculated as impressions divided by reach.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": "facebook_ads_source://models/stg_facebook_ads.yml", "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads__basic_ad.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads_source", "materialized": "table", "enabled": true}, "created_at": 1666731666.143991, "compiled_code": "\n\nwith base as (\n\n select * \n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__basic_ad_tmp`\n),\n\nfields as (\n\n select\n \n \n \n ad_id\n \n as \n \n ad_id\n \n, \n cast(null as STRING) as \n \n ad_name\n \n , \n cast(null as STRING) as \n \n adset_name\n \n , \n \n \n date\n \n as \n \n date\n \n, \n \n \n account_id\n \n as \n \n account_id\n \n, \n \n \n impressions\n \n as \n \n impressions\n \n, \n \n \n inline_link_clicks\n \n as \n \n inline_link_clicks\n \n, \n \n \n spend\n \n as \n \n spend\n \n, \n cast(null as INT64) as \n \n reach\n \n , \n cast(null as FLOAT64) as \n \n frequency\n \n \n\n\n \n from base\n),\n\nfinal as (\n \n select \n cast(ad_id as bigint) as ad_id,\n ad_name,\n adset_name as ad_set_name,\n date as date_day,\n cast(account_id as bigint) as account_id,\n impressions,\n coalesce(inline_link_clicks,0) as clicks,\n spend,\n reach,\n frequency\n\n \n\n\n\n\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__basic_ad`"}, "model.facebook_ads_source.stg_facebook_ads__creative_history": {"compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.facebook_ads_source.get_creative_history_columns", "macro.fivetran_utils.fill_staging_columns", "macro.dbt.type_bigint"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__creative_history_tmp", "model.facebook_ads_source.stg_facebook_ads__creative_history_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_facebook_ads_source", "fqn": ["facebook_ads_source", "stg_facebook_ads__creative_history"], "unique_id": "model.facebook_ads_source.stg_facebook_ads__creative_history", "raw_code": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_facebook_ads__creative_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_facebook_ads__creative_history_tmp')),\n staging_columns=get_creative_history_columns()\n )\n }}\n \n from base\n),\n\nfinal as (\n \n select \n _fivetran_id,\n _fivetran_synced,\n cast(id as {{ dbt.type_bigint() }}) as creative_id,\n cast(account_id as {{ dbt.type_bigint() }}) as account_id,\n name as creative_name,\n page_link,\n template_page_link,\n url_tags,\n asset_feed_spec_link_urls,\n object_story_link_data_child_attachments,\n object_story_link_data_caption, \n object_story_link_data_description, \n object_story_link_data_link, \n object_story_link_data_message,\n template_app_link_spec_ios,\n template_app_link_spec_ipad,\n template_app_link_spec_android,\n template_app_link_spec_iphone,\n row_number() over (partition by id order by _fivetran_synced desc) = 1 as is_most_recent_record\n from fields\n)\n\nselect * \nfrom final", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "stg_facebook_ads__creative_history.sql", "original_file_path": "models/stg_facebook_ads__creative_history.sql", "name": "stg_facebook_ads__creative_history", "alias": "stg_facebook_ads__creative_history", "checksum": {"name": "sha256", "checksum": "b881fe7a6d7f0ec06355c9073495a4e1f89529eceffc1771ca48044e6f401309"}, "tags": [], "refs": [["stg_facebook_ads__creative_history_tmp"], ["stg_facebook_ads__creative_history_tmp"]], "sources": [], "metrics": [], "description": "Each record in this table reflects a Facebook creative.", "columns": {"_fivetran_id": {"name": "_fivetran_id", "description": "Unique record identifier", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "When the record was last synced by Fivetran.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "creative_id": {"name": "creative_id", "description": "Unique ID for an ad creative.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "Ad account ID for the account this ad creative belongs to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "creative_name": {"name": "creative_name", "description": "Name of this ad creative as seen in the ad account's library.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "url_tags": {"name": "url_tags", "description": "A set of query string parameters which will replace or be appended to urls clicked from page post ads, message of the post, and canvas app install creatives only.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_most_recent_record": {"name": "is_most_recent_record", "description": "Indicates whether a record is the most recent version of that record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "page_link": {"name": "page_link", "description": "Link for the page.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "template_page_link": {"name": "template_page_link", "description": "URL destination of Facebook dynamic ads.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "asset_feed_spec_link_urls": {"name": "asset_feed_spec_link_urls", "description": "Link to the asset feed spec", "meta": {}, "data_type": null, "quote": null, "tags": []}, "object_story_link_data_child_attachments": {"name": "object_story_link_data_child_attachments", "description": "Link of the object story child attachments", "meta": {}, "data_type": null, "quote": null, "tags": []}, "object_story_link_data_caption": {"name": "object_story_link_data_caption", "description": "Link of the object story caption", "meta": {}, "data_type": null, "quote": null, "tags": []}, "object_story_link_data_description": {"name": "object_story_link_data_description", "description": "Link of the object story description", "meta": {}, "data_type": null, "quote": null, "tags": []}, "object_story_link_data_link": {"name": "object_story_link_data_link", "description": "Link of the object story link", "meta": {}, "data_type": null, "quote": null, "tags": []}, "object_story_link_data_message": {"name": "object_story_link_data_message", "description": "Link of the object story message", "meta": {}, "data_type": null, "quote": null, "tags": []}, "template_app_link_spec_ios": {"name": "template_app_link_spec_ios", "description": "Link of the object story spec for ios", "meta": {}, "data_type": null, "quote": null, "tags": []}, "template_app_link_spec_ipad": {"name": "template_app_link_spec_ipad", "description": "Link of the template app spec for ipad", "meta": {}, "data_type": null, "quote": null, "tags": []}, "template_app_link_spec_android": {"name": "template_app_link_spec_android", "description": "Link of the template app for android", "meta": {}, "data_type": null, "quote": null, "tags": []}, "template_app_link_spec_iphone": {"name": "template_app_link_spec_iphone", "description": "Link of the template app for iphone", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": "facebook_ads_source://models/stg_facebook_ads.yml", "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads__creative_history.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads_source", "materialized": "table", "enabled": true}, "created_at": 1666731666.1424818, "compiled_code": "\n\nwith base as (\n\n select * \n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__creative_history_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 _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n account_id\n \n as \n \n account_id\n \n, \n \n \n name\n \n as \n \n name\n \n, \n \n \n page_link\n \n as \n \n page_link\n \n, \n \n \n template_page_link\n \n as \n \n template_page_link\n \n, \n \n \n url_tags\n \n as \n \n url_tags\n \n, \n \n \n asset_feed_spec_link_urls\n \n as \n \n asset_feed_spec_link_urls\n \n, \n \n \n object_story_link_data_child_attachments\n \n as \n \n object_story_link_data_child_attachments\n \n, \n \n \n object_story_link_data_caption\n \n as \n \n object_story_link_data_caption\n \n, \n \n \n object_story_link_data_description\n \n as \n \n object_story_link_data_description\n \n, \n \n \n object_story_link_data_link\n \n as \n \n object_story_link_data_link\n \n, \n \n \n object_story_link_data_message\n \n as \n \n object_story_link_data_message\n \n, \n cast(null as STRING) as \n \n template_app_link_spec_android\n \n , \n \n \n template_app_link_spec_ios\n \n as \n \n template_app_link_spec_ios\n \n, \n cast(null as STRING) as \n \n template_app_link_spec_ipad\n \n , \n cast(null as STRING) as \n \n template_app_link_spec_iphone\n \n \n\n\n \n from base\n),\n\nfinal as (\n \n select \n _fivetran_id,\n _fivetran_synced,\n cast(id as bigint) as creative_id,\n cast(account_id as bigint) as account_id,\n name as creative_name,\n page_link,\n template_page_link,\n url_tags,\n asset_feed_spec_link_urls,\n object_story_link_data_child_attachments,\n object_story_link_data_caption, \n object_story_link_data_description, \n object_story_link_data_link, \n object_story_link_data_message,\n template_app_link_spec_ios,\n template_app_link_spec_ipad,\n template_app_link_spec_android,\n template_app_link_spec_iphone,\n row_number() over (partition by id order by _fivetran_synced desc) = 1 as is_most_recent_record\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__creative_history`"}, "model.facebook_ads_source.stg_facebook_ads__campaign_history": {"compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.facebook_ads_source.get_campaign_history_columns", "macro.fivetran_utils.fill_staging_columns", "macro.dbt.type_bigint"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__campaign_history_tmp", "model.facebook_ads_source.stg_facebook_ads__campaign_history_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_facebook_ads_source", "fqn": ["facebook_ads_source", "stg_facebook_ads__campaign_history"], "unique_id": "model.facebook_ads_source.stg_facebook_ads__campaign_history", "raw_code": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_facebook_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_facebook_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 updated_time as updated_at,\n created_time as created_at,\n cast(account_id as {{ dbt.type_bigint() }}) as account_id,\n cast(id as {{ dbt.type_bigint() }}) as campaign_id,\n name as campaign_name,\n start_time as start_at,\n stop_time as end_at,\n status,\n daily_budget,\n lifetime_budget,\n budget_remaining,\n row_number() over (partition by id order by updated_time desc) = 1 as is_most_recent_record\n from fields\n\n)\n\nselect * \nfrom final", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "stg_facebook_ads__campaign_history.sql", "original_file_path": "models/stg_facebook_ads__campaign_history.sql", "name": "stg_facebook_ads__campaign_history", "alias": "stg_facebook_ads__campaign_history", "checksum": {"name": "sha256", "checksum": "d536771ac164bc64d15f6a8f03f6c06626d76f344c02de8d04bf97b978ed60d7"}, "tags": [], "refs": [["stg_facebook_ads__campaign_history_tmp"], ["stg_facebook_ads__campaign_history_tmp"]], "sources": [], "metrics": [], "description": "Each record in this table reflects a Facebook campaign.", "columns": {"campaign_id": {"name": "campaign_id", "description": "The ID of the campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "The ID of the ad account that this campaign belongs to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_name": {"name": "campaign_name", "description": "The name of the campaign.", "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. All records should have this value set to True given we filter on it.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "updated_at": {"name": "updated_at", "description": "The timestamp of the last update of a record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "The time the campaign was created.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "start_at": {"name": "start_at", "description": "Timestamp of designated campaign start time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "end_at": {"name": "end_at", "description": "Timestamp of designated campaign end time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "daily_budget": {"name": "daily_budget", "description": "Daily budget of campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "budget_remaining": {"name": "budget_remaining", "description": "Remaining budget of campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "lifetime_budget": {"name": "lifetime_budget", "description": "Lifetime budget of the campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status": {"name": "status", "description": "Status values are - 'ACTIVE', 'PAUSED', 'DELETED', 'ARCHIVED'.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": "facebook_ads_source://models/stg_facebook_ads.yml", "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads__campaign_history.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads_source", "materialized": "table", "enabled": true}, "created_at": 1666731666.139766, "compiled_code": "\n\nwith base as (\n\n select * \n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__campaign_history_tmp`\n),\n\nfields as (\n\n select\n \n \n \n updated_time\n \n as \n \n updated_time\n \n, \n cast(null as TIMESTAMP) as \n \n created_time\n \n , \n \n \n account_id\n \n as \n \n account_id\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 cast(null as TIMESTAMP) as \n \n start_time\n \n , \n cast(null as TIMESTAMP) as \n \n stop_time\n \n , \n cast(null as STRING) as \n \n status\n \n , \n cast(null as INT64) as \n \n daily_budget\n \n , \n cast(null as INT64) as \n \n lifetime_budget\n \n , \n cast(null as FLOAT64) as \n \n budget_remaining\n \n \n\n\n \n from base\n),\n\nfinal as (\n \n select \n updated_time as updated_at,\n created_time as created_at,\n cast(account_id as bigint) as account_id,\n cast(id as bigint) as campaign_id,\n name as campaign_name,\n start_time as start_at,\n stop_time as end_at,\n status,\n daily_budget,\n lifetime_budget,\n budget_remaining,\n row_number() over (partition by id order by updated_time desc) = 1 as is_most_recent_record\n from fields\n\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__campaign_history`"}, "model.facebook_ads_source.stg_facebook_ads__account_history": {"compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.facebook_ads_source.get_account_history_columns", "macro.fivetran_utils.fill_staging_columns", "macro.dbt.type_bigint"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__account_history_tmp", "model.facebook_ads_source.stg_facebook_ads__account_history_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_facebook_ads_source", "fqn": ["facebook_ads_source", "stg_facebook_ads__account_history"], "unique_id": "model.facebook_ads_source.stg_facebook_ads__account_history", "raw_code": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_facebook_ads__account_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_facebook_ads__account_history_tmp')),\n staging_columns=get_account_history_columns()\n )\n }}\n \n from base\n),\n\nfinal as (\n \n select \n cast(id as {{ dbt.type_bigint() }}) as account_id,\n _fivetran_synced,\n name as account_name,\n account_status,\n business_country_code,\n created_time as created_at,\n currency,\n timezone_name,\n row_number() over (partition by id order by _fivetran_synced desc) = 1 as is_most_recent_record\n from fields\n\n)\n\nselect * \nfrom final", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "stg_facebook_ads__account_history.sql", "original_file_path": "models/stg_facebook_ads__account_history.sql", "name": "stg_facebook_ads__account_history", "alias": "stg_facebook_ads__account_history", "checksum": {"name": "sha256", "checksum": "db38aeeedb4c0b457605036f2452543a77d1e65f0d7d13287fac1b705c1d1407"}, "tags": [], "refs": [["stg_facebook_ads__account_history_tmp"], ["stg_facebook_ads__account_history_tmp"]], "sources": [], "metrics": [], "description": "Each record in this table reflects a Facebook ad account.", "columns": {"account_id": {"name": "account_id", "description": "The ID of the ad account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_name": {"name": "account_name", "description": "Name of the account.", "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. All records should have this value set to True given we filter on it.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "When the record was last synced by Fivetran.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_status": {"name": "account_status", "description": "Current status of account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "business_country_code": {"name": "business_country_code", "description": "Country code of business associated to account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "The time account was created.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "currency": {"name": "currency", "description": "Currency associated with account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "timezone_name": {"name": "timezone_name", "description": "Timezone associated with account.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": "facebook_ads_source://models/stg_facebook_ads.yml", "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads__account_history.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads_source", "materialized": "table", "enabled": true}, "created_at": 1666731666.134563, "compiled_code": "\n\nwith base as (\n\n select * \n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__account_history_tmp`\n),\n\nfields as (\n\n select\n \n \n \n id\n \n as \n \n id\n \n, \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n name\n \n as \n \n name\n \n, \n cast(null as STRING) as \n \n account_status\n \n , \n cast(null as STRING) as \n \n business_country_code\n \n , \n cast(null as TIMESTAMP) as \n \n created_time\n \n , \n cast(null as STRING) as \n \n currency\n \n , \n cast(null as STRING) as \n \n timezone_name\n \n \n\n\n \n from base\n),\n\nfinal as (\n \n select \n cast(id as bigint) as account_id,\n _fivetran_synced,\n name as account_name,\n account_status,\n business_country_code,\n created_time as created_at,\n currency,\n timezone_name,\n row_number() over (partition by id order by _fivetran_synced desc) = 1 as is_most_recent_record\n from fields\n\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__account_history`"}, "model.facebook_ads_source.stg_facebook_ads__ad_history": {"compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.facebook_ads_source.get_ad_history_columns", "macro.fivetran_utils.fill_staging_columns", "macro.dbt.type_bigint"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__ad_history_tmp", "model.facebook_ads_source.stg_facebook_ads__ad_history_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_facebook_ads_source", "fqn": ["facebook_ads_source", "stg_facebook_ads__ad_history"], "unique_id": "model.facebook_ads_source.stg_facebook_ads__ad_history", "raw_code": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_facebook_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_facebook_ads__ad_history_tmp')),\n staging_columns=get_ad_history_columns()\n )\n }}\n \n from base\n),\n\nfinal as (\n \n select \n updated_time as updated_at,\n cast(id as {{ dbt.type_bigint() }}) as ad_id,\n name as ad_name,\n cast(account_id as {{ dbt.type_bigint() }}) as account_id,\n cast(ad_set_id as {{ dbt.type_bigint() }}) as ad_set_id, \n cast(campaign_id as {{ dbt.type_bigint() }}) as campaign_id,\n cast(creative_id as {{ dbt.type_bigint() }}) as creative_id,\n row_number() over (partition by id order by updated_time desc) = 1 as is_most_recent_record\n from fields\n)\n\nselect * \nfrom final", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "stg_facebook_ads__ad_history.sql", "original_file_path": "models/stg_facebook_ads__ad_history.sql", "name": "stg_facebook_ads__ad_history", "alias": "stg_facebook_ads__ad_history", "checksum": {"name": "sha256", "checksum": "19719ef45773ae189aeec4da0c5467b45bc6a253bbaf2a13ee271d63723e64da"}, "tags": [], "refs": [["stg_facebook_ads__ad_history_tmp"], ["stg_facebook_ads__ad_history_tmp"]], "sources": [], "metrics": [], "description": "Each record in this table reflects a Facebook ad.", "columns": {"ad_id": {"name": "ad_id", "description": "The ID of this ad.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "The ID of the ad account that this ad belongs to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_set_id": {"name": "ad_set_id", "description": "ID of the ad set that contains the ad.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_id": {"name": "campaign_id", "description": "Ad campaign that contains this ad.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "creative_id": {"name": "creative_id", "description": "The ID of the ad creative to be used by this ad.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_name": {"name": "ad_name", "description": "Name of the ad.", "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. All records should have this value set to True given we filter on it.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "updated_at": {"name": "updated_at", "description": "The timestamp of the last update of a record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": "facebook_ads_source://models/stg_facebook_ads.yml", "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads__ad_history.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads_source", "materialized": "table", "enabled": true}, "created_at": 1666731666.136229, "compiled_code": "\n\nwith base as (\n\n select * \n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__ad_history_tmp`\n),\n\nfields as (\n\n select\n \n \n \n updated_time\n \n as \n \n updated_time\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 account_id\n \n as \n \n account_id\n \n, \n \n \n ad_set_id\n \n as \n \n ad_set_id\n \n, \n \n \n campaign_id\n \n as \n \n campaign_id\n \n, \n \n \n creative_id\n \n as \n \n creative_id\n \n\n\n\n \n from base\n),\n\nfinal as (\n \n select \n updated_time as updated_at,\n cast(id as bigint) as ad_id,\n name as ad_name,\n cast(account_id as bigint) as account_id,\n cast(ad_set_id as bigint) as ad_set_id, \n cast(campaign_id as bigint) as campaign_id,\n cast(creative_id as bigint) as creative_id,\n row_number() over (partition by id order by updated_time desc) = 1 as is_most_recent_record\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__ad_history`"}, "model.facebook_ads_source.stg_facebook_ads__ad_set_history": {"compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.facebook_ads_source.get_ad_set_history_columns", "macro.fivetran_utils.fill_staging_columns", "macro.dbt.type_bigint"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__ad_set_history_tmp", "model.facebook_ads_source.stg_facebook_ads__ad_set_history_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_facebook_ads_source", "fqn": ["facebook_ads_source", "stg_facebook_ads__ad_set_history"], "unique_id": "model.facebook_ads_source.stg_facebook_ads__ad_set_history", "raw_code": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_facebook_ads__ad_set_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_facebook_ads__ad_set_history_tmp')),\n staging_columns=get_ad_set_history_columns()\n )\n }}\n \n from base\n),\n\nfinal as (\n \n select \n updated_time as updated_at,\n cast(id as {{ dbt.type_bigint() }}) as ad_set_id,\n name as ad_set_name,\n cast(account_id as {{ dbt.type_bigint() }}) as account_id,\n cast(campaign_id as {{ dbt.type_bigint() }}) as campaign_id,\n start_time as start_at,\n end_time as end_at,\n bid_strategy,\n daily_budget,\n budget_remaining,\n status,\n row_number() over (partition by id order by updated_time desc) = 1 as is_most_recent_record\n from fields\n\n)\n\nselect * \nfrom final", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "stg_facebook_ads__ad_set_history.sql", "original_file_path": "models/stg_facebook_ads__ad_set_history.sql", "name": "stg_facebook_ads__ad_set_history", "alias": "stg_facebook_ads__ad_set_history", "checksum": {"name": "sha256", "checksum": "32c6ae0ef94b4f88261a0dd4dda62e6e92de99a56ffbe8ae1360c6469052e212"}, "tags": [], "refs": [["stg_facebook_ads__ad_set_history_tmp"], ["stg_facebook_ads__ad_set_history_tmp"]], "sources": [], "metrics": [], "description": "Each record in this table reflects a Facebook ad set.", "columns": {"ad_set_id": {"name": "ad_set_id", "description": "The ID of the ad set.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "The ID of the ad account that this ad set belongs to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_id": {"name": "campaign_id", "description": "Ad campaign that contains this ad set.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_set_name": {"name": "ad_set_name", "description": "The name of the ad set.", "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. All records should have this value set to True given we filter on it.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "updated_at": {"name": "updated_at", "description": "The timestamp of the last update of a record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "start_at": {"name": "start_at", "description": "Timestamp of designated ad set start time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "end_at": {"name": "end_at", "description": "Timestamp of designated ad set end time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "bid_strategy": {"name": "bid_strategy", "description": "Bid strategy values are - 'LOWEST_COST_WITHOUT_CAP', 'LOWEST_COST_WITH_BID_CAP', 'COST_CAP', 'LOWEST_COST_WITH_MIN_ROAS'.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "daily_budget": {"name": "daily_budget", "description": "Daily budget of ad set.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "budget_remaining": {"name": "budget_remaining", "description": "Remaining budget of ad set.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status": {"name": "status", "description": "Status values are - 'ACTIVE', 'PAUSED', 'DELETED', 'ARCHIVED'.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": "facebook_ads_source://models/stg_facebook_ads.yml", "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads__ad_set_history.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads_source", "materialized": "table", "enabled": true}, "created_at": 1666731666.138004, "compiled_code": "\n\nwith base as (\n\n select * \n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__ad_set_history_tmp`\n),\n\nfields as (\n\n select\n \n \n \n updated_time\n \n as \n \n updated_time\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 account_id\n \n as \n \n account_id\n \n, \n \n \n campaign_id\n \n as \n \n campaign_id\n \n, \n cast(null as TIMESTAMP) as \n \n start_time\n \n , \n cast(null as TIMESTAMP) as \n \n end_time\n \n , \n cast(null as STRING) as \n \n bid_strategy\n \n , \n cast(null as INT64) as \n \n daily_budget\n \n , \n cast(null as INT64) as \n \n budget_remaining\n \n , \n cast(null as STRING) as \n \n status\n \n \n\n\n \n from base\n),\n\nfinal as (\n \n select \n updated_time as updated_at,\n cast(id as bigint) as ad_set_id,\n name as ad_set_name,\n cast(account_id as bigint) as account_id,\n cast(campaign_id as bigint) as campaign_id,\n start_time as start_at,\n end_time as end_at,\n bid_strategy,\n daily_budget,\n budget_remaining,\n status,\n row_number() over (partition by id order by updated_time desc) = 1 as is_most_recent_record\n from fields\n\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__ad_set_history`"}, "model.facebook_ads_source.stg_facebook_ads__ad_set_history_tmp": {"compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.facebook_ads_source.facebook_ads.ad_set_history"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_facebook_ads_source", "fqn": ["facebook_ads_source", "tmp", "stg_facebook_ads__ad_set_history_tmp"], "unique_id": "model.facebook_ads_source.stg_facebook_ads__ad_set_history_tmp", "raw_code": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nselect * \nfrom {{ var('ad_set_history') }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "tmp/stg_facebook_ads__ad_set_history_tmp.sql", "original_file_path": "models/tmp/stg_facebook_ads__ad_set_history_tmp.sql", "name": "stg_facebook_ads__ad_set_history_tmp", "alias": "stg_facebook_ads__ad_set_history_tmp", "checksum": {"name": "sha256", "checksum": "dad1782db9e8232b2613b5b9959963ad0d0ff99b7462524fc223610cd3e14442"}, "tags": [], "refs": [], "sources": [["facebook_ads", "ad_set_history"]], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/tmp/stg_facebook_ads__ad_set_history_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads_source", "materialized": "view", "enabled": true}, "created_at": 1666731666.0697448, "compiled_code": "\n\nselect * \nfrom `dbt-package-testing`.`facebook_ads_integration_tests`.`facebook_ads_ad_set_history_data`", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__ad_set_history_tmp`"}, "model.facebook_ads_source.stg_facebook_ads__basic_ad_tmp": {"compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.facebook_ads_source.facebook_ads.basic_ad"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_facebook_ads_source", "fqn": ["facebook_ads_source", "tmp", "stg_facebook_ads__basic_ad_tmp"], "unique_id": "model.facebook_ads_source.stg_facebook_ads__basic_ad_tmp", "raw_code": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nselect * \nfrom {{ var('basic_ad') }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "tmp/stg_facebook_ads__basic_ad_tmp.sql", "original_file_path": "models/tmp/stg_facebook_ads__basic_ad_tmp.sql", "name": "stg_facebook_ads__basic_ad_tmp", "alias": "stg_facebook_ads__basic_ad_tmp", "checksum": {"name": "sha256", "checksum": "46e4ec682f4ed2b33b3123c24ae2b20d9d9bce50ed7ef83b547dd83b57339f89"}, "tags": [], "refs": [], "sources": [["facebook_ads", "basic_ad"]], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/tmp/stg_facebook_ads__basic_ad_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads_source", "materialized": "view", "enabled": true}, "created_at": 1666731666.072782, "compiled_code": "\n\nselect * \nfrom `dbt-package-testing`.`facebook_ads_integration_tests`.`facebook_ads_basic_ad_data`", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__basic_ad_tmp`"}, "model.facebook_ads_source.stg_facebook_ads__ad_history_tmp": {"compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.facebook_ads_source.facebook_ads.ad_history"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_facebook_ads_source", "fqn": ["facebook_ads_source", "tmp", "stg_facebook_ads__ad_history_tmp"], "unique_id": "model.facebook_ads_source.stg_facebook_ads__ad_history_tmp", "raw_code": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nselect * \nfrom {{ var('ad_history') }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "tmp/stg_facebook_ads__ad_history_tmp.sql", "original_file_path": "models/tmp/stg_facebook_ads__ad_history_tmp.sql", "name": "stg_facebook_ads__ad_history_tmp", "alias": "stg_facebook_ads__ad_history_tmp", "checksum": {"name": "sha256", "checksum": "438f57c6bd1ce2a8c4a73600c1e12878efc0a091f42b3a43ed0334067779eace"}, "tags": [], "refs": [], "sources": [["facebook_ads", "ad_history"]], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/tmp/stg_facebook_ads__ad_history_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads_source", "materialized": "view", "enabled": true}, "created_at": 1666731666.075667, "compiled_code": "\n\nselect * \nfrom `dbt-package-testing`.`facebook_ads_integration_tests`.`facebook_ads_ad_history_data`", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__ad_history_tmp`"}, "model.facebook_ads_source.stg_facebook_ads__campaign_history_tmp": {"compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.facebook_ads_source.facebook_ads.campaign_history"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_facebook_ads_source", "fqn": ["facebook_ads_source", "tmp", "stg_facebook_ads__campaign_history_tmp"], "unique_id": "model.facebook_ads_source.stg_facebook_ads__campaign_history_tmp", "raw_code": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nselect * \nfrom {{ var('campaign_history') }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "tmp/stg_facebook_ads__campaign_history_tmp.sql", "original_file_path": "models/tmp/stg_facebook_ads__campaign_history_tmp.sql", "name": "stg_facebook_ads__campaign_history_tmp", "alias": "stg_facebook_ads__campaign_history_tmp", "checksum": {"name": "sha256", "checksum": "617b7e683421a5712cc129d02e07eeb0f5876b7fdeb680429b4d6069b4dcdfc1"}, "tags": [], "refs": [], "sources": [["facebook_ads", "campaign_history"]], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/tmp/stg_facebook_ads__campaign_history_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads_source", "materialized": "view", "enabled": true}, "created_at": 1666731666.0792031, "compiled_code": "\n\nselect * \nfrom `dbt-package-testing`.`facebook_ads_integration_tests`.`facebook_ads_campaign_history_data`", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__campaign_history_tmp`"}, "model.facebook_ads_source.stg_facebook_ads__creative_history_tmp": {"compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.facebook_ads_source.facebook_ads.creative_history"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_facebook_ads_source", "fqn": ["facebook_ads_source", "tmp", "stg_facebook_ads__creative_history_tmp"], "unique_id": "model.facebook_ads_source.stg_facebook_ads__creative_history_tmp", "raw_code": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nselect * \nfrom {{ var('creative_history') }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "tmp/stg_facebook_ads__creative_history_tmp.sql", "original_file_path": "models/tmp/stg_facebook_ads__creative_history_tmp.sql", "name": "stg_facebook_ads__creative_history_tmp", "alias": "stg_facebook_ads__creative_history_tmp", "checksum": {"name": "sha256", "checksum": "9cf5ffb0bc31c525388d169c90fb8b6150e5141777b14337c0fee0730faeecd9"}, "tags": [], "refs": [], "sources": [["facebook_ads", "creative_history"]], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/tmp/stg_facebook_ads__creative_history_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads_source", "materialized": "view", "enabled": true}, "created_at": 1666731666.082069, "compiled_code": "\n\nselect * \nfrom `dbt-package-testing`.`facebook_ads_integration_tests`.`facebook_ads_creative_history_data`", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__creative_history_tmp`"}, "model.facebook_ads_source.stg_facebook_ads__account_history_tmp": {"compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.facebook_ads_source.facebook_ads.account_history"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_facebook_ads_source", "fqn": ["facebook_ads_source", "tmp", "stg_facebook_ads__account_history_tmp"], "unique_id": "model.facebook_ads_source.stg_facebook_ads__account_history_tmp", "raw_code": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nselect * \nfrom {{ var('account_history') }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "tmp/stg_facebook_ads__account_history_tmp.sql", "original_file_path": "models/tmp/stg_facebook_ads__account_history_tmp.sql", "name": "stg_facebook_ads__account_history_tmp", "alias": "stg_facebook_ads__account_history_tmp", "checksum": {"name": "sha256", "checksum": "caa1f4a119ca187458bff00bd8682eabffdba914962ff8ae7d4cfe55f25833ff"}, "tags": [], "refs": [], "sources": [["facebook_ads", "account_history"]], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/tmp/stg_facebook_ads__account_history_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads_source", "materialized": "view", "enabled": true}, "created_at": 1666731666.084939, "compiled_code": "\n\nselect * \nfrom `dbt-package-testing`.`facebook_ads_integration_tests`.`facebook_ads_account_history_data`", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__account_history_tmp`"}, "test.facebook_ads.not_null_facebook_ads__url_report_base_url.b7757e50be": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "base_url", "model": "{{ get_where_subquery(ref('facebook_ads__url_report')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.facebook_ads.facebook_ads__url_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads", "not_null_facebook_ads__url_report_base_url"], "unique_id": "test.facebook_ads.not_null_facebook_ads__url_report_base_url.b7757e50be", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "facebook_ads", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "not_null_facebook_ads__url_report_base_url.sql", "original_file_path": "models/facebook.yml", "name": "not_null_facebook_ads__url_report_base_url", "alias": "not_null_facebook_ads__url_report_base_url", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["facebook_ads__url_report"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads/models/facebook.yml/not_null_facebook_ads__url_report_base_url.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1666731666.106889, "compiled_code": "\n \n \n\n\n\nselect base_url\nfrom `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads`.`facebook_ads__url_report`\nwhere base_url is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "base_url", "file_key_name": "models.facebook_ads__url_report"}, "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__url_report_date_day__account_id__campaign_id__ad_set_id__ad_id.03a7e82eb7": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["date_day", "account_id", "campaign_id", "ad_set_id", "ad_id"], "model": "{{ get_where_subquery(ref('facebook_ads__url_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.facebook_ads.facebook_ads__url_report"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_bf91f5ef1059f34c9059e06e293717eb", "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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads", "dbt_utils_unique_combination_of_columns_facebook_ads__url_report_date_day__account_id__campaign_id__ad_set_id__ad_id"], "unique_id": "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__url_report_date_day__account_id__campaign_id__ad_set_id__ad_id.03a7e82eb7", "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_bf91f5ef1059f34c9059e06e293717eb\") }}", "language": "sql", "package_name": "facebook_ads", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "dbt_utils_unique_combination_o_bf91f5ef1059f34c9059e06e293717eb.sql", "original_file_path": "models/facebook.yml", "name": "dbt_utils_unique_combination_of_columns_facebook_ads__url_report_date_day__account_id__campaign_id__ad_set_id__ad_id", "alias": "dbt_utils_unique_combination_o_bf91f5ef1059f34c9059e06e293717eb", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["facebook_ads__url_report"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads/models/facebook.yml/dbt_utils_unique_combination_o_bf91f5ef1059f34c9059e06e293717eb.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_bf91f5ef1059f34c9059e06e293717eb"}, "created_at": 1666731666.1078, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n date_day, account_id, campaign_id, ad_set_id, ad_id\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads`.`facebook_ads__url_report`\n group by date_day, account_id, campaign_id, ad_set_id, ad_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.facebook_ads__url_report"}, "test.facebook_ads.not_null_facebook_ads__ad_report_ad_id.3811d9c238": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "ad_id", "model": "{{ get_where_subquery(ref('facebook_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.facebook_ads.facebook_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads", "not_null_facebook_ads__ad_report_ad_id"], "unique_id": "test.facebook_ads.not_null_facebook_ads__ad_report_ad_id.3811d9c238", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "facebook_ads", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "not_null_facebook_ads__ad_report_ad_id.sql", "original_file_path": "models/facebook.yml", "name": "not_null_facebook_ads__ad_report_ad_id", "alias": "not_null_facebook_ads__ad_report_ad_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["facebook_ads__ad_report"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads/models/facebook.yml/not_null_facebook_ads__ad_report_ad_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1666731666.114583, "compiled_code": "\n \n \n\n\n\nselect ad_id\nfrom `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads`.`facebook_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.facebook_ads__ad_report"}, "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__ad_report_date_day__account_id__campaign_id__ad_set_id__ad_id.0a25b64738": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["date_day", "account_id", "campaign_id", "ad_set_id", "ad_id"], "model": "{{ get_where_subquery(ref('facebook_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.facebook_ads.facebook_ads__ad_report"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_6751270b8425b93a72568a6ff0b52e2e", "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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads", "dbt_utils_unique_combination_of_columns_facebook_ads__ad_report_date_day__account_id__campaign_id__ad_set_id__ad_id"], "unique_id": "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__ad_report_date_day__account_id__campaign_id__ad_set_id__ad_id.0a25b64738", "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_6751270b8425b93a72568a6ff0b52e2e\") }}", "language": "sql", "package_name": "facebook_ads", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "dbt_utils_unique_combination_o_6751270b8425b93a72568a6ff0b52e2e.sql", "original_file_path": "models/facebook.yml", "name": "dbt_utils_unique_combination_of_columns_facebook_ads__ad_report_date_day__account_id__campaign_id__ad_set_id__ad_id", "alias": "dbt_utils_unique_combination_o_6751270b8425b93a72568a6ff0b52e2e", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["facebook_ads__ad_report"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads/models/facebook.yml/dbt_utils_unique_combination_o_6751270b8425b93a72568a6ff0b52e2e.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_6751270b8425b93a72568a6ff0b52e2e"}, "created_at": 1666731666.115525, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n date_day, account_id, campaign_id, ad_set_id, ad_id\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads`.`facebook_ads__ad_report`\n group by date_day, account_id, campaign_id, ad_set_id, ad_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.facebook_ads__ad_report"}, "test.facebook_ads.not_null_facebook_ads__ad_set_report_ad_set_id.1ac870f5e4": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "ad_set_id", "model": "{{ get_where_subquery(ref('facebook_ads__ad_set_report')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.facebook_ads.facebook_ads__ad_set_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads", "not_null_facebook_ads__ad_set_report_ad_set_id"], "unique_id": "test.facebook_ads.not_null_facebook_ads__ad_set_report_ad_set_id.1ac870f5e4", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "facebook_ads", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "not_null_facebook_ads__ad_set_report_ad_set_id.sql", "original_file_path": "models/facebook.yml", "name": "not_null_facebook_ads__ad_set_report_ad_set_id", "alias": "not_null_facebook_ads__ad_set_report_ad_set_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["facebook_ads__ad_set_report"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads/models/facebook.yml/not_null_facebook_ads__ad_set_report_ad_set_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1666731666.11824, "compiled_code": "\n \n \n\n\n\nselect ad_set_id\nfrom `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads`.`facebook_ads__ad_set_report`\nwhere ad_set_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "ad_set_id", "file_key_name": "models.facebook_ads__ad_set_report"}, "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__ad_set_report_date_day__account_id__campaign_id__ad_set_id.3dd4da872f": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["date_day", "account_id", "campaign_id", "ad_set_id"], "model": "{{ get_where_subquery(ref('facebook_ads__ad_set_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.facebook_ads.facebook_ads__ad_set_report"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_b03f58e6a60804a93ab31dbb358dad74", "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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads", "dbt_utils_unique_combination_of_columns_facebook_ads__ad_set_report_date_day__account_id__campaign_id__ad_set_id"], "unique_id": "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__ad_set_report_date_day__account_id__campaign_id__ad_set_id.3dd4da872f", "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_b03f58e6a60804a93ab31dbb358dad74\") }}", "language": "sql", "package_name": "facebook_ads", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "dbt_utils_unique_combination_o_b03f58e6a60804a93ab31dbb358dad74.sql", "original_file_path": "models/facebook.yml", "name": "dbt_utils_unique_combination_of_columns_facebook_ads__ad_set_report_date_day__account_id__campaign_id__ad_set_id", "alias": "dbt_utils_unique_combination_o_b03f58e6a60804a93ab31dbb358dad74", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["facebook_ads__ad_set_report"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads/models/facebook.yml/dbt_utils_unique_combination_o_b03f58e6a60804a93ab31dbb358dad74.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_b03f58e6a60804a93ab31dbb358dad74"}, "created_at": 1666731666.11906, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n date_day, account_id, campaign_id, ad_set_id\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads`.`facebook_ads__ad_set_report`\n group by date_day, account_id, campaign_id, ad_set_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.facebook_ads__ad_set_report"}, "test.facebook_ads.not_null_facebook_ads__campaign_report_campaign_id.d4f96d8d21": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "campaign_id", "model": "{{ get_where_subquery(ref('facebook_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.facebook_ads.facebook_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads", "not_null_facebook_ads__campaign_report_campaign_id"], "unique_id": "test.facebook_ads.not_null_facebook_ads__campaign_report_campaign_id.d4f96d8d21", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "facebook_ads", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "not_null_facebook_ads__campaign_report_campaign_id.sql", "original_file_path": "models/facebook.yml", "name": "not_null_facebook_ads__campaign_report_campaign_id", "alias": "not_null_facebook_ads__campaign_report_campaign_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["facebook_ads__campaign_report"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads/models/facebook.yml/not_null_facebook_ads__campaign_report_campaign_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1666731666.121589, "compiled_code": "\n \n \n\n\n\nselect campaign_id\nfrom `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads`.`facebook_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.facebook_ads__campaign_report"}, "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__campaign_report_date_day__account_id__campaign_id.7cd75107e6": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["date_day", "account_id", "campaign_id"], "model": "{{ get_where_subquery(ref('facebook_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.facebook_ads.facebook_ads__campaign_report"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_cf7853fdf8e24958f5a0e3e1b7c1ced1", "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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads", "dbt_utils_unique_combination_of_columns_facebook_ads__campaign_report_date_day__account_id__campaign_id"], "unique_id": "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__campaign_report_date_day__account_id__campaign_id.7cd75107e6", "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_cf7853fdf8e24958f5a0e3e1b7c1ced1\") }}", "language": "sql", "package_name": "facebook_ads", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "dbt_utils_unique_combination_o_cf7853fdf8e24958f5a0e3e1b7c1ced1.sql", "original_file_path": "models/facebook.yml", "name": "dbt_utils_unique_combination_of_columns_facebook_ads__campaign_report_date_day__account_id__campaign_id", "alias": "dbt_utils_unique_combination_o_cf7853fdf8e24958f5a0e3e1b7c1ced1", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["facebook_ads__campaign_report"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads/models/facebook.yml/dbt_utils_unique_combination_o_cf7853fdf8e24958f5a0e3e1b7c1ced1.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_cf7853fdf8e24958f5a0e3e1b7c1ced1"}, "created_at": 1666731666.122412, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n date_day, account_id, campaign_id\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads`.`facebook_ads__campaign_report`\n group by date_day, account_id, campaign_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.facebook_ads__campaign_report"}, "test.facebook_ads.not_null_facebook_ads__account_report_account_id.9be02b4024": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "account_id", "model": "{{ get_where_subquery(ref('facebook_ads__account_report')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.facebook_ads.facebook_ads__account_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads", "not_null_facebook_ads__account_report_account_id"], "unique_id": "test.facebook_ads.not_null_facebook_ads__account_report_account_id.9be02b4024", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "facebook_ads", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "not_null_facebook_ads__account_report_account_id.sql", "original_file_path": "models/facebook.yml", "name": "not_null_facebook_ads__account_report_account_id", "alias": "not_null_facebook_ads__account_report_account_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["facebook_ads__account_report"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads/models/facebook.yml/not_null_facebook_ads__account_report_account_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1666731666.12483, "compiled_code": "\n \n \n\n\n\nselect account_id\nfrom `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads`.`facebook_ads__account_report`\nwhere account_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "account_id", "file_key_name": "models.facebook_ads__account_report"}, "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__account_report_date_day__account_id.5a94423e40": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["date_day", "account_id"], "model": "{{ get_where_subquery(ref('facebook_ads__account_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.facebook_ads.facebook_ads__account_report"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_19fe7721a9f8cd99b91dca268368654e", "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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads", "dbt_utils_unique_combination_of_columns_facebook_ads__account_report_date_day__account_id"], "unique_id": "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__account_report_date_day__account_id.5a94423e40", "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_19fe7721a9f8cd99b91dca268368654e\") }}", "language": "sql", "package_name": "facebook_ads", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "dbt_utils_unique_combination_o_19fe7721a9f8cd99b91dca268368654e.sql", "original_file_path": "models/facebook.yml", "name": "dbt_utils_unique_combination_of_columns_facebook_ads__account_report_date_day__account_id", "alias": "dbt_utils_unique_combination_o_19fe7721a9f8cd99b91dca268368654e", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["facebook_ads__account_report"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads/models/facebook.yml/dbt_utils_unique_combination_o_19fe7721a9f8cd99b91dca268368654e.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_19fe7721a9f8cd99b91dca268368654e"}, "created_at": 1666731666.125654, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n date_day, account_id\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads`.`facebook_ads__account_report`\n group by date_day, account_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.facebook_ads__account_report"}, "test.facebook_ads.not_null_facebook_ads__url_tags__fivetran_id.151d9515f3": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "_fivetran_id", "model": "{{ get_where_subquery(ref('facebook_ads__url_tags')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.facebook_ads.facebook_ads__url_tags"]}, "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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads", "not_null_facebook_ads__url_tags__fivetran_id"], "unique_id": "test.facebook_ads.not_null_facebook_ads__url_tags__fivetran_id.151d9515f3", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "facebook_ads", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "not_null_facebook_ads__url_tags__fivetran_id.sql", "original_file_path": "models/facebook.yml", "name": "not_null_facebook_ads__url_tags__fivetran_id", "alias": "not_null_facebook_ads__url_tags__fivetran_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["facebook_ads__url_tags"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads/models/facebook.yml/not_null_facebook_ads__url_tags__fivetran_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1666731666.127918, "compiled_code": "\n \n \n\n\n\nselect _fivetran_id\nfrom `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads`.`facebook_ads__url_tags`\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.facebook_ads__url_tags"}, "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__url_tags__fivetran_id__key__type.ba044777d3": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["_fivetran_id", "key", "type"], "model": "{{ get_where_subquery(ref('facebook_ads__url_tags')) }}"}, "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.facebook_ads.facebook_ads__url_tags"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_496bf013366c506c1f3135f19ec7080a", "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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads", "dbt_utils_unique_combination_of_columns_facebook_ads__url_tags__fivetran_id__key__type"], "unique_id": "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__url_tags__fivetran_id__key__type.ba044777d3", "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_496bf013366c506c1f3135f19ec7080a\") }}", "language": "sql", "package_name": "facebook_ads", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "dbt_utils_unique_combination_o_496bf013366c506c1f3135f19ec7080a.sql", "original_file_path": "models/facebook.yml", "name": "dbt_utils_unique_combination_of_columns_facebook_ads__url_tags__fivetran_id__key__type", "alias": "dbt_utils_unique_combination_o_496bf013366c506c1f3135f19ec7080a", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["facebook_ads__url_tags"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads/models/facebook.yml/dbt_utils_unique_combination_o_496bf013366c506c1f3135f19ec7080a.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_496bf013366c506c1f3135f19ec7080a"}, "created_at": 1666731666.128736, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n _fivetran_id, key, type\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads`.`facebook_ads__url_tags`\n group by _fivetran_id, key, type\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.facebook_ads__url_tags"}, "test.facebook_ads_source.not_null_stg_facebook_ads__account_history_account_id.f1cf38c40f": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "account_id", "model": "{{ get_where_subquery(ref('stg_facebook_ads__account_history')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__account_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "not_null_stg_facebook_ads__account_history_account_id"], "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__account_history_account_id.f1cf38c40f", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "not_null_stg_facebook_ads__account_history_account_id.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "not_null_stg_facebook_ads__account_history_account_id", "alias": "not_null_stg_facebook_ads__account_history_account_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__account_history"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/not_null_stg_facebook_ads__account_history_account_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1666731666.144358, "compiled_code": "\n \n \n\n\n\nselect account_id\nfrom `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__account_history`\nwhere account_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "account_id", "file_key_name": "models.stg_facebook_ads__account_history"}, "test.facebook_ads_source.not_null_stg_facebook_ads__account_history__fivetran_synced.0570e35e1f": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "_fivetran_synced", "model": "{{ get_where_subquery(ref('stg_facebook_ads__account_history')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__account_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "not_null_stg_facebook_ads__account_history__fivetran_synced"], "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__account_history__fivetran_synced.0570e35e1f", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "not_null_stg_facebook_ads__account_history__fivetran_synced.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "not_null_stg_facebook_ads__account_history__fivetran_synced", "alias": "not_null_stg_facebook_ads__account_history__fivetran_synced", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__account_history"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/not_null_stg_facebook_ads__account_history__fivetran_synced.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1666731666.145212, "compiled_code": "\n \n \n\n\n\nselect _fivetran_synced\nfrom `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__account_history`\nwhere _fivetran_synced is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "_fivetran_synced", "file_key_name": "models.stg_facebook_ads__account_history"}, "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__account_history_account_id___fivetran_synced.f9b4d28fa2": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["account_id", "_fivetran_synced"], "model": "{{ get_where_subquery(ref('stg_facebook_ads__account_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.facebook_ads_source.stg_facebook_ads__account_history"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_6c9521eb7e9747df57d9737e83cb864f", "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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "dbt_utils_unique_combination_of_columns_stg_facebook_ads__account_history_account_id___fivetran_synced"], "unique_id": "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__account_history_account_id___fivetran_synced.f9b4d28fa2", "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_6c9521eb7e9747df57d9737e83cb864f\") }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "dbt_utils_unique_combination_o_6c9521eb7e9747df57d9737e83cb864f.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_facebook_ads__account_history_account_id___fivetran_synced", "alias": "dbt_utils_unique_combination_o_6c9521eb7e9747df57d9737e83cb864f", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__account_history"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/dbt_utils_unique_combination_o_6c9521eb7e9747df57d9737e83cb864f.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_6c9521eb7e9747df57d9737e83cb864f"}, "created_at": 1666731666.1460302, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n account_id, _fivetran_synced\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__account_history`\n group by account_id, _fivetran_synced\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_facebook_ads__account_history"}, "test.facebook_ads_source.not_null_stg_facebook_ads__ad_history_ad_id.11429d3064": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "ad_id", "model": "{{ get_where_subquery(ref('stg_facebook_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.facebook_ads_source.stg_facebook_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "not_null_stg_facebook_ads__ad_history_ad_id"], "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__ad_history_ad_id.11429d3064", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "not_null_stg_facebook_ads__ad_history_ad_id.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "not_null_stg_facebook_ads__ad_history_ad_id", "alias": "not_null_stg_facebook_ads__ad_history_ad_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__ad_history"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/not_null_stg_facebook_ads__ad_history_ad_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1666731666.148334, "compiled_code": "\n \n \n\n\n\nselect ad_id\nfrom `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_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_facebook_ads__ad_history"}, "test.facebook_ads_source.not_null_stg_facebook_ads__ad_history_updated_at.250a5a84e4": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "updated_at", "model": "{{ get_where_subquery(ref('stg_facebook_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.facebook_ads_source.stg_facebook_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "not_null_stg_facebook_ads__ad_history_updated_at"], "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__ad_history_updated_at.250a5a84e4", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "not_null_stg_facebook_ads__ad_history_updated_at.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "not_null_stg_facebook_ads__ad_history_updated_at", "alias": "not_null_stg_facebook_ads__ad_history_updated_at", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__ad_history"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/not_null_stg_facebook_ads__ad_history_updated_at.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1666731666.1491358, "compiled_code": "\n \n \n\n\n\nselect updated_at\nfrom `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__ad_history`\nwhere updated_at is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "updated_at", "file_key_name": "models.stg_facebook_ads__ad_history"}, "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__ad_history_ad_id__updated_at.2922c18b58": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["ad_id", "updated_at"], "model": "{{ get_where_subquery(ref('stg_facebook_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.facebook_ads_source.stg_facebook_ads__ad_history"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_da2a7458e53ca8b420768a0c3e8e2137", "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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "dbt_utils_unique_combination_of_columns_stg_facebook_ads__ad_history_ad_id__updated_at"], "unique_id": "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__ad_history_ad_id__updated_at.2922c18b58", "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_da2a7458e53ca8b420768a0c3e8e2137\") }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "dbt_utils_unique_combination_o_da2a7458e53ca8b420768a0c3e8e2137.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_facebook_ads__ad_history_ad_id__updated_at", "alias": "dbt_utils_unique_combination_o_da2a7458e53ca8b420768a0c3e8e2137", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__ad_history"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/dbt_utils_unique_combination_o_da2a7458e53ca8b420768a0c3e8e2137.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_da2a7458e53ca8b420768a0c3e8e2137"}, "created_at": 1666731666.1500669, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n ad_id, updated_at\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__ad_history`\n group by ad_id, updated_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_facebook_ads__ad_history"}, "test.facebook_ads_source.not_null_stg_facebook_ads__ad_set_history_ad_set_id.e19a1df1bb": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "ad_set_id", "model": "{{ get_where_subquery(ref('stg_facebook_ads__ad_set_history')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__ad_set_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "not_null_stg_facebook_ads__ad_set_history_ad_set_id"], "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__ad_set_history_ad_set_id.e19a1df1bb", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "not_null_stg_facebook_ads__ad_set_history_ad_set_id.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "not_null_stg_facebook_ads__ad_set_history_ad_set_id", "alias": "not_null_stg_facebook_ads__ad_set_history_ad_set_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__ad_set_history"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/not_null_stg_facebook_ads__ad_set_history_ad_set_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1666731666.1522381, "compiled_code": "\n \n \n\n\n\nselect ad_set_id\nfrom `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__ad_set_history`\nwhere ad_set_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "ad_set_id", "file_key_name": "models.stg_facebook_ads__ad_set_history"}, "test.facebook_ads_source.not_null_stg_facebook_ads__ad_set_history_updated_at.ef7fafe0fa": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "updated_at", "model": "{{ get_where_subquery(ref('stg_facebook_ads__ad_set_history')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__ad_set_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "not_null_stg_facebook_ads__ad_set_history_updated_at"], "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__ad_set_history_updated_at.ef7fafe0fa", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "not_null_stg_facebook_ads__ad_set_history_updated_at.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "not_null_stg_facebook_ads__ad_set_history_updated_at", "alias": "not_null_stg_facebook_ads__ad_set_history_updated_at", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__ad_set_history"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/not_null_stg_facebook_ads__ad_set_history_updated_at.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1666731666.153171, "compiled_code": "\n \n \n\n\n\nselect updated_at\nfrom `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__ad_set_history`\nwhere updated_at is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "updated_at", "file_key_name": "models.stg_facebook_ads__ad_set_history"}, "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__ad_set_history_ad_set_id__updated_at.0a60ad0fef": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["ad_set_id", "updated_at"], "model": "{{ get_where_subquery(ref('stg_facebook_ads__ad_set_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.facebook_ads_source.stg_facebook_ads__ad_set_history"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_214e0ea8c1d3eb6e1c1fae451c60969f", "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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "dbt_utils_unique_combination_of_columns_stg_facebook_ads__ad_set_history_ad_set_id__updated_at"], "unique_id": "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__ad_set_history_ad_set_id__updated_at.0a60ad0fef", "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_214e0ea8c1d3eb6e1c1fae451c60969f\") }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "dbt_utils_unique_combination_o_214e0ea8c1d3eb6e1c1fae451c60969f.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_facebook_ads__ad_set_history_ad_set_id__updated_at", "alias": "dbt_utils_unique_combination_o_214e0ea8c1d3eb6e1c1fae451c60969f", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__ad_set_history"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/dbt_utils_unique_combination_o_214e0ea8c1d3eb6e1c1fae451c60969f.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_214e0ea8c1d3eb6e1c1fae451c60969f"}, "created_at": 1666731666.1539662, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n ad_set_id, updated_at\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__ad_set_history`\n group by ad_set_id, updated_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_facebook_ads__ad_set_history"}, "test.facebook_ads_source.not_null_stg_facebook_ads__campaign_history_campaign_id.1ca7a83852": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "campaign_id", "model": "{{ get_where_subquery(ref('stg_facebook_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.facebook_ads_source.stg_facebook_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "not_null_stg_facebook_ads__campaign_history_campaign_id"], "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__campaign_history_campaign_id.1ca7a83852", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "not_null_stg_facebook_ads__campaign_history_campaign_id.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "not_null_stg_facebook_ads__campaign_history_campaign_id", "alias": "not_null_stg_facebook_ads__campaign_history_campaign_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__campaign_history"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/not_null_stg_facebook_ads__campaign_history_campaign_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1666731666.156239, "compiled_code": "\n \n \n\n\n\nselect campaign_id\nfrom `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_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_facebook_ads__campaign_history"}, "test.facebook_ads_source.not_null_stg_facebook_ads__campaign_history_updated_at.9e59f99270": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "updated_at", "model": "{{ get_where_subquery(ref('stg_facebook_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.facebook_ads_source.stg_facebook_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "not_null_stg_facebook_ads__campaign_history_updated_at"], "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__campaign_history_updated_at.9e59f99270", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "not_null_stg_facebook_ads__campaign_history_updated_at.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "not_null_stg_facebook_ads__campaign_history_updated_at", "alias": "not_null_stg_facebook_ads__campaign_history_updated_at", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__campaign_history"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/not_null_stg_facebook_ads__campaign_history_updated_at.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1666731666.1570392, "compiled_code": "\n \n \n\n\n\nselect updated_at\nfrom `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__campaign_history`\nwhere updated_at is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "updated_at", "file_key_name": "models.stg_facebook_ads__campaign_history"}, "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__campaign_history_campaign_id__updated_at.7437b392c2": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["campaign_id", "updated_at"], "model": "{{ get_where_subquery(ref('stg_facebook_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.facebook_ads_source.stg_facebook_ads__campaign_history"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_6067330a8eb187d5024e9840cd7cbd78", "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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "dbt_utils_unique_combination_of_columns_stg_facebook_ads__campaign_history_campaign_id__updated_at"], "unique_id": "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__campaign_history_campaign_id__updated_at.7437b392c2", "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_6067330a8eb187d5024e9840cd7cbd78\") }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "dbt_utils_unique_combination_o_6067330a8eb187d5024e9840cd7cbd78.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_facebook_ads__campaign_history_campaign_id__updated_at", "alias": "dbt_utils_unique_combination_o_6067330a8eb187d5024e9840cd7cbd78", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__campaign_history"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/dbt_utils_unique_combination_o_6067330a8eb187d5024e9840cd7cbd78.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_6067330a8eb187d5024e9840cd7cbd78"}, "created_at": 1666731666.157839, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n campaign_id, updated_at\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__campaign_history`\n group by campaign_id, updated_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_facebook_ads__campaign_history"}, "test.facebook_ads_source.not_null_stg_facebook_ads__creative_history__fivetran_synced.3b0593cb4f": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "_fivetran_synced", "model": "{{ get_where_subquery(ref('stg_facebook_ads__creative_history')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__creative_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "not_null_stg_facebook_ads__creative_history__fivetran_synced"], "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__creative_history__fivetran_synced.3b0593cb4f", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "not_null_stg_facebook_ads__creative_history__fivetran_synced.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "not_null_stg_facebook_ads__creative_history__fivetran_synced", "alias": "not_null_stg_facebook_ads__creative_history__fivetran_synced", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__creative_history"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/not_null_stg_facebook_ads__creative_history__fivetran_synced.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1666731666.16013, "compiled_code": "\n \n \n\n\n\nselect _fivetran_synced\nfrom `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__creative_history`\nwhere _fivetran_synced is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "_fivetran_synced", "file_key_name": "models.stg_facebook_ads__creative_history"}, "test.facebook_ads_source.not_null_stg_facebook_ads__creative_history_creative_id.eb4d804261": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "creative_id", "model": "{{ get_where_subquery(ref('stg_facebook_ads__creative_history')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__creative_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "not_null_stg_facebook_ads__creative_history_creative_id"], "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__creative_history_creative_id.eb4d804261", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "not_null_stg_facebook_ads__creative_history_creative_id.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "not_null_stg_facebook_ads__creative_history_creative_id", "alias": "not_null_stg_facebook_ads__creative_history_creative_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__creative_history"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/not_null_stg_facebook_ads__creative_history_creative_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1666731666.160929, "compiled_code": "\n \n \n\n\n\nselect creative_id\nfrom `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__creative_history`\nwhere creative_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "creative_id", "file_key_name": "models.stg_facebook_ads__creative_history"}, "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__creative_history_creative_id___fivetran_synced.69ddc26562": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["creative_id", "_fivetran_synced"], "model": "{{ get_where_subquery(ref('stg_facebook_ads__creative_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.facebook_ads_source.stg_facebook_ads__creative_history"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_c52d893dfedd530a7cd19c495da30217", "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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "dbt_utils_unique_combination_of_columns_stg_facebook_ads__creative_history_creative_id___fivetran_synced"], "unique_id": "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__creative_history_creative_id___fivetran_synced.69ddc26562", "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_c52d893dfedd530a7cd19c495da30217\") }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "dbt_utils_unique_combination_o_c52d893dfedd530a7cd19c495da30217.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_facebook_ads__creative_history_creative_id___fivetran_synced", "alias": "dbt_utils_unique_combination_o_c52d893dfedd530a7cd19c495da30217", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__creative_history"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/dbt_utils_unique_combination_o_c52d893dfedd530a7cd19c495da30217.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_c52d893dfedd530a7cd19c495da30217"}, "created_at": 1666731666.1618571, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n creative_id, _fivetran_synced\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__creative_history`\n group by creative_id, _fivetran_synced\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_facebook_ads__creative_history"}, "test.facebook_ads_source.not_null_stg_facebook_ads__basic_ad_ad_id.2611b250fc": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "ad_id", "model": "{{ get_where_subquery(ref('stg_facebook_ads__basic_ad')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__basic_ad"]}, "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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "not_null_stg_facebook_ads__basic_ad_ad_id"], "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__basic_ad_ad_id.2611b250fc", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "not_null_stg_facebook_ads__basic_ad_ad_id.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "not_null_stg_facebook_ads__basic_ad_ad_id", "alias": "not_null_stg_facebook_ads__basic_ad_ad_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__basic_ad"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/not_null_stg_facebook_ads__basic_ad_ad_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1666731666.164143, "compiled_code": "\n \n \n\n\n\nselect ad_id\nfrom `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__basic_ad`\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_facebook_ads__basic_ad"}, "test.facebook_ads_source.not_null_stg_facebook_ads__basic_ad_account_id.d06f6d861b": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "account_id", "model": "{{ get_where_subquery(ref('stg_facebook_ads__basic_ad')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__basic_ad"]}, "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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "not_null_stg_facebook_ads__basic_ad_account_id"], "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__basic_ad_account_id.d06f6d861b", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "not_null_stg_facebook_ads__basic_ad_account_id.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "not_null_stg_facebook_ads__basic_ad_account_id", "alias": "not_null_stg_facebook_ads__basic_ad_account_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__basic_ad"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/not_null_stg_facebook_ads__basic_ad_account_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1666731666.164969, "compiled_code": "\n \n \n\n\n\nselect account_id\nfrom `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__basic_ad`\nwhere account_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "account_id", "file_key_name": "models.stg_facebook_ads__basic_ad"}, "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__basic_ad_date_day__ad_id__account_id.bd909529e7": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["date_day", "ad_id", "account_id"], "model": "{{ get_where_subquery(ref('stg_facebook_ads__basic_ad')) }}"}, "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.facebook_ads_source.stg_facebook_ads__basic_ad"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_42caf2b48bab7db5c316ae2524dd0683", "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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "dbt_utils_unique_combination_of_columns_stg_facebook_ads__basic_ad_date_day__ad_id__account_id"], "unique_id": "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__basic_ad_date_day__ad_id__account_id.bd909529e7", "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_42caf2b48bab7db5c316ae2524dd0683\") }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "dbt_utils_unique_combination_o_42caf2b48bab7db5c316ae2524dd0683.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_facebook_ads__basic_ad_date_day__ad_id__account_id", "alias": "dbt_utils_unique_combination_o_42caf2b48bab7db5c316ae2524dd0683", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__basic_ad"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/dbt_utils_unique_combination_o_42caf2b48bab7db5c316ae2524dd0683.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_42caf2b48bab7db5c316ae2524dd0683"}, "created_at": 1666731666.1657732, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n date_day, ad_id, account_id\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__basic_ad`\n group by date_day, ad_id, account_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_facebook_ads__basic_ad"}}, "sources": {"source.facebook_ads_source.facebook_ads.account_history": {"fqn": ["facebook_ads_source", "facebook_ads", "account_history"], "database": "dbt-package-testing", "schema": "facebook_ads_integration_tests", "unique_id": "source.facebook_ads_source.facebook_ads.account_history", "package_name": "facebook_ads_source", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "models/src_facebook_ads.yml", "original_file_path": "models/src_facebook_ads.yml", "name": "account_history", "source_name": "facebook_ads", "source_description": "", "loader": "Fivetran", "identifier": "facebook_ads_account_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 in this table reflects a version of a Facebook ad account.", "columns": {"id": {"name": "id", "description": "The ID of the ad account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Name of the account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "When the record was last synced by Fivetran.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_status": {"name": "account_status", "description": "Current status of account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "business_country_code": {"name": "business_country_code", "description": "Country code of business associated to account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_time": {"name": "created_time", "description": "The time account was created.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "currency": {"name": "currency", "description": "Currency associated with account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "timezone_name": {"name": "timezone_name", "description": "Timezone associated with account.", "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`.`facebook_ads_integration_tests`.`facebook_ads_account_history_data`", "created_at": 1666731666.183785}, "source.facebook_ads_source.facebook_ads.ad_history": {"fqn": ["facebook_ads_source", "facebook_ads", "ad_history"], "database": "dbt-package-testing", "schema": "facebook_ads_integration_tests", "unique_id": "source.facebook_ads_source.facebook_ads.ad_history", "package_name": "facebook_ads_source", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "models/src_facebook_ads.yml", "original_file_path": "models/src_facebook_ads.yml", "name": "ad_history", "source_name": "facebook_ads", "source_description": "", "loader": "Fivetran", "identifier": "facebook_ads_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 in this table reflects a version of a Facebook ad.", "columns": {"id": {"name": "id", "description": "The ID of this ad.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "The ID of the ad account that this ad belongs to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_set_id": {"name": "ad_set_id", "description": "ID of the ad set that contains the ad.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_id": {"name": "campaign_id", "description": "Ad campaign that contains this ad.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "creative_id": {"name": "creative_id", "description": "The ID of the ad creative to be used by this ad.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Name of the ad.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "When the record was last synced by Fivetran.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "updated_time": {"name": "updated_time", "description": "The timestamp of the last update of a record.", "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`.`facebook_ads_integration_tests`.`facebook_ads_ad_history_data`", "created_at": 1666731666.183872}, "source.facebook_ads_source.facebook_ads.ad_set_history": {"fqn": ["facebook_ads_source", "facebook_ads", "ad_set_history"], "database": "dbt-package-testing", "schema": "facebook_ads_integration_tests", "unique_id": "source.facebook_ads_source.facebook_ads.ad_set_history", "package_name": "facebook_ads_source", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "models/src_facebook_ads.yml", "original_file_path": "models/src_facebook_ads.yml", "name": "ad_set_history", "source_name": "facebook_ads", "source_description": "", "loader": "Fivetran", "identifier": "facebook_ads_ad_set_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 in this table reflects a version of a Facebook ad set.", "columns": {"id": {"name": "id", "description": "The ID of the ad set.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "The ID of the ad account that this ad set belongs to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_id": {"name": "campaign_id", "description": "Ad campaign that contains this ad set.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "The name of the ad set.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "When the record was last synced by Fivetran.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "updated_time": {"name": "updated_time", "description": "The timestamp of the last update of a record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "start_time": {"name": "start_time", "description": "Timestamp of designated ad set start time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "end_time": {"name": "end_time", "description": "Timestamp of designated ad set end time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "bid_strategy": {"name": "bid_strategy", "description": "Bid strategy values are - 'LOWEST_COST_WITHOUT_CAP', 'LOWEST_COST_WITH_BID_CAP', 'COST_CAP', 'LOWEST_COST_WITH_MIN_ROAS'.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "daily_budget": {"name": "daily_budget", "description": "Daily budget of ad set.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "budget_remaining": {"name": "budget_remaining", "description": "Remaining budget of ad set.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status": {"name": "status", "description": "Status values are - 'ACTIVE', 'PAUSED', 'DELETED', 'ARCHIVED'.", "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`.`facebook_ads_integration_tests`.`facebook_ads_ad_set_history_data`", "created_at": 1666731666.183945}, "source.facebook_ads_source.facebook_ads.basic_ad": {"fqn": ["facebook_ads_source", "facebook_ads", "basic_ad"], "database": "dbt-package-testing", "schema": "facebook_ads_integration_tests", "unique_id": "source.facebook_ads_source.facebook_ads.basic_ad", "package_name": "facebook_ads_source", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "models/src_facebook_ads.yml", "original_file_path": "models/src_facebook_ads.yml", "name": "basic_ad", "source_name": "facebook_ads", "source_description": "", "loader": "Fivetran", "identifier": "facebook_ads_basic_ad_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 Facebook.", "columns": {"ad_id": {"name": "ad_id", "description": "The ID of the ad the report relates to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_name": {"name": "ad_name", "description": "Name of the ad the report relates to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "adset_name": {"name": "adset_name", "description": "Name of the ad set the report relates to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "date": {"name": "date", "description": "The date of the reported performance.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "The ID of the ad account that this ad belongs to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "The number of impressions the ad had on the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "inline_link_clicks": {"name": "inline_link_clicks", "description": "The number of clicks the ad had on the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The spend on the ad in the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "reach": {"name": "reach", "description": "The number of people who saw any content from your Page or about your Page. This metric is estimated.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "frequency": {"name": "frequency", "description": "The average number of times each person saw your ad; it is calculated as impressions divided by reach.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "When the record was last synced by Fivetran.", "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`.`facebook_ads_integration_tests`.`facebook_ads_basic_ad_data`", "created_at": 1666731666.184014}, "source.facebook_ads_source.facebook_ads.campaign_history": {"fqn": ["facebook_ads_source", "facebook_ads", "campaign_history"], "database": "dbt-package-testing", "schema": "facebook_ads_integration_tests", "unique_id": "source.facebook_ads_source.facebook_ads.campaign_history", "package_name": "facebook_ads_source", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "models/src_facebook_ads.yml", "original_file_path": "models/src_facebook_ads.yml", "name": "campaign_history", "source_name": "facebook_ads", "source_description": "", "loader": "Fivetran", "identifier": "facebook_ads_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 in this table reflects a version of a Facebook campaign.", "columns": {"id": {"name": "id", "description": "The ID of the campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "The ID of the ad account that this campaign belongs to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "The name of the campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "When the record was last synced by Fivetran.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "updated_time": {"name": "updated_time", "description": "The timestamp of the last update of a record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_time": {"name": "created_time", "description": "The time the campaign was created.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "start_time": {"name": "start_time", "description": "Timestamp of designated campaign start time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "stop_time": {"name": "stop_time", "description": "Timestamp of designated campaign end time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "daily_budget": {"name": "daily_budget", "description": "Daily budget of campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "budget_remaining": {"name": "budget_remaining", "description": "Remaining budget of campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "lifetime_budget": {"name": "lifetime_budget", "description": "Lifetime budget of the campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status": {"name": "status", "description": "Status values are - 'ACTIVE', 'PAUSED', 'DELETED', 'ARCHIVED'.", "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`.`facebook_ads_integration_tests`.`facebook_ads_campaign_history_data`", "created_at": 1666731666.1840808}, "source.facebook_ads_source.facebook_ads.creative_history": {"fqn": ["facebook_ads_source", "facebook_ads", "creative_history"], "database": "dbt-package-testing", "schema": "facebook_ads_integration_tests", "unique_id": "source.facebook_ads_source.facebook_ads.creative_history", "package_name": "facebook_ads_source", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "models/src_facebook_ads.yml", "original_file_path": "models/src_facebook_ads.yml", "name": "creative_history", "source_name": "facebook_ads", "source_description": "", "loader": "Fivetran", "identifier": "facebook_ads_creative_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 in this table reflects a version of a Facebook creative.", "columns": {"_fivetran_id": {"name": "_fivetran_id", "description": "Unique record identifier", "meta": {}, "data_type": null, "quote": null, "tags": []}, "page_link": {"name": "page_link", "description": "URL destination of Facebook ads.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "template_page_link": {"name": "template_page_link", "description": "URL destination of Facebook dynamic ads.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "id": {"name": "id", "description": "Unique ID for an ad creative.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "Ad account ID for the account this ad creative belongs to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Name of this ad creative as seen in the ad account's library.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "url_tags": {"name": "url_tags", "description": "A set of query string parameters which will replace or be appended to urls clicked from page post ads, message of the post, and canvas app install creatives only.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "When the record was last synced by Fivetran.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "asset_feed_spec_link_urls": {"name": "asset_feed_spec_link_urls", "description": "Link to the asset feed spec", "meta": {}, "data_type": null, "quote": null, "tags": []}, "object_story_link_data_child_attachments": {"name": "object_story_link_data_child_attachments", "description": "Link of the object story child attachments", "meta": {}, "data_type": null, "quote": null, "tags": []}, "object_story_link_data_caption": {"name": "object_story_link_data_caption", "description": "Link of the object story caption", "meta": {}, "data_type": null, "quote": null, "tags": []}, "object_story_link_data_description": {"name": "object_story_link_data_description", "description": "Link of the object story description", "meta": {}, "data_type": null, "quote": null, "tags": []}, "object_story_link_data_link": {"name": "object_story_link_data_link", "description": "Link of the object story link", "meta": {}, "data_type": null, "quote": null, "tags": []}, "object_story_link_data_message": {"name": "object_story_link_data_message", "description": "Link of the object story message", "meta": {}, "data_type": null, "quote": null, "tags": []}, "template_app_link_spec_ios": {"name": "template_app_link_spec_ios", "description": "Link of the object story spec for ios", "meta": {}, "data_type": null, "quote": null, "tags": []}, "template_app_link_spec_ipad": {"name": "template_app_link_spec_ipad", "description": "Link of the template app spec for ipad", "meta": {}, "data_type": null, "quote": null, "tags": []}, "template_app_link_spec_android": {"name": "template_app_link_spec_android", "description": "Link of the template app for android", "meta": {}, "data_type": null, "quote": null, "tags": []}, "template_app_link_spec_iphone": {"name": "template_app_link_spec_iphone", "description": "Link of the template app for iphone", "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`.`facebook_ads_integration_tests`.`facebook_ads_creative_history_data`", "created_at": 1666731666.184155}}, "macros": {"macro.dbt_bigquery.date_sharded_table": {"unique_id": "macro.dbt_bigquery.date_sharded_table", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/etc.sql", "original_file_path": "macros/etc.sql", "name": "date_sharded_table", "macro_sql": "{% macro date_sharded_table(base_name) %}\n {{ return(base_name ~ \"[DBT__PARTITION_DATE]\") }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.348021, "supported_languages": null}, "macro.dbt_bigquery.grant_access_to": {"unique_id": "macro.dbt_bigquery.grant_access_to", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/etc.sql", "original_file_path": "macros/etc.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.3482199, "supported_languages": null}, "macro.dbt_bigquery.get_partitions_metadata": {"unique_id": "macro.dbt_bigquery.get_partitions_metadata", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/etc.sql", "original_file_path": "macros/etc.sql", "name": "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 -%}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.348464, "supported_languages": null}, "macro.dbt_bigquery.bigquery__get_catalog": {"unique_id": "macro.dbt_bigquery.bigquery__get_catalog", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/catalog.sql", "original_file_path": "macros/catalog.sql", "name": "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 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\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 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 %}", "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": 1666731665.351531, "supported_languages": null}, "macro.dbt_bigquery.partition_by": {"unique_id": "macro.dbt_bigquery.partition_by", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "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", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.3555012, "supported_languages": null}, "macro.dbt_bigquery.cluster_by": {"unique_id": "macro.dbt_bigquery.cluster_by", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "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", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.355873, "supported_languages": null}, "macro.dbt_bigquery.bigquery_options": {"unique_id": "macro.dbt_bigquery.bigquery_options", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "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", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.356192, "supported_languages": null}, "macro.dbt_bigquery.bigquery_table_options": {"unique_id": "macro.dbt_bigquery.bigquery_table_options", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "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", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery_options"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.356436, "supported_languages": null}, "macro.dbt_bigquery.bigquery__create_table_as": {"unique_id": "macro.dbt_bigquery.bigquery__create_table_as", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "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", "resource_type": "macro", "tags": [], "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": 1666731665.357336, "supported_languages": null}, "macro.dbt_bigquery.bigquery_view_options": {"unique_id": "macro.dbt_bigquery.bigquery_view_options", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "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", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery_options"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.357558, "supported_languages": null}, "macro.dbt_bigquery.bigquery__create_view_as": {"unique_id": "macro.dbt_bigquery.bigquery__create_view_as", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery_view_options"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.357847, "supported_languages": null}, "macro.dbt_bigquery.bigquery__drop_schema": {"unique_id": "macro.dbt_bigquery.bigquery__drop_schema", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "bigquery__drop_schema", "macro_sql": "{% macro bigquery__drop_schema(relation) -%}\n {{ adapter.drop_schema(relation) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.3579662, "supported_languages": null}, "macro.dbt_bigquery.bigquery__drop_relation": {"unique_id": "macro.dbt_bigquery.bigquery__drop_relation", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.358138, "supported_languages": null}, "macro.dbt_bigquery.bigquery__get_columns_in_relation": {"unique_id": "macro.dbt_bigquery.bigquery__get_columns_in_relation", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "bigquery__get_columns_in_relation", "macro_sql": "{% macro bigquery__get_columns_in_relation(relation) -%}\n {{ return(adapter.get_columns_in_relation(relation)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.358272, "supported_languages": null}, "macro.dbt_bigquery.bigquery__list_relations_without_caching": {"unique_id": "macro.dbt_bigquery.bigquery__list_relations_without_caching", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.3583958, "supported_languages": null}, "macro.dbt_bigquery.bigquery__list_schemas": {"unique_id": "macro.dbt_bigquery.bigquery__list_schemas", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "bigquery__list_schemas", "macro_sql": "{% macro bigquery__list_schemas(database) -%}\n {{ return(adapter.list_schemas(database)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.35852, "supported_languages": null}, "macro.dbt_bigquery.bigquery__check_schema_exists": {"unique_id": "macro.dbt_bigquery.bigquery__check_schema_exists", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.3586812, "supported_languages": null}, "macro.dbt_bigquery.bigquery__persist_docs": {"unique_id": "macro.dbt_bigquery.bigquery__persist_docs", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.alter_column_comment"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.359002, "supported_languages": null}, "macro.dbt_bigquery.bigquery__alter_column_comment": {"unique_id": "macro.dbt_bigquery.bigquery__alter_column_comment", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "bigquery__alter_column_comment", "macro_sql": "{% macro bigquery__alter_column_comment(relation, column_dict) -%}\n {% do adapter.update_columns(relation, column_dict) %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.3591402, "supported_languages": null}, "macro.dbt_bigquery.bigquery__rename_relation": {"unique_id": "macro.dbt_bigquery.bigquery__rename_relation", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "bigquery__rename_relation", "macro_sql": "{% macro bigquery__rename_relation(from_relation, to_relation) -%}\n {% do adapter.rename_relation(from_relation, to_relation) %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.359277, "supported_languages": null}, "macro.dbt_bigquery.bigquery__alter_relation_add_columns": {"unique_id": "macro.dbt_bigquery.bigquery__alter_relation_add_columns", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "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 %}", "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": 1666731665.3596249, "supported_languages": null}, "macro.dbt_bigquery.bigquery__alter_relation_drop_columns": {"unique_id": "macro.dbt_bigquery.bigquery__alter_relation_drop_columns", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "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 %}", "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": 1666731665.3599591, "supported_languages": null}, "macro.dbt_bigquery.bigquery__alter_column_type": {"unique_id": "macro.dbt_bigquery.bigquery__alter_column_type", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "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": 1666731665.360538, "supported_languages": null}, "macro.dbt_bigquery.bigquery__test_unique": {"unique_id": "macro.dbt_bigquery.bigquery__test_unique", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.3606882, "supported_languages": null}, "macro.dbt_bigquery.bigquery__upload_file": {"unique_id": "macro.dbt_bigquery.bigquery__upload_file", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.360933, "supported_languages": null}, "macro.dbt_bigquery.bigquery__create_csv_table": {"unique_id": "macro.dbt_bigquery.bigquery__create_csv_table", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/materializations/seed.sql", "original_file_path": "macros/materializations/seed.sql", "name": "bigquery__create_csv_table", "macro_sql": "{% macro bigquery__create_csv_table(model, agate_table) %}\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": 1666731665.3613691, "supported_languages": null}, "macro.dbt_bigquery.bigquery__reset_csv_table": {"unique_id": "macro.dbt_bigquery.bigquery__reset_csv_table", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/materializations/seed.sql", "original_file_path": "macros/materializations/seed.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.361513, "supported_languages": null}, "macro.dbt_bigquery.bigquery__load_csv_rows": {"unique_id": "macro.dbt_bigquery.bigquery__load_csv_rows", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/materializations/seed.sql", "original_file_path": "macros/materializations/seed.sql", "name": "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 {% 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 %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.362046, "supported_languages": null}, "macro.dbt_bigquery.bigquery__handle_existing_table": {"unique_id": "macro.dbt_bigquery.bigquery__handle_existing_table", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/materializations/view.sql", "original_file_path": "macros/materializations/view.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.362609, "supported_languages": null}, "macro.dbt_bigquery.materialization_view_bigquery": {"unique_id": "macro.dbt_bigquery.materialization_view_bigquery", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/materializations/view.sql", "original_file_path": "macros/materializations/view.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "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": 1666731665.363188, "supported_languages": ["sql"]}, "macro.dbt_bigquery.materialization_table_bigquery": {"unique_id": "macro.dbt_bigquery.materialization_table_bigquery", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/materializations/table.sql", "original_file_path": "macros/materializations/table.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "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": 1666731665.366372, "supported_languages": ["sql", "python"]}, "macro.dbt_bigquery.py_write_table": {"unique_id": "macro.dbt_bigquery.py_write_table", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/materializations/table.sql", "original_file_path": "macros/materializations/table.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.3666408, "supported_languages": null}, "macro.dbt_bigquery.materialization_copy_bigquery": {"unique_id": "macro.dbt_bigquery.materialization_copy_bigquery", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/materializations/copy.sql", "original_file_path": "macros/materializations/copy.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "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": 1666731665.367751, "supported_languages": ["sql"]}, "macro.dbt_bigquery.declare_dbt_max_partition": {"unique_id": "macro.dbt_bigquery.declare_dbt_max_partition", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/materializations/incremental.sql", "original_file_path": "macros/materializations/incremental.sql", "name": "declare_dbt_max_partition", "macro_sql": "{% macro declare_dbt_max_partition(relation, partition_by, complied_code, language='sql') %}\n\n {#-- TODO: revisit partitioning with python models --#}\n {%- if '_dbt_max_partition' in complied_code and language == 'sql' -%}\n\n declare _dbt_max_partition {{ partition_by.data_type }} default (\n select max({{ partition_by.field }}) from {{ this }}\n where {{ partition_by.field }} is not null\n );\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": 1666731665.3698921, "supported_languages": null}, "macro.dbt_bigquery.dbt_bigquery_validate_get_incremental_strategy": {"unique_id": "macro.dbt_bigquery.dbt_bigquery_validate_get_incremental_strategy", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/materializations/incremental.sql", "original_file_path": "macros/materializations/incremental.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.370281, "supported_languages": null}, "macro.dbt_bigquery.bq_insert_overwrite": {"unique_id": "macro.dbt_bigquery.bq_insert_overwrite", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/materializations/incremental.sql", "original_file_path": "macros/materializations/incremental.sql", "name": "bq_insert_overwrite", "macro_sql": "{% macro bq_insert_overwrite(\n tmp_relation, target_relation, sql, unique_key, partition_by, partitions, dest_columns, tmp_relation_exists\n) %}\n\n {% if partitions is not none and partitions != [] %} {# static #}\n\n {% set predicate -%}\n {{ partition_by.render(alias='DBT_INTERNAL_DEST') }} in (\n {{ partitions | join (', ') }}\n )\n {%- endset %}\n\n {%- set source_sql -%}\n (\n {{sql}}\n )\n {%- endset -%}\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 {% else %} {# dynamic #}\n\n {% set predicate -%}\n {{ partition_by.render(alias='DBT_INTERNAL_DEST') }} in unnest(dbt_partitions_for_replacement)\n {%- endset %}\n\n {%- set source_sql -%}\n (\n select * 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 }}>;\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\n {{ create_table_as(True, tmp_relation, compiled_code) }}\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() }})\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 %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.get_insert_overwrite_merge_sql", "macro.dbt_bigquery.declare_dbt_max_partition", "macro.dbt.create_table_as"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.3713589, "supported_languages": null}, "macro.dbt_bigquery.bq_generate_incremental_build_sql": {"unique_id": "macro.dbt_bigquery.bq_generate_incremental_build_sql", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/materializations/incremental.sql", "original_file_path": "macros/materializations/incremental.sql", "name": "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\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 missing_partition_msg -%}\n The 'insert_overwrite' strategy requires the `partition_by` config.\n {%- endset %}\n {% if partition_by is none %}\n {% do exceptions.raise_compiler_error(missing_partition_msg) %}\n {% endif %}\n\n {% set build_sql = bq_insert_overwrite(\n tmp_relation, target_relation, sql, unique_key, partition_by, partitions, dest_columns, tmp_relation_exists\n ) %}\n\n {% else %} {# strategy == 'merge' #}\n {%- set source_sql -%}\n {%- if tmp_relation_exists -%}\n (\n select * from {{ tmp_relation }}\n )\n {%- else -%} {#-- wrap sql in parens to make it a subquery --#}\n (\n {{sql}}\n )\n {%- endif -%}\n {%- endset -%}\n\n {% set build_sql = get_merge_sql(target_relation, source_sql, unique_key, dest_columns) %}\n\n {% endif %}\n\n {{ return(build_sql) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bq_insert_overwrite", "macro.dbt.get_merge_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.372103, "supported_languages": null}, "macro.dbt_bigquery.materialization_incremental_bigquery": {"unique_id": "macro.dbt_bigquery.materialization_incremental_bigquery", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/materializations/incremental.sql", "original_file_path": "macros/materializations/incremental.sql", "name": "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\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 {% if existing_relation is none %}\n {%- call statement('main', language=language) -%}\n {{ create_table_as(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 {{ create_table_as(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 {{ create_table_as(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 create_table_as(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 {% 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\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 %}", "resource_type": "macro", "tags": [], "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.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": 1666731665.375167, "supported_languages": ["sql", "python"]}, "macro.dbt_bigquery.bigquery__snapshot_hash_arguments": {"unique_id": "macro.dbt_bigquery.bigquery__snapshot_hash_arguments", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/materializations/snapshot.sql", "original_file_path": "macros/materializations/snapshot.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.3755982, "supported_languages": null}, "macro.dbt_bigquery.bigquery__create_columns": {"unique_id": "macro.dbt_bigquery.bigquery__create_columns", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/materializations/snapshot.sql", "original_file_path": "macros/materializations/snapshot.sql", "name": "bigquery__create_columns", "macro_sql": "{% macro bigquery__create_columns(relation, columns) %}\n {{ adapter.alter_table_add_columns(relation, columns) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.375736, "supported_languages": null}, "macro.dbt_bigquery.bigquery__post_snapshot": {"unique_id": "macro.dbt_bigquery.bigquery__post_snapshot", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/materializations/snapshot.sql", "original_file_path": "macros/materializations/snapshot.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.drop_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.375853, "supported_languages": null}, "macro.dbt_bigquery.bigquery__except": {"unique_id": "macro.dbt_bigquery.bigquery__except", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/utils/except.sql", "original_file_path": "macros/utils/except.sql", "name": "bigquery__except", "macro_sql": "{% macro bigquery__except() %}\n\n except distinct\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.376006, "supported_languages": null}, "macro.dbt_bigquery.bigquery__dateadd": {"unique_id": "macro.dbt_bigquery.bigquery__dateadd", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/utils/dateadd.sql", "original_file_path": "macros/utils/dateadd.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.3762538, "supported_languages": null}, "macro.dbt_bigquery.bigquery__current_timestamp": {"unique_id": "macro.dbt_bigquery.bigquery__current_timestamp", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/utils/timestamps.sql", "original_file_path": "macros/utils/timestamps.sql", "name": "bigquery__current_timestamp", "macro_sql": "{% macro bigquery__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": 1666731665.3764532, "supported_languages": null}, "macro.dbt_bigquery.bigquery__snapshot_string_as_time": {"unique_id": "macro.dbt_bigquery.bigquery__snapshot_string_as_time", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/utils/timestamps.sql", "original_file_path": "macros/utils/timestamps.sql", "name": "bigquery__snapshot_string_as_time", "macro_sql": "{% macro bigquery__snapshot_string_as_time(timestamp) -%}\n {%- set result = 'TIMESTAMP(\"' ~ timestamp ~ '\")' -%}\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": 1666731665.3766131, "supported_languages": null}, "macro.dbt_bigquery.bigquery__current_timestamp_backcompat": {"unique_id": "macro.dbt_bigquery.bigquery__current_timestamp_backcompat", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/utils/timestamps.sql", "original_file_path": "macros/utils/timestamps.sql", "name": "bigquery__current_timestamp_backcompat", "macro_sql": "{% macro bigquery__current_timestamp_backcompat() -%}\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": 1666731665.376677, "supported_languages": null}, "macro.dbt_bigquery.bigquery__intersect": {"unique_id": "macro.dbt_bigquery.bigquery__intersect", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/utils/intersect.sql", "original_file_path": "macros/utils/intersect.sql", "name": "bigquery__intersect", "macro_sql": "{% macro bigquery__intersect() %}\n\n intersect distinct\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.376821, "supported_languages": null}, "macro.dbt_bigquery.bigquery__escape_single_quotes": {"unique_id": "macro.dbt_bigquery.bigquery__escape_single_quotes", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/utils/escape_single_quotes.sql", "original_file_path": "macros/utils/escape_single_quotes.sql", "name": "bigquery__escape_single_quotes", "macro_sql": "{% macro bigquery__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": 1666731665.377043, "supported_languages": null}, "macro.dbt_bigquery.bigquery__right": {"unique_id": "macro.dbt_bigquery.bigquery__right", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/utils/right.sql", "original_file_path": "macros/utils/right.sql", "name": "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 -%}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.3772979, "supported_languages": null}, "macro.dbt_bigquery.bigquery__listagg": {"unique_id": "macro.dbt_bigquery.bigquery__listagg", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/utils/listagg.sql", "original_file_path": "macros/utils/listagg.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.377692, "supported_languages": null}, "macro.dbt_bigquery.bigquery__datediff": {"unique_id": "macro.dbt_bigquery.bigquery__datediff", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/utils/datediff.sql", "original_file_path": "macros/utils/datediff.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.datediff"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.3781939, "supported_languages": null}, "macro.dbt_bigquery.bigquery__safe_cast": {"unique_id": "macro.dbt_bigquery.bigquery__safe_cast", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/utils/safe_cast.sql", "original_file_path": "macros/utils/safe_cast.sql", "name": "bigquery__safe_cast", "macro_sql": "{% macro bigquery__safe_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": 1666731665.378389, "supported_languages": null}, "macro.dbt_bigquery.bigquery__hash": {"unique_id": "macro.dbt_bigquery.bigquery__hash", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/utils/hash.sql", "original_file_path": "macros/utils/hash.sql", "name": "bigquery__hash", "macro_sql": "{% macro bigquery__hash(field) -%}\n to_hex({{dbt.default__hash(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": 1666731665.378583, "supported_languages": null}, "macro.dbt_bigquery.bigquery__position": {"unique_id": "macro.dbt_bigquery.bigquery__position", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/utils/position.sql", "original_file_path": "macros/utils/position.sql", "name": "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 -%}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.378796, "supported_languages": null}, "macro.dbt_bigquery.bigquery__array_concat": {"unique_id": "macro.dbt_bigquery.bigquery__array_concat", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/utils/array_concat.sql", "original_file_path": "macros/utils/array_concat.sql", "name": "bigquery__array_concat", "macro_sql": "{% macro bigquery__array_concat(array_1, array_2) -%}\n array_concat({{ 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": 1666731665.378996, "supported_languages": null}, "macro.dbt_bigquery.bigquery__bool_or": {"unique_id": "macro.dbt_bigquery.bigquery__bool_or", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/utils/bool_or.sql", "original_file_path": "macros/utils/bool_or.sql", "name": "bigquery__bool_or", "macro_sql": "{% macro bigquery__bool_or(expression) -%}\n\n logical_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": 1666731665.3791611, "supported_languages": null}, "macro.dbt_bigquery.bigquery__split_part": {"unique_id": "macro.dbt_bigquery.bigquery__split_part", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/utils/split_part.sql", "original_file_path": "macros/utils/split_part.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.379766, "supported_languages": null}, "macro.dbt_bigquery.bigquery__date_trunc": {"unique_id": "macro.dbt_bigquery.bigquery__date_trunc", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/utils/date_trunc.sql", "original_file_path": "macros/utils/date_trunc.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.379978, "supported_languages": null}, "macro.dbt_bigquery.bigquery__array_construct": {"unique_id": "macro.dbt_bigquery.bigquery__array_construct", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/utils/array_construct.sql", "original_file_path": "macros/utils/array_construct.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.3802938, "supported_languages": null}, "macro.dbt_bigquery.bigquery__array_append": {"unique_id": "macro.dbt_bigquery.bigquery__array_append", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/utils/array_append.sql", "original_file_path": "macros/utils/array_append.sql", "name": "bigquery__array_append", "macro_sql": "{% macro bigquery__array_append(array, new_element) -%}\n {{ array_concat(array, array_construct([new_element])) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "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": 1666731665.380526, "supported_languages": null}, "macro.dbt_bigquery.bigquery__get_show_grant_sql": {"unique_id": "macro.dbt_bigquery.bigquery__get_show_grant_sql", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.381141, "supported_languages": null}, "macro.dbt_bigquery.bigquery__get_grant_sql": {"unique_id": "macro.dbt_bigquery.bigquery__get_grant_sql", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "name": "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", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.381354, "supported_languages": null}, "macro.dbt_bigquery.bigquery__get_revoke_sql": {"unique_id": "macro.dbt_bigquery.bigquery__get_revoke_sql", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dbt/include/bigquery", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "name": "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 -%}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.381561, "supported_languages": null}, "macro.dbt.run_hooks": {"unique_id": "macro.dbt.run_hooks", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.382554, "supported_languages": null}, "macro.dbt.make_hook_config": {"unique_id": "macro.dbt.make_hook_config", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.382726, "supported_languages": null}, "macro.dbt.before_begin": {"unique_id": "macro.dbt.before_begin", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.38285, "supported_languages": null}, "macro.dbt.in_transaction": {"unique_id": "macro.dbt.in_transaction", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.382974, "supported_languages": null}, "macro.dbt.after_commit": {"unique_id": "macro.dbt.after_commit", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.383103, "supported_languages": null}, "macro.dbt.set_sql_header": {"unique_id": "macro.dbt.set_sql_header", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.383483, "supported_languages": null}, "macro.dbt.should_full_refresh": {"unique_id": "macro.dbt.should_full_refresh", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.3837461, "supported_languages": null}, "macro.dbt.should_store_failures": {"unique_id": "macro.dbt.should_store_failures", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.384013, "supported_languages": null}, "macro.dbt.snapshot_merge_sql": {"unique_id": "macro.dbt.snapshot_merge_sql", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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.default__snapshot_merge_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.384452, "supported_languages": null}, "macro.dbt.default__snapshot_merge_sql": {"unique_id": "macro.dbt.default__snapshot_merge_sql", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.384692, "supported_languages": null}, "macro.dbt.strategy_dispatch": {"unique_id": "macro.dbt.strategy_dispatch", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.3878012, "supported_languages": null}, "macro.dbt.snapshot_hash_arguments": {"unique_id": "macro.dbt.snapshot_hash_arguments", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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_bigquery.bigquery__snapshot_hash_arguments"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.387952, "supported_languages": null}, "macro.dbt.default__snapshot_hash_arguments": {"unique_id": "macro.dbt.default__snapshot_hash_arguments", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.388145, "supported_languages": null}, "macro.dbt.snapshot_timestamp_strategy": {"unique_id": "macro.dbt.snapshot_timestamp_strategy", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.388801, "supported_languages": null}, "macro.dbt.snapshot_string_as_time": {"unique_id": "macro.dbt.snapshot_string_as_time", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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_bigquery.bigquery__snapshot_string_as_time"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.388948, "supported_languages": null}, "macro.dbt.default__snapshot_string_as_time": {"unique_id": "macro.dbt.default__snapshot_string_as_time", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.389096, "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": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.390316, "supported_languages": null}, "macro.dbt.snapshot_check_strategy": {"unique_id": "macro.dbt.snapshot_check_strategy", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.391497, "supported_languages": null}, "macro.dbt.create_columns": {"unique_id": "macro.dbt.create_columns", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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_bigquery.bigquery__create_columns"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.394923, "supported_languages": null}, "macro.dbt.default__create_columns": {"unique_id": "macro.dbt.default__create_columns", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.3951712, "supported_languages": null}, "macro.dbt.post_snapshot": {"unique_id": "macro.dbt.post_snapshot", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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_bigquery.bigquery__post_snapshot"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.395318, "supported_languages": null}, "macro.dbt.default__post_snapshot": {"unique_id": "macro.dbt.default__post_snapshot", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.3953931, "supported_languages": null}, "macro.dbt.get_true_sql": {"unique_id": "macro.dbt.get_true_sql", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.395518, "supported_languages": null}, "macro.dbt.default__get_true_sql": {"unique_id": "macro.dbt.default__get_true_sql", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.395617, "supported_languages": null}, "macro.dbt.snapshot_staging_table": {"unique_id": "macro.dbt.snapshot_staging_table", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.395801, "supported_languages": null}, "macro.dbt.default__snapshot_staging_table": {"unique_id": "macro.dbt.default__snapshot_staging_table", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.396568, "supported_languages": null}, "macro.dbt.build_snapshot_table": {"unique_id": "macro.dbt.build_snapshot_table", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.396734, "supported_languages": null}, "macro.dbt.default__build_snapshot_table": {"unique_id": "macro.dbt.default__build_snapshot_table", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.39695, "supported_languages": null}, "macro.dbt.build_snapshot_staging_table": {"unique_id": "macro.dbt.build_snapshot_staging_table", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.397328, "supported_languages": null}, "macro.dbt.materialization_snapshot_default": {"unique_id": "macro.dbt.materialization_snapshot_default", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.4025338, "supported_languages": ["sql"]}, "macro.dbt.materialization_test_default": {"unique_id": "macro.dbt.materialization_test_default", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.404376, "supported_languages": ["sql"]}, "macro.dbt.get_test_sql": {"unique_id": "macro.dbt.get_test_sql", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.4048378, "supported_languages": null}, "macro.dbt.default__get_test_sql": {"unique_id": "macro.dbt.default__get_test_sql", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.4051101, "supported_languages": null}, "macro.dbt.get_where_subquery": {"unique_id": "macro.dbt.get_where_subquery", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.405489, "supported_languages": null}, "macro.dbt.default__get_where_subquery": {"unique_id": "macro.dbt.default__get_where_subquery", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.405817, "supported_languages": null}, "macro.dbt.get_quoted_csv": {"unique_id": "macro.dbt.get_quoted_csv", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.4072351, "supported_languages": null}, "macro.dbt.diff_columns": {"unique_id": "macro.dbt.diff_columns", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.407709, "supported_languages": null}, "macro.dbt.diff_column_data_types": {"unique_id": "macro.dbt.diff_column_data_types", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.4082859, "supported_languages": null}, "macro.dbt.get_merge_update_columns": {"unique_id": "macro.dbt.get_merge_update_columns", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.408493, "supported_languages": null}, "macro.dbt.default__get_merge_update_columns": {"unique_id": "macro.dbt.default__get_merge_update_columns", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.409111, "supported_languages": null}, "macro.dbt.get_merge_sql": {"unique_id": "macro.dbt.get_merge_sql", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.412858, "supported_languages": null}, "macro.dbt.default__get_merge_sql": {"unique_id": "macro.dbt.default__get_merge_sql", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.414273, "supported_languages": null}, "macro.dbt.get_delete_insert_merge_sql": {"unique_id": "macro.dbt.get_delete_insert_merge_sql", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.414485, "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": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.415138, "supported_languages": null}, "macro.dbt.get_insert_overwrite_merge_sql": {"unique_id": "macro.dbt.get_insert_overwrite_merge_sql", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.4153721, "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": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.4159338, "supported_languages": null}, "macro.dbt.is_incremental": {"unique_id": "macro.dbt.is_incremental", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.4165492, "supported_languages": null}, "macro.dbt.get_incremental_append_sql": {"unique_id": "macro.dbt.get_incremental_append_sql", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.417367, "supported_languages": null}, "macro.dbt.default__get_incremental_append_sql": {"unique_id": "macro.dbt.default__get_incremental_append_sql", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.4175758, "supported_languages": null}, "macro.dbt.get_incremental_delete_insert_sql": {"unique_id": "macro.dbt.get_incremental_delete_insert_sql", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.417734, "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": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.417967, "supported_languages": null}, "macro.dbt.get_incremental_merge_sql": {"unique_id": "macro.dbt.get_incremental_merge_sql", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.4181278, "supported_languages": null}, "macro.dbt.default__get_incremental_merge_sql": {"unique_id": "macro.dbt.default__get_incremental_merge_sql", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.4183629, "supported_languages": null}, "macro.dbt.get_incremental_insert_overwrite_sql": {"unique_id": "macro.dbt.get_incremental_insert_overwrite_sql", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.418529, "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": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.418762, "supported_languages": null}, "macro.dbt.get_incremental_default_sql": {"unique_id": "macro.dbt.get_incremental_default_sql", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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.default__get_incremental_default_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.4189272, "supported_languages": null}, "macro.dbt.default__get_incremental_default_sql": {"unique_id": "macro.dbt.default__get_incremental_default_sql", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.419065, "supported_languages": null}, "macro.dbt.get_insert_into_sql": {"unique_id": "macro.dbt.get_insert_into_sql", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.419314, "supported_languages": null}, "macro.dbt.materialization_incremental_default": {"unique_id": "macro.dbt.materialization_incremental_default", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.423744, "supported_languages": ["sql"]}, "macro.dbt.incremental_validate_on_schema_change": {"unique_id": "macro.dbt.incremental_validate_on_schema_change", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.4283688, "supported_languages": null}, "macro.dbt.check_for_schema_changes": {"unique_id": "macro.dbt.check_for_schema_changes", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.4294431, "supported_languages": null}, "macro.dbt.sync_column_schemas": {"unique_id": "macro.dbt.sync_column_schemas", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.430488, "supported_languages": null}, "macro.dbt.process_schema_changes": {"unique_id": "macro.dbt.process_schema_changes", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.431228, "supported_languages": null}, "macro.dbt.materialization_table_default": {"unique_id": "macro.dbt.materialization_table_default", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.433525, "supported_languages": ["sql"]}, "macro.dbt.get_create_table_as_sql": {"unique_id": "macro.dbt.get_create_table_as_sql", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.4340422, "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": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.4342048, "supported_languages": null}, "macro.dbt.create_table_as": {"unique_id": "macro.dbt.create_table_as", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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_bigquery.bigquery__create_table_as"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.434582, "supported_languages": null}, "macro.dbt.default__create_table_as": {"unique_id": "macro.dbt.default__create_table_as", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.434943, "supported_languages": null}, "macro.dbt.materialization_view_default": {"unique_id": "macro.dbt.materialization_view_default", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.437242, "supported_languages": ["sql"]}, "macro.dbt.handle_existing_table": {"unique_id": "macro.dbt.handle_existing_table", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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_bigquery.bigquery__handle_existing_table"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.43756, "supported_languages": null}, "macro.dbt.default__handle_existing_table": {"unique_id": "macro.dbt.default__handle_existing_table", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.4377542, "supported_languages": null}, "macro.dbt.create_or_replace_view": {"unique_id": "macro.dbt.create_or_replace_view", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.439114, "supported_languages": null}, "macro.dbt.get_create_view_as_sql": {"unique_id": "macro.dbt.get_create_view_as_sql", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.439486, "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": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.439626, "supported_languages": null}, "macro.dbt.create_view_as": {"unique_id": "macro.dbt.create_view_as", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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_bigquery.bigquery__create_view_as"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.43978, "supported_languages": null}, "macro.dbt.default__create_view_as": {"unique_id": "macro.dbt.default__create_view_as", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.440011, "supported_languages": null}, "macro.dbt.materialization_seed_default": {"unique_id": "macro.dbt.materialization_seed_default", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.442917, "supported_languages": ["sql"]}, "macro.dbt.create_csv_table": {"unique_id": "macro.dbt.create_csv_table", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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_bigquery.bigquery__create_csv_table"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.447065, "supported_languages": null}, "macro.dbt.default__create_csv_table": {"unique_id": "macro.dbt.default__create_csv_table", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.4478478, "supported_languages": null}, "macro.dbt.reset_csv_table": {"unique_id": "macro.dbt.reset_csv_table", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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_bigquery.bigquery__reset_csv_table"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.448054, "supported_languages": null}, "macro.dbt.default__reset_csv_table": {"unique_id": "macro.dbt.default__reset_csv_table", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.448472, "supported_languages": null}, "macro.dbt.get_csv_sql": {"unique_id": "macro.dbt.get_csv_sql", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.448639, "supported_languages": null}, "macro.dbt.default__get_csv_sql": {"unique_id": "macro.dbt.default__get_csv_sql", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.4487529, "supported_languages": null}, "macro.dbt.get_binding_char": {"unique_id": "macro.dbt.get_binding_char", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.448874, "supported_languages": null}, "macro.dbt.default__get_binding_char": {"unique_id": "macro.dbt.default__get_binding_char", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.448972, "supported_languages": null}, "macro.dbt.get_batch_size": {"unique_id": "macro.dbt.get_batch_size", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.449108, "supported_languages": null}, "macro.dbt.default__get_batch_size": {"unique_id": "macro.dbt.default__get_batch_size", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.4492102, "supported_languages": null}, "macro.dbt.get_seed_column_quoted_csv": {"unique_id": "macro.dbt.get_seed_column_quoted_csv", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.449623, "supported_languages": null}, "macro.dbt.load_csv_rows": {"unique_id": "macro.dbt.load_csv_rows", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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_bigquery.bigquery__load_csv_rows"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.449785, "supported_languages": null}, "macro.dbt.default__load_csv_rows": {"unique_id": "macro.dbt.default__load_csv_rows", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.450891, "supported_languages": null}, "macro.dbt.generate_alias_name": {"unique_id": "macro.dbt.generate_alias_name", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.451287, "supported_languages": null}, "macro.dbt.default__generate_alias_name": {"unique_id": "macro.dbt.default__generate_alias_name", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.451489, "supported_languages": null}, "macro.dbt.generate_schema_name": {"unique_id": "macro.dbt.generate_schema_name", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.452008, "supported_languages": null}, "macro.dbt.default__generate_schema_name": {"unique_id": "macro.dbt.default__generate_schema_name", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.4522371, "supported_languages": null}, "macro.dbt.generate_schema_name_for_env": {"unique_id": "macro.dbt.generate_schema_name_for_env", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.452488, "supported_languages": null}, "macro.dbt.generate_database_name": {"unique_id": "macro.dbt.generate_database_name", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.452886, "supported_languages": null}, "macro.dbt.default__generate_database_name": {"unique_id": "macro.dbt.default__generate_database_name", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.453106, "supported_languages": null}, "macro.dbt.default__test_relationships": {"unique_id": "macro.dbt.default__test_relationships", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.4534678, "supported_languages": null}, "macro.dbt.default__test_not_null": {"unique_id": "macro.dbt.default__test_not_null", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.453776, "supported_languages": null}, "macro.dbt.default__test_unique": {"unique_id": "macro.dbt.default__test_unique", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.45405, "supported_languages": null}, "macro.dbt.default__test_accepted_values": {"unique_id": "macro.dbt.default__test_accepted_values", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.454588, "supported_languages": null}, "macro.dbt.statement": {"unique_id": "macro.dbt.statement", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.455911, "supported_languages": null}, "macro.dbt.noop_statement": {"unique_id": "macro.dbt.noop_statement", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.4564722, "supported_languages": null}, "macro.dbt.run_query": {"unique_id": "macro.dbt.run_query", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.456725, "supported_languages": null}, "macro.dbt.convert_datetime": {"unique_id": "macro.dbt.convert_datetime", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.4583309, "supported_languages": null}, "macro.dbt.dates_in_range": {"unique_id": "macro.dbt.dates_in_range", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.459358, "supported_languages": null}, "macro.dbt.partition_range": {"unique_id": "macro.dbt.partition_range", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.460015, "supported_languages": null}, "macro.dbt.py_current_timestring": {"unique_id": "macro.dbt.py_current_timestring", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.4602199, "supported_languages": null}, "macro.dbt.except": {"unique_id": "macro.dbt.except", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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_bigquery.bigquery__except"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.460479, "supported_languages": null}, "macro.dbt.default__except": {"unique_id": "macro.dbt.default__except", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.460544, "supported_languages": null}, "macro.dbt.replace": {"unique_id": "macro.dbt.replace", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.4608798, "supported_languages": null}, "macro.dbt.default__replace": {"unique_id": "macro.dbt.default__replace", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.461021, "supported_languages": null}, "macro.dbt.concat": {"unique_id": "macro.dbt.concat", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.4613, "supported_languages": null}, "macro.dbt.default__concat": {"unique_id": "macro.dbt.default__concat", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.461406, "supported_languages": null}, "macro.dbt.length": {"unique_id": "macro.dbt.length", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.461677, "supported_languages": null}, "macro.dbt.default__length": {"unique_id": "macro.dbt.default__length", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.4617732, "supported_languages": null}, "macro.dbt.dateadd": {"unique_id": "macro.dbt.dateadd", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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_bigquery.bigquery__dateadd"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.462121, "supported_languages": null}, "macro.dbt.default__dateadd": {"unique_id": "macro.dbt.default__dateadd", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.462264, "supported_languages": null}, "macro.dbt.intersect": {"unique_id": "macro.dbt.intersect", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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_bigquery.bigquery__intersect"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.4625149, "supported_languages": null}, "macro.dbt.default__intersect": {"unique_id": "macro.dbt.default__intersect", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.46258, "supported_languages": null}, "macro.dbt.escape_single_quotes": {"unique_id": "macro.dbt.escape_single_quotes", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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_bigquery.bigquery__escape_single_quotes"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.46286, "supported_languages": null}, "macro.dbt.default__escape_single_quotes": {"unique_id": "macro.dbt.default__escape_single_quotes", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.462977, "supported_languages": null}, "macro.dbt.right": {"unique_id": "macro.dbt.right", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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_bigquery.bigquery__right"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.4632819, "supported_languages": null}, "macro.dbt.default__right": {"unique_id": "macro.dbt.default__right", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.463459, "supported_languages": null}, "macro.dbt.listagg": {"unique_id": "macro.dbt.listagg", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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_bigquery.bigquery__listagg"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.464044, "supported_languages": null}, "macro.dbt.default__listagg": {"unique_id": "macro.dbt.default__listagg", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.464393, "supported_languages": null}, "macro.dbt.datediff": {"unique_id": "macro.dbt.datediff", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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_bigquery.bigquery__datediff"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.464739, "supported_languages": null}, "macro.dbt.default__datediff": {"unique_id": "macro.dbt.default__datediff", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.464881, "supported_languages": null}, "macro.dbt.safe_cast": {"unique_id": "macro.dbt.safe_cast", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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_bigquery.bigquery__safe_cast"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.465179, "supported_languages": null}, "macro.dbt.default__safe_cast": {"unique_id": "macro.dbt.default__safe_cast", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.465298, "supported_languages": null}, "macro.dbt.hash": {"unique_id": "macro.dbt.hash", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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_bigquery.bigquery__hash"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.465572, "supported_languages": null}, "macro.dbt.default__hash": {"unique_id": "macro.dbt.default__hash", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.465711, "supported_languages": null}, "macro.dbt.cast_bool_to_text": {"unique_id": "macro.dbt.cast_bool_to_text", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.465975, "supported_languages": null}, "macro.dbt.default__cast_bool_to_text": {"unique_id": "macro.dbt.default__cast_bool_to_text", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.4661171, "supported_languages": null}, "macro.dbt.any_value": {"unique_id": "macro.dbt.any_value", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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.default__any_value"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.466387, "supported_languages": null}, "macro.dbt.default__any_value": {"unique_id": "macro.dbt.default__any_value", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.466479, "supported_languages": null}, "macro.dbt.position": {"unique_id": "macro.dbt.position", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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_bigquery.bigquery__position"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.4667819, "supported_languages": null}, "macro.dbt.default__position": {"unique_id": "macro.dbt.default__position", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.466899, "supported_languages": null}, "macro.dbt.string_literal": {"unique_id": "macro.dbt.string_literal", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.4671621, "supported_languages": null}, "macro.dbt.default__string_literal": {"unique_id": "macro.dbt.default__string_literal", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.467249, "supported_languages": null}, "macro.dbt.type_string": {"unique_id": "macro.dbt.type_string", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.468118, "supported_languages": null}, "macro.dbt.default__type_string": {"unique_id": "macro.dbt.default__type_string", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.468249, "supported_languages": null}, "macro.dbt.type_timestamp": {"unique_id": "macro.dbt.type_timestamp", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.468559, "supported_languages": null}, "macro.dbt.default__type_timestamp": {"unique_id": "macro.dbt.default__type_timestamp", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.468695, "supported_languages": null}, "macro.dbt.type_float": {"unique_id": "macro.dbt.type_float", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.468836, "supported_languages": null}, "macro.dbt.default__type_float": {"unique_id": "macro.dbt.default__type_float", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.46897, "supported_languages": null}, "macro.dbt.type_numeric": {"unique_id": "macro.dbt.type_numeric", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.469124, "supported_languages": null}, "macro.dbt.default__type_numeric": {"unique_id": "macro.dbt.default__type_numeric", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.4692779, "supported_languages": null}, "macro.dbt.type_bigint": {"unique_id": "macro.dbt.type_bigint", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.469419, "supported_languages": null}, "macro.dbt.default__type_bigint": {"unique_id": "macro.dbt.default__type_bigint", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.469554, "supported_languages": null}, "macro.dbt.type_int": {"unique_id": "macro.dbt.type_int", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.469693, "supported_languages": null}, "macro.dbt.default__type_int": {"unique_id": "macro.dbt.default__type_int", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.4698188, "supported_languages": null}, "macro.dbt.type_boolean": {"unique_id": "macro.dbt.type_boolean", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.469955, "supported_languages": null}, "macro.dbt.default__type_boolean": {"unique_id": "macro.dbt.default__type_boolean", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.4700842, "supported_languages": null}, "macro.dbt.array_concat": {"unique_id": "macro.dbt.array_concat", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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_bigquery.bigquery__array_concat"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.4703832, "supported_languages": null}, "macro.dbt.default__array_concat": {"unique_id": "macro.dbt.default__array_concat", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.4705, "supported_languages": null}, "macro.dbt.bool_or": {"unique_id": "macro.dbt.bool_or", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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_bigquery.bigquery__bool_or"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.470769, "supported_languages": null}, "macro.dbt.default__bool_or": {"unique_id": "macro.dbt.default__bool_or", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.470859, "supported_languages": null}, "macro.dbt.last_day": {"unique_id": "macro.dbt.last_day", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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.default__last_day"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.471207, "supported_languages": null}, "macro.dbt.default_last_day": {"unique_id": "macro.dbt.default_last_day", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.4714408, "supported_languages": null}, "macro.dbt.default__last_day": {"unique_id": "macro.dbt.default__last_day", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.47157, "supported_languages": null}, "macro.dbt.split_part": {"unique_id": "macro.dbt.split_part", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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_bigquery.bigquery__split_part"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.472073, "supported_languages": null}, "macro.dbt.default__split_part": {"unique_id": "macro.dbt.default__split_part", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.47228, "supported_languages": null}, "macro.dbt._split_part_negative": {"unique_id": "macro.dbt._split_part_negative", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.472472, "supported_languages": null}, "macro.dbt.date_trunc": {"unique_id": "macro.dbt.date_trunc", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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_bigquery.bigquery__date_trunc"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.472768, "supported_languages": null}, "macro.dbt.default__date_trunc": {"unique_id": "macro.dbt.default__date_trunc", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.4728801, "supported_languages": null}, "macro.dbt.array_construct": {"unique_id": "macro.dbt.array_construct", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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_bigquery.bigquery__array_construct"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.473259, "supported_languages": null}, "macro.dbt.default__array_construct": {"unique_id": "macro.dbt.default__array_construct", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.4734662, "supported_languages": null}, "macro.dbt.array_append": {"unique_id": "macro.dbt.array_append", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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_bigquery.bigquery__array_append"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.473762, "supported_languages": null}, "macro.dbt.default__array_append": {"unique_id": "macro.dbt.default__array_append", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.473877, "supported_languages": null}, "macro.dbt.create_schema": {"unique_id": "macro.dbt.create_schema", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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.default__create_schema"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.4742541, "supported_languages": null}, "macro.dbt.default__create_schema": {"unique_id": "macro.dbt.default__create_schema", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.4744132, "supported_languages": null}, "macro.dbt.drop_schema": {"unique_id": "macro.dbt.drop_schema", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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_bigquery.bigquery__drop_schema"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.474551, "supported_languages": null}, "macro.dbt.default__drop_schema": {"unique_id": "macro.dbt.default__drop_schema", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.474717, "supported_languages": null}, "macro.dbt.current_timestamp": {"unique_id": "macro.dbt.current_timestamp", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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_bigquery.bigquery__current_timestamp"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.4751968, "supported_languages": null}, "macro.dbt.default__current_timestamp": {"unique_id": "macro.dbt.default__current_timestamp", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.475328, "supported_languages": null}, "macro.dbt.snapshot_get_time": {"unique_id": "macro.dbt.snapshot_get_time", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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.default__snapshot_get_time"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.475451, "supported_languages": null}, "macro.dbt.default__snapshot_get_time": {"unique_id": "macro.dbt.default__snapshot_get_time", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.47554, "supported_languages": null}, "macro.dbt.current_timestamp_backcompat": {"unique_id": "macro.dbt.current_timestamp_backcompat", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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_bigquery.bigquery__current_timestamp_backcompat"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.475682, "supported_languages": null}, "macro.dbt.default__current_timestamp_backcompat": {"unique_id": "macro.dbt.default__current_timestamp_backcompat", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.475745, "supported_languages": null}, "macro.dbt.current_timestamp_in_utc_backcompat": {"unique_id": "macro.dbt.current_timestamp_in_utc_backcompat", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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.default__current_timestamp_in_utc_backcompat"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.475887, "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": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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_bigquery.bigquery__current_timestamp_backcompat"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.476031, "supported_languages": null}, "macro.dbt.get_create_index_sql": {"unique_id": "macro.dbt.get_create_index_sql", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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.default__get_create_index_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.476537, "supported_languages": null}, "macro.dbt.default__get_create_index_sql": {"unique_id": "macro.dbt.default__get_create_index_sql", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.4766579, "supported_languages": null}, "macro.dbt.create_indexes": {"unique_id": "macro.dbt.create_indexes", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.476799, "supported_languages": null}, "macro.dbt.default__create_indexes": {"unique_id": "macro.dbt.default__create_indexes", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.477153, "supported_languages": null}, "macro.dbt.make_intermediate_relation": {"unique_id": "macro.dbt.make_intermediate_relation", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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.default__make_intermediate_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.480017, "supported_languages": null}, "macro.dbt.default__make_intermediate_relation": {"unique_id": "macro.dbt.default__make_intermediate_relation", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.480165, "supported_languages": null}, "macro.dbt.make_temp_relation": {"unique_id": "macro.dbt.make_temp_relation", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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.default__make_temp_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.4803588, "supported_languages": null}, "macro.dbt.default__make_temp_relation": {"unique_id": "macro.dbt.default__make_temp_relation", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.480615, "supported_languages": null}, "macro.dbt.make_backup_relation": {"unique_id": "macro.dbt.make_backup_relation", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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.default__make_backup_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.48083, "supported_languages": null}, "macro.dbt.default__make_backup_relation": {"unique_id": "macro.dbt.default__make_backup_relation", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.4811058, "supported_languages": null}, "macro.dbt.drop_relation": {"unique_id": "macro.dbt.drop_relation", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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_bigquery.bigquery__drop_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.4812632, "supported_languages": null}, "macro.dbt.default__drop_relation": {"unique_id": "macro.dbt.default__drop_relation", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.4814458, "supported_languages": null}, "macro.dbt.truncate_relation": {"unique_id": "macro.dbt.truncate_relation", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.481604, "supported_languages": null}, "macro.dbt.default__truncate_relation": {"unique_id": "macro.dbt.default__truncate_relation", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.48174, "supported_languages": null}, "macro.dbt.rename_relation": {"unique_id": "macro.dbt.rename_relation", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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_bigquery.bigquery__rename_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.481917, "supported_languages": null}, "macro.dbt.default__rename_relation": {"unique_id": "macro.dbt.default__rename_relation", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.482163, "supported_languages": null}, "macro.dbt.get_or_create_relation": {"unique_id": "macro.dbt.get_or_create_relation", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.48238, "supported_languages": null}, "macro.dbt.default__get_or_create_relation": {"unique_id": "macro.dbt.default__get_or_create_relation", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.482924, "supported_languages": null}, "macro.dbt.load_cached_relation": {"unique_id": "macro.dbt.load_cached_relation", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.483126, "supported_languages": null}, "macro.dbt.load_relation": {"unique_id": "macro.dbt.load_relation", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.4832482, "supported_languages": null}, "macro.dbt.drop_relation_if_exists": {"unique_id": "macro.dbt.drop_relation_if_exists", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.483412, "supported_languages": null}, "macro.dbt.collect_freshness": {"unique_id": "macro.dbt.collect_freshness", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.483836, "supported_languages": null}, "macro.dbt.default__collect_freshness": {"unique_id": "macro.dbt.default__collect_freshness", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.484202, "supported_languages": null}, "macro.dbt.copy_grants": {"unique_id": "macro.dbt.copy_grants", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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.default__copy_grants"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.485752, "supported_languages": null}, "macro.dbt.default__copy_grants": {"unique_id": "macro.dbt.default__copy_grants", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.485854, "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": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.486001, "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": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.4860978, "supported_languages": null}, "macro.dbt.should_revoke": {"unique_id": "macro.dbt.should_revoke", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.486399, "supported_languages": null}, "macro.dbt.get_show_grant_sql": {"unique_id": "macro.dbt.get_show_grant_sql", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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_bigquery.bigquery__get_show_grant_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.486563, "supported_languages": null}, "macro.dbt.default__get_show_grant_sql": {"unique_id": "macro.dbt.default__get_show_grant_sql", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.4866502, "supported_languages": null}, "macro.dbt.get_grant_sql": {"unique_id": "macro.dbt.get_grant_sql", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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_bigquery.bigquery__get_grant_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.486846, "supported_languages": null}, "macro.dbt.default__get_grant_sql": {"unique_id": "macro.dbt.default__get_grant_sql", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.48701, "supported_languages": null}, "macro.dbt.get_revoke_sql": {"unique_id": "macro.dbt.get_revoke_sql", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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_bigquery.bigquery__get_revoke_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.487206, "supported_languages": null}, "macro.dbt.default__get_revoke_sql": {"unique_id": "macro.dbt.default__get_revoke_sql", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.487365, "supported_languages": null}, "macro.dbt.get_dcl_statement_list": {"unique_id": "macro.dbt.get_dcl_statement_list", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.487563, "supported_languages": null}, "macro.dbt.default__get_dcl_statement_list": {"unique_id": "macro.dbt.default__get_dcl_statement_list", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.488149, "supported_languages": null}, "macro.dbt.call_dcl_statements": {"unique_id": "macro.dbt.call_dcl_statements", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.488381, "supported_languages": null}, "macro.dbt.default__call_dcl_statements": {"unique_id": "macro.dbt.default__call_dcl_statements", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.488605, "supported_languages": null}, "macro.dbt.apply_grants": {"unique_id": "macro.dbt.apply_grants", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.488812, "supported_languages": null}, "macro.dbt.default__apply_grants": {"unique_id": "macro.dbt.default__apply_grants", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.489803, "supported_languages": null}, "macro.dbt.alter_column_comment": {"unique_id": "macro.dbt.alter_column_comment", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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_bigquery.bigquery__alter_column_comment"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.4904552, "supported_languages": null}, "macro.dbt.default__alter_column_comment": {"unique_id": "macro.dbt.default__alter_column_comment", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.490605, "supported_languages": null}, "macro.dbt.alter_relation_comment": {"unique_id": "macro.dbt.alter_relation_comment", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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.default__alter_relation_comment"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.490782, "supported_languages": null}, "macro.dbt.default__alter_relation_comment": {"unique_id": "macro.dbt.default__alter_relation_comment", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.4909272, "supported_languages": null}, "macro.dbt.persist_docs": {"unique_id": "macro.dbt.persist_docs", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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_bigquery.bigquery__persist_docs"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.491157, "supported_languages": null}, "macro.dbt.default__persist_docs": {"unique_id": "macro.dbt.default__persist_docs", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.491575, "supported_languages": null}, "macro.dbt.get_catalog": {"unique_id": "macro.dbt.get_catalog", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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_bigquery.bigquery__get_catalog"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.4929018, "supported_languages": null}, "macro.dbt.default__get_catalog": {"unique_id": "macro.dbt.default__get_catalog", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.493129, "supported_languages": null}, "macro.dbt.information_schema_name": {"unique_id": "macro.dbt.information_schema_name", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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.default__information_schema_name"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.493293, "supported_languages": null}, "macro.dbt.default__information_schema_name": {"unique_id": "macro.dbt.default__information_schema_name", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.4934258, "supported_languages": null}, "macro.dbt.list_schemas": {"unique_id": "macro.dbt.list_schemas", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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_bigquery.bigquery__list_schemas"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.4935832, "supported_languages": null}, "macro.dbt.default__list_schemas": {"unique_id": "macro.dbt.default__list_schemas", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.4937978, "supported_languages": null}, "macro.dbt.check_schema_exists": {"unique_id": "macro.dbt.check_schema_exists", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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_bigquery.bigquery__check_schema_exists"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.493976, "supported_languages": null}, "macro.dbt.default__check_schema_exists": {"unique_id": "macro.dbt.default__check_schema_exists", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.494234, "supported_languages": null}, "macro.dbt.list_relations_without_caching": {"unique_id": "macro.dbt.list_relations_without_caching", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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_bigquery.bigquery__list_relations_without_caching"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.4943979, "supported_languages": null}, "macro.dbt.default__list_relations_without_caching": {"unique_id": "macro.dbt.default__list_relations_without_caching", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.494536, "supported_languages": null}, "macro.dbt.get_columns_in_relation": {"unique_id": "macro.dbt.get_columns_in_relation", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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_bigquery.bigquery__get_columns_in_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.496045, "supported_languages": null}, "macro.dbt.default__get_columns_in_relation": {"unique_id": "macro.dbt.default__get_columns_in_relation", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.496246, "supported_languages": null}, "macro.dbt.sql_convert_columns_in_relation": {"unique_id": "macro.dbt.sql_convert_columns_in_relation", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.4965189, "supported_languages": null}, "macro.dbt.get_columns_in_query": {"unique_id": "macro.dbt.get_columns_in_query", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.4966788, "supported_languages": null}, "macro.dbt.default__get_columns_in_query": {"unique_id": "macro.dbt.default__get_columns_in_query", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.496973, "supported_languages": null}, "macro.dbt.alter_column_type": {"unique_id": "macro.dbt.alter_column_type", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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_bigquery.bigquery__alter_column_type"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.4971719, "supported_languages": null}, "macro.dbt.default__alter_column_type": {"unique_id": "macro.dbt.default__alter_column_type", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.497694, "supported_languages": null}, "macro.dbt.alter_relation_add_remove_columns": {"unique_id": "macro.dbt.alter_relation_add_remove_columns", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.497924, "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": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.4985988, "supported_languages": null}, "macro.dbt.build_ref_function": {"unique_id": "macro.dbt.build_ref_function", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.499944, "supported_languages": null}, "macro.dbt.build_source_function": {"unique_id": "macro.dbt.build_source_function", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.5003579, "supported_languages": null}, "macro.dbt.build_config_dict": {"unique_id": "macro.dbt.build_config_dict", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.500748, "supported_languages": null}, "macro.dbt.py_script_postfix": {"unique_id": "macro.dbt.py_script_postfix", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.501102, "supported_languages": null}, "macro.dbt.py_script_comment": {"unique_id": "macro.dbt.py_script_comment", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.501164, "supported_languages": null}, "macro.dbt.test_unique": {"unique_id": "macro.dbt.test_unique", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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_bigquery.bigquery__test_unique"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.5016599, "supported_languages": null}, "macro.dbt.test_not_null": {"unique_id": "macro.dbt.test_not_null", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.501864, "supported_languages": null}, "macro.dbt.test_accepted_values": {"unique_id": "macro.dbt.test_accepted_values", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.502113, "supported_languages": null}, "macro.dbt.test_relationships": {"unique_id": "macro.dbt.test_relationships", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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": 1666731665.5023518, "supported_languages": null}, "macro.dbt_utils.xdb_deprecation_warning_without_replacement": {"unique_id": "macro.dbt_utils.xdb_deprecation_warning_without_replacement", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/dbt_utils", "path": "macros/cross_db_utils/deprecated/xdb_deprecation_warning.sql", "original_file_path": "macros/cross_db_utils/deprecated/xdb_deprecation_warning.sql", "name": "xdb_deprecation_warning_without_replacement", "macro_sql": "{% macro xdb_deprecation_warning_without_replacement(macro, package, model) %}\n {%- set error_message = \"Warning: the `\" ~ macro ~\"` macro is deprecated and will be removed in a future version of the package, once equivalent functionality is implemented in dbt Core. The \" ~ package ~ \".\" ~ model ~ \" model triggered this warning.\" -%}\n {%- do exceptions.warn(error_message) -%}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.502688, "supported_languages": null}, "macro.dbt_utils.get_url_host": {"unique_id": "macro.dbt_utils.get_url_host", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.503039, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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 split_part(\n split_part(\n replace(\n replace(\n replace(field, \"'android-app://'\", \"''\"\n ), \"'http://'\", \"''\"\n ), \"'https://'\", \"''\"\n ), \"'/'\", 1\n ), \"'?'\", 1\n )\n\n-%}\n\n\n {{ dbt.safe_cast(\n parsed,\n 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": 1666731665.503488, "supported_languages": null}, "macro.dbt_utils.get_url_path": {"unique_id": "macro.dbt_utils.get_url_path", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.5039392, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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 replace(\n replace(field, \"'http://'\", \"''\"), \"'https://'\", \"''\")\n -%}\n\n {%- set first_slash_pos -%}\n coalesce(\n nullif({{ position(\"'/'\", stripped_url) }}, 0),\n {{ position(\"'?'\", stripped_url) }} - 1\n )\n {%- endset -%}\n\n {%- set parsed_path =\n split_part(\n right(\n stripped_url,\n length(stripped_url) ~ \"-\" ~ first_slash_pos\n ),\n \"'?'\", 1\n )\n -%}\n\n {{ safe_cast(\n parsed_path,\n 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": 1666731665.504533, "supported_languages": null}, "macro.dbt_utils.get_url_parameter": {"unique_id": "macro.dbt_utils.get_url_parameter", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.504937, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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 = split_part(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": 1666731665.505208, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.506218, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.507118, "supported_languages": null}, "macro.dbt_utils.test_equal_rowcount": {"unique_id": "macro.dbt_utils.test_equal_rowcount", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.507939, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.5088809, "supported_languages": null}, "macro.dbt_utils.test_relationships_where": {"unique_id": "macro.dbt_utils.test_relationships_where", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.509535, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.5098329, "supported_languages": null}, "macro.dbt_utils.test_recency": {"unique_id": "macro.dbt_utils.test_recency", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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, group_by_columns = []) %}\n {{ return(adapter.dispatch('test_recency', 'dbt_utils')(model, field, datepart, interval, 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": 1666731665.51041, "supported_languages": null}, "macro.dbt_utils.default__test_recency": {"unique_id": "macro.dbt_utils.default__test_recency", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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, group_by_columns) %}\n\n{% set threshold = dateadd(datepart, interval * -1, current_timestamp_backcompat()) %}\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 max({{field}}) as most_recent\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_backcompat"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.510956, "supported_languages": null}, "macro.dbt_utils.test_not_constant": {"unique_id": "macro.dbt_utils.test_not_constant", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.511408, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.511809, "supported_languages": null}, "macro.dbt_utils.test_accepted_range": {"unique_id": "macro.dbt_utils.test_accepted_range", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.5124018, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.512814, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.5133362, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.513738, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.514202, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.5146098, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.5152042, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.515763, "supported_languages": null}, "macro.dbt_utils.test_cardinality_equality": {"unique_id": "macro.dbt_utils.test_cardinality_equality", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.516313, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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 {{ except() }}\n select *\n from table_b\n),\n\nexcept_b as (\n select *\n from table_b\n {{ 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": 1666731665.5166001, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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, condition='1=1') %}\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 {{ return(adapter.dispatch('test_expression_is_true', 'dbt_utils')(model, expression, column_name, condition)) }}\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": 1666731665.517087, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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, condition) %}\n\n{% set column_list = '*' if should_store_failures() else \"1\" %}\n\nwith meet_condition as (\n select * from {{ model }} where {{ condition }}\n)\n\nselect\n {{ column_list }}\nfrom meet_condition\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": 1666731665.517427, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.518047, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.518755, "supported_languages": null}, "macro.dbt_utils.test_sequential_values": {"unique_id": "macro.dbt_utils.test_sequential_values", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.519594, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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 {{ type_timestamp() }})= cast({{ dateadd(datepart, interval, previous_column_name) }} as {{ 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": 1666731665.520363, "supported_languages": null}, "macro.dbt_utils.test_equality": {"unique_id": "macro.dbt_utils.test_equality", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.5210738, "supported_languages": null}, "macro.dbt_utils.default__test_equality": {"unique_id": "macro.dbt_utils.default__test_equality", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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 {{ except() }}\n select {{compare_cols_csv}} from b\n\n),\n\nb_minus_a as (\n\n select {{compare_cols_csv}} from b\n {{ 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": 1666731665.521826, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.5223181, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.5225759, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.52558, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.5269802, "supported_languages": null}, "macro.dbt_utils.pretty_log_format": {"unique_id": "macro.dbt_utils.pretty_log_format", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.527277, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.527425, "supported_languages": null}, "macro.dbt_utils._is_relation": {"unique_id": "macro.dbt_utils._is_relation", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.5278652, "supported_languages": null}, "macro.dbt_utils.pretty_time": {"unique_id": "macro.dbt_utils.pretty_time", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.528159, "supported_languages": null}, "macro.dbt_utils.default__pretty_time": {"unique_id": "macro.dbt_utils.default__pretty_time", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.528325, "supported_languages": null}, "macro.dbt_utils.log_info": {"unique_id": "macro.dbt_utils.log_info", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.528599, "supported_languages": null}, "macro.dbt_utils.default__log_info": {"unique_id": "macro.dbt_utils.default__log_info", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.5287511, "supported_languages": null}, "macro.dbt_utils.slugify": {"unique_id": "macro.dbt_utils.slugify", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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\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": 1666731665.529204, "supported_languages": null}, "macro.dbt_utils._is_ephemeral": {"unique_id": "macro.dbt_utils._is_ephemeral", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.529974, "supported_languages": null}, "macro.dbt_utils.get_intervals_between": {"unique_id": "macro.dbt_utils.get_intervals_between", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.530632, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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 {{ 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": 1666731665.531138, "supported_languages": null}, "macro.dbt_utils.date_spine": {"unique_id": "macro.dbt_utils.date_spine", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.531341, "supported_languages": null}, "macro.dbt_utils.default__date_spine": {"unique_id": "macro.dbt_utils.default__date_spine", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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 \"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 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": 1666731665.531651, "supported_languages": null}, "macro.dbt_utils.nullcheck_table": {"unique_id": "macro.dbt_utils.nullcheck_table", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.531977, "supported_languages": null}, "macro.dbt_utils.default__nullcheck_table": {"unique_id": "macro.dbt_utils.default__nullcheck_table", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.532272, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.532896, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.533704, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.534484, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.534842, "supported_languages": null}, "macro.dbt_utils.generate_series": {"unique_id": "macro.dbt_utils.generate_series", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.535008, "supported_languages": null}, "macro.dbt_utils.default__generate_series": {"unique_id": "macro.dbt_utils.default__generate_series", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.5354612, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.5360892, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.536834, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.537245, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.537502, "supported_languages": null}, "macro.dbt_utils.star": {"unique_id": "macro.dbt_utils.star", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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='') -%}\n {{ return(adapter.dispatch('star', 'dbt_utils')(from, relation_alias, except, prefix, suffix)) }}\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": 1666731665.538145, "supported_languages": null}, "macro.dbt_utils.default__star": {"unique_id": "macro.dbt_utils.default__star", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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='') -%}\n {%- do dbt_utils._is_relation(from, 'star') -%}\n {%- do dbt_utils._is_ephemeral(from, 'star') -%}\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 cols = dbt_utils.get_filtered_columns_in_relation(from, except) %}\n\n {%- if cols|length <= 0 -%}\n {{- return('*') -}}\n {%- else -%}\n {%- for col in cols %}\n {%- if relation_alias %}{{ relation_alias }}.{% else %}{%- endif -%}{{ adapter.quote(col)|trim }} {%- if prefix!='' or suffix!='' %} as {{ adapter.quote(prefix ~ col ~ suffix)|trim }} {%- endif -%}\n {%- if not loop.last %},{{ '\\n ' }}{% endif %}\n {%- endfor -%}\n {% endif %}\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": 1666731665.5389829, "supported_languages": null}, "macro.dbt_utils.unpivot": {"unique_id": "macro.dbt_utils.unpivot", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.540155, "supported_languages": null}, "macro.dbt_utils.default__unpivot": {"unique_id": "macro.dbt_utils.default__unpivot", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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 {{ type_string() }}) as {{ field_name }},\n cast( {% if col.data_type == 'boolean' %}\n {{ 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": 1666731665.541586, "supported_languages": null}, "macro.dbt_utils.union_relations": {"unique_id": "macro.dbt_utils.union_relations", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.544283, "supported_languages": null}, "macro.dbt_utils.default__union_relations": {"unique_id": "macro.dbt_utils.default__union_relations", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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({{ string_literal(relation) }} as {{ 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": 1666731665.547262, "supported_languages": null}, "macro.dbt_utils.group_by": {"unique_id": "macro.dbt_utils.group_by", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.547586, "supported_languages": null}, "macro.dbt_utils.default__group_by": {"unique_id": "macro.dbt_utils.default__group_by", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.5478039, "supported_languages": null}, "macro.dbt_utils.deduplicate": {"unique_id": "macro.dbt_utils.deduplicate", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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.bigquery__deduplicate"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.548533, "supported_languages": null}, "macro.dbt_utils.default__deduplicate": {"unique_id": "macro.dbt_utils.default__deduplicate", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.548722, "supported_languages": null}, "macro.dbt_utils.redshift__deduplicate": {"unique_id": "macro.dbt_utils.redshift__deduplicate", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.548895, "supported_languages": null}, "macro.dbt_utils.postgres__deduplicate": {"unique_id": "macro.dbt_utils.postgres__deduplicate", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.549063, "supported_languages": null}, "macro.dbt_utils.snowflake__deduplicate": {"unique_id": "macro.dbt_utils.snowflake__deduplicate", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.5492039, "supported_languages": null}, "macro.dbt_utils.bigquery__deduplicate": {"unique_id": "macro.dbt_utils.bigquery__deduplicate", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.549354, "supported_languages": null}, "macro.dbt_utils.surrogate_key": {"unique_id": "macro.dbt_utils.surrogate_key", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.549747, "supported_languages": null}, "macro.dbt_utils.default__surrogate_key": {"unique_id": "macro.dbt_utils.default__surrogate_key", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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 variable scoped to the dbt_utils package 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": 1666731665.549957, "supported_languages": null}, "macro.dbt_utils.safe_add": {"unique_id": "macro.dbt_utils.safe_add", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.550338, "supported_languages": null}, "macro.dbt_utils.default__safe_add": {"unique_id": "macro.dbt_utils.default__safe_add", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.5508108, "supported_languages": null}, "macro.dbt_utils.nullcheck": {"unique_id": "macro.dbt_utils.nullcheck", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.55116, "supported_languages": null}, "macro.dbt_utils.default__nullcheck": {"unique_id": "macro.dbt_utils.default__nullcheck", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.55145, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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.bigquery__get_tables_by_pattern_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.5529149, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.55323, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.554044, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.5544882, "supported_languages": null}, "macro.dbt_utils.get_column_values": {"unique_id": "macro.dbt_utils.get_column_values", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.5555, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.5568042, "supported_languages": null}, "macro.dbt_utils.pivot": {"unique_id": "macro.dbt_utils.pivot", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.557771, "supported_languages": null}, "macro.dbt_utils.default__pivot": {"unique_id": "macro.dbt_utils.default__pivot", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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 }} '{{ 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": 1666731665.558489, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.558945, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.559565, "supported_languages": null}, "macro.dbt_utils.width_bucket": {"unique_id": "macro.dbt_utils.width_bucket", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.561326, "supported_languages": null}, "macro.dbt_utils.default__width_bucket": {"unique_id": "macro.dbt_utils.default__width_bucket", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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, type_numeric() ) }},\n {{ dbt.safe_cast(bin_size, 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": 1666731665.561743, "supported_languages": null}, "macro.dbt_utils.redshift__width_bucket": {"unique_id": "macro.dbt_utils.redshift__width_bucket", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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, type_numeric() ) }} %\n {{ dbt.safe_cast(bin_size, 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": 1666731665.5621288, "supported_languages": null}, "macro.dbt_utils.snowflake__width_bucket": {"unique_id": "macro.dbt_utils.snowflake__width_bucket", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.562293, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.5800252, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.580584, "supported_languages": null}, "macro.dbt_utils.generate_surrogate_key": {"unique_id": "macro.dbt_utils.generate_surrogate_key", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.581076, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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 \" ~ type_string() ~ \"), '\" ~ default_null_value ~\"')\"\n ) -%}\n\n {%- if not loop.last %}\n {%- do fields.append(\"'-'\") -%}\n {%- endif -%}\n\n{%- endfor -%}\n\n{{ hash(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": 1666731665.5816598, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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.default__get_table_types_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.5988429, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.598989, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.5991318, "supported_languages": null}, "macro.dbt_utils.degrees_to_radians": {"unique_id": "macro.dbt_utils.degrees_to_radians", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.600353, "supported_languages": null}, "macro.dbt_utils.haversine_distance": {"unique_id": "macro.dbt_utils.haversine_distance", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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.bigquery__haversine_distance"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.600728, "supported_languages": null}, "macro.dbt_utils.default__haversine_distance": {"unique_id": "macro.dbt_utils.default__haversine_distance", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.6013288, "supported_languages": null}, "macro.dbt_utils.bigquery__haversine_distance": {"unique_id": "macro.dbt_utils.bigquery__haversine_distance", "package_name": "dbt_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.6021729, "supported_languages": null}, "macro.spark_utils.get_tables": {"unique_id": "macro.spark_utils.get_tables", "package_name": "spark_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.623041, "supported_languages": null}, "macro.spark_utils.get_delta_tables": {"unique_id": "macro.spark_utils.get_delta_tables", "package_name": "spark_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.62377, "supported_languages": null}, "macro.spark_utils.get_statistic_columns": {"unique_id": "macro.spark_utils.get_statistic_columns", "package_name": "spark_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.6246989, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.625466, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.626229, "supported_languages": null}, "macro.spark_utils.spark_analyze_tables": {"unique_id": "macro.spark_utils.spark_analyze_tables", "package_name": "spark_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.62717, "supported_languages": null}, "macro.spark_utils.spark__concat": {"unique_id": "macro.spark_utils.spark__concat", "package_name": "spark_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.636582, "supported_languages": null}, "macro.spark_utils.spark__type_numeric": {"unique_id": "macro.spark_utils.spark__type_numeric", "package_name": "spark_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.636895, "supported_languages": null}, "macro.spark_utils.spark__dateadd": {"unique_id": "macro.spark_utils.spark__dateadd", "package_name": "spark_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.639861, "supported_languages": null}, "macro.spark_utils.spark__datediff": {"unique_id": "macro.spark_utils.spark__datediff", "package_name": "spark_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.647506, "supported_languages": null}, "macro.spark_utils.spark__current_timestamp": {"unique_id": "macro.spark_utils.spark__current_timestamp", "package_name": "spark_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.6477041, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.647774, "supported_languages": null}, "macro.spark_utils.spark__split_part": {"unique_id": "macro.spark_utils.spark__split_part", "package_name": "spark_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.648372, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.649944, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.6502678, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.6505349, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.6508002, "supported_languages": null}, "macro.spark_utils.assert_not_null": {"unique_id": "macro.spark_utils.assert_not_null", "package_name": "spark_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.651176, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.651366, "supported_languages": null}, "macro.spark_utils.spark__convert_timezone": {"unique_id": "macro.spark_utils.spark__convert_timezone", "package_name": "spark_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.651619, "supported_languages": null}, "macro.facebook_ads.get_url_tags_query": {"unique_id": "macro.facebook_ads.get_url_tags_query", "package_name": "facebook_ads", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "macros/get_url_tag_query.sql", "original_file_path": "macros/get_url_tag_query.sql", "name": "get_url_tags_query", "macro_sql": "{% macro get_url_tags_query() %}\n {{ return(adapter.dispatch('get_url_tags_query') ()) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.facebook_ads.bigquery__get_url_tags_query"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.6526961, "supported_languages": null}, "macro.facebook_ads.bigquery__get_url_tags_query": {"unique_id": "macro.facebook_ads.bigquery__get_url_tags_query", "package_name": "facebook_ads", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "macros/get_url_tag_query.sql", "original_file_path": "macros/get_url_tag_query.sql", "name": "bigquery__get_url_tags_query", "macro_sql": "{% macro bigquery__get_url_tags_query() %}\n\n cleaned_json as (\n\n select\n _fivetran_id,\n creative_id,\n json_extract_array(replace(trim(url_tags, '\"'),'\\\\','')) as cleaned_url_tags\n from required_fields\n ), \n\n unnested as (\n\n select \n _fivetran_id, \n creative_id, \n url_tag_element\n from cleaned_json\n left join unnest(cleaned_url_tags) as url_tag_element\n where cleaned_url_tags is not null\n ), \n\n fields as (\n\n select\n _fivetran_id,\n creative_id,\n json_extract_scalar(url_tag_element, '$.key') as key,\n json_extract_scalar(url_tag_element, '$.value') as value,\n json_extract_scalar(url_tag_element, '$.type') as type\n from unnested\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": 1666731665.6528158, "supported_languages": null}, "macro.facebook_ads.postgres__get_url_tags_query": {"unique_id": "macro.facebook_ads.postgres__get_url_tags_query", "package_name": "facebook_ads", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "macros/get_url_tag_query.sql", "original_file_path": "macros/get_url_tag_query.sql", "name": "postgres__get_url_tags_query", "macro_sql": "{% macro postgres__get_url_tags_query() %}\n\n cleaned_json as (\n\n select\n _fivetran_id,\n creative_id,\n replace(trim(url_tags::text, '\"'),'\\\\','')::json as cleaned_url_tags\n from required_fields\n ), \n\n unnested as (\n\n select \n _fivetran_id, \n creative_id, \n url_tag_element\n from cleaned_json\n left join lateral json_array_elements(cleaned_url_tags) as url_tag_element on True\n where cleaned_url_tags is not null\n ), \n\n fields as (\n\n select\n _fivetran_id,\n creative_id,\n url_tag_element->>'key' as key,\n url_tag_element->>'value' as value,\n url_tag_element->>'type' as type\n from unnested\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": 1666731665.652927, "supported_languages": null}, "macro.facebook_ads.redshift__get_url_tags_query": {"unique_id": "macro.facebook_ads.redshift__get_url_tags_query", "package_name": "facebook_ads", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "macros/get_url_tag_query.sql", "original_file_path": "macros/get_url_tag_query.sql", "name": "redshift__get_url_tags_query", "macro_sql": "{% macro redshift__get_url_tags_query() %}\n\n numbers as (\n\n {{ dbt_utils.generate_series(upper_bound=1000) }}\n\n ), \n\n flattened_url_tags as (\n\n select\n _fivetran_id,\n creative_id,\n json_extract_array_element_text(required_fields.url_tags, numbers.generated_number::int - 1, true) as element\n from required_fields\n inner join numbers\n on json_array_length(required_fields.url_tags) >= numbers.generated_number\n ), \n\n fields as (\n\n select\n _fivetran_id,\n creative_id,\n json_extract_path_text(element,'key') as key,\n json_extract_path_text(element,'value') as value,\n json_extract_path_text(element,'type') as type\n from flattened_url_tags\n )\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.generate_series"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.653096, "supported_languages": null}, "macro.facebook_ads.snowflake__get_url_tags_query": {"unique_id": "macro.facebook_ads.snowflake__get_url_tags_query", "package_name": "facebook_ads", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "macros/get_url_tag_query.sql", "original_file_path": "macros/get_url_tag_query.sql", "name": "snowflake__get_url_tags_query", "macro_sql": "{% macro snowflake__get_url_tags_query() %}\n\n cleaned_fields as (\n\n select\n _fivetran_id,\n creative_id,\n parse_json(url_tags) as url_tags\n from required_fields\n where url_tags is not null\n ), \n\n fields as (\n\n select\n _fivetran_id,\n creative_id,\n url_tags.value:key::string as key,\n url_tags.value:value::string as value,\n url_tags.value:type::string as type\n from cleaned_fields,\n lateral flatten( input => url_tags ) as url_tags\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": 1666731665.6531992, "supported_languages": null}, "macro.facebook_ads.spark__get_url_tags_query": {"unique_id": "macro.facebook_ads.spark__get_url_tags_query", "package_name": "facebook_ads", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "macros/get_url_tag_query.sql", "original_file_path": "macros/get_url_tag_query.sql", "name": "spark__get_url_tags_query", "macro_sql": "{% macro spark__get_url_tags_query() %}\n\n cleaned_fields as (\n\n select\n _fivetran_id,\n creative_id,\n explode(from_json(url_tags, 'array>')) as url_tags\n from required_fields\n where url_tags is not null\n ), \n\n fields as (\n\n select\n _fivetran_id,\n creative_id,\n url_tags.key as key,\n url_tags.value as value,\n url_tags.type as type\n from cleaned_fields\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": 1666731665.653294, "supported_languages": null}, "macro.fivetran_utils.enabled_vars": {"unique_id": "macro.fivetran_utils.enabled_vars", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.653734, "supported_languages": null}, "macro.fivetran_utils.percentile": {"unique_id": "macro.fivetran_utils.percentile", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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.bigquery__percentile"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.654691, "supported_languages": null}, "macro.fivetran_utils.default__percentile": {"unique_id": "macro.fivetran_utils.default__percentile", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.6549199, "supported_languages": null}, "macro.fivetran_utils.redshift__percentile": {"unique_id": "macro.fivetran_utils.redshift__percentile", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.6550741, "supported_languages": null}, "macro.fivetran_utils.bigquery__percentile": {"unique_id": "macro.fivetran_utils.bigquery__percentile", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.65523, "supported_languages": null}, "macro.fivetran_utils.postgres__percentile": {"unique_id": "macro.fivetran_utils.postgres__percentile", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.655369, "supported_languages": null}, "macro.fivetran_utils.spark__percentile": {"unique_id": "macro.fivetran_utils.spark__percentile", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.655522, "supported_languages": null}, "macro.fivetran_utils.pivot_json_extract": {"unique_id": "macro.fivetran_utils.pivot_json_extract", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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\nreplace( {{ fivetran_utils.json_extract(string, property) }}, '\"', '') as {{ property | replace(' ', '_') | lower }}\n\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": 1666731665.6559901, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.6566699, "supported_languages": null}, "macro.fivetran_utils.json_parse": {"unique_id": "macro.fivetran_utils.json_parse", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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.bigquery__json_parse"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.6577458, "supported_languages": null}, "macro.fivetran_utils.default__json_parse": {"unique_id": "macro.fivetran_utils.default__json_parse", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.6579719, "supported_languages": null}, "macro.fivetran_utils.redshift__json_parse": {"unique_id": "macro.fivetran_utils.redshift__json_parse", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.658195, "supported_languages": null}, "macro.fivetran_utils.bigquery__json_parse": {"unique_id": "macro.fivetran_utils.bigquery__json_parse", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.658417, "supported_languages": null}, "macro.fivetran_utils.postgres__json_parse": {"unique_id": "macro.fivetran_utils.postgres__json_parse", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.658636, "supported_languages": null}, "macro.fivetran_utils.snowflake__json_parse": {"unique_id": "macro.fivetran_utils.snowflake__json_parse", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.658877, "supported_languages": null}, "macro.fivetran_utils.spark__json_parse": {"unique_id": "macro.fivetran_utils.spark__json_parse", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.659116, "supported_languages": null}, "macro.fivetran_utils.max_bool": {"unique_id": "macro.fivetran_utils.max_bool", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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.bigquery__max_bool"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.6594791, "supported_languages": null}, "macro.fivetran_utils.default__max_bool": {"unique_id": "macro.fivetran_utils.default__max_bool", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.659573, "supported_languages": null}, "macro.fivetran_utils.snowflake__max_bool": {"unique_id": "macro.fivetran_utils.snowflake__max_bool", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.6596632, "supported_languages": null}, "macro.fivetran_utils.bigquery__max_bool": {"unique_id": "macro.fivetran_utils.bigquery__max_bool", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.6597528, "supported_languages": null}, "macro.fivetran_utils.calculated_fields": {"unique_id": "macro.fivetran_utils.calculated_fields", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.660151, "supported_languages": null}, "macro.fivetran_utils.seed_data_helper": {"unique_id": "macro.fivetran_utils.seed_data_helper", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.660807, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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.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 {% 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": 1666731665.661429, "supported_languages": null}, "macro.fivetran_utils.string_agg": {"unique_id": "macro.fivetran_utils.string_agg", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.661927, "supported_languages": null}, "macro.fivetran_utils.default__string_agg": {"unique_id": "macro.fivetran_utils.default__string_agg", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.66205, "supported_languages": null}, "macro.fivetran_utils.snowflake__string_agg": {"unique_id": "macro.fivetran_utils.snowflake__string_agg", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.6621718, "supported_languages": null}, "macro.fivetran_utils.redshift__string_agg": {"unique_id": "macro.fivetran_utils.redshift__string_agg", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.6622899, "supported_languages": null}, "macro.fivetran_utils.spark__string_agg": {"unique_id": "macro.fivetran_utils.spark__string_agg", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.6624131, "supported_languages": null}, "macro.fivetran_utils.timestamp_diff": {"unique_id": "macro.fivetran_utils.timestamp_diff", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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.bigquery__timestamp_diff"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.6650429, "supported_languages": null}, "macro.fivetran_utils.default__timestamp_diff": {"unique_id": "macro.fivetran_utils.default__timestamp_diff", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.665189, "supported_languages": null}, "macro.fivetran_utils.redshift__timestamp_diff": {"unique_id": "macro.fivetran_utils.redshift__timestamp_diff", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.665329, "supported_languages": null}, "macro.fivetran_utils.bigquery__timestamp_diff": {"unique_id": "macro.fivetran_utils.bigquery__timestamp_diff", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.665466, "supported_languages": null}, "macro.fivetran_utils.postgres__timestamp_diff": {"unique_id": "macro.fivetran_utils.postgres__timestamp_diff", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.667024, "supported_languages": null}, "macro.fivetran_utils.try_cast": {"unique_id": "macro.fivetran_utils.try_cast", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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.bigquery__try_cast"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.667831, "supported_languages": null}, "macro.fivetran_utils.default__safe_cast": {"unique_id": "macro.fivetran_utils.default__safe_cast", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.667954, "supported_languages": null}, "macro.fivetran_utils.redshift__try_cast": {"unique_id": "macro.fivetran_utils.redshift__try_cast", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.668193, "supported_languages": null}, "macro.fivetran_utils.postgres__try_cast": {"unique_id": "macro.fivetran_utils.postgres__try_cast", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.668442, "supported_languages": null}, "macro.fivetran_utils.snowflake__try_cast": {"unique_id": "macro.fivetran_utils.snowflake__try_cast", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.668559, "supported_languages": null}, "macro.fivetran_utils.bigquery__try_cast": {"unique_id": "macro.fivetran_utils.bigquery__try_cast", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.6686668, "supported_languages": null}, "macro.fivetran_utils.spark__try_cast": {"unique_id": "macro.fivetran_utils.spark__try_cast", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.668778, "supported_languages": null}, "macro.fivetran_utils.source_relation": {"unique_id": "macro.fivetran_utils.source_relation", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.669266, "supported_languages": null}, "macro.fivetran_utils.default__source_relation": {"unique_id": "macro.fivetran_utils.default__source_relation", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.669774, "supported_languages": null}, "macro.fivetran_utils.first_value": {"unique_id": "macro.fivetran_utils.first_value", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.67027, "supported_languages": null}, "macro.fivetran_utils.default__first_value": {"unique_id": "macro.fivetran_utils.default__first_value", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.6704519, "supported_languages": null}, "macro.fivetran_utils.redshift__first_value": {"unique_id": "macro.fivetran_utils.redshift__first_value", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.670641, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.670919, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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.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 {% 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": 1666731665.6716852, "supported_languages": null}, "macro.fivetran_utils.union_relations": {"unique_id": "macro.fivetran_utils.union_relations", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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_utils.string_literal(relation) }} as {{ dbt_utils.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": 1666731665.6752279, "supported_languages": null}, "macro.fivetran_utils.union_tables": {"unique_id": "macro.fivetran_utils.union_tables", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.675542, "supported_languages": null}, "macro.fivetran_utils.snowflake_seed_data": {"unique_id": "macro.fivetran_utils.snowflake_seed_data", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.675926, "supported_languages": null}, "macro.fivetran_utils.fill_staging_columns": {"unique_id": "macro.fivetran_utils.fill_staging_columns", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.6772969, "supported_languages": null}, "macro.fivetran_utils.quote_column": {"unique_id": "macro.fivetran_utils.quote_column", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.6777668, "supported_languages": null}, "macro.fivetran_utils.json_extract": {"unique_id": "macro.fivetran_utils.json_extract", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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.bigquery__json_extract"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.678316, "supported_languages": null}, "macro.fivetran_utils.default__json_extract": {"unique_id": "macro.fivetran_utils.default__json_extract", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.678454, "supported_languages": null}, "macro.fivetran_utils.snowflake__json_extract": {"unique_id": "macro.fivetran_utils.snowflake__json_extract", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.678586, "supported_languages": null}, "macro.fivetran_utils.redshift__json_extract": {"unique_id": "macro.fivetran_utils.redshift__json_extract", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.678736, "supported_languages": null}, "macro.fivetran_utils.bigquery__json_extract": {"unique_id": "macro.fivetran_utils.bigquery__json_extract", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.678866, "supported_languages": null}, "macro.fivetran_utils.postgres__json_extract": {"unique_id": "macro.fivetran_utils.postgres__json_extract", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.678993, "supported_languages": null}, "macro.fivetran_utils.collect_freshness": {"unique_id": "macro.fivetran_utils.collect_freshness", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.67966, "supported_languages": null}, "macro.fivetran_utils.default__collect_freshness": {"unique_id": "macro.fivetran_utils.default__collect_freshness", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.6805, "supported_languages": null}, "macro.fivetran_utils.timestamp_add": {"unique_id": "macro.fivetran_utils.timestamp_add", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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.bigquery__timestamp_add"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.68116, "supported_languages": null}, "macro.fivetran_utils.default__timestamp_add": {"unique_id": "macro.fivetran_utils.default__timestamp_add", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.681299, "supported_languages": null}, "macro.fivetran_utils.bigquery__timestamp_add": {"unique_id": "macro.fivetran_utils.bigquery__timestamp_add", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.6814332, "supported_languages": null}, "macro.fivetran_utils.redshift__timestamp_add": {"unique_id": "macro.fivetran_utils.redshift__timestamp_add", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.6815732, "supported_languages": null}, "macro.fivetran_utils.postgres__timestamp_add": {"unique_id": "macro.fivetran_utils.postgres__timestamp_add", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.681707, "supported_languages": null}, "macro.fivetran_utils.spark__timestamp_add": {"unique_id": "macro.fivetran_utils.spark__timestamp_add", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.681856, "supported_languages": null}, "macro.fivetran_utils.ceiling": {"unique_id": "macro.fivetran_utils.ceiling", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.682126, "supported_languages": null}, "macro.fivetran_utils.default__ceiling": {"unique_id": "macro.fivetran_utils.default__ceiling", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.6822138, "supported_languages": null}, "macro.fivetran_utils.snowflake__ceiling": {"unique_id": "macro.fivetran_utils.snowflake__ceiling", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.682366, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.68297, "supported_languages": null}, "macro.fivetran_utils.union_data": {"unique_id": "macro.fivetran_utils.union_data", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.6842291, "supported_languages": null}, "macro.fivetran_utils.default__union_data": {"unique_id": "macro.fivetran_utils.default__union_data", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.686312, "supported_languages": null}, "macro.fivetran_utils.dummy_coalesce_value": {"unique_id": "macro.fivetran_utils.dummy_coalesce_value", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.6875882, "supported_languages": null}, "macro.fivetran_utils.array_agg": {"unique_id": "macro.fivetran_utils.array_agg", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.687875, "supported_languages": null}, "macro.fivetran_utils.default__array_agg": {"unique_id": "macro.fivetran_utils.default__array_agg", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.687964, "supported_languages": null}, "macro.fivetran_utils.redshift__array_agg": {"unique_id": "macro.fivetran_utils.redshift__array_agg", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.6880488, "supported_languages": null}, "macro.fivetran_utils.empty_variable_warning": {"unique_id": "macro.fivetran_utils.empty_variable_warning", "package_name": "fivetran_utils", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.688451, "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/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_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": 1666731665.688839, "supported_languages": null}, "macro.facebook_ads_source.get_ad_set_history_columns": {"unique_id": "macro.facebook_ads_source.get_ad_set_history_columns", "package_name": "facebook_ads_source", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "macros/get_ad_set_history_columns.sql", "original_file_path": "macros/get_ad_set_history_columns.sql", "name": "get_ad_set_history_columns", "macro_sql": "{% macro get_ad_set_history_columns() %}\n\n{% set columns = [\n {\"name\": \"updated_time\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"id\", \"datatype\": dbt.type_int()},\n {\"name\": \"name\", \"datatype\": dbt.type_string()},\n {\"name\": \"account_id\", \"datatype\": dbt.type_int()},\n {\"name\": \"campaign_id\", \"datatype\": dbt.type_int()},\n {\"name\": \"start_time\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"end_time\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"bid_strategy\", \"datatype\": dbt.type_string()},\n {\"name\": \"daily_budget\", \"datatype\": dbt.type_int()},\n {\"name\": \"budget_remaining\", \"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_timestamp", "macro.dbt.type_int", "macro.dbt.type_string"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.690016, "supported_languages": null}, "macro.facebook_ads_source.get_creative_history_columns": {"unique_id": "macro.facebook_ads_source.get_creative_history_columns", "package_name": "facebook_ads_source", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "macros/get_creative_history_columns.sql", "original_file_path": "macros/get_creative_history_columns.sql", "name": "get_creative_history_columns", "macro_sql": "{% macro get_creative_history_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"id\", \"datatype\": dbt.type_int()},\n {\"name\": \"account_id\", \"datatype\": dbt.type_int()},\n {\"name\": \"name\", \"datatype\": dbt.type_string()},\n {\"name\": \"page_link\", \"datatype\": dbt.type_string()},\n {\"name\": \"template_page_link\", \"datatype\": dbt.type_string()},\n {\"name\": \"url_tags\", \"datatype\": dbt.type_string()},\n {\"name\": \"asset_feed_spec_link_urls\", \"datatype\": dbt.type_string()},\n {\"name\": \"object_story_link_data_child_attachments\", \"datatype\": dbt.type_string()},\n {\"name\": \"object_story_link_data_caption\", \"datatype\": dbt.type_string()},\n {\"name\": \"object_story_link_data_description\", \"datatype\": dbt.type_string()},\n {\"name\": \"object_story_link_data_link\", \"datatype\": dbt.type_string()},\n {\"name\": \"object_story_link_data_message\", \"datatype\": dbt.type_string()},\n {\"name\": \"template_app_link_spec_android\", \"datatype\": dbt.type_string()},\n {\"name\": \"template_app_link_spec_ios\", \"datatype\": dbt.type_string()},\n {\"name\": \"template_app_link_spec_ipad\", \"datatype\": dbt.type_string()},\n {\"name\": \"template_app_link_spec_iphone\", \"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_timestamp", "macro.dbt.type_int"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.691885, "supported_languages": null}, "macro.facebook_ads_source.get_campaign_history_columns": {"unique_id": "macro.facebook_ads_source.get_campaign_history_columns", "package_name": "facebook_ads_source", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_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\": \"updated_time\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"created_time\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"account_id\", \"datatype\": dbt.type_int()},\n {\"name\": \"id\", \"datatype\": dbt.type_int()},\n {\"name\": \"name\", \"datatype\": dbt.type_string()},\n {\"name\": \"start_time\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"stop_time\", \"datatype\": dbt.type_timestamp()}, \n {\"name\": \"status\", \"datatype\": dbt.type_string()},\n {\"name\": \"daily_budget\", \"datatype\": dbt.type_int()},\n {\"name\": \"lifetime_budget\", \"datatype\": dbt.type_int()},\n {\"name\": \"budget_remaining\", \"datatype\": dbt.type_float()}\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", "macro.dbt.type_float"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.693055, "supported_languages": null}, "macro.facebook_ads_source.get_basic_ad_columns": {"unique_id": "macro.facebook_ads_source.get_basic_ad_columns", "package_name": "facebook_ads_source", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "macros/get_basic_ad_columns.sql", "original_file_path": "macros/get_basic_ad_columns.sql", "name": "get_basic_ad_columns", "macro_sql": "{% macro get_basic_ad_columns() %}\n\n{% set columns = [\n {\"name\": \"ad_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"ad_name\", \"datatype\": dbt.type_string()},\n {\"name\": \"adset_name\", \"datatype\": dbt.type_string()},\n {\"name\": \"date\", \"datatype\": \"date\"},\n {\"name\": \"account_id\", \"datatype\": dbt.type_int()},\n {\"name\": \"impressions\", \"datatype\": dbt.type_int()},\n {\"name\": \"inline_link_clicks\", \"datatype\": dbt.type_int()},\n {\"name\": \"spend\", \"datatype\": dbt.type_float()},\n {\"name\": \"reach\", \"datatype\": dbt.type_int()},\n {\"name\": \"frequency\", \"datatype\": dbt.type_float()}\n] %}\n\n{{ fivetran_utils.add_pass_through_columns(columns, var('facebook_ads__basic_ad_passthrough_metrics')) }}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.type_string", "macro.dbt.type_int", "macro.dbt.type_float", "macro.fivetran_utils.add_pass_through_columns"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1666731665.694206, "supported_languages": null}, "macro.facebook_ads_source.get_account_history_columns": {"unique_id": "macro.facebook_ads_source.get_account_history_columns", "package_name": "facebook_ads_source", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "macros/get_account_history_columns.sql", "original_file_path": "macros/get_account_history_columns.sql", "name": "get_account_history_columns", "macro_sql": "{% macro get_account_history_columns() %}\n\n{% set columns = [\n {\"name\": \"id\", \"datatype\": dbt.type_int()},\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"name\", \"datatype\": dbt.type_string()},\n {\"name\": \"account_status\", \"datatype\": dbt.type_string()},\n {\"name\": \"business_country_code\", \"datatype\": dbt.type_string()},\n {\"name\": \"created_time\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"currency\", \"datatype\": dbt.type_string()},\n {\"name\": \"timezone_name\", \"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": 1666731665.6951098, "supported_languages": null}, "macro.facebook_ads_source.get_ad_history_columns": {"unique_id": "macro.facebook_ads_source.get_ad_history_columns", "package_name": "facebook_ads_source", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_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\": \"updated_time\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"id\", \"datatype\": dbt.type_int()},\n {\"name\": \"name\", \"datatype\": dbt.type_string()},\n {\"name\": \"account_id\", \"datatype\": dbt.type_int()},\n {\"name\": \"ad_set_id\", \"datatype\": dbt.type_int()},\n {\"name\": \"campaign_id\", \"datatype\": dbt.type_int()},\n {\"name\": \"creative_id\", \"datatype\": dbt.type_int()}\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": 1666731665.695918, "supported_languages": null}}, "docs": {"dbt.__overview__": {"unique_id": "dbt.__overview__", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/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"}, "facebook_ads_source._fivetran_synced": {"unique_id": "facebook_ads_source._fivetran_synced", "package_name": "facebook_ads_source", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "_fivetran_synced", "block_contents": "When the record was last synced by Fivetran."}, "facebook_ads_source.is_most_recent_record": {"unique_id": "facebook_ads_source.is_most_recent_record", "package_name": "facebook_ads_source", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "is_most_recent_record", "block_contents": "Boolean representing whether a record is the most recent version of that record. All records should have this value set to True given we filter on it."}, "facebook_ads_source.updated_time": {"unique_id": "facebook_ads_source.updated_time", "package_name": "facebook_ads_source", "root_path": "/Users/jamie.rodriguez/Desktop/dbt_repos/Facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "updated_time", "block_contents": "The timestamp of the last update of a record."}}, "exposures": {}, "metrics": {}, "selectors": {}, "disabled": {}, "parent_map": {"seed.facebook_ads_integration_tests.facebook_ads_ad_history_data": [], "seed.facebook_ads_integration_tests.facebook_ads_creative_history_data": [], "seed.facebook_ads_integration_tests.facebook_ads_campaign_history_data": [], "seed.facebook_ads_integration_tests.facebook_ads_account_history_data": [], "seed.facebook_ads_integration_tests.facebook_ads_basic_ad_data": [], "seed.facebook_ads_integration_tests.facebook_ads_ad_set_history_data": [], "model.facebook_ads.facebook_ads__url_report": ["model.facebook_ads.int_facebook_ads__creative_history", "model.facebook_ads_source.stg_facebook_ads__account_history", "model.facebook_ads_source.stg_facebook_ads__ad_history", "model.facebook_ads_source.stg_facebook_ads__ad_set_history", "model.facebook_ads_source.stg_facebook_ads__basic_ad", "model.facebook_ads_source.stg_facebook_ads__campaign_history"], "model.facebook_ads.facebook_ads__url_tags": ["model.facebook_ads_source.stg_facebook_ads__creative_history"], "model.facebook_ads.facebook_ads__campaign_report": ["model.facebook_ads_source.stg_facebook_ads__account_history", "model.facebook_ads_source.stg_facebook_ads__ad_history", "model.facebook_ads_source.stg_facebook_ads__basic_ad", "model.facebook_ads_source.stg_facebook_ads__campaign_history"], "model.facebook_ads.facebook_ads__account_report": ["model.facebook_ads_source.stg_facebook_ads__account_history", "model.facebook_ads_source.stg_facebook_ads__basic_ad"], "model.facebook_ads.facebook_ads__ad_report": ["model.facebook_ads_source.stg_facebook_ads__account_history", "model.facebook_ads_source.stg_facebook_ads__ad_history", "model.facebook_ads_source.stg_facebook_ads__ad_set_history", "model.facebook_ads_source.stg_facebook_ads__basic_ad", "model.facebook_ads_source.stg_facebook_ads__campaign_history"], "model.facebook_ads.facebook_ads__ad_set_report": ["model.facebook_ads_source.stg_facebook_ads__account_history", "model.facebook_ads_source.stg_facebook_ads__ad_history", "model.facebook_ads_source.stg_facebook_ads__ad_set_history", "model.facebook_ads_source.stg_facebook_ads__basic_ad", "model.facebook_ads_source.stg_facebook_ads__campaign_history"], "model.facebook_ads.int_facebook_ads__creative_history": ["model.facebook_ads.facebook_ads__url_tags", "model.facebook_ads_source.stg_facebook_ads__creative_history"], "model.facebook_ads_source.stg_facebook_ads__basic_ad": ["model.facebook_ads_source.stg_facebook_ads__basic_ad_tmp", "model.facebook_ads_source.stg_facebook_ads__basic_ad_tmp"], "model.facebook_ads_source.stg_facebook_ads__creative_history": ["model.facebook_ads_source.stg_facebook_ads__creative_history_tmp", "model.facebook_ads_source.stg_facebook_ads__creative_history_tmp"], "model.facebook_ads_source.stg_facebook_ads__campaign_history": ["model.facebook_ads_source.stg_facebook_ads__campaign_history_tmp", "model.facebook_ads_source.stg_facebook_ads__campaign_history_tmp"], "model.facebook_ads_source.stg_facebook_ads__account_history": ["model.facebook_ads_source.stg_facebook_ads__account_history_tmp", "model.facebook_ads_source.stg_facebook_ads__account_history_tmp"], "model.facebook_ads_source.stg_facebook_ads__ad_history": ["model.facebook_ads_source.stg_facebook_ads__ad_history_tmp", "model.facebook_ads_source.stg_facebook_ads__ad_history_tmp"], "model.facebook_ads_source.stg_facebook_ads__ad_set_history": ["model.facebook_ads_source.stg_facebook_ads__ad_set_history_tmp", "model.facebook_ads_source.stg_facebook_ads__ad_set_history_tmp"], "model.facebook_ads_source.stg_facebook_ads__ad_set_history_tmp": ["source.facebook_ads_source.facebook_ads.ad_set_history"], "model.facebook_ads_source.stg_facebook_ads__basic_ad_tmp": ["source.facebook_ads_source.facebook_ads.basic_ad"], "model.facebook_ads_source.stg_facebook_ads__ad_history_tmp": ["source.facebook_ads_source.facebook_ads.ad_history"], "model.facebook_ads_source.stg_facebook_ads__campaign_history_tmp": ["source.facebook_ads_source.facebook_ads.campaign_history"], "model.facebook_ads_source.stg_facebook_ads__creative_history_tmp": ["source.facebook_ads_source.facebook_ads.creative_history"], "model.facebook_ads_source.stg_facebook_ads__account_history_tmp": ["source.facebook_ads_source.facebook_ads.account_history"], "test.facebook_ads.not_null_facebook_ads__url_report_base_url.b7757e50be": ["model.facebook_ads.facebook_ads__url_report"], "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__url_report_date_day__account_id__campaign_id__ad_set_id__ad_id.03a7e82eb7": ["model.facebook_ads.facebook_ads__url_report"], "test.facebook_ads.not_null_facebook_ads__ad_report_ad_id.3811d9c238": ["model.facebook_ads.facebook_ads__ad_report"], "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__ad_report_date_day__account_id__campaign_id__ad_set_id__ad_id.0a25b64738": ["model.facebook_ads.facebook_ads__ad_report"], "test.facebook_ads.not_null_facebook_ads__ad_set_report_ad_set_id.1ac870f5e4": ["model.facebook_ads.facebook_ads__ad_set_report"], "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__ad_set_report_date_day__account_id__campaign_id__ad_set_id.3dd4da872f": ["model.facebook_ads.facebook_ads__ad_set_report"], "test.facebook_ads.not_null_facebook_ads__campaign_report_campaign_id.d4f96d8d21": ["model.facebook_ads.facebook_ads__campaign_report"], "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__campaign_report_date_day__account_id__campaign_id.7cd75107e6": ["model.facebook_ads.facebook_ads__campaign_report"], "test.facebook_ads.not_null_facebook_ads__account_report_account_id.9be02b4024": ["model.facebook_ads.facebook_ads__account_report"], "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__account_report_date_day__account_id.5a94423e40": ["model.facebook_ads.facebook_ads__account_report"], "test.facebook_ads.not_null_facebook_ads__url_tags__fivetran_id.151d9515f3": ["model.facebook_ads.facebook_ads__url_tags"], "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__url_tags__fivetran_id__key__type.ba044777d3": ["model.facebook_ads.facebook_ads__url_tags"], "test.facebook_ads_source.not_null_stg_facebook_ads__account_history_account_id.f1cf38c40f": ["model.facebook_ads_source.stg_facebook_ads__account_history"], "test.facebook_ads_source.not_null_stg_facebook_ads__account_history__fivetran_synced.0570e35e1f": ["model.facebook_ads_source.stg_facebook_ads__account_history"], "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__account_history_account_id___fivetran_synced.f9b4d28fa2": ["model.facebook_ads_source.stg_facebook_ads__account_history"], "test.facebook_ads_source.not_null_stg_facebook_ads__ad_history_ad_id.11429d3064": ["model.facebook_ads_source.stg_facebook_ads__ad_history"], "test.facebook_ads_source.not_null_stg_facebook_ads__ad_history_updated_at.250a5a84e4": ["model.facebook_ads_source.stg_facebook_ads__ad_history"], "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__ad_history_ad_id__updated_at.2922c18b58": ["model.facebook_ads_source.stg_facebook_ads__ad_history"], "test.facebook_ads_source.not_null_stg_facebook_ads__ad_set_history_ad_set_id.e19a1df1bb": ["model.facebook_ads_source.stg_facebook_ads__ad_set_history"], "test.facebook_ads_source.not_null_stg_facebook_ads__ad_set_history_updated_at.ef7fafe0fa": ["model.facebook_ads_source.stg_facebook_ads__ad_set_history"], "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__ad_set_history_ad_set_id__updated_at.0a60ad0fef": ["model.facebook_ads_source.stg_facebook_ads__ad_set_history"], "test.facebook_ads_source.not_null_stg_facebook_ads__campaign_history_campaign_id.1ca7a83852": ["model.facebook_ads_source.stg_facebook_ads__campaign_history"], "test.facebook_ads_source.not_null_stg_facebook_ads__campaign_history_updated_at.9e59f99270": ["model.facebook_ads_source.stg_facebook_ads__campaign_history"], "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__campaign_history_campaign_id__updated_at.7437b392c2": ["model.facebook_ads_source.stg_facebook_ads__campaign_history"], "test.facebook_ads_source.not_null_stg_facebook_ads__creative_history__fivetran_synced.3b0593cb4f": ["model.facebook_ads_source.stg_facebook_ads__creative_history"], "test.facebook_ads_source.not_null_stg_facebook_ads__creative_history_creative_id.eb4d804261": ["model.facebook_ads_source.stg_facebook_ads__creative_history"], "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__creative_history_creative_id___fivetran_synced.69ddc26562": ["model.facebook_ads_source.stg_facebook_ads__creative_history"], "test.facebook_ads_source.not_null_stg_facebook_ads__basic_ad_ad_id.2611b250fc": ["model.facebook_ads_source.stg_facebook_ads__basic_ad"], "test.facebook_ads_source.not_null_stg_facebook_ads__basic_ad_account_id.d06f6d861b": ["model.facebook_ads_source.stg_facebook_ads__basic_ad"], "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__basic_ad_date_day__ad_id__account_id.bd909529e7": ["model.facebook_ads_source.stg_facebook_ads__basic_ad"], "source.facebook_ads_source.facebook_ads.account_history": [], "source.facebook_ads_source.facebook_ads.ad_history": [], "source.facebook_ads_source.facebook_ads.ad_set_history": [], "source.facebook_ads_source.facebook_ads.basic_ad": [], "source.facebook_ads_source.facebook_ads.campaign_history": [], "source.facebook_ads_source.facebook_ads.creative_history": []}, "child_map": {"seed.facebook_ads_integration_tests.facebook_ads_ad_history_data": [], "seed.facebook_ads_integration_tests.facebook_ads_creative_history_data": [], "seed.facebook_ads_integration_tests.facebook_ads_campaign_history_data": [], "seed.facebook_ads_integration_tests.facebook_ads_account_history_data": [], "seed.facebook_ads_integration_tests.facebook_ads_basic_ad_data": [], "seed.facebook_ads_integration_tests.facebook_ads_ad_set_history_data": [], "model.facebook_ads.facebook_ads__url_report": ["test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__url_report_date_day__account_id__campaign_id__ad_set_id__ad_id.03a7e82eb7", "test.facebook_ads.not_null_facebook_ads__url_report_base_url.b7757e50be"], "model.facebook_ads.facebook_ads__url_tags": ["model.facebook_ads.int_facebook_ads__creative_history", "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__url_tags__fivetran_id__key__type.ba044777d3", "test.facebook_ads.not_null_facebook_ads__url_tags__fivetran_id.151d9515f3"], "model.facebook_ads.facebook_ads__campaign_report": ["test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__campaign_report_date_day__account_id__campaign_id.7cd75107e6", "test.facebook_ads.not_null_facebook_ads__campaign_report_campaign_id.d4f96d8d21"], "model.facebook_ads.facebook_ads__account_report": ["test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__account_report_date_day__account_id.5a94423e40", "test.facebook_ads.not_null_facebook_ads__account_report_account_id.9be02b4024"], "model.facebook_ads.facebook_ads__ad_report": ["test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__ad_report_date_day__account_id__campaign_id__ad_set_id__ad_id.0a25b64738", "test.facebook_ads.not_null_facebook_ads__ad_report_ad_id.3811d9c238"], "model.facebook_ads.facebook_ads__ad_set_report": ["test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__ad_set_report_date_day__account_id__campaign_id__ad_set_id.3dd4da872f", "test.facebook_ads.not_null_facebook_ads__ad_set_report_ad_set_id.1ac870f5e4"], "model.facebook_ads.int_facebook_ads__creative_history": ["model.facebook_ads.facebook_ads__url_report"], "model.facebook_ads_source.stg_facebook_ads__basic_ad": ["model.facebook_ads.facebook_ads__account_report", "model.facebook_ads.facebook_ads__ad_report", "model.facebook_ads.facebook_ads__ad_set_report", "model.facebook_ads.facebook_ads__campaign_report", "model.facebook_ads.facebook_ads__url_report", "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__basic_ad_date_day__ad_id__account_id.bd909529e7", "test.facebook_ads_source.not_null_stg_facebook_ads__basic_ad_account_id.d06f6d861b", "test.facebook_ads_source.not_null_stg_facebook_ads__basic_ad_ad_id.2611b250fc"], "model.facebook_ads_source.stg_facebook_ads__creative_history": ["model.facebook_ads.facebook_ads__url_tags", "model.facebook_ads.int_facebook_ads__creative_history", "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__creative_history_creative_id___fivetran_synced.69ddc26562", "test.facebook_ads_source.not_null_stg_facebook_ads__creative_history__fivetran_synced.3b0593cb4f", "test.facebook_ads_source.not_null_stg_facebook_ads__creative_history_creative_id.eb4d804261"], "model.facebook_ads_source.stg_facebook_ads__campaign_history": ["model.facebook_ads.facebook_ads__ad_report", "model.facebook_ads.facebook_ads__ad_set_report", "model.facebook_ads.facebook_ads__campaign_report", "model.facebook_ads.facebook_ads__url_report", "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__campaign_history_campaign_id__updated_at.7437b392c2", "test.facebook_ads_source.not_null_stg_facebook_ads__campaign_history_campaign_id.1ca7a83852", "test.facebook_ads_source.not_null_stg_facebook_ads__campaign_history_updated_at.9e59f99270"], "model.facebook_ads_source.stg_facebook_ads__account_history": ["model.facebook_ads.facebook_ads__account_report", "model.facebook_ads.facebook_ads__ad_report", "model.facebook_ads.facebook_ads__ad_set_report", "model.facebook_ads.facebook_ads__campaign_report", "model.facebook_ads.facebook_ads__url_report", "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__account_history_account_id___fivetran_synced.f9b4d28fa2", "test.facebook_ads_source.not_null_stg_facebook_ads__account_history__fivetran_synced.0570e35e1f", "test.facebook_ads_source.not_null_stg_facebook_ads__account_history_account_id.f1cf38c40f"], "model.facebook_ads_source.stg_facebook_ads__ad_history": ["model.facebook_ads.facebook_ads__ad_report", "model.facebook_ads.facebook_ads__ad_set_report", "model.facebook_ads.facebook_ads__campaign_report", "model.facebook_ads.facebook_ads__url_report", "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__ad_history_ad_id__updated_at.2922c18b58", "test.facebook_ads_source.not_null_stg_facebook_ads__ad_history_ad_id.11429d3064", "test.facebook_ads_source.not_null_stg_facebook_ads__ad_history_updated_at.250a5a84e4"], "model.facebook_ads_source.stg_facebook_ads__ad_set_history": ["model.facebook_ads.facebook_ads__ad_report", "model.facebook_ads.facebook_ads__ad_set_report", "model.facebook_ads.facebook_ads__url_report", "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__ad_set_history_ad_set_id__updated_at.0a60ad0fef", "test.facebook_ads_source.not_null_stg_facebook_ads__ad_set_history_ad_set_id.e19a1df1bb", "test.facebook_ads_source.not_null_stg_facebook_ads__ad_set_history_updated_at.ef7fafe0fa"], "model.facebook_ads_source.stg_facebook_ads__ad_set_history_tmp": ["model.facebook_ads_source.stg_facebook_ads__ad_set_history", "model.facebook_ads_source.stg_facebook_ads__ad_set_history"], "model.facebook_ads_source.stg_facebook_ads__basic_ad_tmp": ["model.facebook_ads_source.stg_facebook_ads__basic_ad", "model.facebook_ads_source.stg_facebook_ads__basic_ad"], "model.facebook_ads_source.stg_facebook_ads__ad_history_tmp": ["model.facebook_ads_source.stg_facebook_ads__ad_history", "model.facebook_ads_source.stg_facebook_ads__ad_history"], "model.facebook_ads_source.stg_facebook_ads__campaign_history_tmp": ["model.facebook_ads_source.stg_facebook_ads__campaign_history", "model.facebook_ads_source.stg_facebook_ads__campaign_history"], "model.facebook_ads_source.stg_facebook_ads__creative_history_tmp": ["model.facebook_ads_source.stg_facebook_ads__creative_history", "model.facebook_ads_source.stg_facebook_ads__creative_history"], "model.facebook_ads_source.stg_facebook_ads__account_history_tmp": ["model.facebook_ads_source.stg_facebook_ads__account_history", "model.facebook_ads_source.stg_facebook_ads__account_history"], "test.facebook_ads.not_null_facebook_ads__url_report_base_url.b7757e50be": [], "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__url_report_date_day__account_id__campaign_id__ad_set_id__ad_id.03a7e82eb7": [], "test.facebook_ads.not_null_facebook_ads__ad_report_ad_id.3811d9c238": [], "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__ad_report_date_day__account_id__campaign_id__ad_set_id__ad_id.0a25b64738": [], "test.facebook_ads.not_null_facebook_ads__ad_set_report_ad_set_id.1ac870f5e4": [], "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__ad_set_report_date_day__account_id__campaign_id__ad_set_id.3dd4da872f": [], "test.facebook_ads.not_null_facebook_ads__campaign_report_campaign_id.d4f96d8d21": [], "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__campaign_report_date_day__account_id__campaign_id.7cd75107e6": [], "test.facebook_ads.not_null_facebook_ads__account_report_account_id.9be02b4024": [], "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__account_report_date_day__account_id.5a94423e40": [], "test.facebook_ads.not_null_facebook_ads__url_tags__fivetran_id.151d9515f3": [], "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__url_tags__fivetran_id__key__type.ba044777d3": [], "test.facebook_ads_source.not_null_stg_facebook_ads__account_history_account_id.f1cf38c40f": [], "test.facebook_ads_source.not_null_stg_facebook_ads__account_history__fivetran_synced.0570e35e1f": [], "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__account_history_account_id___fivetran_synced.f9b4d28fa2": [], "test.facebook_ads_source.not_null_stg_facebook_ads__ad_history_ad_id.11429d3064": [], "test.facebook_ads_source.not_null_stg_facebook_ads__ad_history_updated_at.250a5a84e4": [], "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__ad_history_ad_id__updated_at.2922c18b58": [], "test.facebook_ads_source.not_null_stg_facebook_ads__ad_set_history_ad_set_id.e19a1df1bb": [], "test.facebook_ads_source.not_null_stg_facebook_ads__ad_set_history_updated_at.ef7fafe0fa": [], "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__ad_set_history_ad_set_id__updated_at.0a60ad0fef": [], "test.facebook_ads_source.not_null_stg_facebook_ads__campaign_history_campaign_id.1ca7a83852": [], "test.facebook_ads_source.not_null_stg_facebook_ads__campaign_history_updated_at.9e59f99270": [], "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__campaign_history_campaign_id__updated_at.7437b392c2": [], "test.facebook_ads_source.not_null_stg_facebook_ads__creative_history__fivetran_synced.3b0593cb4f": [], "test.facebook_ads_source.not_null_stg_facebook_ads__creative_history_creative_id.eb4d804261": [], "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__creative_history_creative_id___fivetran_synced.69ddc26562": [], "test.facebook_ads_source.not_null_stg_facebook_ads__basic_ad_ad_id.2611b250fc": [], "test.facebook_ads_source.not_null_stg_facebook_ads__basic_ad_account_id.d06f6d861b": [], "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__basic_ad_date_day__ad_id__account_id.bd909529e7": [], "source.facebook_ads_source.facebook_ads.account_history": ["model.facebook_ads_source.stg_facebook_ads__account_history_tmp"], "source.facebook_ads_source.facebook_ads.ad_history": ["model.facebook_ads_source.stg_facebook_ads__ad_history_tmp"], "source.facebook_ads_source.facebook_ads.ad_set_history": ["model.facebook_ads_source.stg_facebook_ads__ad_set_history_tmp"], "source.facebook_ads_source.facebook_ads.basic_ad": ["model.facebook_ads_source.stg_facebook_ads__basic_ad_tmp"], "source.facebook_ads_source.facebook_ads.campaign_history": ["model.facebook_ads_source.stg_facebook_ads__campaign_history_tmp"], "source.facebook_ads_source.facebook_ads.creative_history": ["model.facebook_ads_source.stg_facebook_ads__creative_history_tmp"]}} \ No newline at end of file +{"metadata": {"dbt_schema_version": "https://schemas.getdbt.com/dbt/manifest/v7.json", "dbt_version": "1.3.0", "generated_at": "2022-12-14T23:03:23.170037Z", "invocation_id": "d5ef8e19-65f4-4fb7-ac37-ede0104ec68f", "env": {}, "project_id": "6d850e6ac780f18e972b683bd77cbc61", "user_id": "8268eefe-e8f7-472e-ab2a-a92f0135d76d", "send_anonymous_usage_stats": true, "adapter_type": "bigquery"}, "nodes": {"seed.facebook_ads_integration_tests.facebook_ads_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": {"id": "int64", "account_id": "int64", "campaign_id": "int64", "ad_set_id": "int64", "ad_id": "int64", "creative_id": "int64", "page_link": "string", "template_page_link": "string", "_fivetran_synced": "timestamp", "updated_time": "timestamp"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "facebook_ads_integration_tests", "fqn": ["facebook_ads_integration_tests", "facebook_ads_ad_history_data"], "unique_id": "seed.facebook_ads_integration_tests.facebook_ads_ad_history_data", "raw_code": "", "language": "sql", "package_name": "facebook_ads_integration_tests", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests", "path": "facebook_ads_ad_history_data.csv", "original_file_path": "seeds/facebook_ads_ad_history_data.csv", "name": "facebook_ads_ad_history_data", "alias": "facebook_ads_ad_history_data", "checksum": {"name": "sha256", "checksum": "95c960d78745b1652034ba4da5cc2a7d5b923e816a81c90360f1b28588b7befd"}, "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": {"column_types": {"id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "account_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "ad_set_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "ad_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "creative_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "page_link": "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}", "template_page_link": "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}", "_fivetran_synced": "timestamp", "updated_time": "timestamp"}}, "created_at": 1671058921.188214, "compiled_code": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`facebook_ads_integration_tests`.`facebook_ads_ad_history_data`"}, "seed.facebook_ads_integration_tests.facebook_ads_creative_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": {"id": "int64", "account_id": "int64", "campaign_id": "int64", "ad_set_id": "int64", "ad_id": "int64", "creative_id": "int64", "page_link": "string", "template_page_link": "string", "_fivetran_synced": "timestamp", "updated_time": "timestamp"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "facebook_ads_integration_tests", "fqn": ["facebook_ads_integration_tests", "facebook_ads_creative_history_data"], "unique_id": "seed.facebook_ads_integration_tests.facebook_ads_creative_history_data", "raw_code": "", "language": "sql", "package_name": "facebook_ads_integration_tests", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests", "path": "facebook_ads_creative_history_data.csv", "original_file_path": "seeds/facebook_ads_creative_history_data.csv", "name": "facebook_ads_creative_history_data", "alias": "facebook_ads_creative_history_data", "checksum": {"name": "path", "checksum": "seeds/facebook_ads_creative_history_data.csv"}, "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": {"column_types": {"id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "account_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "ad_set_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "ad_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "creative_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "page_link": "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}", "template_page_link": "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}", "_fivetran_synced": "timestamp", "updated_time": "timestamp"}}, "created_at": 1671058921.19413, "compiled_code": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`facebook_ads_integration_tests`.`facebook_ads_creative_history_data`"}, "seed.facebook_ads_integration_tests.facebook_ads_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": {"id": "int64", "account_id": "int64", "campaign_id": "int64", "ad_set_id": "int64", "ad_id": "int64", "creative_id": "int64", "page_link": "string", "template_page_link": "string", "_fivetran_synced": "timestamp", "updated_time": "timestamp"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "facebook_ads_integration_tests", "fqn": ["facebook_ads_integration_tests", "facebook_ads_campaign_history_data"], "unique_id": "seed.facebook_ads_integration_tests.facebook_ads_campaign_history_data", "raw_code": "", "language": "sql", "package_name": "facebook_ads_integration_tests", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests", "path": "facebook_ads_campaign_history_data.csv", "original_file_path": "seeds/facebook_ads_campaign_history_data.csv", "name": "facebook_ads_campaign_history_data", "alias": "facebook_ads_campaign_history_data", "checksum": {"name": "sha256", "checksum": "1dfd8244efe7c32be5fb93c8417575d79670225092a28cab9da03d0ad7773432"}, "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": {"column_types": {"id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "account_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "ad_set_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "ad_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "creative_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "page_link": "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}", "template_page_link": "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}", "_fivetran_synced": "timestamp", "updated_time": "timestamp"}}, "created_at": 1671058921.195303, "compiled_code": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`facebook_ads_integration_tests`.`facebook_ads_campaign_history_data`"}, "seed.facebook_ads_integration_tests.facebook_ads_account_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": {"id": "int64", "account_id": "int64", "campaign_id": "int64", "ad_set_id": "int64", "ad_id": "int64", "creative_id": "int64", "page_link": "string", "template_page_link": "string", "_fivetran_synced": "timestamp", "updated_time": "timestamp"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "facebook_ads_integration_tests", "fqn": ["facebook_ads_integration_tests", "facebook_ads_account_history_data"], "unique_id": "seed.facebook_ads_integration_tests.facebook_ads_account_history_data", "raw_code": "", "language": "sql", "package_name": "facebook_ads_integration_tests", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests", "path": "facebook_ads_account_history_data.csv", "original_file_path": "seeds/facebook_ads_account_history_data.csv", "name": "facebook_ads_account_history_data", "alias": "facebook_ads_account_history_data", "checksum": {"name": "sha256", "checksum": "cd864f60b0ec016488416e66c22b5ff0ffcb882139124d92c3207f5abb0ae36d"}, "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": {"column_types": {"id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "account_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "ad_set_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "ad_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "creative_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "page_link": "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}", "template_page_link": "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}", "_fivetran_synced": "timestamp", "updated_time": "timestamp"}}, "created_at": 1671058921.196429, "compiled_code": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`facebook_ads_integration_tests`.`facebook_ads_account_history_data`"}, "seed.facebook_ads_integration_tests.facebook_ads_basic_ad_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": {"id": "int64", "account_id": "int64", "campaign_id": "int64", "ad_set_id": "int64", "ad_id": "int64", "creative_id": "int64", "page_link": "string", "template_page_link": "string", "_fivetran_synced": "timestamp", "updated_time": "timestamp"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "facebook_ads_integration_tests", "fqn": ["facebook_ads_integration_tests", "facebook_ads_basic_ad_data"], "unique_id": "seed.facebook_ads_integration_tests.facebook_ads_basic_ad_data", "raw_code": "", "language": "sql", "package_name": "facebook_ads_integration_tests", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests", "path": "facebook_ads_basic_ad_data.csv", "original_file_path": "seeds/facebook_ads_basic_ad_data.csv", "name": "facebook_ads_basic_ad_data", "alias": "facebook_ads_basic_ad_data", "checksum": {"name": "sha256", "checksum": "66b31e24edd0ba75d3fee6ad4c1522fd9b43417943aac398f1c92f5076ba7ac0"}, "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": {"column_types": {"id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "account_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "ad_set_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "ad_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "creative_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "page_link": "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}", "template_page_link": "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}", "_fivetran_synced": "timestamp", "updated_time": "timestamp"}}, "created_at": 1671058921.197557, "compiled_code": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`facebook_ads_integration_tests`.`facebook_ads_basic_ad_data`"}, "seed.facebook_ads_integration_tests.facebook_ads_ad_set_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": {"id": "int64", "account_id": "int64", "campaign_id": "int64", "ad_set_id": "int64", "ad_id": "int64", "creative_id": "int64", "page_link": "string", "template_page_link": "string", "_fivetran_synced": "timestamp", "updated_time": "timestamp"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "facebook_ads_integration_tests", "fqn": ["facebook_ads_integration_tests", "facebook_ads_ad_set_history_data"], "unique_id": "seed.facebook_ads_integration_tests.facebook_ads_ad_set_history_data", "raw_code": "", "language": "sql", "package_name": "facebook_ads_integration_tests", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests", "path": "facebook_ads_ad_set_history_data.csv", "original_file_path": "seeds/facebook_ads_ad_set_history_data.csv", "name": "facebook_ads_ad_set_history_data", "alias": "facebook_ads_ad_set_history_data", "checksum": {"name": "sha256", "checksum": "da4e6b48f3feaa4bd2c3783b125909a14c5317b3c1484b4f6af5d7c1d88f5bd7"}, "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": {"column_types": {"id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "account_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "ad_set_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "ad_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "creative_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "page_link": "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}", "template_page_link": "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}", "_fivetran_synced": "timestamp", "updated_time": "timestamp"}}, "created_at": 1671058921.1987798, "compiled_code": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`facebook_ads_integration_tests`.`facebook_ads_ad_set_history_data`"}, "model.facebook_ads.facebook_ads__url_report": {"compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.fivetran_utils.persist_pass_through_columns", "macro.dbt_utils.group_by"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__basic_ad", "model.facebook_ads.int_facebook_ads__creative_history", "model.facebook_ads_source.stg_facebook_ads__account_history", "model.facebook_ads_source.stg_facebook_ads__ad_history", "model.facebook_ads_source.stg_facebook_ads__ad_set_history", "model.facebook_ads_source.stg_facebook_ads__campaign_history"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_facebook_ads", "fqn": ["facebook_ads", "facebook_ads__url_report"], "unique_id": "model.facebook_ads.facebook_ads__url_report", "raw_code": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nwith report as (\n\n select *\n from {{ var('basic_ad') }}\n\n), \n\ncreatives as (\n\n select *\n from {{ ref('int_facebook_ads__creative_history') }}\n\n), \n\naccounts as (\n\n select *\n from {{ var('account_history') }}\n where is_most_recent_record = true\n\n), \n\nads as (\n\n select *\n from {{ var('ad_history') }}\n where is_most_recent_record = true\n\n), \n\nad_sets as (\n\n select *\n from {{ var('ad_set_history') }}\n where is_most_recent_record = true\n\n), \n\ncampaigns as (\n\n select *\n from {{ var('campaign_history') }}\n where is_most_recent_record = true\n\n), \n\njoined as (\n\n select\n report.date_day,\n accounts.account_id,\n accounts.account_name,\n campaigns.campaign_id,\n campaigns.campaign_name,\n ad_sets.ad_set_id,\n ad_sets.ad_set_name,\n ads.ad_id,\n ads.ad_name,\n creatives.creative_id,\n creatives.creative_name,\n creatives.base_url,\n creatives.url_host,\n creatives.url_path,\n creatives.utm_source,\n creatives.utm_medium,\n creatives.utm_campaign,\n creatives.utm_content,\n creatives.utm_term,\n sum(report.clicks) as clicks,\n sum(report.impressions) as impressions,\n sum(report.spend) as spend\n\n {{ fivetran_utils.persist_pass_through_columns(pass_through_variable='facebook_ads__basic_ad_passthrough_metrics', transform = 'sum') }}\n from report\n left join ads \n on report.ad_id = ads.ad_id\n left join creatives\n on ads.creative_id = creatives.creative_id\n left join ad_sets\n on ads.ad_set_id = ad_sets.ad_set_id\n left join campaigns\n on ads.campaign_id = campaigns.campaign_id\n left join accounts\n on report.account_id = accounts.account_id \n\n {% if var('ad_reporting__url_report__using_null_filter', True) %}\n where creatives.url is not null\n {% endif %}\n \n {{ dbt_utils.group_by(19) }}\n)\n\nselect *\nfrom joined", "language": "sql", "package_name": "facebook_ads", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "facebook_ads__url_report.sql", "original_file_path": "models/facebook_ads__url_report.sql", "name": "facebook_ads__url_report", "alias": "facebook_ads__url_report", "checksum": {"name": "sha256", "checksum": "f70f450f715f519a00124348bc02f28ba3c9512aeb5f3ce0d57f01421e7a7f18"}, "tags": [], "refs": [["stg_facebook_ads__basic_ad"], ["int_facebook_ads__creative_history"], ["stg_facebook_ads__account_history"], ["stg_facebook_ads__ad_history"], ["stg_facebook_ads__ad_set_history"], ["stg_facebook_ads__campaign_history"]], "sources": [], "metrics": [], "description": "Each record represents the daily performance of a Facebook ad at the URL level.", "columns": {"date_day": {"name": "date_day", "description": "The date of the performance.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "The ID of the related account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_name": {"name": "account_name", "description": "The name of the related account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_id": {"name": "campaign_id", "description": "The ID of the related campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_name": {"name": "campaign_name", "description": "The name of the related campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_set_id": {"name": "ad_set_id", "description": "The ID of the related ad set.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_set_name": {"name": "ad_set_name", "description": "The name of the related ad set.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_id": {"name": "ad_id", "description": "The ID of the related ad.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_name": {"name": "ad_name", "description": "The name of the related ad.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "creative_id": {"name": "creative_id", "description": "The ID of the related creative.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "creative_name": {"name": "creative_name", "description": "The name of the related creative.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "base_url": {"name": "base_url", "description": "The base URL of the ad, extracted from the page_link and template_page_link.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "url_host": {"name": "url_host", "description": "The URL host of the ad, extracted from the page_link and template_page_link.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "url_path": {"name": "url_path", "description": "The URL path of the ad, extracted from the page_link and template_page_link.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "utm_source": {"name": "utm_source", "description": "The utm_source parameter of the ad, extracted from the page_link and template_page_link.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "utm_medium": {"name": "utm_medium", "description": "The utm_medium parameter of the ad, extracted from the page_link and template_page_link.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "utm_campaign": {"name": "utm_campaign", "description": "The utm_campaign parameter of the ad, extracted from the page_link and template_page_link.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "utm_content": {"name": "utm_content", "description": "The utm_content parameter of the ad, extracted from the page_link and template_page_link.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "utm_term": {"name": "utm_term", "description": "The utm_term parameter of the ad, extracted from the page_link and template_page_link.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clicks": {"name": "clicks", "description": "The number of clicks the ad had on the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "The number of impressions the ad had on the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The spend on the ad in the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": "facebook_ads://models/facebook.yml", "compiled_path": "target/compiled/facebook_ads/models/facebook_ads__url_report.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads", "materialized": "table", "enabled": true}, "created_at": 1671058921.418041, "compiled_code": "\n\nwith report as (\n\n select *\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__basic_ad`\n\n), \n\ncreatives as (\n\n select *\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads`.`int_facebook_ads__creative_history`\n\n), \n\naccounts as (\n\n select *\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__account_history`\n where is_most_recent_record = true\n\n), \n\nads as (\n\n select *\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__ad_history`\n where is_most_recent_record = true\n\n), \n\nad_sets as (\n\n select *\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__ad_set_history`\n where is_most_recent_record = true\n\n), \n\ncampaigns as (\n\n select *\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__campaign_history`\n where is_most_recent_record = true\n\n), \n\njoined as (\n\n select\n report.date_day,\n accounts.account_id,\n accounts.account_name,\n campaigns.campaign_id,\n campaigns.campaign_name,\n ad_sets.ad_set_id,\n ad_sets.ad_set_name,\n ads.ad_id,\n ads.ad_name,\n creatives.creative_id,\n creatives.creative_name,\n creatives.base_url,\n creatives.url_host,\n creatives.url_path,\n creatives.utm_source,\n creatives.utm_medium,\n creatives.utm_campaign,\n creatives.utm_content,\n creatives.utm_term,\n sum(report.clicks) as clicks,\n sum(report.impressions) as impressions,\n sum(report.spend) as spend\n\n \n\n\n\n\n from report\n left join ads \n on report.ad_id = ads.ad_id\n left join creatives\n on ads.creative_id = creatives.creative_id\n left join ad_sets\n on ads.ad_set_id = ad_sets.ad_set_id\n left join campaigns\n on ads.campaign_id = campaigns.campaign_id\n left join accounts\n on report.account_id = accounts.account_id \n\n \n where creatives.url is not null\n \n \n group by 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19\n)\n\nselect *\nfrom joined", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads`.`facebook_ads__url_report`"}, "model.facebook_ads.facebook_ads__url_tags": {"compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.facebook_ads.get_url_tags_query"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__creative_history"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_facebook_ads", "fqn": ["facebook_ads", "facebook_ads__url_tags"], "unique_id": "model.facebook_ads.facebook_ads__url_tags", "raw_code": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nwith base as (\n\n select *\n from {{ var('creative_history') }}\n where is_most_recent_record = true\n), \n\nrequired_fields as (\n\n select\n _fivetran_id,\n creative_id,\n url_tags\n from base\n where url_tags is not null\n), \n\n{{ get_url_tags_query() }} \n\nselect *\nfrom fields", "language": "sql", "package_name": "facebook_ads", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "facebook_ads__url_tags.sql", "original_file_path": "models/facebook_ads__url_tags.sql", "name": "facebook_ads__url_tags", "alias": "facebook_ads__url_tags", "checksum": {"name": "sha256", "checksum": "94dcb7faf1441b289fcec62f3e81794a05a34cf10bf2955e8a8f8c18555f8ad2"}, "tags": [], "refs": [["stg_facebook_ads__creative_history"]], "sources": [], "metrics": [], "description": "Each record is a unique combination of creative_id and corresponding key, value, type contained in the url_tags field", "columns": {"_fivetran_id": {"name": "_fivetran_id", "description": "The unique fivetran ID for this record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "creative_id": {"name": "creative_id", "description": "The associated creative_id for this record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "key": {"name": "key", "description": "The url tag object name e.g. utm_source associated with this record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "value": {"name": "value", "description": "The value assigned to the url tag object associated with this record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "type": {"name": "type", "description": "The type assigned to the url tag object e.g. 'AD_VIDEO'.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": "facebook_ads://models/facebook.yml", "compiled_path": "target/compiled/facebook_ads/models/facebook_ads__url_tags.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads", "materialized": "table", "enabled": true}, "created_at": 1671058921.4254742, "compiled_code": "\n\nwith base as (\n\n select *\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__creative_history`\n where is_most_recent_record = true\n), \n\nrequired_fields as (\n\n select\n _fivetran_id,\n creative_id,\n url_tags\n from base\n where url_tags is not null\n), \n\n\n\n cleaned_json as (\n\n select\n _fivetran_id,\n creative_id,\n json_extract_array(replace(trim(url_tags, '\"'),'\\\\','')) as cleaned_url_tags\n from required_fields\n ), \n\n unnested as (\n\n select \n _fivetran_id, \n creative_id, \n url_tag_element\n from cleaned_json\n left join unnest(cleaned_url_tags) as url_tag_element\n where cleaned_url_tags is not null\n ), \n\n fields as (\n\n select\n _fivetran_id,\n creative_id,\n json_extract_scalar(url_tag_element, '$.key') as key,\n json_extract_scalar(url_tag_element, '$.value') as value,\n json_extract_scalar(url_tag_element, '$.type') as type\n from unnested\n )\n\n \n\nselect *\nfrom fields", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads`.`facebook_ads__url_tags`"}, "model.facebook_ads.facebook_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.facebook_ads_source.stg_facebook_ads__basic_ad", "model.facebook_ads_source.stg_facebook_ads__account_history", "model.facebook_ads_source.stg_facebook_ads__campaign_history", "model.facebook_ads_source.stg_facebook_ads__ad_history"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_facebook_ads", "fqn": ["facebook_ads", "facebook_ads__campaign_report"], "unique_id": "model.facebook_ads.facebook_ads__campaign_report", "raw_code": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nwith report as (\n\n select *\n from {{ var('basic_ad') }}\n\n), \n\naccounts as (\n\n select *\n from {{ var('account_history') }}\n where is_most_recent_record = true\n\n),\n\ncampaigns as (\n\n select *\n from {{ var('campaign_history') }}\n where is_most_recent_record = true\n\n),\n\nads as (\n\n select *\n from {{ var('ad_history') }}\n where is_most_recent_record = true\n\n),\n\njoined as (\n\n select \n report.date_day,\n accounts.account_id,\n accounts.account_name,\n campaigns.campaign_id,\n campaigns.campaign_name,\n campaigns.start_at,\n campaigns.end_at,\n campaigns.status,\n campaigns.daily_budget,\n campaigns.lifetime_budget,\n campaigns.budget_remaining,\n sum(report.clicks) as clicks,\n sum(report.impressions) as impressions,\n sum(report.spend) as spend\n\n {{ fivetran_utils.persist_pass_through_columns(pass_through_variable='facebook_ads__basic_ad_passthrough_metrics', transform = 'sum') }}\n from report \n left join accounts\n on report.account_id = accounts.account_id\n left join ads \n on report.ad_id = ads.ad_id\n left join campaigns\n on ads.campaign_id = campaigns.campaign_id\n {{ dbt_utils.group_by(11) }}\n)\n\nselect *\nfrom joined", "language": "sql", "package_name": "facebook_ads", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "facebook_ads__campaign_report.sql", "original_file_path": "models/facebook_ads__campaign_report.sql", "name": "facebook_ads__campaign_report", "alias": "facebook_ads__campaign_report", "checksum": {"name": "sha256", "checksum": "4bec447c9d29e7a26180ce14a68d0a1217d60f0d24bed7c89716b3520c053a75"}, "tags": [], "refs": [["stg_facebook_ads__basic_ad"], ["stg_facebook_ads__account_history"], ["stg_facebook_ads__campaign_history"], ["stg_facebook_ads__ad_history"]], "sources": [], "metrics": [], "description": "Each record represents the daily performance of a Facebook campaign.", "columns": {"date_day": {"name": "date_day", "description": "The date of the performance.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "The ID of the related account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_name": {"name": "account_name", "description": "The name of the related account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_id": {"name": "campaign_id", "description": "The ID of the related campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_name": {"name": "campaign_name", "description": "The name of the related campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clicks": {"name": "clicks", "description": "The number of clicks the ad had on the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "The number of impressions the ad had on the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The spend on the ad in the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": "facebook_ads://models/facebook.yml", "compiled_path": "target/compiled/facebook_ads/models/facebook_ads__campaign_report.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads", "materialized": "table", "enabled": true}, "created_at": 1671058921.423425, "compiled_code": "\n\nwith report as (\n\n select *\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__basic_ad`\n\n), \n\naccounts as (\n\n select *\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__account_history`\n where is_most_recent_record = true\n\n),\n\ncampaigns as (\n\n select *\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__campaign_history`\n where is_most_recent_record = true\n\n),\n\nads as (\n\n select *\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__ad_history`\n where is_most_recent_record = true\n\n),\n\njoined as (\n\n select \n report.date_day,\n accounts.account_id,\n accounts.account_name,\n campaigns.campaign_id,\n campaigns.campaign_name,\n campaigns.start_at,\n campaigns.end_at,\n campaigns.status,\n campaigns.daily_budget,\n campaigns.lifetime_budget,\n campaigns.budget_remaining,\n sum(report.clicks) as clicks,\n sum(report.impressions) as impressions,\n sum(report.spend) as spend\n\n \n\n\n\n\n from report \n left join accounts\n on report.account_id = accounts.account_id\n left join ads \n on report.ad_id = ads.ad_id\n left join campaigns\n on ads.campaign_id = campaigns.campaign_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": "`dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads`.`facebook_ads__campaign_report`"}, "model.facebook_ads.facebook_ads__account_report": {"compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.fivetran_utils.persist_pass_through_columns", "macro.dbt_utils.group_by"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__basic_ad", "model.facebook_ads_source.stg_facebook_ads__account_history"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_facebook_ads", "fqn": ["facebook_ads", "facebook_ads__account_report"], "unique_id": "model.facebook_ads.facebook_ads__account_report", "raw_code": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nwith report as (\n\n select *\n from {{ var('basic_ad') }}\n\n), \n\naccounts as (\n\n select *\n from {{ var('account_history') }}\n where is_most_recent_record = true\n\n),\n\njoined as (\n\n select \n report.date_day,\n accounts.account_id,\n accounts.account_name,\n accounts.account_status,\n accounts.business_country_code,\n accounts.created_at,\n accounts.currency,\n accounts.timezone_name,\n sum(report.clicks) as clicks,\n sum(report.impressions) as impressions,\n sum(report.spend) as spend\n\n {{ fivetran_utils.persist_pass_through_columns(pass_through_variable='facebook_ads__basic_ad_passthrough_metrics', transform = 'sum') }}\n from report \n left join accounts\n on report.account_id = accounts.account_id\n {{ dbt_utils.group_by(8) }}\n)\n\nselect *\nfrom joined", "language": "sql", "package_name": "facebook_ads", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "facebook_ads__account_report.sql", "original_file_path": "models/facebook_ads__account_report.sql", "name": "facebook_ads__account_report", "alias": "facebook_ads__account_report", "checksum": {"name": "sha256", "checksum": "845cdb5118e536d66d515c2e11eee71d380e406ba4f443bae4828ec70362841e"}, "tags": [], "refs": [["stg_facebook_ads__basic_ad"], ["stg_facebook_ads__account_history"]], "sources": [], "metrics": [], "description": "Each record represents the daily performance of a Facebook account.", "columns": {"date_day": {"name": "date_day", "description": "The date of the performance.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "The ID of the related account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_name": {"name": "account_name", "description": "The name of the related account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clicks": {"name": "clicks", "description": "The number of clicks the ad had on the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "The number of impressions the ad had on the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The spend on the ad in the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": "facebook_ads://models/facebook.yml", "compiled_path": "target/compiled/facebook_ads/models/facebook_ads__account_report.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads", "materialized": "table", "enabled": true}, "created_at": 1671058921.424472, "compiled_code": "\n\nwith report as (\n\n select *\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__basic_ad`\n\n), \n\naccounts as (\n\n select *\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__account_history`\n where is_most_recent_record = true\n\n),\n\njoined as (\n\n select \n report.date_day,\n accounts.account_id,\n accounts.account_name,\n accounts.account_status,\n accounts.business_country_code,\n accounts.created_at,\n accounts.currency,\n accounts.timezone_name,\n sum(report.clicks) as clicks,\n sum(report.impressions) as impressions,\n sum(report.spend) as spend\n\n \n\n\n\n\n from report \n left join accounts\n on report.account_id = accounts.account_id\n group by 1,2,3,4,5,6,7,8\n)\n\nselect *\nfrom joined", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads`.`facebook_ads__account_report`"}, "model.facebook_ads.facebook_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.facebook_ads_source.stg_facebook_ads__basic_ad", "model.facebook_ads_source.stg_facebook_ads__account_history", "model.facebook_ads_source.stg_facebook_ads__campaign_history", "model.facebook_ads_source.stg_facebook_ads__ad_set_history", "model.facebook_ads_source.stg_facebook_ads__ad_history"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_facebook_ads", "fqn": ["facebook_ads", "facebook_ads__ad_report"], "unique_id": "model.facebook_ads.facebook_ads__ad_report", "raw_code": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nwith report as (\n\n select *\n from {{ var('basic_ad') }}\n\n), \n\naccounts as (\n\n select *\n from {{ var('account_history') }}\n where is_most_recent_record = true\n\n),\n\ncampaigns as (\n\n select *\n from {{ var('campaign_history') }}\n where is_most_recent_record = true\n\n),\n\nad_sets as (\n\n select *\n from {{ var('ad_set_history') }}\n where is_most_recent_record = true\n\n),\n\nads as (\n\n select *\n from {{ var('ad_history') }}\n where is_most_recent_record = true\n\n),\n\njoined as (\n\n select \n report.date_day,\n accounts.account_id,\n accounts.account_name,\n campaigns.campaign_id,\n campaigns.campaign_name,\n ad_sets.ad_set_id,\n ad_sets.ad_set_name,\n ads.ad_id,\n ads.ad_name,\n sum(report.clicks) as clicks,\n sum(report.impressions) as impressions,\n sum(report.spend) as spend\n\n {{ fivetran_utils.persist_pass_through_columns(pass_through_variable='facebook_ads__basic_ad_passthrough_metrics', transform = 'sum') }}\n from report \n left join accounts\n on report.account_id = accounts.account_id\n left join ads \n on report.ad_id = ads.ad_id\n left join campaigns\n on ads.campaign_id = campaigns.campaign_id\n left join ad_sets\n on ads.ad_set_id = ad_sets.ad_set_id\n {{ dbt_utils.group_by(9) }}\n)\n\nselect *\nfrom joined", "language": "sql", "package_name": "facebook_ads", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "facebook_ads__ad_report.sql", "original_file_path": "models/facebook_ads__ad_report.sql", "name": "facebook_ads__ad_report", "alias": "facebook_ads__ad_report", "checksum": {"name": "sha256", "checksum": "36088a9abc521347aacc7d9bf0f56fd712441e94a2bc66ef334f85ff8f4761ea"}, "tags": [], "refs": [["stg_facebook_ads__basic_ad"], ["stg_facebook_ads__account_history"], ["stg_facebook_ads__campaign_history"], ["stg_facebook_ads__ad_set_history"], ["stg_facebook_ads__ad_history"]], "sources": [], "metrics": [], "description": "Each record represents the daily performance of a Facebook ad.", "columns": {"date_day": {"name": "date_day", "description": "The date of the performance.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "The ID of the related account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_name": {"name": "account_name", "description": "The name of the related account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_id": {"name": "campaign_id", "description": "The ID of the related campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_name": {"name": "campaign_name", "description": "The name of the related campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_set_id": {"name": "ad_set_id", "description": "The ID of the related ad set.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_set_name": {"name": "ad_set_name", "description": "The name of the related ad set.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_id": {"name": "ad_id", "description": "The ID of the related ad.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_name": {"name": "ad_name", "description": "The name of the related ad.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clicks": {"name": "clicks", "description": "The number of clicks the ad had on the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "The number of impressions the ad had on the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The spend on the ad in the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": "facebook_ads://models/facebook.yml", "compiled_path": "target/compiled/facebook_ads/models/facebook_ads__ad_report.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads", "materialized": "table", "enabled": true}, "created_at": 1671058921.42007, "compiled_code": "\n\nwith report as (\n\n select *\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__basic_ad`\n\n), \n\naccounts as (\n\n select *\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__account_history`\n where is_most_recent_record = true\n\n),\n\ncampaigns as (\n\n select *\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__campaign_history`\n where is_most_recent_record = true\n\n),\n\nad_sets as (\n\n select *\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__ad_set_history`\n where is_most_recent_record = true\n\n),\n\nads as (\n\n select *\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__ad_history`\n where is_most_recent_record = true\n\n),\n\njoined as (\n\n select \n report.date_day,\n accounts.account_id,\n accounts.account_name,\n campaigns.campaign_id,\n campaigns.campaign_name,\n ad_sets.ad_set_id,\n ad_sets.ad_set_name,\n ads.ad_id,\n ads.ad_name,\n sum(report.clicks) as clicks,\n sum(report.impressions) as impressions,\n sum(report.spend) as spend\n\n \n\n\n\n\n from report \n left join accounts\n on report.account_id = accounts.account_id\n left join ads \n on report.ad_id = ads.ad_id\n left join campaigns\n on ads.campaign_id = campaigns.campaign_id\n left join ad_sets\n on ads.ad_set_id = ad_sets.ad_set_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": "`dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads`.`facebook_ads__ad_report`"}, "model.facebook_ads.facebook_ads__ad_set_report": {"compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.fivetran_utils.persist_pass_through_columns", "macro.dbt_utils.group_by"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__basic_ad", "model.facebook_ads_source.stg_facebook_ads__account_history", "model.facebook_ads_source.stg_facebook_ads__campaign_history", "model.facebook_ads_source.stg_facebook_ads__ad_set_history", "model.facebook_ads_source.stg_facebook_ads__ad_history"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_facebook_ads", "fqn": ["facebook_ads", "facebook_ads__ad_set_report"], "unique_id": "model.facebook_ads.facebook_ads__ad_set_report", "raw_code": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nwith report as (\n\n select *\n from {{ var('basic_ad') }}\n\n), \n\naccounts as (\n\n select *\n from {{ var('account_history') }}\n where is_most_recent_record = true\n\n),\n\ncampaigns as (\n\n select *\n from {{ var('campaign_history') }}\n where is_most_recent_record = true\n\n),\n\nad_sets as (\n\n select *\n from {{ var('ad_set_history') }}\n where is_most_recent_record = true\n\n),\n\nads as (\n\n select *\n from {{ var('ad_history') }}\n where is_most_recent_record = true\n\n),\n\njoined as (\n\n select \n report.date_day,\n accounts.account_id,\n accounts.account_name,\n campaigns.campaign_id,\n campaigns.campaign_name,\n ad_sets.ad_set_id,\n ad_sets.ad_set_name,\n ad_sets.start_at,\n ad_sets.end_at,\n ad_sets.bid_strategy,\n ad_sets.daily_budget,\n ad_sets.budget_remaining,\n sum(report.clicks) as clicks,\n sum(report.impressions) as impressions,\n sum(report.spend) as spend\n\n {{ fivetran_utils.persist_pass_through_columns(pass_through_variable='facebook_ads__basic_ad_passthrough_metrics', transform = 'sum') }}\n from report \n left join accounts\n on report.account_id = accounts.account_id\n left join ads \n on report.ad_id = ads.ad_id\n left join campaigns\n on ads.campaign_id = campaigns.campaign_id\n left join ad_sets\n on ads.ad_set_id = ad_sets.ad_set_id\n {{ dbt_utils.group_by(12) }}\n)\n\nselect *\nfrom joined", "language": "sql", "package_name": "facebook_ads", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "facebook_ads__ad_set_report.sql", "original_file_path": "models/facebook_ads__ad_set_report.sql", "name": "facebook_ads__ad_set_report", "alias": "facebook_ads__ad_set_report", "checksum": {"name": "sha256", "checksum": "d1b0e28fe240e405fe8f746c38d4fad26a8d43e10dcd6f375617b78095f87e01"}, "tags": [], "refs": [["stg_facebook_ads__basic_ad"], ["stg_facebook_ads__account_history"], ["stg_facebook_ads__campaign_history"], ["stg_facebook_ads__ad_set_history"], ["stg_facebook_ads__ad_history"]], "sources": [], "metrics": [], "description": "Each record represents the daily performance of a Facebook ad set.", "columns": {"date_day": {"name": "date_day", "description": "The date of the performance.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "The ID of the related account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_name": {"name": "account_name", "description": "The name of the related account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_id": {"name": "campaign_id", "description": "The ID of the related campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_name": {"name": "campaign_name", "description": "The name of the related campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_set_id": {"name": "ad_set_id", "description": "The ID of the related ad set.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_set_name": {"name": "ad_set_name", "description": "The name of the related ad set.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clicks": {"name": "clicks", "description": "The number of clicks the ad had on the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "The number of impressions the ad had on the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The spend on the ad in the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": "facebook_ads://models/facebook.yml", "compiled_path": "target/compiled/facebook_ads/models/facebook_ads__ad_set_report.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads", "materialized": "table", "enabled": true}, "created_at": 1671058921.4216268, "compiled_code": "\n\nwith report as (\n\n select *\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__basic_ad`\n\n), \n\naccounts as (\n\n select *\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__account_history`\n where is_most_recent_record = true\n\n),\n\ncampaigns as (\n\n select *\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__campaign_history`\n where is_most_recent_record = true\n\n),\n\nad_sets as (\n\n select *\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__ad_set_history`\n where is_most_recent_record = true\n\n),\n\nads as (\n\n select *\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__ad_history`\n where is_most_recent_record = true\n\n),\n\njoined as (\n\n select \n report.date_day,\n accounts.account_id,\n accounts.account_name,\n campaigns.campaign_id,\n campaigns.campaign_name,\n ad_sets.ad_set_id,\n ad_sets.ad_set_name,\n ad_sets.start_at,\n ad_sets.end_at,\n ad_sets.bid_strategy,\n ad_sets.daily_budget,\n ad_sets.budget_remaining,\n sum(report.clicks) as clicks,\n sum(report.impressions) as impressions,\n sum(report.spend) as spend\n\n \n\n\n\n\n from report \n left join accounts\n on report.account_id = accounts.account_id\n left join ads \n on report.ad_id = ads.ad_id\n left join campaigns\n on ads.campaign_id = campaigns.campaign_id\n left join ad_sets\n on ads.ad_set_id = ad_sets.ad_set_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": "`dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads`.`facebook_ads__ad_set_report`"}, "model.facebook_ads.int_facebook_ads__creative_history": {"compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.dbt.split_part", "macro.dbt_utils.get_url_host", "macro.dbt_utils.get_url_path", "macro.dbt_utils.get_url_parameter"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__creative_history", "model.facebook_ads.facebook_ads__url_tags"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_ads", "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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_facebook_ads", "fqn": ["facebook_ads", "intermediate", "int_facebook_ads__creative_history"], "unique_id": "model.facebook_ads.int_facebook_ads__creative_history", "raw_code": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\n{% set url_field = \"coalesce(page_link,template_page_link)\" %}\n\nwith base as (\n\n select *\n from {{ var('creative_history') }}\n where is_most_recent_record = true\n\n), \n\nurl_tags as (\n\n select *\n from {{ ref('facebook_ads__url_tags') }}\n), \n\nurl_tags_pivoted as (\n\n select \n _fivetran_id,\n creative_id,\n min(case when key = 'utm_source' then value end) as utm_source,\n min(case when key = 'utm_medium' then value end) as utm_medium,\n min(case when key = 'utm_campaign' then value end) as utm_campaign,\n min(case when key = 'utm_content' then value end) as utm_content,\n min(case when key = 'utm_term' then value end) as utm_term\n from url_tags\n group by 1,2\n\n), \n\nfields as (\n\n select\n base._fivetran_id,\n base.creative_id,\n base.account_id,\n base.creative_name,\n {{ url_field }} as url,\n {{ dbt.split_part(url_field, \"'?'\", 1) }} as base_url,\n {{ dbt_utils.get_url_host(url_field) }} as url_host,\n '/' || {{ dbt_utils.get_url_path(url_field) }} as url_path,\n coalesce(url_tags_pivoted.utm_source, {{ dbt_utils.get_url_parameter(url_field, 'utm_source') }}) as utm_source,\n coalesce(url_tags_pivoted.utm_medium, {{ dbt_utils.get_url_parameter(url_field, 'utm_medium') }}) as utm_medium,\n coalesce(url_tags_pivoted.utm_campaign, {{ dbt_utils.get_url_parameter(url_field, 'utm_campaign') }}) as utm_campaign,\n coalesce(url_tags_pivoted.utm_content, {{ dbt_utils.get_url_parameter(url_field, 'utm_content') }}) as utm_content,\n coalesce(url_tags_pivoted.utm_term, {{ dbt_utils.get_url_parameter(url_field, 'utm_term') }}) as utm_term\n from base\n left join url_tags_pivoted\n on base._fivetran_id = url_tags_pivoted._fivetran_id\n and base.creative_id = url_tags_pivoted.creative_id\n)\n\nselect *\nfrom fields", "language": "sql", "package_name": "facebook_ads", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "intermediate/int_facebook_ads__creative_history.sql", "original_file_path": "models/intermediate/int_facebook_ads__creative_history.sql", "name": "int_facebook_ads__creative_history", "alias": "int_facebook_ads__creative_history", "checksum": {"name": "sha256", "checksum": "58070e7fbe67471ca464a7f8fdb011e4e8582d1651e7b42b966218bdaf1b4235"}, "tags": [], "refs": [["stg_facebook_ads__creative_history"], ["facebook_ads__url_tags"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads/models/intermediate/int_facebook_ads__creative_history.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads", "materialized": "view", "enabled": true}, "created_at": 1671058921.2559428, "compiled_code": "\n\n\n\nwith base as (\n\n select *\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__creative_history`\n where is_most_recent_record = true\n\n), \n\nurl_tags as (\n\n select *\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads`.`facebook_ads__url_tags`\n), \n\nurl_tags_pivoted as (\n\n select \n _fivetran_id,\n creative_id,\n min(case when key = 'utm_source' then value end) as utm_source,\n min(case when key = 'utm_medium' then value end) as utm_medium,\n min(case when key = 'utm_campaign' then value end) as utm_campaign,\n min(case when key = 'utm_content' then value end) as utm_content,\n min(case when key = 'utm_term' then value end) as utm_term\n from url_tags\n group by 1,2\n\n), \n\nfields as (\n\n select\n base._fivetran_id,\n base.creative_id,\n base.account_id,\n base.creative_name,\n coalesce(page_link,template_page_link) as url,\n \n\n \n split(\n coalesce(page_link,template_page_link),\n '?'\n )[safe_offset(0)]\n \n\n as base_url,\n \n safe_cast(\n\n \n split(\n \n\n \n split(\n \n\n replace(\n \n\n replace(\n \n\n replace(\n coalesce(page_link,template_page_link),\n 'android-app://',\n ''\n )\n\n\n,\n 'http://',\n ''\n )\n\n\n,\n 'https://',\n ''\n )\n\n\n,\n '/'\n )[safe_offset(0)]\n \n\n,\n '?'\n )[safe_offset(0)]\n \n\n as STRING)\n as url_host,\n '/' || \n safe_cast(\n\n \n split(\n \n\n case when \n\n length(\n \n\n replace(\n \n\n replace(\n coalesce(page_link,template_page_link),\n 'http://',\n ''\n )\n\n\n,\n 'https://',\n ''\n )\n\n\n\n )-coalesce(\n nullif(\n\n strpos(\n \n\n replace(\n \n\n replace(\n coalesce(page_link,template_page_link),\n 'http://',\n ''\n )\n\n\n,\n 'https://',\n ''\n )\n\n\n,\n '/'\n\n ), 0),\n \n\n strpos(\n \n\n replace(\n \n\n replace(\n coalesce(page_link,template_page_link),\n 'http://',\n ''\n )\n\n\n,\n 'https://',\n ''\n )\n\n\n,\n '?'\n\n ) - 1\n ) = 0\n then ''\n else\n substr(\n \n\n replace(\n \n\n replace(\n coalesce(page_link,template_page_link),\n 'http://',\n ''\n )\n\n\n,\n 'https://',\n ''\n )\n\n\n,\n -1 * (\n\n length(\n \n\n replace(\n \n\n replace(\n coalesce(page_link,template_page_link),\n 'http://',\n ''\n )\n\n\n,\n 'https://',\n ''\n )\n\n\n\n )-coalesce(\n nullif(\n\n strpos(\n \n\n replace(\n \n\n replace(\n coalesce(page_link,template_page_link),\n 'http://',\n ''\n )\n\n\n,\n 'https://',\n ''\n )\n\n\n,\n '/'\n\n ), 0),\n \n\n strpos(\n \n\n replace(\n \n\n replace(\n coalesce(page_link,template_page_link),\n 'http://',\n ''\n )\n\n\n,\n 'https://',\n ''\n )\n\n\n,\n '?'\n\n ) - 1\n ))\n )\n end,\n '?'\n )[safe_offset(0)]\n \n\n as STRING)\n as url_path,\n coalesce(url_tags_pivoted.utm_source, nullif(\n\n \n split(\n \n\n \n split(\n coalesce(page_link,template_page_link),\n 'utm_source='\n )[safe_offset(1)]\n \n\n,\n '&'\n )[safe_offset(0)]\n \n\n,'')) as utm_source,\n coalesce(url_tags_pivoted.utm_medium, nullif(\n\n \n split(\n \n\n \n split(\n coalesce(page_link,template_page_link),\n 'utm_medium='\n )[safe_offset(1)]\n \n\n,\n '&'\n )[safe_offset(0)]\n \n\n,'')) as utm_medium,\n coalesce(url_tags_pivoted.utm_campaign, nullif(\n\n \n split(\n \n\n \n split(\n coalesce(page_link,template_page_link),\n 'utm_campaign='\n )[safe_offset(1)]\n \n\n,\n '&'\n )[safe_offset(0)]\n \n\n,'')) as utm_campaign,\n coalesce(url_tags_pivoted.utm_content, nullif(\n\n \n split(\n \n\n \n split(\n coalesce(page_link,template_page_link),\n 'utm_content='\n )[safe_offset(1)]\n \n\n,\n '&'\n )[safe_offset(0)]\n \n\n,'')) as utm_content,\n coalesce(url_tags_pivoted.utm_term, nullif(\n\n \n split(\n \n\n \n split(\n coalesce(page_link,template_page_link),\n 'utm_term='\n )[safe_offset(1)]\n \n\n,\n '&'\n )[safe_offset(0)]\n \n\n,'')) as utm_term\n from base\n left join url_tags_pivoted\n on base._fivetran_id = url_tags_pivoted._fivetran_id\n and base.creative_id = url_tags_pivoted.creative_id\n)\n\nselect *\nfrom fields", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads`.`int_facebook_ads__creative_history`"}, "model.facebook_ads_source.stg_facebook_ads__basic_ad": {"compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.facebook_ads_source.get_basic_ad_columns", "macro.fivetran_utils.fill_staging_columns", "macro.dbt.type_bigint", "macro.fivetran_utils.fill_pass_through_columns"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__basic_ad_tmp", "model.facebook_ads_source.stg_facebook_ads__basic_ad_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_facebook_ads_source", "fqn": ["facebook_ads_source", "stg_facebook_ads__basic_ad"], "unique_id": "model.facebook_ads_source.stg_facebook_ads__basic_ad", "raw_code": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_facebook_ads__basic_ad_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_facebook_ads__basic_ad_tmp')),\n staging_columns=get_basic_ad_columns()\n )\n }}\n \n from base\n),\n\nfinal as (\n \n select \n cast(ad_id as {{ dbt.type_bigint() }}) as ad_id,\n ad_name,\n adset_name as ad_set_name,\n date as date_day,\n cast(account_id as {{ dbt.type_bigint() }}) as account_id,\n impressions,\n coalesce(inline_link_clicks,0) as clicks,\n spend,\n reach,\n frequency\n\n {{ fivetran_utils.fill_pass_through_columns('facebook_ads__basic_ad_passthrough_metrics') }}\n from fields\n)\n\nselect * \nfrom final", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "stg_facebook_ads__basic_ad.sql", "original_file_path": "models/stg_facebook_ads__basic_ad.sql", "name": "stg_facebook_ads__basic_ad", "alias": "stg_facebook_ads__basic_ad", "checksum": {"name": "sha256", "checksum": "2034249ba6885eae9434fc88a91b108e34b667b7e29c83711b29498b85da644a"}, "tags": [], "refs": [["stg_facebook_ads__basic_ad_tmp"], ["stg_facebook_ads__basic_ad_tmp"]], "sources": [], "metrics": [], "description": "Each record represents the daily performance of an ad in Facebook.", "columns": {"ad_id": {"name": "ad_id", "description": "The ID of the ad the report relates to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_name": {"name": "ad_name", "description": "Name of the ad the report relates to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_set_name": {"name": "ad_set_name", "description": "Name of the ad set the report relates to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "date_day": {"name": "date_day", "description": "The date of the reported performance.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "The ID of the ad account that this ad belongs to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "The number of impressions the ad had on the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clicks": {"name": "clicks", "description": "The number of clicks the ad had on the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The spend on the ad in the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "reach": {"name": "reach", "description": "The number of people who saw any content from your Page or about your Page. This metric is estimated.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "frequency": {"name": "frequency", "description": "The average number of times each person saw your ad; it is calculated as impressions divided by reach.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": "facebook_ads_source://models/stg_facebook_ads.yml", "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads__basic_ad.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads_source", "materialized": "table", "enabled": true}, "created_at": 1671058921.473272, "compiled_code": "\n\nwith base as (\n\n select * \n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__basic_ad_tmp`\n),\n\nfields as (\n\n select\n \n \n \n ad_id\n \n as \n \n ad_id\n \n, \n cast(null as STRING) as \n \n ad_name\n \n , \n cast(null as STRING) as \n \n adset_name\n \n , \n \n \n date\n \n as \n \n date\n \n, \n \n \n account_id\n \n as \n \n account_id\n \n, \n \n \n impressions\n \n as \n \n impressions\n \n, \n \n \n inline_link_clicks\n \n as \n \n inline_link_clicks\n \n, \n \n \n spend\n \n as \n \n spend\n \n, \n cast(null as INT64) as \n \n reach\n \n , \n cast(null as FLOAT64) as \n \n frequency\n \n \n\n\n \n from base\n),\n\nfinal as (\n \n select \n cast(ad_id as bigint) as ad_id,\n ad_name,\n adset_name as ad_set_name,\n date as date_day,\n cast(account_id as bigint) as account_id,\n impressions,\n coalesce(inline_link_clicks,0) as clicks,\n spend,\n reach,\n frequency\n\n \n\n\n\n\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__basic_ad`"}, "model.facebook_ads_source.stg_facebook_ads__creative_history": {"compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.facebook_ads_source.get_creative_history_columns", "macro.fivetran_utils.fill_staging_columns", "macro.dbt.type_bigint"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__creative_history_tmp", "model.facebook_ads_source.stg_facebook_ads__creative_history_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_facebook_ads_source", "fqn": ["facebook_ads_source", "stg_facebook_ads__creative_history"], "unique_id": "model.facebook_ads_source.stg_facebook_ads__creative_history", "raw_code": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_facebook_ads__creative_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_facebook_ads__creative_history_tmp')),\n staging_columns=get_creative_history_columns()\n )\n }}\n \n from base\n),\n\nfinal as (\n \n select \n _fivetran_id,\n _fivetran_synced,\n cast(id as {{ dbt.type_bigint() }}) as creative_id,\n cast(account_id as {{ dbt.type_bigint() }}) as account_id,\n name as creative_name,\n page_link,\n template_page_link,\n url_tags,\n asset_feed_spec_link_urls,\n object_story_link_data_child_attachments,\n object_story_link_data_caption, \n object_story_link_data_description, \n object_story_link_data_link, \n object_story_link_data_message,\n template_app_link_spec_ios,\n template_app_link_spec_ipad,\n template_app_link_spec_android,\n template_app_link_spec_iphone,\n row_number() over (partition by id order by _fivetran_synced desc) = 1 as is_most_recent_record\n from fields\n)\n\nselect * \nfrom final", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "stg_facebook_ads__creative_history.sql", "original_file_path": "models/stg_facebook_ads__creative_history.sql", "name": "stg_facebook_ads__creative_history", "alias": "stg_facebook_ads__creative_history", "checksum": {"name": "sha256", "checksum": "b881fe7a6d7f0ec06355c9073495a4e1f89529eceffc1771ca48044e6f401309"}, "tags": [], "refs": [["stg_facebook_ads__creative_history_tmp"], ["stg_facebook_ads__creative_history_tmp"]], "sources": [], "metrics": [], "description": "Each record in this table reflects a Facebook creative.", "columns": {"_fivetran_id": {"name": "_fivetran_id", "description": "Unique record identifier", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "When the record was last synced by Fivetran.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "creative_id": {"name": "creative_id", "description": "Unique ID for an ad creative.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "Ad account ID for the account this ad creative belongs to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "creative_name": {"name": "creative_name", "description": "Name of this ad creative as seen in the ad account's library.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "url_tags": {"name": "url_tags", "description": "A set of query string parameters which will replace or be appended to urls clicked from page post ads, message of the post, and canvas app install creatives only.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_most_recent_record": {"name": "is_most_recent_record", "description": "Indicates whether a record is the most recent version of that record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "page_link": {"name": "page_link", "description": "Link for the page.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "template_page_link": {"name": "template_page_link", "description": "URL destination of Facebook dynamic ads.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "asset_feed_spec_link_urls": {"name": "asset_feed_spec_link_urls", "description": "Link to the asset feed spec", "meta": {}, "data_type": null, "quote": null, "tags": []}, "object_story_link_data_child_attachments": {"name": "object_story_link_data_child_attachments", "description": "Link of the object story child attachments", "meta": {}, "data_type": null, "quote": null, "tags": []}, "object_story_link_data_caption": {"name": "object_story_link_data_caption", "description": "Link of the object story caption", "meta": {}, "data_type": null, "quote": null, "tags": []}, "object_story_link_data_description": {"name": "object_story_link_data_description", "description": "Link of the object story description", "meta": {}, "data_type": null, "quote": null, "tags": []}, "object_story_link_data_link": {"name": "object_story_link_data_link", "description": "Link of the object story link", "meta": {}, "data_type": null, "quote": null, "tags": []}, "object_story_link_data_message": {"name": "object_story_link_data_message", "description": "Link of the object story message", "meta": {}, "data_type": null, "quote": null, "tags": []}, "template_app_link_spec_ios": {"name": "template_app_link_spec_ios", "description": "Link of the object story spec for ios", "meta": {}, "data_type": null, "quote": null, "tags": []}, "template_app_link_spec_ipad": {"name": "template_app_link_spec_ipad", "description": "Link of the template app spec for ipad", "meta": {}, "data_type": null, "quote": null, "tags": []}, "template_app_link_spec_android": {"name": "template_app_link_spec_android", "description": "Link of the template app for android", "meta": {}, "data_type": null, "quote": null, "tags": []}, "template_app_link_spec_iphone": {"name": "template_app_link_spec_iphone", "description": "Link of the template app for iphone", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": "facebook_ads_source://models/stg_facebook_ads.yml", "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads__creative_history.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads_source", "materialized": "table", "enabled": true}, "created_at": 1671058921.471689, "compiled_code": "\n\nwith base as (\n\n select * \n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__creative_history_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 _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n account_id\n \n as \n \n account_id\n \n, \n \n \n name\n \n as \n \n name\n \n, \n \n \n page_link\n \n as \n \n page_link\n \n, \n \n \n template_page_link\n \n as \n \n template_page_link\n \n, \n \n \n url_tags\n \n as \n \n url_tags\n \n, \n \n \n asset_feed_spec_link_urls\n \n as \n \n asset_feed_spec_link_urls\n \n, \n \n \n object_story_link_data_child_attachments\n \n as \n \n object_story_link_data_child_attachments\n \n, \n \n \n object_story_link_data_caption\n \n as \n \n object_story_link_data_caption\n \n, \n \n \n object_story_link_data_description\n \n as \n \n object_story_link_data_description\n \n, \n \n \n object_story_link_data_link\n \n as \n \n object_story_link_data_link\n \n, \n \n \n object_story_link_data_message\n \n as \n \n object_story_link_data_message\n \n, \n cast(null as STRING) as \n \n template_app_link_spec_android\n \n , \n \n \n template_app_link_spec_ios\n \n as \n \n template_app_link_spec_ios\n \n, \n cast(null as STRING) as \n \n template_app_link_spec_ipad\n \n , \n cast(null as STRING) as \n \n template_app_link_spec_iphone\n \n \n\n\n \n from base\n),\n\nfinal as (\n \n select \n _fivetran_id,\n _fivetran_synced,\n cast(id as bigint) as creative_id,\n cast(account_id as bigint) as account_id,\n name as creative_name,\n page_link,\n template_page_link,\n url_tags,\n asset_feed_spec_link_urls,\n object_story_link_data_child_attachments,\n object_story_link_data_caption, \n object_story_link_data_description, \n object_story_link_data_link, \n object_story_link_data_message,\n template_app_link_spec_ios,\n template_app_link_spec_ipad,\n template_app_link_spec_android,\n template_app_link_spec_iphone,\n row_number() over (partition by id order by _fivetran_synced desc) = 1 as is_most_recent_record\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__creative_history`"}, "model.facebook_ads_source.stg_facebook_ads__campaign_history": {"compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.facebook_ads_source.get_campaign_history_columns", "macro.fivetran_utils.fill_staging_columns", "macro.dbt.type_bigint"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__campaign_history_tmp", "model.facebook_ads_source.stg_facebook_ads__campaign_history_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_facebook_ads_source", "fqn": ["facebook_ads_source", "stg_facebook_ads__campaign_history"], "unique_id": "model.facebook_ads_source.stg_facebook_ads__campaign_history", "raw_code": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_facebook_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_facebook_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 updated_time as updated_at,\n created_time as created_at,\n cast(account_id as {{ dbt.type_bigint() }}) as account_id,\n cast(id as {{ dbt.type_bigint() }}) as campaign_id,\n name as campaign_name,\n start_time as start_at,\n stop_time as end_at,\n status,\n daily_budget,\n lifetime_budget,\n budget_remaining,\n row_number() over (partition by id order by updated_time desc) = 1 as is_most_recent_record\n from fields\n\n)\n\nselect * \nfrom final", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "stg_facebook_ads__campaign_history.sql", "original_file_path": "models/stg_facebook_ads__campaign_history.sql", "name": "stg_facebook_ads__campaign_history", "alias": "stg_facebook_ads__campaign_history", "checksum": {"name": "sha256", "checksum": "d536771ac164bc64d15f6a8f03f6c06626d76f344c02de8d04bf97b978ed60d7"}, "tags": [], "refs": [["stg_facebook_ads__campaign_history_tmp"], ["stg_facebook_ads__campaign_history_tmp"]], "sources": [], "metrics": [], "description": "Each record in this table reflects a Facebook campaign.", "columns": {"campaign_id": {"name": "campaign_id", "description": "The ID of the campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "The ID of the ad account that this campaign belongs to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_name": {"name": "campaign_name", "description": "The name of the campaign.", "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. All records should have this value set to True given we filter on it.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "updated_at": {"name": "updated_at", "description": "The timestamp of the last update of a record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "The time the campaign was created.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "start_at": {"name": "start_at", "description": "Timestamp of designated campaign start time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "end_at": {"name": "end_at", "description": "Timestamp of designated campaign end time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "daily_budget": {"name": "daily_budget", "description": "Daily budget of campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "budget_remaining": {"name": "budget_remaining", "description": "Remaining budget of campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "lifetime_budget": {"name": "lifetime_budget", "description": "Lifetime budget of the campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status": {"name": "status", "description": "Status values are - 'ACTIVE', 'PAUSED', 'DELETED', 'ARCHIVED'.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": "facebook_ads_source://models/stg_facebook_ads.yml", "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads__campaign_history.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads_source", "materialized": "table", "enabled": true}, "created_at": 1671058921.4686568, "compiled_code": "\n\nwith base as (\n\n select * \n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__campaign_history_tmp`\n),\n\nfields as (\n\n select\n \n \n \n updated_time\n \n as \n \n updated_time\n \n, \n cast(null as TIMESTAMP) as \n \n created_time\n \n , \n \n \n account_id\n \n as \n \n account_id\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 cast(null as TIMESTAMP) as \n \n start_time\n \n , \n cast(null as TIMESTAMP) as \n \n stop_time\n \n , \n cast(null as STRING) as \n \n status\n \n , \n cast(null as INT64) as \n \n daily_budget\n \n , \n cast(null as INT64) as \n \n lifetime_budget\n \n , \n cast(null as FLOAT64) as \n \n budget_remaining\n \n \n\n\n \n from base\n),\n\nfinal as (\n \n select \n updated_time as updated_at,\n created_time as created_at,\n cast(account_id as bigint) as account_id,\n cast(id as bigint) as campaign_id,\n name as campaign_name,\n start_time as start_at,\n stop_time as end_at,\n status,\n daily_budget,\n lifetime_budget,\n budget_remaining,\n row_number() over (partition by id order by updated_time desc) = 1 as is_most_recent_record\n from fields\n\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__campaign_history`"}, "model.facebook_ads_source.stg_facebook_ads__account_history": {"compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.facebook_ads_source.get_account_history_columns", "macro.fivetran_utils.fill_staging_columns", "macro.dbt.type_bigint"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__account_history_tmp", "model.facebook_ads_source.stg_facebook_ads__account_history_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_facebook_ads_source", "fqn": ["facebook_ads_source", "stg_facebook_ads__account_history"], "unique_id": "model.facebook_ads_source.stg_facebook_ads__account_history", "raw_code": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_facebook_ads__account_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_facebook_ads__account_history_tmp')),\n staging_columns=get_account_history_columns()\n )\n }}\n \n from base\n),\n\nfinal as (\n \n select \n cast(id as {{ dbt.type_bigint() }}) as account_id,\n _fivetran_synced,\n name as account_name,\n account_status,\n business_country_code,\n created_time as created_at,\n currency,\n timezone_name,\n row_number() over (partition by id order by _fivetran_synced desc) = 1 as is_most_recent_record\n from fields\n\n)\n\nselect * \nfrom final", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "stg_facebook_ads__account_history.sql", "original_file_path": "models/stg_facebook_ads__account_history.sql", "name": "stg_facebook_ads__account_history", "alias": "stg_facebook_ads__account_history", "checksum": {"name": "sha256", "checksum": "db38aeeedb4c0b457605036f2452543a77d1e65f0d7d13287fac1b705c1d1407"}, "tags": [], "refs": [["stg_facebook_ads__account_history_tmp"], ["stg_facebook_ads__account_history_tmp"]], "sources": [], "metrics": [], "description": "Each record in this table reflects a Facebook ad account.", "columns": {"account_id": {"name": "account_id", "description": "The ID of the ad account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_name": {"name": "account_name", "description": "Name of the account.", "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. All records should have this value set to True given we filter on it.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "When the record was last synced by Fivetran.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_status": {"name": "account_status", "description": "Current status of account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "business_country_code": {"name": "business_country_code", "description": "Country code of business associated to account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "The time account was created.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "currency": {"name": "currency", "description": "Currency associated with account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "timezone_name": {"name": "timezone_name", "description": "Timezone associated with account.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": "facebook_ads_source://models/stg_facebook_ads.yml", "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads__account_history.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads_source", "materialized": "table", "enabled": true}, "created_at": 1671058921.4634721, "compiled_code": "\n\nwith base as (\n\n select * \n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__account_history_tmp`\n),\n\nfields as (\n\n select\n \n \n \n id\n \n as \n \n id\n \n, \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n name\n \n as \n \n name\n \n, \n cast(null as STRING) as \n \n account_status\n \n , \n cast(null as STRING) as \n \n business_country_code\n \n , \n cast(null as TIMESTAMP) as \n \n created_time\n \n , \n cast(null as STRING) as \n \n currency\n \n , \n cast(null as STRING) as \n \n timezone_name\n \n \n\n\n \n from base\n),\n\nfinal as (\n \n select \n cast(id as bigint) as account_id,\n _fivetran_synced,\n name as account_name,\n account_status,\n business_country_code,\n created_time as created_at,\n currency,\n timezone_name,\n row_number() over (partition by id order by _fivetran_synced desc) = 1 as is_most_recent_record\n from fields\n\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__account_history`"}, "model.facebook_ads_source.stg_facebook_ads__ad_history": {"compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.facebook_ads_source.get_ad_history_columns", "macro.fivetran_utils.fill_staging_columns", "macro.dbt.type_bigint"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__ad_history_tmp", "model.facebook_ads_source.stg_facebook_ads__ad_history_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_facebook_ads_source", "fqn": ["facebook_ads_source", "stg_facebook_ads__ad_history"], "unique_id": "model.facebook_ads_source.stg_facebook_ads__ad_history", "raw_code": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_facebook_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_facebook_ads__ad_history_tmp')),\n staging_columns=get_ad_history_columns()\n )\n }}\n \n from base\n),\n\nfinal as (\n \n select \n updated_time as updated_at,\n cast(id as {{ dbt.type_bigint() }}) as ad_id,\n name as ad_name,\n cast(account_id as {{ dbt.type_bigint() }}) as account_id,\n cast(ad_set_id as {{ dbt.type_bigint() }}) as ad_set_id, \n cast(campaign_id as {{ dbt.type_bigint() }}) as campaign_id,\n cast(creative_id as {{ dbt.type_bigint() }}) as creative_id,\n row_number() over (partition by id order by updated_time desc) = 1 as is_most_recent_record\n from fields\n)\n\nselect * \nfrom final", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "stg_facebook_ads__ad_history.sql", "original_file_path": "models/stg_facebook_ads__ad_history.sql", "name": "stg_facebook_ads__ad_history", "alias": "stg_facebook_ads__ad_history", "checksum": {"name": "sha256", "checksum": "19719ef45773ae189aeec4da0c5467b45bc6a253bbaf2a13ee271d63723e64da"}, "tags": [], "refs": [["stg_facebook_ads__ad_history_tmp"], ["stg_facebook_ads__ad_history_tmp"]], "sources": [], "metrics": [], "description": "Each record in this table reflects a Facebook ad.", "columns": {"ad_id": {"name": "ad_id", "description": "The ID of this ad.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "The ID of the ad account that this ad belongs to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_set_id": {"name": "ad_set_id", "description": "ID of the ad set that contains the ad.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_id": {"name": "campaign_id", "description": "Ad campaign that contains this ad.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "creative_id": {"name": "creative_id", "description": "The ID of the ad creative to be used by this ad.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_name": {"name": "ad_name", "description": "Name of the ad.", "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. All records should have this value set to True given we filter on it.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "updated_at": {"name": "updated_at", "description": "The timestamp of the last update of a record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": "facebook_ads_source://models/stg_facebook_ads.yml", "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads__ad_history.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads_source", "materialized": "table", "enabled": true}, "created_at": 1671058921.464897, "compiled_code": "\n\nwith base as (\n\n select * \n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__ad_history_tmp`\n),\n\nfields as (\n\n select\n \n \n \n updated_time\n \n as \n \n updated_time\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 account_id\n \n as \n \n account_id\n \n, \n \n \n ad_set_id\n \n as \n \n ad_set_id\n \n, \n \n \n campaign_id\n \n as \n \n campaign_id\n \n, \n \n \n creative_id\n \n as \n \n creative_id\n \n\n\n\n \n from base\n),\n\nfinal as (\n \n select \n updated_time as updated_at,\n cast(id as bigint) as ad_id,\n name as ad_name,\n cast(account_id as bigint) as account_id,\n cast(ad_set_id as bigint) as ad_set_id, \n cast(campaign_id as bigint) as campaign_id,\n cast(creative_id as bigint) as creative_id,\n row_number() over (partition by id order by updated_time desc) = 1 as is_most_recent_record\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__ad_history`"}, "model.facebook_ads_source.stg_facebook_ads__ad_set_history": {"compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.facebook_ads_source.get_ad_set_history_columns", "macro.fivetran_utils.fill_staging_columns", "macro.dbt.type_bigint"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__ad_set_history_tmp", "model.facebook_ads_source.stg_facebook_ads__ad_set_history_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_facebook_ads_source", "fqn": ["facebook_ads_source", "stg_facebook_ads__ad_set_history"], "unique_id": "model.facebook_ads_source.stg_facebook_ads__ad_set_history", "raw_code": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_facebook_ads__ad_set_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_facebook_ads__ad_set_history_tmp')),\n staging_columns=get_ad_set_history_columns()\n )\n }}\n \n from base\n),\n\nfinal as (\n \n select \n updated_time as updated_at,\n cast(id as {{ dbt.type_bigint() }}) as ad_set_id,\n name as ad_set_name,\n cast(account_id as {{ dbt.type_bigint() }}) as account_id,\n cast(campaign_id as {{ dbt.type_bigint() }}) as campaign_id,\n start_time as start_at,\n end_time as end_at,\n bid_strategy,\n daily_budget,\n budget_remaining,\n status,\n row_number() over (partition by id order by updated_time desc) = 1 as is_most_recent_record\n from fields\n\n)\n\nselect * \nfrom final", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "stg_facebook_ads__ad_set_history.sql", "original_file_path": "models/stg_facebook_ads__ad_set_history.sql", "name": "stg_facebook_ads__ad_set_history", "alias": "stg_facebook_ads__ad_set_history", "checksum": {"name": "sha256", "checksum": "32c6ae0ef94b4f88261a0dd4dda62e6e92de99a56ffbe8ae1360c6469052e212"}, "tags": [], "refs": [["stg_facebook_ads__ad_set_history_tmp"], ["stg_facebook_ads__ad_set_history_tmp"]], "sources": [], "metrics": [], "description": "Each record in this table reflects a Facebook ad set.", "columns": {"ad_set_id": {"name": "ad_set_id", "description": "The ID of the ad set.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "The ID of the ad account that this ad set belongs to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_id": {"name": "campaign_id", "description": "Ad campaign that contains this ad set.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_set_name": {"name": "ad_set_name", "description": "The name of the ad set.", "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. All records should have this value set to True given we filter on it.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "updated_at": {"name": "updated_at", "description": "The timestamp of the last update of a record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "start_at": {"name": "start_at", "description": "Timestamp of designated ad set start time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "end_at": {"name": "end_at", "description": "Timestamp of designated ad set end time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "bid_strategy": {"name": "bid_strategy", "description": "Bid strategy values are - 'LOWEST_COST_WITHOUT_CAP', 'LOWEST_COST_WITH_BID_CAP', 'COST_CAP', 'LOWEST_COST_WITH_MIN_ROAS'.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "daily_budget": {"name": "daily_budget", "description": "Daily budget of ad set.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "budget_remaining": {"name": "budget_remaining", "description": "Remaining budget of ad set.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status": {"name": "status", "description": "Status values are - 'ACTIVE', 'PAUSED', 'DELETED', 'ARCHIVED'.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": "facebook_ads_source://models/stg_facebook_ads.yml", "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads__ad_set_history.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads_source", "materialized": "table", "enabled": true}, "created_at": 1671058921.466827, "compiled_code": "\n\nwith base as (\n\n select * \n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__ad_set_history_tmp`\n),\n\nfields as (\n\n select\n \n \n \n updated_time\n \n as \n \n updated_time\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 account_id\n \n as \n \n account_id\n \n, \n \n \n campaign_id\n \n as \n \n campaign_id\n \n, \n cast(null as TIMESTAMP) as \n \n start_time\n \n , \n cast(null as TIMESTAMP) as \n \n end_time\n \n , \n cast(null as STRING) as \n \n bid_strategy\n \n , \n cast(null as INT64) as \n \n daily_budget\n \n , \n cast(null as INT64) as \n \n budget_remaining\n \n , \n cast(null as STRING) as \n \n status\n \n \n\n\n \n from base\n),\n\nfinal as (\n \n select \n updated_time as updated_at,\n cast(id as bigint) as ad_set_id,\n name as ad_set_name,\n cast(account_id as bigint) as account_id,\n cast(campaign_id as bigint) as campaign_id,\n start_time as start_at,\n end_time as end_at,\n bid_strategy,\n daily_budget,\n budget_remaining,\n status,\n row_number() over (partition by id order by updated_time desc) = 1 as is_most_recent_record\n from fields\n\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__ad_set_history`"}, "model.facebook_ads_source.stg_facebook_ads__ad_set_history_tmp": {"compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.facebook_ads_source.facebook_ads.ad_set_history"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_facebook_ads_source", "fqn": ["facebook_ads_source", "tmp", "stg_facebook_ads__ad_set_history_tmp"], "unique_id": "model.facebook_ads_source.stg_facebook_ads__ad_set_history_tmp", "raw_code": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nselect * \nfrom {{ var('ad_set_history') }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "tmp/stg_facebook_ads__ad_set_history_tmp.sql", "original_file_path": "models/tmp/stg_facebook_ads__ad_set_history_tmp.sql", "name": "stg_facebook_ads__ad_set_history_tmp", "alias": "stg_facebook_ads__ad_set_history_tmp", "checksum": {"name": "sha256", "checksum": "dad1782db9e8232b2613b5b9959963ad0d0ff99b7462524fc223610cd3e14442"}, "tags": [], "refs": [], "sources": [["facebook_ads", "ad_set_history"]], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/tmp/stg_facebook_ads__ad_set_history_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads_source", "materialized": "view", "enabled": true}, "created_at": 1671058921.3487191, "compiled_code": "\n\nselect * \nfrom `dbt-package-testing`.`facebook_ads_integration_tests`.`facebook_ads_ad_set_history_data`", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__ad_set_history_tmp`"}, "model.facebook_ads_source.stg_facebook_ads__basic_ad_tmp": {"compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.facebook_ads_source.facebook_ads.basic_ad"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_facebook_ads_source", "fqn": ["facebook_ads_source", "tmp", "stg_facebook_ads__basic_ad_tmp"], "unique_id": "model.facebook_ads_source.stg_facebook_ads__basic_ad_tmp", "raw_code": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nselect * \nfrom {{ var('basic_ad') }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "tmp/stg_facebook_ads__basic_ad_tmp.sql", "original_file_path": "models/tmp/stg_facebook_ads__basic_ad_tmp.sql", "name": "stg_facebook_ads__basic_ad_tmp", "alias": "stg_facebook_ads__basic_ad_tmp", "checksum": {"name": "sha256", "checksum": "46e4ec682f4ed2b33b3123c24ae2b20d9d9bce50ed7ef83b547dd83b57339f89"}, "tags": [], "refs": [], "sources": [["facebook_ads", "basic_ad"]], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/tmp/stg_facebook_ads__basic_ad_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads_source", "materialized": "view", "enabled": true}, "created_at": 1671058921.3525188, "compiled_code": "\n\nselect * \nfrom `dbt-package-testing`.`facebook_ads_integration_tests`.`facebook_ads_basic_ad_data`", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__basic_ad_tmp`"}, "model.facebook_ads_source.stg_facebook_ads__ad_history_tmp": {"compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.facebook_ads_source.facebook_ads.ad_history"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_facebook_ads_source", "fqn": ["facebook_ads_source", "tmp", "stg_facebook_ads__ad_history_tmp"], "unique_id": "model.facebook_ads_source.stg_facebook_ads__ad_history_tmp", "raw_code": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nselect * \nfrom {{ var('ad_history') }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "tmp/stg_facebook_ads__ad_history_tmp.sql", "original_file_path": "models/tmp/stg_facebook_ads__ad_history_tmp.sql", "name": "stg_facebook_ads__ad_history_tmp", "alias": "stg_facebook_ads__ad_history_tmp", "checksum": {"name": "sha256", "checksum": "438f57c6bd1ce2a8c4a73600c1e12878efc0a091f42b3a43ed0334067779eace"}, "tags": [], "refs": [], "sources": [["facebook_ads", "ad_history"]], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/tmp/stg_facebook_ads__ad_history_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads_source", "materialized": "view", "enabled": true}, "created_at": 1671058921.3558028, "compiled_code": "\n\nselect * \nfrom `dbt-package-testing`.`facebook_ads_integration_tests`.`facebook_ads_ad_history_data`", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__ad_history_tmp`"}, "model.facebook_ads_source.stg_facebook_ads__campaign_history_tmp": {"compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.facebook_ads_source.facebook_ads.campaign_history"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_facebook_ads_source", "fqn": ["facebook_ads_source", "tmp", "stg_facebook_ads__campaign_history_tmp"], "unique_id": "model.facebook_ads_source.stg_facebook_ads__campaign_history_tmp", "raw_code": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nselect * \nfrom {{ var('campaign_history') }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "tmp/stg_facebook_ads__campaign_history_tmp.sql", "original_file_path": "models/tmp/stg_facebook_ads__campaign_history_tmp.sql", "name": "stg_facebook_ads__campaign_history_tmp", "alias": "stg_facebook_ads__campaign_history_tmp", "checksum": {"name": "sha256", "checksum": "617b7e683421a5712cc129d02e07eeb0f5876b7fdeb680429b4d6069b4dcdfc1"}, "tags": [], "refs": [], "sources": [["facebook_ads", "campaign_history"]], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/tmp/stg_facebook_ads__campaign_history_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads_source", "materialized": "view", "enabled": true}, "created_at": 1671058921.359065, "compiled_code": "\n\nselect * \nfrom `dbt-package-testing`.`facebook_ads_integration_tests`.`facebook_ads_campaign_history_data`", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__campaign_history_tmp`"}, "model.facebook_ads_source.stg_facebook_ads__creative_history_tmp": {"compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.facebook_ads_source.facebook_ads.creative_history"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_facebook_ads_source", "fqn": ["facebook_ads_source", "tmp", "stg_facebook_ads__creative_history_tmp"], "unique_id": "model.facebook_ads_source.stg_facebook_ads__creative_history_tmp", "raw_code": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nselect * \nfrom {{ var('creative_history') }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "tmp/stg_facebook_ads__creative_history_tmp.sql", "original_file_path": "models/tmp/stg_facebook_ads__creative_history_tmp.sql", "name": "stg_facebook_ads__creative_history_tmp", "alias": "stg_facebook_ads__creative_history_tmp", "checksum": {"name": "sha256", "checksum": "9cf5ffb0bc31c525388d169c90fb8b6150e5141777b14337c0fee0730faeecd9"}, "tags": [], "refs": [], "sources": [["facebook_ads", "creative_history"]], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/tmp/stg_facebook_ads__creative_history_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads_source", "materialized": "view", "enabled": true}, "created_at": 1671058921.362307, "compiled_code": "\n\nselect * \nfrom `dbt-package-testing`.`facebook_ads_integration_tests`.`facebook_ads_creative_history_data`", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__creative_history_tmp`"}, "model.facebook_ads_source.stg_facebook_ads__account_history_tmp": {"compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.facebook_ads_source.facebook_ads.account_history"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_facebook_ads_source", "fqn": ["facebook_ads_source", "tmp", "stg_facebook_ads__account_history_tmp"], "unique_id": "model.facebook_ads_source.stg_facebook_ads__account_history_tmp", "raw_code": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nselect * \nfrom {{ var('account_history') }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "tmp/stg_facebook_ads__account_history_tmp.sql", "original_file_path": "models/tmp/stg_facebook_ads__account_history_tmp.sql", "name": "stg_facebook_ads__account_history_tmp", "alias": "stg_facebook_ads__account_history_tmp", "checksum": {"name": "sha256", "checksum": "caa1f4a119ca187458bff00bd8682eabffdba914962ff8ae7d4cfe55f25833ff"}, "tags": [], "refs": [], "sources": [["facebook_ads", "account_history"]], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/tmp/stg_facebook_ads__account_history_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads_source", "materialized": "view", "enabled": true}, "created_at": 1671058921.36559, "compiled_code": "\n\nselect * \nfrom `dbt-package-testing`.`facebook_ads_integration_tests`.`facebook_ads_account_history_data`", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__account_history_tmp`"}, "test.facebook_ads.not_null_facebook_ads__url_report_base_url.b7757e50be": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "base_url", "model": "{{ get_where_subquery(ref('facebook_ads__url_report')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.facebook_ads.facebook_ads__url_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads", "not_null_facebook_ads__url_report_base_url"], "unique_id": "test.facebook_ads.not_null_facebook_ads__url_report_base_url.b7757e50be", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}{{ config(enabled=True) }}", "language": "sql", "package_name": "facebook_ads", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "not_null_facebook_ads__url_report_base_url.sql", "original_file_path": "models/facebook.yml", "name": "not_null_facebook_ads__url_report_base_url", "alias": "not_null_facebook_ads__url_report_base_url", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["facebook_ads__url_report"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads/models/facebook.yml/not_null_facebook_ads__url_report_base_url.sql", "build_path": null, "deferred": false, "unrendered_config": {"enabled": true}, "created_at": 1671058921.429904, "compiled_code": "\n \n \n\n\n\nselect base_url\nfrom `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads`.`facebook_ads__url_report`\nwhere base_url is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "base_url", "file_key_name": "models.facebook_ads__url_report"}, "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__url_report_date_day__account_id__campaign_id__ad_set_id__ad_id.03a7e82eb7": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["date_day", "account_id", "campaign_id", "ad_set_id", "ad_id"], "model": "{{ get_where_subquery(ref('facebook_ads__url_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.facebook_ads.facebook_ads__url_report"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_bf91f5ef1059f34c9059e06e293717eb", "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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads", "dbt_utils_unique_combination_of_columns_facebook_ads__url_report_date_day__account_id__campaign_id__ad_set_id__ad_id"], "unique_id": "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__url_report_date_day__account_id__campaign_id__ad_set_id__ad_id.03a7e82eb7", "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(enabled=True,alias=\"dbt_utils_unique_combination_o_bf91f5ef1059f34c9059e06e293717eb\") }}", "language": "sql", "package_name": "facebook_ads", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "dbt_utils_unique_combination_o_bf91f5ef1059f34c9059e06e293717eb.sql", "original_file_path": "models/facebook.yml", "name": "dbt_utils_unique_combination_of_columns_facebook_ads__url_report_date_day__account_id__campaign_id__ad_set_id__ad_id", "alias": "dbt_utils_unique_combination_o_bf91f5ef1059f34c9059e06e293717eb", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["facebook_ads__url_report"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads/models/facebook.yml/dbt_utils_unique_combination_o_bf91f5ef1059f34c9059e06e293717eb.sql", "build_path": null, "deferred": false, "unrendered_config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_bf91f5ef1059f34c9059e06e293717eb"}, "created_at": 1671058921.4312918, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n date_day, account_id, campaign_id, ad_set_id, ad_id\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads`.`facebook_ads__url_report`\n group by date_day, account_id, campaign_id, ad_set_id, ad_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.facebook_ads__url_report"}, "test.facebook_ads.not_null_facebook_ads__ad_report_ad_id.3811d9c238": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "ad_id", "model": "{{ get_where_subquery(ref('facebook_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.facebook_ads.facebook_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads", "not_null_facebook_ads__ad_report_ad_id"], "unique_id": "test.facebook_ads.not_null_facebook_ads__ad_report_ad_id.3811d9c238", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "facebook_ads", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "not_null_facebook_ads__ad_report_ad_id.sql", "original_file_path": "models/facebook.yml", "name": "not_null_facebook_ads__ad_report_ad_id", "alias": "not_null_facebook_ads__ad_report_ad_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["facebook_ads__ad_report"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads/models/facebook.yml/not_null_facebook_ads__ad_report_ad_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1671058921.4385338, "compiled_code": "\n \n \n\n\n\nselect ad_id\nfrom `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads`.`facebook_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.facebook_ads__ad_report"}, "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__ad_report_date_day__account_id__campaign_id__ad_set_id__ad_id.0a25b64738": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["date_day", "account_id", "campaign_id", "ad_set_id", "ad_id"], "model": "{{ get_where_subquery(ref('facebook_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.facebook_ads.facebook_ads__ad_report"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_6751270b8425b93a72568a6ff0b52e2e", "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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads", "dbt_utils_unique_combination_of_columns_facebook_ads__ad_report_date_day__account_id__campaign_id__ad_set_id__ad_id"], "unique_id": "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__ad_report_date_day__account_id__campaign_id__ad_set_id__ad_id.0a25b64738", "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_6751270b8425b93a72568a6ff0b52e2e\") }}", "language": "sql", "package_name": "facebook_ads", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "dbt_utils_unique_combination_o_6751270b8425b93a72568a6ff0b52e2e.sql", "original_file_path": "models/facebook.yml", "name": "dbt_utils_unique_combination_of_columns_facebook_ads__ad_report_date_day__account_id__campaign_id__ad_set_id__ad_id", "alias": "dbt_utils_unique_combination_o_6751270b8425b93a72568a6ff0b52e2e", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["facebook_ads__ad_report"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads/models/facebook.yml/dbt_utils_unique_combination_o_6751270b8425b93a72568a6ff0b52e2e.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_6751270b8425b93a72568a6ff0b52e2e"}, "created_at": 1671058921.43952, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n date_day, account_id, campaign_id, ad_set_id, ad_id\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads`.`facebook_ads__ad_report`\n group by date_day, account_id, campaign_id, ad_set_id, ad_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.facebook_ads__ad_report"}, "test.facebook_ads.not_null_facebook_ads__ad_set_report_ad_set_id.1ac870f5e4": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "ad_set_id", "model": "{{ get_where_subquery(ref('facebook_ads__ad_set_report')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.facebook_ads.facebook_ads__ad_set_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads", "not_null_facebook_ads__ad_set_report_ad_set_id"], "unique_id": "test.facebook_ads.not_null_facebook_ads__ad_set_report_ad_set_id.1ac870f5e4", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "facebook_ads", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "not_null_facebook_ads__ad_set_report_ad_set_id.sql", "original_file_path": "models/facebook.yml", "name": "not_null_facebook_ads__ad_set_report_ad_set_id", "alias": "not_null_facebook_ads__ad_set_report_ad_set_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["facebook_ads__ad_set_report"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads/models/facebook.yml/not_null_facebook_ads__ad_set_report_ad_set_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1671058921.4428859, "compiled_code": "\n \n \n\n\n\nselect ad_set_id\nfrom `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads`.`facebook_ads__ad_set_report`\nwhere ad_set_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "ad_set_id", "file_key_name": "models.facebook_ads__ad_set_report"}, "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__ad_set_report_date_day__account_id__campaign_id__ad_set_id.3dd4da872f": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["date_day", "account_id", "campaign_id", "ad_set_id"], "model": "{{ get_where_subquery(ref('facebook_ads__ad_set_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.facebook_ads.facebook_ads__ad_set_report"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_b03f58e6a60804a93ab31dbb358dad74", "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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads", "dbt_utils_unique_combination_of_columns_facebook_ads__ad_set_report_date_day__account_id__campaign_id__ad_set_id"], "unique_id": "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__ad_set_report_date_day__account_id__campaign_id__ad_set_id.3dd4da872f", "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_b03f58e6a60804a93ab31dbb358dad74\") }}", "language": "sql", "package_name": "facebook_ads", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "dbt_utils_unique_combination_o_b03f58e6a60804a93ab31dbb358dad74.sql", "original_file_path": "models/facebook.yml", "name": "dbt_utils_unique_combination_of_columns_facebook_ads__ad_set_report_date_day__account_id__campaign_id__ad_set_id", "alias": "dbt_utils_unique_combination_o_b03f58e6a60804a93ab31dbb358dad74", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["facebook_ads__ad_set_report"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads/models/facebook.yml/dbt_utils_unique_combination_o_b03f58e6a60804a93ab31dbb358dad74.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_b03f58e6a60804a93ab31dbb358dad74"}, "created_at": 1671058921.443944, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n date_day, account_id, campaign_id, ad_set_id\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads`.`facebook_ads__ad_set_report`\n group by date_day, account_id, campaign_id, ad_set_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.facebook_ads__ad_set_report"}, "test.facebook_ads.not_null_facebook_ads__campaign_report_campaign_id.d4f96d8d21": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "campaign_id", "model": "{{ get_where_subquery(ref('facebook_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.facebook_ads.facebook_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads", "not_null_facebook_ads__campaign_report_campaign_id"], "unique_id": "test.facebook_ads.not_null_facebook_ads__campaign_report_campaign_id.d4f96d8d21", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "facebook_ads", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "not_null_facebook_ads__campaign_report_campaign_id.sql", "original_file_path": "models/facebook.yml", "name": "not_null_facebook_ads__campaign_report_campaign_id", "alias": "not_null_facebook_ads__campaign_report_campaign_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["facebook_ads__campaign_report"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads/models/facebook.yml/not_null_facebook_ads__campaign_report_campaign_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1671058921.447215, "compiled_code": "\n \n \n\n\n\nselect campaign_id\nfrom `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads`.`facebook_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.facebook_ads__campaign_report"}, "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__campaign_report_date_day__account_id__campaign_id.7cd75107e6": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["date_day", "account_id", "campaign_id"], "model": "{{ get_where_subquery(ref('facebook_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.facebook_ads.facebook_ads__campaign_report"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_cf7853fdf8e24958f5a0e3e1b7c1ced1", "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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads", "dbt_utils_unique_combination_of_columns_facebook_ads__campaign_report_date_day__account_id__campaign_id"], "unique_id": "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__campaign_report_date_day__account_id__campaign_id.7cd75107e6", "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_cf7853fdf8e24958f5a0e3e1b7c1ced1\") }}", "language": "sql", "package_name": "facebook_ads", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "dbt_utils_unique_combination_o_cf7853fdf8e24958f5a0e3e1b7c1ced1.sql", "original_file_path": "models/facebook.yml", "name": "dbt_utils_unique_combination_of_columns_facebook_ads__campaign_report_date_day__account_id__campaign_id", "alias": "dbt_utils_unique_combination_o_cf7853fdf8e24958f5a0e3e1b7c1ced1", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["facebook_ads__campaign_report"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads/models/facebook.yml/dbt_utils_unique_combination_o_cf7853fdf8e24958f5a0e3e1b7c1ced1.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_cf7853fdf8e24958f5a0e3e1b7c1ced1"}, "created_at": 1671058921.4481652, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n date_day, account_id, campaign_id\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads`.`facebook_ads__campaign_report`\n group by date_day, account_id, campaign_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.facebook_ads__campaign_report"}, "test.facebook_ads.not_null_facebook_ads__account_report_account_id.9be02b4024": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "account_id", "model": "{{ get_where_subquery(ref('facebook_ads__account_report')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.facebook_ads.facebook_ads__account_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads", "not_null_facebook_ads__account_report_account_id"], "unique_id": "test.facebook_ads.not_null_facebook_ads__account_report_account_id.9be02b4024", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "facebook_ads", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "not_null_facebook_ads__account_report_account_id.sql", "original_file_path": "models/facebook.yml", "name": "not_null_facebook_ads__account_report_account_id", "alias": "not_null_facebook_ads__account_report_account_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["facebook_ads__account_report"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads/models/facebook.yml/not_null_facebook_ads__account_report_account_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1671058921.4512472, "compiled_code": "\n \n \n\n\n\nselect account_id\nfrom `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads`.`facebook_ads__account_report`\nwhere account_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "account_id", "file_key_name": "models.facebook_ads__account_report"}, "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__account_report_date_day__account_id.5a94423e40": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["date_day", "account_id"], "model": "{{ get_where_subquery(ref('facebook_ads__account_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.facebook_ads.facebook_ads__account_report"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_19fe7721a9f8cd99b91dca268368654e", "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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads", "dbt_utils_unique_combination_of_columns_facebook_ads__account_report_date_day__account_id"], "unique_id": "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__account_report_date_day__account_id.5a94423e40", "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_19fe7721a9f8cd99b91dca268368654e\") }}", "language": "sql", "package_name": "facebook_ads", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "dbt_utils_unique_combination_o_19fe7721a9f8cd99b91dca268368654e.sql", "original_file_path": "models/facebook.yml", "name": "dbt_utils_unique_combination_of_columns_facebook_ads__account_report_date_day__account_id", "alias": "dbt_utils_unique_combination_o_19fe7721a9f8cd99b91dca268368654e", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["facebook_ads__account_report"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads/models/facebook.yml/dbt_utils_unique_combination_o_19fe7721a9f8cd99b91dca268368654e.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_19fe7721a9f8cd99b91dca268368654e"}, "created_at": 1671058921.452332, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n date_day, account_id\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads`.`facebook_ads__account_report`\n group by date_day, account_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.facebook_ads__account_report"}, "test.facebook_ads.not_null_facebook_ads__url_tags__fivetran_id.151d9515f3": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "_fivetran_id", "model": "{{ get_where_subquery(ref('facebook_ads__url_tags')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.facebook_ads.facebook_ads__url_tags"]}, "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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads", "not_null_facebook_ads__url_tags__fivetran_id"], "unique_id": "test.facebook_ads.not_null_facebook_ads__url_tags__fivetran_id.151d9515f3", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "facebook_ads", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "not_null_facebook_ads__url_tags__fivetran_id.sql", "original_file_path": "models/facebook.yml", "name": "not_null_facebook_ads__url_tags__fivetran_id", "alias": "not_null_facebook_ads__url_tags__fivetran_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["facebook_ads__url_tags"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads/models/facebook.yml/not_null_facebook_ads__url_tags__fivetran_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1671058921.455338, "compiled_code": "\n \n \n\n\n\nselect _fivetran_id\nfrom `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads`.`facebook_ads__url_tags`\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.facebook_ads__url_tags"}, "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__url_tags__fivetran_id__key__type.ba044777d3": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["_fivetran_id", "key", "type"], "model": "{{ get_where_subquery(ref('facebook_ads__url_tags')) }}"}, "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.facebook_ads.facebook_ads__url_tags"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_496bf013366c506c1f3135f19ec7080a", "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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads", "dbt_utils_unique_combination_of_columns_facebook_ads__url_tags__fivetran_id__key__type"], "unique_id": "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__url_tags__fivetran_id__key__type.ba044777d3", "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_496bf013366c506c1f3135f19ec7080a\") }}", "language": "sql", "package_name": "facebook_ads", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "dbt_utils_unique_combination_o_496bf013366c506c1f3135f19ec7080a.sql", "original_file_path": "models/facebook.yml", "name": "dbt_utils_unique_combination_of_columns_facebook_ads__url_tags__fivetran_id__key__type", "alias": "dbt_utils_unique_combination_o_496bf013366c506c1f3135f19ec7080a", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["facebook_ads__url_tags"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads/models/facebook.yml/dbt_utils_unique_combination_o_496bf013366c506c1f3135f19ec7080a.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_496bf013366c506c1f3135f19ec7080a"}, "created_at": 1671058921.456295, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n _fivetran_id, key, type\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads`.`facebook_ads__url_tags`\n group by _fivetran_id, key, type\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.facebook_ads__url_tags"}, "test.facebook_ads_source.not_null_stg_facebook_ads__account_history_account_id.f1cf38c40f": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "account_id", "model": "{{ get_where_subquery(ref('stg_facebook_ads__account_history')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__account_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "not_null_stg_facebook_ads__account_history_account_id"], "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__account_history_account_id.f1cf38c40f", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "not_null_stg_facebook_ads__account_history_account_id.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "not_null_stg_facebook_ads__account_history_account_id", "alias": "not_null_stg_facebook_ads__account_history_account_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__account_history"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/not_null_stg_facebook_ads__account_history_account_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1671058921.47375, "compiled_code": "\n \n \n\n\n\nselect account_id\nfrom `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__account_history`\nwhere account_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "account_id", "file_key_name": "models.stg_facebook_ads__account_history"}, "test.facebook_ads_source.not_null_stg_facebook_ads__account_history__fivetran_synced.0570e35e1f": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "_fivetran_synced", "model": "{{ get_where_subquery(ref('stg_facebook_ads__account_history')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__account_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "not_null_stg_facebook_ads__account_history__fivetran_synced"], "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__account_history__fivetran_synced.0570e35e1f", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "not_null_stg_facebook_ads__account_history__fivetran_synced.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "not_null_stg_facebook_ads__account_history__fivetran_synced", "alias": "not_null_stg_facebook_ads__account_history__fivetran_synced", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__account_history"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/not_null_stg_facebook_ads__account_history__fivetran_synced.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1671058921.4747279, "compiled_code": "\n \n \n\n\n\nselect _fivetran_synced\nfrom `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__account_history`\nwhere _fivetran_synced is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "_fivetran_synced", "file_key_name": "models.stg_facebook_ads__account_history"}, "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__account_history_account_id___fivetran_synced.f9b4d28fa2": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["account_id", "_fivetran_synced"], "model": "{{ get_where_subquery(ref('stg_facebook_ads__account_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.facebook_ads_source.stg_facebook_ads__account_history"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_6c9521eb7e9747df57d9737e83cb864f", "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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "dbt_utils_unique_combination_of_columns_stg_facebook_ads__account_history_account_id___fivetran_synced"], "unique_id": "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__account_history_account_id___fivetran_synced.f9b4d28fa2", "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_6c9521eb7e9747df57d9737e83cb864f\") }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "dbt_utils_unique_combination_o_6c9521eb7e9747df57d9737e83cb864f.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_facebook_ads__account_history_account_id___fivetran_synced", "alias": "dbt_utils_unique_combination_o_6c9521eb7e9747df57d9737e83cb864f", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__account_history"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/dbt_utils_unique_combination_o_6c9521eb7e9747df57d9737e83cb864f.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_6c9521eb7e9747df57d9737e83cb864f"}, "created_at": 1671058921.475681, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n account_id, _fivetran_synced\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__account_history`\n group by account_id, _fivetran_synced\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_facebook_ads__account_history"}, "test.facebook_ads_source.not_null_stg_facebook_ads__ad_history_ad_id.11429d3064": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "ad_id", "model": "{{ get_where_subquery(ref('stg_facebook_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.facebook_ads_source.stg_facebook_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "not_null_stg_facebook_ads__ad_history_ad_id"], "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__ad_history_ad_id.11429d3064", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "not_null_stg_facebook_ads__ad_history_ad_id.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "not_null_stg_facebook_ads__ad_history_ad_id", "alias": "not_null_stg_facebook_ads__ad_history_ad_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__ad_history"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/not_null_stg_facebook_ads__ad_history_ad_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1671058921.478254, "compiled_code": "\n \n \n\n\n\nselect ad_id\nfrom `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_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_facebook_ads__ad_history"}, "test.facebook_ads_source.not_null_stg_facebook_ads__ad_history_updated_at.250a5a84e4": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "updated_at", "model": "{{ get_where_subquery(ref('stg_facebook_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.facebook_ads_source.stg_facebook_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "not_null_stg_facebook_ads__ad_history_updated_at"], "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__ad_history_updated_at.250a5a84e4", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "not_null_stg_facebook_ads__ad_history_updated_at.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "not_null_stg_facebook_ads__ad_history_updated_at", "alias": "not_null_stg_facebook_ads__ad_history_updated_at", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__ad_history"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/not_null_stg_facebook_ads__ad_history_updated_at.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1671058921.479181, "compiled_code": "\n \n \n\n\n\nselect updated_at\nfrom `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__ad_history`\nwhere updated_at is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "updated_at", "file_key_name": "models.stg_facebook_ads__ad_history"}, "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__ad_history_ad_id__updated_at.2922c18b58": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["ad_id", "updated_at"], "model": "{{ get_where_subquery(ref('stg_facebook_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.facebook_ads_source.stg_facebook_ads__ad_history"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_da2a7458e53ca8b420768a0c3e8e2137", "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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "dbt_utils_unique_combination_of_columns_stg_facebook_ads__ad_history_ad_id__updated_at"], "unique_id": "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__ad_history_ad_id__updated_at.2922c18b58", "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_da2a7458e53ca8b420768a0c3e8e2137\") }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "dbt_utils_unique_combination_o_da2a7458e53ca8b420768a0c3e8e2137.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_facebook_ads__ad_history_ad_id__updated_at", "alias": "dbt_utils_unique_combination_o_da2a7458e53ca8b420768a0c3e8e2137", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__ad_history"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/dbt_utils_unique_combination_o_da2a7458e53ca8b420768a0c3e8e2137.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_da2a7458e53ca8b420768a0c3e8e2137"}, "created_at": 1671058921.4801102, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n ad_id, updated_at\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__ad_history`\n group by ad_id, updated_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_facebook_ads__ad_history"}, "test.facebook_ads_source.not_null_stg_facebook_ads__ad_set_history_ad_set_id.e19a1df1bb": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "ad_set_id", "model": "{{ get_where_subquery(ref('stg_facebook_ads__ad_set_history')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__ad_set_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "not_null_stg_facebook_ads__ad_set_history_ad_set_id"], "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__ad_set_history_ad_set_id.e19a1df1bb", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "not_null_stg_facebook_ads__ad_set_history_ad_set_id.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "not_null_stg_facebook_ads__ad_set_history_ad_set_id", "alias": "not_null_stg_facebook_ads__ad_set_history_ad_set_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__ad_set_history"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/not_null_stg_facebook_ads__ad_set_history_ad_set_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1671058921.482659, "compiled_code": "\n \n \n\n\n\nselect ad_set_id\nfrom `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__ad_set_history`\nwhere ad_set_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "ad_set_id", "file_key_name": "models.stg_facebook_ads__ad_set_history"}, "test.facebook_ads_source.not_null_stg_facebook_ads__ad_set_history_updated_at.ef7fafe0fa": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "updated_at", "model": "{{ get_where_subquery(ref('stg_facebook_ads__ad_set_history')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__ad_set_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "not_null_stg_facebook_ads__ad_set_history_updated_at"], "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__ad_set_history_updated_at.ef7fafe0fa", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "not_null_stg_facebook_ads__ad_set_history_updated_at.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "not_null_stg_facebook_ads__ad_set_history_updated_at", "alias": "not_null_stg_facebook_ads__ad_set_history_updated_at", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__ad_set_history"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/not_null_stg_facebook_ads__ad_set_history_updated_at.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1671058921.4835808, "compiled_code": "\n \n \n\n\n\nselect updated_at\nfrom `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__ad_set_history`\nwhere updated_at is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "updated_at", "file_key_name": "models.stg_facebook_ads__ad_set_history"}, "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__ad_set_history_ad_set_id__updated_at.0a60ad0fef": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["ad_set_id", "updated_at"], "model": "{{ get_where_subquery(ref('stg_facebook_ads__ad_set_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.facebook_ads_source.stg_facebook_ads__ad_set_history"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_214e0ea8c1d3eb6e1c1fae451c60969f", "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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "dbt_utils_unique_combination_of_columns_stg_facebook_ads__ad_set_history_ad_set_id__updated_at"], "unique_id": "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__ad_set_history_ad_set_id__updated_at.0a60ad0fef", "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_214e0ea8c1d3eb6e1c1fae451c60969f\") }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "dbt_utils_unique_combination_o_214e0ea8c1d3eb6e1c1fae451c60969f.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_facebook_ads__ad_set_history_ad_set_id__updated_at", "alias": "dbt_utils_unique_combination_o_214e0ea8c1d3eb6e1c1fae451c60969f", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__ad_set_history"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/dbt_utils_unique_combination_o_214e0ea8c1d3eb6e1c1fae451c60969f.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_214e0ea8c1d3eb6e1c1fae451c60969f"}, "created_at": 1671058921.484705, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n ad_set_id, updated_at\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__ad_set_history`\n group by ad_set_id, updated_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_facebook_ads__ad_set_history"}, "test.facebook_ads_source.not_null_stg_facebook_ads__campaign_history_campaign_id.1ca7a83852": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "campaign_id", "model": "{{ get_where_subquery(ref('stg_facebook_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.facebook_ads_source.stg_facebook_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "not_null_stg_facebook_ads__campaign_history_campaign_id"], "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__campaign_history_campaign_id.1ca7a83852", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "not_null_stg_facebook_ads__campaign_history_campaign_id.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "not_null_stg_facebook_ads__campaign_history_campaign_id", "alias": "not_null_stg_facebook_ads__campaign_history_campaign_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__campaign_history"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/not_null_stg_facebook_ads__campaign_history_campaign_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1671058921.487417, "compiled_code": "\n \n \n\n\n\nselect campaign_id\nfrom `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_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_facebook_ads__campaign_history"}, "test.facebook_ads_source.not_null_stg_facebook_ads__campaign_history_updated_at.9e59f99270": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "updated_at", "model": "{{ get_where_subquery(ref('stg_facebook_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.facebook_ads_source.stg_facebook_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "not_null_stg_facebook_ads__campaign_history_updated_at"], "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__campaign_history_updated_at.9e59f99270", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "not_null_stg_facebook_ads__campaign_history_updated_at.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "not_null_stg_facebook_ads__campaign_history_updated_at", "alias": "not_null_stg_facebook_ads__campaign_history_updated_at", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__campaign_history"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/not_null_stg_facebook_ads__campaign_history_updated_at.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1671058921.488357, "compiled_code": "\n \n \n\n\n\nselect updated_at\nfrom `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__campaign_history`\nwhere updated_at is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "updated_at", "file_key_name": "models.stg_facebook_ads__campaign_history"}, "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__campaign_history_campaign_id__updated_at.7437b392c2": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["campaign_id", "updated_at"], "model": "{{ get_where_subquery(ref('stg_facebook_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.facebook_ads_source.stg_facebook_ads__campaign_history"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_6067330a8eb187d5024e9840cd7cbd78", "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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "dbt_utils_unique_combination_of_columns_stg_facebook_ads__campaign_history_campaign_id__updated_at"], "unique_id": "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__campaign_history_campaign_id__updated_at.7437b392c2", "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_6067330a8eb187d5024e9840cd7cbd78\") }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "dbt_utils_unique_combination_o_6067330a8eb187d5024e9840cd7cbd78.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_facebook_ads__campaign_history_campaign_id__updated_at", "alias": "dbt_utils_unique_combination_o_6067330a8eb187d5024e9840cd7cbd78", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__campaign_history"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/dbt_utils_unique_combination_o_6067330a8eb187d5024e9840cd7cbd78.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_6067330a8eb187d5024e9840cd7cbd78"}, "created_at": 1671058921.489301, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n campaign_id, updated_at\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__campaign_history`\n group by campaign_id, updated_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_facebook_ads__campaign_history"}, "test.facebook_ads_source.not_null_stg_facebook_ads__creative_history__fivetran_synced.3b0593cb4f": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "_fivetran_synced", "model": "{{ get_where_subquery(ref('stg_facebook_ads__creative_history')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__creative_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "not_null_stg_facebook_ads__creative_history__fivetran_synced"], "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__creative_history__fivetran_synced.3b0593cb4f", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "not_null_stg_facebook_ads__creative_history__fivetran_synced.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "not_null_stg_facebook_ads__creative_history__fivetran_synced", "alias": "not_null_stg_facebook_ads__creative_history__fivetran_synced", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__creative_history"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/not_null_stg_facebook_ads__creative_history__fivetran_synced.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1671058921.492121, "compiled_code": "\n \n \n\n\n\nselect _fivetran_synced\nfrom `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__creative_history`\nwhere _fivetran_synced is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "_fivetran_synced", "file_key_name": "models.stg_facebook_ads__creative_history"}, "test.facebook_ads_source.not_null_stg_facebook_ads__creative_history_creative_id.eb4d804261": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "creative_id", "model": "{{ get_where_subquery(ref('stg_facebook_ads__creative_history')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__creative_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "not_null_stg_facebook_ads__creative_history_creative_id"], "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__creative_history_creative_id.eb4d804261", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "not_null_stg_facebook_ads__creative_history_creative_id.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "not_null_stg_facebook_ads__creative_history_creative_id", "alias": "not_null_stg_facebook_ads__creative_history_creative_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__creative_history"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/not_null_stg_facebook_ads__creative_history_creative_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1671058921.4930491, "compiled_code": "\n \n \n\n\n\nselect creative_id\nfrom `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__creative_history`\nwhere creative_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "creative_id", "file_key_name": "models.stg_facebook_ads__creative_history"}, "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__creative_history_creative_id___fivetran_synced.69ddc26562": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["creative_id", "_fivetran_synced"], "model": "{{ get_where_subquery(ref('stg_facebook_ads__creative_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.facebook_ads_source.stg_facebook_ads__creative_history"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_c52d893dfedd530a7cd19c495da30217", "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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "dbt_utils_unique_combination_of_columns_stg_facebook_ads__creative_history_creative_id___fivetran_synced"], "unique_id": "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__creative_history_creative_id___fivetran_synced.69ddc26562", "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_c52d893dfedd530a7cd19c495da30217\") }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "dbt_utils_unique_combination_o_c52d893dfedd530a7cd19c495da30217.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_facebook_ads__creative_history_creative_id___fivetran_synced", "alias": "dbt_utils_unique_combination_o_c52d893dfedd530a7cd19c495da30217", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__creative_history"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/dbt_utils_unique_combination_o_c52d893dfedd530a7cd19c495da30217.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_c52d893dfedd530a7cd19c495da30217"}, "created_at": 1671058921.494121, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n creative_id, _fivetran_synced\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__creative_history`\n group by creative_id, _fivetran_synced\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_facebook_ads__creative_history"}, "test.facebook_ads_source.not_null_stg_facebook_ads__basic_ad_ad_id.2611b250fc": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "ad_id", "model": "{{ get_where_subquery(ref('stg_facebook_ads__basic_ad')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__basic_ad"]}, "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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "not_null_stg_facebook_ads__basic_ad_ad_id"], "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__basic_ad_ad_id.2611b250fc", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "not_null_stg_facebook_ads__basic_ad_ad_id.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "not_null_stg_facebook_ads__basic_ad_ad_id", "alias": "not_null_stg_facebook_ads__basic_ad_ad_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__basic_ad"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/not_null_stg_facebook_ads__basic_ad_ad_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1671058921.4965491, "compiled_code": "\n \n \n\n\n\nselect ad_id\nfrom `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__basic_ad`\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_facebook_ads__basic_ad"}, "test.facebook_ads_source.not_null_stg_facebook_ads__basic_ad_account_id.d06f6d861b": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "account_id", "model": "{{ get_where_subquery(ref('stg_facebook_ads__basic_ad')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__basic_ad"]}, "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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "not_null_stg_facebook_ads__basic_ad_account_id"], "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__basic_ad_account_id.d06f6d861b", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "not_null_stg_facebook_ads__basic_ad_account_id.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "not_null_stg_facebook_ads__basic_ad_account_id", "alias": "not_null_stg_facebook_ads__basic_ad_account_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__basic_ad"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/not_null_stg_facebook_ads__basic_ad_account_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1671058921.4976041, "compiled_code": "\n \n \n\n\n\nselect account_id\nfrom `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__basic_ad`\nwhere account_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "account_id", "file_key_name": "models.stg_facebook_ads__basic_ad"}, "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__basic_ad_date_day__ad_id__account_id.bd909529e7": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["date_day", "ad_id", "account_id"], "model": "{{ get_where_subquery(ref('stg_facebook_ads__basic_ad')) }}"}, "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.facebook_ads_source.stg_facebook_ads__basic_ad"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_42caf2b48bab7db5c316ae2524dd0683", "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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "dbt_utils_unique_combination_of_columns_stg_facebook_ads__basic_ad_date_day__ad_id__account_id"], "unique_id": "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__basic_ad_date_day__ad_id__account_id.bd909529e7", "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_42caf2b48bab7db5c316ae2524dd0683\") }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "dbt_utils_unique_combination_o_42caf2b48bab7db5c316ae2524dd0683.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_facebook_ads__basic_ad_date_day__ad_id__account_id", "alias": "dbt_utils_unique_combination_o_42caf2b48bab7db5c316ae2524dd0683", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__basic_ad"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/dbt_utils_unique_combination_o_42caf2b48bab7db5c316ae2524dd0683.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_42caf2b48bab7db5c316ae2524dd0683"}, "created_at": 1671058921.498532, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n date_day, ad_id, account_id\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__basic_ad`\n group by date_day, ad_id, account_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_facebook_ads__basic_ad"}}, "sources": {"source.facebook_ads_source.facebook_ads.account_history": {"fqn": ["facebook_ads_source", "facebook_ads", "account_history"], "database": "dbt-package-testing", "schema": "facebook_ads_integration_tests", "unique_id": "source.facebook_ads_source.facebook_ads.account_history", "package_name": "facebook_ads_source", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "models/src_facebook_ads.yml", "original_file_path": "models/src_facebook_ads.yml", "name": "account_history", "source_name": "facebook_ads", "source_description": "", "loader": "Fivetran", "identifier": "facebook_ads_account_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 in this table reflects a version of a Facebook ad account.", "columns": {"id": {"name": "id", "description": "The ID of the ad account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Name of the account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "When the record was last synced by Fivetran.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_status": {"name": "account_status", "description": "Current status of account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "business_country_code": {"name": "business_country_code", "description": "Country code of business associated to account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_time": {"name": "created_time", "description": "The time account was created.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "currency": {"name": "currency", "description": "Currency associated with account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "timezone_name": {"name": "timezone_name", "description": "Timezone associated with account.", "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`.`facebook_ads_integration_tests`.`facebook_ads_account_history_data`", "created_at": 1671058921.5182028}, "source.facebook_ads_source.facebook_ads.ad_history": {"fqn": ["facebook_ads_source", "facebook_ads", "ad_history"], "database": "dbt-package-testing", "schema": "facebook_ads_integration_tests", "unique_id": "source.facebook_ads_source.facebook_ads.ad_history", "package_name": "facebook_ads_source", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "models/src_facebook_ads.yml", "original_file_path": "models/src_facebook_ads.yml", "name": "ad_history", "source_name": "facebook_ads", "source_description": "", "loader": "Fivetran", "identifier": "facebook_ads_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 in this table reflects a version of a Facebook ad.", "columns": {"id": {"name": "id", "description": "The ID of this ad.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "The ID of the ad account that this ad belongs to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_set_id": {"name": "ad_set_id", "description": "ID of the ad set that contains the ad.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_id": {"name": "campaign_id", "description": "Ad campaign that contains this ad.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "creative_id": {"name": "creative_id", "description": "The ID of the ad creative to be used by this ad.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Name of the ad.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "When the record was last synced by Fivetran.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "updated_time": {"name": "updated_time", "description": "The timestamp of the last update of a record.", "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`.`facebook_ads_integration_tests`.`facebook_ads_ad_history_data`", "created_at": 1671058921.5182998}, "source.facebook_ads_source.facebook_ads.ad_set_history": {"fqn": ["facebook_ads_source", "facebook_ads", "ad_set_history"], "database": "dbt-package-testing", "schema": "facebook_ads_integration_tests", "unique_id": "source.facebook_ads_source.facebook_ads.ad_set_history", "package_name": "facebook_ads_source", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "models/src_facebook_ads.yml", "original_file_path": "models/src_facebook_ads.yml", "name": "ad_set_history", "source_name": "facebook_ads", "source_description": "", "loader": "Fivetran", "identifier": "facebook_ads_ad_set_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 in this table reflects a version of a Facebook ad set.", "columns": {"id": {"name": "id", "description": "The ID of the ad set.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "The ID of the ad account that this ad set belongs to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_id": {"name": "campaign_id", "description": "Ad campaign that contains this ad set.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "The name of the ad set.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "When the record was last synced by Fivetran.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "updated_time": {"name": "updated_time", "description": "The timestamp of the last update of a record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "start_time": {"name": "start_time", "description": "Timestamp of designated ad set start time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "end_time": {"name": "end_time", "description": "Timestamp of designated ad set end time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "bid_strategy": {"name": "bid_strategy", "description": "Bid strategy values are - 'LOWEST_COST_WITHOUT_CAP', 'LOWEST_COST_WITH_BID_CAP', 'COST_CAP', 'LOWEST_COST_WITH_MIN_ROAS'.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "daily_budget": {"name": "daily_budget", "description": "Daily budget of ad set.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "budget_remaining": {"name": "budget_remaining", "description": "Remaining budget of ad set.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status": {"name": "status", "description": "Status values are - 'ACTIVE', 'PAUSED', 'DELETED', 'ARCHIVED'.", "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`.`facebook_ads_integration_tests`.`facebook_ads_ad_set_history_data`", "created_at": 1671058921.518383}, "source.facebook_ads_source.facebook_ads.basic_ad": {"fqn": ["facebook_ads_source", "facebook_ads", "basic_ad"], "database": "dbt-package-testing", "schema": "facebook_ads_integration_tests", "unique_id": "source.facebook_ads_source.facebook_ads.basic_ad", "package_name": "facebook_ads_source", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "models/src_facebook_ads.yml", "original_file_path": "models/src_facebook_ads.yml", "name": "basic_ad", "source_name": "facebook_ads", "source_description": "", "loader": "Fivetran", "identifier": "facebook_ads_basic_ad_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 Facebook.", "columns": {"ad_id": {"name": "ad_id", "description": "The ID of the ad the report relates to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_name": {"name": "ad_name", "description": "Name of the ad the report relates to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "adset_name": {"name": "adset_name", "description": "Name of the ad set the report relates to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "date": {"name": "date", "description": "The date of the reported performance.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "The ID of the ad account that this ad belongs to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "The number of impressions the ad had on the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "inline_link_clicks": {"name": "inline_link_clicks", "description": "The number of clicks the ad had on the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The spend on the ad in the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "reach": {"name": "reach", "description": "The number of people who saw any content from your Page or about your Page. This metric is estimated.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "frequency": {"name": "frequency", "description": "The average number of times each person saw your ad; it is calculated as impressions divided by reach.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "When the record was last synced by Fivetran.", "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`.`facebook_ads_integration_tests`.`facebook_ads_basic_ad_data`", "created_at": 1671058921.518464}, "source.facebook_ads_source.facebook_ads.campaign_history": {"fqn": ["facebook_ads_source", "facebook_ads", "campaign_history"], "database": "dbt-package-testing", "schema": "facebook_ads_integration_tests", "unique_id": "source.facebook_ads_source.facebook_ads.campaign_history", "package_name": "facebook_ads_source", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "models/src_facebook_ads.yml", "original_file_path": "models/src_facebook_ads.yml", "name": "campaign_history", "source_name": "facebook_ads", "source_description": "", "loader": "Fivetran", "identifier": "facebook_ads_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 in this table reflects a version of a Facebook campaign.", "columns": {"id": {"name": "id", "description": "The ID of the campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "The ID of the ad account that this campaign belongs to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "The name of the campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "When the record was last synced by Fivetran.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "updated_time": {"name": "updated_time", "description": "The timestamp of the last update of a record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_time": {"name": "created_time", "description": "The time the campaign was created.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "start_time": {"name": "start_time", "description": "Timestamp of designated campaign start time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "stop_time": {"name": "stop_time", "description": "Timestamp of designated campaign end time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "daily_budget": {"name": "daily_budget", "description": "Daily budget of campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "budget_remaining": {"name": "budget_remaining", "description": "Remaining budget of campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "lifetime_budget": {"name": "lifetime_budget", "description": "Lifetime budget of the campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status": {"name": "status", "description": "Status values are - 'ACTIVE', 'PAUSED', 'DELETED', 'ARCHIVED'.", "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`.`facebook_ads_integration_tests`.`facebook_ads_campaign_history_data`", "created_at": 1671058921.518542}, "source.facebook_ads_source.facebook_ads.creative_history": {"fqn": ["facebook_ads_source", "facebook_ads", "creative_history"], "database": "dbt-package-testing", "schema": "facebook_ads_integration_tests", "unique_id": "source.facebook_ads_source.facebook_ads.creative_history", "package_name": "facebook_ads_source", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "models/src_facebook_ads.yml", "original_file_path": "models/src_facebook_ads.yml", "name": "creative_history", "source_name": "facebook_ads", "source_description": "", "loader": "Fivetran", "identifier": "facebook_ads_creative_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 in this table reflects a version of a Facebook creative.", "columns": {"_fivetran_id": {"name": "_fivetran_id", "description": "Unique record identifier", "meta": {}, "data_type": null, "quote": null, "tags": []}, "page_link": {"name": "page_link", "description": "URL destination of Facebook ads.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "template_page_link": {"name": "template_page_link", "description": "URL destination of Facebook dynamic ads.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "id": {"name": "id", "description": "Unique ID for an ad creative.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "Ad account ID for the account this ad creative belongs to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Name of this ad creative as seen in the ad account's library.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "url_tags": {"name": "url_tags", "description": "A set of query string parameters which will replace or be appended to urls clicked from page post ads, message of the post, and canvas app install creatives only.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "When the record was last synced by Fivetran.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "asset_feed_spec_link_urls": {"name": "asset_feed_spec_link_urls", "description": "Link to the asset feed spec", "meta": {}, "data_type": null, "quote": null, "tags": []}, "object_story_link_data_child_attachments": {"name": "object_story_link_data_child_attachments", "description": "Link of the object story child attachments", "meta": {}, "data_type": null, "quote": null, "tags": []}, "object_story_link_data_caption": {"name": "object_story_link_data_caption", "description": "Link of the object story caption", "meta": {}, "data_type": null, "quote": null, "tags": []}, "object_story_link_data_description": {"name": "object_story_link_data_description", "description": "Link of the object story description", "meta": {}, "data_type": null, "quote": null, "tags": []}, "object_story_link_data_link": {"name": "object_story_link_data_link", "description": "Link of the object story link", "meta": {}, "data_type": null, "quote": null, "tags": []}, "object_story_link_data_message": {"name": "object_story_link_data_message", "description": "Link of the object story message", "meta": {}, "data_type": null, "quote": null, "tags": []}, "template_app_link_spec_ios": {"name": "template_app_link_spec_ios", "description": "Link of the object story spec for ios", "meta": {}, "data_type": null, "quote": null, "tags": []}, "template_app_link_spec_ipad": {"name": "template_app_link_spec_ipad", "description": "Link of the template app spec for ipad", "meta": {}, "data_type": null, "quote": null, "tags": []}, "template_app_link_spec_android": {"name": "template_app_link_spec_android", "description": "Link of the template app for android", "meta": {}, "data_type": null, "quote": null, "tags": []}, "template_app_link_spec_iphone": {"name": "template_app_link_spec_iphone", "description": "Link of the template app for iphone", "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`.`facebook_ads_integration_tests`.`facebook_ads_creative_history_data`", "created_at": 1671058921.5186281}}, "macros": {"macro.dbt_bigquery.date_sharded_table": {"unique_id": "macro.dbt_bigquery.date_sharded_table", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/etc.sql", "original_file_path": "macros/etc.sql", "name": "date_sharded_table", "macro_sql": "{% macro date_sharded_table(base_name) %}\n {{ return(base_name ~ \"[DBT__PARTITION_DATE]\") }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.659497, "supported_languages": null}, "macro.dbt_bigquery.grant_access_to": {"unique_id": "macro.dbt_bigquery.grant_access_to", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/etc.sql", "original_file_path": "macros/etc.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.6597362, "supported_languages": null}, "macro.dbt_bigquery.get_partitions_metadata": {"unique_id": "macro.dbt_bigquery.get_partitions_metadata", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/etc.sql", "original_file_path": "macros/etc.sql", "name": "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 -%}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.660017, "supported_languages": null}, "macro.dbt_bigquery.bigquery__get_catalog": {"unique_id": "macro.dbt_bigquery.bigquery__get_catalog", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/catalog.sql", "original_file_path": "macros/catalog.sql", "name": "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 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\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 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 %}", "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": 1671058920.663533, "supported_languages": null}, "macro.dbt_bigquery.partition_by": {"unique_id": "macro.dbt_bigquery.partition_by", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "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", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.667756, "supported_languages": null}, "macro.dbt_bigquery.cluster_by": {"unique_id": "macro.dbt_bigquery.cluster_by", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "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", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.6681652, "supported_languages": null}, "macro.dbt_bigquery.bigquery_options": {"unique_id": "macro.dbt_bigquery.bigquery_options", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "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", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.668522, "supported_languages": null}, "macro.dbt_bigquery.bigquery_table_options": {"unique_id": "macro.dbt_bigquery.bigquery_table_options", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "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", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery_options"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.668789, "supported_languages": null}, "macro.dbt_bigquery.bigquery__create_table_as": {"unique_id": "macro.dbt_bigquery.bigquery__create_table_as", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "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", "resource_type": "macro", "tags": [], "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": 1671058920.669764, "supported_languages": null}, "macro.dbt_bigquery.bigquery_view_options": {"unique_id": "macro.dbt_bigquery.bigquery_view_options", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "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", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery_options"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.669997, "supported_languages": null}, "macro.dbt_bigquery.bigquery__create_view_as": {"unique_id": "macro.dbt_bigquery.bigquery__create_view_as", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery_view_options"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.670309, "supported_languages": null}, "macro.dbt_bigquery.bigquery__drop_schema": {"unique_id": "macro.dbt_bigquery.bigquery__drop_schema", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "bigquery__drop_schema", "macro_sql": "{% macro bigquery__drop_schema(relation) -%}\n {{ adapter.drop_schema(relation) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.6704361, "supported_languages": null}, "macro.dbt_bigquery.bigquery__drop_relation": {"unique_id": "macro.dbt_bigquery.bigquery__drop_relation", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.670625, "supported_languages": null}, "macro.dbt_bigquery.bigquery__get_columns_in_relation": {"unique_id": "macro.dbt_bigquery.bigquery__get_columns_in_relation", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "bigquery__get_columns_in_relation", "macro_sql": "{% macro bigquery__get_columns_in_relation(relation) -%}\n {{ return(adapter.get_columns_in_relation(relation)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.670773, "supported_languages": null}, "macro.dbt_bigquery.bigquery__list_relations_without_caching": {"unique_id": "macro.dbt_bigquery.bigquery__list_relations_without_caching", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.670918, "supported_languages": null}, "macro.dbt_bigquery.bigquery__list_schemas": {"unique_id": "macro.dbt_bigquery.bigquery__list_schemas", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "bigquery__list_schemas", "macro_sql": "{% macro bigquery__list_schemas(database) -%}\n {{ return(adapter.list_schemas(database)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.671062, "supported_languages": null}, "macro.dbt_bigquery.bigquery__check_schema_exists": {"unique_id": "macro.dbt_bigquery.bigquery__check_schema_exists", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.671232, "supported_languages": null}, "macro.dbt_bigquery.bigquery__persist_docs": {"unique_id": "macro.dbt_bigquery.bigquery__persist_docs", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.alter_column_comment"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.671568, "supported_languages": null}, "macro.dbt_bigquery.bigquery__alter_column_comment": {"unique_id": "macro.dbt_bigquery.bigquery__alter_column_comment", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "bigquery__alter_column_comment", "macro_sql": "{% macro bigquery__alter_column_comment(relation, column_dict) -%}\n {% do adapter.update_columns(relation, column_dict) %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.671726, "supported_languages": null}, "macro.dbt_bigquery.bigquery__rename_relation": {"unique_id": "macro.dbt_bigquery.bigquery__rename_relation", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "bigquery__rename_relation", "macro_sql": "{% macro bigquery__rename_relation(from_relation, to_relation) -%}\n {% do adapter.rename_relation(from_relation, to_relation) %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.6718771, "supported_languages": null}, "macro.dbt_bigquery.bigquery__alter_relation_add_columns": {"unique_id": "macro.dbt_bigquery.bigquery__alter_relation_add_columns", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "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 %}", "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": 1671058920.672257, "supported_languages": null}, "macro.dbt_bigquery.bigquery__alter_relation_drop_columns": {"unique_id": "macro.dbt_bigquery.bigquery__alter_relation_drop_columns", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "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 %}", "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": 1671058920.672618, "supported_languages": null}, "macro.dbt_bigquery.bigquery__alter_column_type": {"unique_id": "macro.dbt_bigquery.bigquery__alter_column_type", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "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": 1671058920.673279, "supported_languages": null}, "macro.dbt_bigquery.bigquery__test_unique": {"unique_id": "macro.dbt_bigquery.bigquery__test_unique", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.6734421, "supported_languages": null}, "macro.dbt_bigquery.bigquery__upload_file": {"unique_id": "macro.dbt_bigquery.bigquery__upload_file", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.673719, "supported_languages": null}, "macro.dbt_bigquery.bigquery__create_csv_table": {"unique_id": "macro.dbt_bigquery.bigquery__create_csv_table", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/materializations/seed.sql", "original_file_path": "macros/materializations/seed.sql", "name": "bigquery__create_csv_table", "macro_sql": "{% macro bigquery__create_csv_table(model, agate_table) %}\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": 1671058920.674196, "supported_languages": null}, "macro.dbt_bigquery.bigquery__reset_csv_table": {"unique_id": "macro.dbt_bigquery.bigquery__reset_csv_table", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/materializations/seed.sql", "original_file_path": "macros/materializations/seed.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.674392, "supported_languages": null}, "macro.dbt_bigquery.bigquery__load_csv_rows": {"unique_id": "macro.dbt_bigquery.bigquery__load_csv_rows", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/materializations/seed.sql", "original_file_path": "macros/materializations/seed.sql", "name": "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 {% 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 %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.675012, "supported_languages": null}, "macro.dbt_bigquery.bigquery__handle_existing_table": {"unique_id": "macro.dbt_bigquery.bigquery__handle_existing_table", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/materializations/view.sql", "original_file_path": "macros/materializations/view.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.675655, "supported_languages": null}, "macro.dbt_bigquery.materialization_view_bigquery": {"unique_id": "macro.dbt_bigquery.materialization_view_bigquery", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/materializations/view.sql", "original_file_path": "macros/materializations/view.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "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": 1671058920.676307, "supported_languages": ["sql"]}, "macro.dbt_bigquery.materialization_table_bigquery": {"unique_id": "macro.dbt_bigquery.materialization_table_bigquery", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/materializations/table.sql", "original_file_path": "macros/materializations/table.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "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": 1671058920.679486, "supported_languages": ["sql", "python"]}, "macro.dbt_bigquery.py_write_table": {"unique_id": "macro.dbt_bigquery.py_write_table", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/materializations/table.sql", "original_file_path": "macros/materializations/table.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.67984, "supported_languages": null}, "macro.dbt_bigquery.materialization_copy_bigquery": {"unique_id": "macro.dbt_bigquery.materialization_copy_bigquery", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/materializations/copy.sql", "original_file_path": "macros/materializations/copy.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "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": 1671058920.681057, "supported_languages": ["sql"]}, "macro.dbt_bigquery.declare_dbt_max_partition": {"unique_id": "macro.dbt_bigquery.declare_dbt_max_partition", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/materializations/incremental.sql", "original_file_path": "macros/materializations/incremental.sql", "name": "declare_dbt_max_partition", "macro_sql": "{% macro declare_dbt_max_partition(relation, partition_by, complied_code, language='sql') %}\n\n {#-- TODO: revisit partitioning with python models --#}\n {%- if '_dbt_max_partition' in complied_code and language == 'sql' -%}\n\n declare _dbt_max_partition {{ partition_by.data_type }} default (\n select max({{ partition_by.field }}) from {{ this }}\n where {{ partition_by.field }} is not null\n );\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": 1671058920.6833222, "supported_languages": null}, "macro.dbt_bigquery.dbt_bigquery_validate_get_incremental_strategy": {"unique_id": "macro.dbt_bigquery.dbt_bigquery_validate_get_incremental_strategy", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/materializations/incremental.sql", "original_file_path": "macros/materializations/incremental.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.68375, "supported_languages": null}, "macro.dbt_bigquery.bq_insert_overwrite": {"unique_id": "macro.dbt_bigquery.bq_insert_overwrite", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/materializations/incremental.sql", "original_file_path": "macros/materializations/incremental.sql", "name": "bq_insert_overwrite", "macro_sql": "{% macro bq_insert_overwrite(\n tmp_relation, target_relation, sql, unique_key, partition_by, partitions, dest_columns, tmp_relation_exists\n) %}\n\n {% if partitions is not none and partitions != [] %} {# static #}\n\n {% set predicate -%}\n {{ partition_by.render(alias='DBT_INTERNAL_DEST') }} in (\n {{ partitions | join (', ') }}\n )\n {%- endset %}\n\n {%- set source_sql -%}\n (\n {{sql}}\n )\n {%- endset -%}\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 {% else %} {# dynamic #}\n\n {% set predicate -%}\n {{ partition_by.render(alias='DBT_INTERNAL_DEST') }} in unnest(dbt_partitions_for_replacement)\n {%- endset %}\n\n {%- set source_sql -%}\n (\n select * 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 }}>;\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\n {{ create_table_as(True, tmp_relation, compiled_code) }}\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() }})\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 %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.get_insert_overwrite_merge_sql", "macro.dbt_bigquery.declare_dbt_max_partition", "macro.dbt.create_table_as"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.684924, "supported_languages": null}, "macro.dbt_bigquery.bq_generate_incremental_build_sql": {"unique_id": "macro.dbt_bigquery.bq_generate_incremental_build_sql", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/materializations/incremental.sql", "original_file_path": "macros/materializations/incremental.sql", "name": "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\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 missing_partition_msg -%}\n The 'insert_overwrite' strategy requires the `partition_by` config.\n {%- endset %}\n {% if partition_by is none %}\n {% do exceptions.raise_compiler_error(missing_partition_msg) %}\n {% endif %}\n\n {% set build_sql = bq_insert_overwrite(\n tmp_relation, target_relation, sql, unique_key, partition_by, partitions, dest_columns, tmp_relation_exists\n ) %}\n\n {% else %} {# strategy == 'merge' #}\n {%- set source_sql -%}\n {%- if tmp_relation_exists -%}\n (\n select * from {{ tmp_relation }}\n )\n {%- else -%} {#-- wrap sql in parens to make it a subquery --#}\n (\n {{sql}}\n )\n {%- endif -%}\n {%- endset -%}\n\n {% set build_sql = get_merge_sql(target_relation, source_sql, unique_key, dest_columns) %}\n\n {% endif %}\n\n {{ return(build_sql) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bq_insert_overwrite", "macro.dbt.get_merge_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.685743, "supported_languages": null}, "macro.dbt_bigquery.materialization_incremental_bigquery": {"unique_id": "macro.dbt_bigquery.materialization_incremental_bigquery", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/materializations/incremental.sql", "original_file_path": "macros/materializations/incremental.sql", "name": "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\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 {% if existing_relation is none %}\n {%- call statement('main', language=language) -%}\n {{ create_table_as(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 {{ create_table_as(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 {{ create_table_as(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 create_table_as(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 {% 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\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 %}", "resource_type": "macro", "tags": [], "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.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": 1671058920.689097, "supported_languages": ["sql", "python"]}, "macro.dbt_bigquery.bigquery__snapshot_hash_arguments": {"unique_id": "macro.dbt_bigquery.bigquery__snapshot_hash_arguments", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/materializations/snapshot.sql", "original_file_path": "macros/materializations/snapshot.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.68957, "supported_languages": null}, "macro.dbt_bigquery.bigquery__create_columns": {"unique_id": "macro.dbt_bigquery.bigquery__create_columns", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/materializations/snapshot.sql", "original_file_path": "macros/materializations/snapshot.sql", "name": "bigquery__create_columns", "macro_sql": "{% macro bigquery__create_columns(relation, columns) %}\n {{ adapter.alter_table_add_columns(relation, columns) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.689721, "supported_languages": null}, "macro.dbt_bigquery.bigquery__post_snapshot": {"unique_id": "macro.dbt_bigquery.bigquery__post_snapshot", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/materializations/snapshot.sql", "original_file_path": "macros/materializations/snapshot.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.drop_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.689852, "supported_languages": null}, "macro.dbt_bigquery.bigquery__except": {"unique_id": "macro.dbt_bigquery.bigquery__except", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/utils/except.sql", "original_file_path": "macros/utils/except.sql", "name": "bigquery__except", "macro_sql": "{% macro bigquery__except() %}\n\n except distinct\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.6900191, "supported_languages": null}, "macro.dbt_bigquery.bigquery__dateadd": {"unique_id": "macro.dbt_bigquery.bigquery__dateadd", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/utils/dateadd.sql", "original_file_path": "macros/utils/dateadd.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.690302, "supported_languages": null}, "macro.dbt_bigquery.bigquery__current_timestamp": {"unique_id": "macro.dbt_bigquery.bigquery__current_timestamp", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/utils/timestamps.sql", "original_file_path": "macros/utils/timestamps.sql", "name": "bigquery__current_timestamp", "macro_sql": "{% macro bigquery__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": 1671058920.690528, "supported_languages": null}, "macro.dbt_bigquery.bigquery__snapshot_string_as_time": {"unique_id": "macro.dbt_bigquery.bigquery__snapshot_string_as_time", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/utils/timestamps.sql", "original_file_path": "macros/utils/timestamps.sql", "name": "bigquery__snapshot_string_as_time", "macro_sql": "{% macro bigquery__snapshot_string_as_time(timestamp) -%}\n {%- set result = 'TIMESTAMP(\"' ~ timestamp ~ '\")' -%}\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": 1671058920.690701, "supported_languages": null}, "macro.dbt_bigquery.bigquery__current_timestamp_backcompat": {"unique_id": "macro.dbt_bigquery.bigquery__current_timestamp_backcompat", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/utils/timestamps.sql", "original_file_path": "macros/utils/timestamps.sql", "name": "bigquery__current_timestamp_backcompat", "macro_sql": "{% macro bigquery__current_timestamp_backcompat() -%}\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": 1671058920.690779, "supported_languages": null}, "macro.dbt_bigquery.bigquery__intersect": {"unique_id": "macro.dbt_bigquery.bigquery__intersect", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/utils/intersect.sql", "original_file_path": "macros/utils/intersect.sql", "name": "bigquery__intersect", "macro_sql": "{% macro bigquery__intersect() %}\n\n intersect distinct\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.69095, "supported_languages": null}, "macro.dbt_bigquery.bigquery__escape_single_quotes": {"unique_id": "macro.dbt_bigquery.bigquery__escape_single_quotes", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/utils/escape_single_quotes.sql", "original_file_path": "macros/utils/escape_single_quotes.sql", "name": "bigquery__escape_single_quotes", "macro_sql": "{% macro bigquery__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": 1671058920.691207, "supported_languages": null}, "macro.dbt_bigquery.bigquery__right": {"unique_id": "macro.dbt_bigquery.bigquery__right", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/utils/right.sql", "original_file_path": "macros/utils/right.sql", "name": "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 -%}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.6914911, "supported_languages": null}, "macro.dbt_bigquery.bigquery__listagg": {"unique_id": "macro.dbt_bigquery.bigquery__listagg", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/utils/listagg.sql", "original_file_path": "macros/utils/listagg.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.6919239, "supported_languages": null}, "macro.dbt_bigquery.bigquery__datediff": {"unique_id": "macro.dbt_bigquery.bigquery__datediff", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/utils/datediff.sql", "original_file_path": "macros/utils/datediff.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.datediff"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.692469, "supported_languages": null}, "macro.dbt_bigquery.bigquery__safe_cast": {"unique_id": "macro.dbt_bigquery.bigquery__safe_cast", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/utils/safe_cast.sql", "original_file_path": "macros/utils/safe_cast.sql", "name": "bigquery__safe_cast", "macro_sql": "{% macro bigquery__safe_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": 1671058920.692696, "supported_languages": null}, "macro.dbt_bigquery.bigquery__hash": {"unique_id": "macro.dbt_bigquery.bigquery__hash", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/utils/hash.sql", "original_file_path": "macros/utils/hash.sql", "name": "bigquery__hash", "macro_sql": "{% macro bigquery__hash(field) -%}\n to_hex({{dbt.default__hash(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": 1671058920.692925, "supported_languages": null}, "macro.dbt_bigquery.bigquery__position": {"unique_id": "macro.dbt_bigquery.bigquery__position", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/utils/position.sql", "original_file_path": "macros/utils/position.sql", "name": "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 -%}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.693156, "supported_languages": null}, "macro.dbt_bigquery.bigquery__array_concat": {"unique_id": "macro.dbt_bigquery.bigquery__array_concat", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/utils/array_concat.sql", "original_file_path": "macros/utils/array_concat.sql", "name": "bigquery__array_concat", "macro_sql": "{% macro bigquery__array_concat(array_1, array_2) -%}\n array_concat({{ 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": 1671058920.693381, "supported_languages": null}, "macro.dbt_bigquery.bigquery__bool_or": {"unique_id": "macro.dbt_bigquery.bigquery__bool_or", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/utils/bool_or.sql", "original_file_path": "macros/utils/bool_or.sql", "name": "bigquery__bool_or", "macro_sql": "{% macro bigquery__bool_or(expression) -%}\n\n logical_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": 1671058920.6935732, "supported_languages": null}, "macro.dbt_bigquery.bigquery__split_part": {"unique_id": "macro.dbt_bigquery.bigquery__split_part", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/utils/split_part.sql", "original_file_path": "macros/utils/split_part.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.694238, "supported_languages": null}, "macro.dbt_bigquery.bigquery__date_trunc": {"unique_id": "macro.dbt_bigquery.bigquery__date_trunc", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/utils/date_trunc.sql", "original_file_path": "macros/utils/date_trunc.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.694478, "supported_languages": null}, "macro.dbt_bigquery.bigquery__array_construct": {"unique_id": "macro.dbt_bigquery.bigquery__array_construct", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/utils/array_construct.sql", "original_file_path": "macros/utils/array_construct.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.694834, "supported_languages": null}, "macro.dbt_bigquery.bigquery__array_append": {"unique_id": "macro.dbt_bigquery.bigquery__array_append", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/utils/array_append.sql", "original_file_path": "macros/utils/array_append.sql", "name": "bigquery__array_append", "macro_sql": "{% macro bigquery__array_append(array, new_element) -%}\n {{ array_concat(array, array_construct([new_element])) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "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": 1671058920.695097, "supported_languages": null}, "macro.dbt_bigquery.bigquery__get_show_grant_sql": {"unique_id": "macro.dbt_bigquery.bigquery__get_show_grant_sql", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.6957572, "supported_languages": null}, "macro.dbt_bigquery.bigquery__get_grant_sql": {"unique_id": "macro.dbt_bigquery.bigquery__get_grant_sql", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "name": "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", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.6959932, "supported_languages": null}, "macro.dbt_bigquery.bigquery__get_revoke_sql": {"unique_id": "macro.dbt_bigquery.bigquery__get_revoke_sql", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "name": "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 -%}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.696224, "supported_languages": null}, "macro.dbt.run_hooks": {"unique_id": "macro.dbt.run_hooks", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.6973052, "supported_languages": null}, "macro.dbt.make_hook_config": {"unique_id": "macro.dbt.make_hook_config", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.697493, "supported_languages": null}, "macro.dbt.before_begin": {"unique_id": "macro.dbt.before_begin", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.6976352, "supported_languages": null}, "macro.dbt.in_transaction": {"unique_id": "macro.dbt.in_transaction", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.6977742, "supported_languages": null}, "macro.dbt.after_commit": {"unique_id": "macro.dbt.after_commit", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.6979132, "supported_languages": null}, "macro.dbt.set_sql_header": {"unique_id": "macro.dbt.set_sql_header", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.6983309, "supported_languages": null}, "macro.dbt.should_full_refresh": {"unique_id": "macro.dbt.should_full_refresh", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.6986182, "supported_languages": null}, "macro.dbt.should_store_failures": {"unique_id": "macro.dbt.should_store_failures", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.698909, "supported_languages": null}, "macro.dbt.snapshot_merge_sql": {"unique_id": "macro.dbt.snapshot_merge_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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.default__snapshot_merge_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.699384, "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-bigquery/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": 1671058920.6996422, "supported_languages": null}, "macro.dbt.strategy_dispatch": {"unique_id": "macro.dbt.strategy_dispatch", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.702914, "supported_languages": null}, "macro.dbt.snapshot_hash_arguments": {"unique_id": "macro.dbt.snapshot_hash_arguments", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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_bigquery.bigquery__snapshot_hash_arguments"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.703079, "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-bigquery/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": 1671058920.703295, "supported_languages": null}, "macro.dbt.snapshot_timestamp_strategy": {"unique_id": "macro.dbt.snapshot_timestamp_strategy", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.70398, "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-bigquery/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_bigquery.bigquery__snapshot_string_as_time"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.704143, "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-bigquery/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": 1671058920.704308, "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-bigquery/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": 1671058920.705628, "supported_languages": null}, "macro.dbt.snapshot_check_strategy": {"unique_id": "macro.dbt.snapshot_check_strategy", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.706963, "supported_languages": null}, "macro.dbt.create_columns": {"unique_id": "macro.dbt.create_columns", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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_bigquery.bigquery__create_columns"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.710907, "supported_languages": null}, "macro.dbt.default__create_columns": {"unique_id": "macro.dbt.default__create_columns", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.711197, "supported_languages": null}, "macro.dbt.post_snapshot": {"unique_id": "macro.dbt.post_snapshot", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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_bigquery.bigquery__post_snapshot"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.711366, "supported_languages": null}, "macro.dbt.default__post_snapshot": {"unique_id": "macro.dbt.default__post_snapshot", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.711452, "supported_languages": null}, "macro.dbt.get_true_sql": {"unique_id": "macro.dbt.get_true_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.711596, "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-bigquery/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": 1671058920.711714, "supported_languages": null}, "macro.dbt.snapshot_staging_table": {"unique_id": "macro.dbt.snapshot_staging_table", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.7119172, "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-bigquery/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": 1671058920.712781, "supported_languages": null}, "macro.dbt.build_snapshot_table": {"unique_id": "macro.dbt.build_snapshot_table", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.712971, "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-bigquery/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": 1671058920.713217, "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-bigquery/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": 1671058920.7136362, "supported_languages": null}, "macro.dbt.materialization_snapshot_default": {"unique_id": "macro.dbt.materialization_snapshot_default", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.719371, "supported_languages": ["sql"]}, "macro.dbt.materialization_test_default": {"unique_id": "macro.dbt.materialization_test_default", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.7213702, "supported_languages": ["sql"]}, "macro.dbt.get_test_sql": {"unique_id": "macro.dbt.get_test_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.721865, "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-bigquery/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": 1671058920.7221608, "supported_languages": null}, "macro.dbt.get_where_subquery": {"unique_id": "macro.dbt.get_where_subquery", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.722579, "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-bigquery/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": 1671058920.722944, "supported_languages": null}, "macro.dbt.get_quoted_csv": {"unique_id": "macro.dbt.get_quoted_csv", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.72444, "supported_languages": null}, "macro.dbt.diff_columns": {"unique_id": "macro.dbt.diff_columns", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.724969, "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-bigquery/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": 1671058920.725607, "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-bigquery/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": 1671058920.725833, "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-bigquery/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": 1671058920.726518, "supported_languages": null}, "macro.dbt.get_merge_sql": {"unique_id": "macro.dbt.get_merge_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.730589, "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-bigquery/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": 1671058920.732136, "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-bigquery/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": 1671058920.7323678, "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-bigquery/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": 1671058920.733071, "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-bigquery/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": 1671058920.7333279, "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-bigquery/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": 1671058920.733946, "supported_languages": null}, "macro.dbt.is_incremental": {"unique_id": "macro.dbt.is_incremental", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.734625, "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-bigquery/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": 1671058920.735483, "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-bigquery/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": 1671058920.735708, "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-bigquery/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": 1671058920.7358878, "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-bigquery/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": 1671058920.73614, "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-bigquery/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": 1671058920.736313, "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-bigquery/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": 1671058920.736566, "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-bigquery/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": 1671058920.736746, "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-bigquery/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": 1671058920.737001, "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-bigquery/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.default__get_incremental_default_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.7371788, "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-bigquery/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": 1671058920.737323, "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-bigquery/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": 1671058920.737588, "supported_languages": null}, "macro.dbt.materialization_incremental_default": {"unique_id": "macro.dbt.materialization_incremental_default", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.742282, "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-bigquery/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": 1671058920.7472608, "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-bigquery/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": 1671058920.748427, "supported_languages": null}, "macro.dbt.sync_column_schemas": {"unique_id": "macro.dbt.sync_column_schemas", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.749567, "supported_languages": null}, "macro.dbt.process_schema_changes": {"unique_id": "macro.dbt.process_schema_changes", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.750376, "supported_languages": null}, "macro.dbt.materialization_table_default": {"unique_id": "macro.dbt.materialization_table_default", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.752834, "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-bigquery/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": 1671058920.753375, "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-bigquery/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": 1671058920.753556, "supported_languages": null}, "macro.dbt.create_table_as": {"unique_id": "macro.dbt.create_table_as", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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_bigquery.bigquery__create_table_as"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.753979, "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-bigquery/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": 1671058920.754373, "supported_languages": null}, "macro.dbt.materialization_view_default": {"unique_id": "macro.dbt.materialization_view_default", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.756824, "supported_languages": ["sql"]}, "macro.dbt.handle_existing_table": {"unique_id": "macro.dbt.handle_existing_table", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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_bigquery.bigquery__handle_existing_table"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.757173, "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-bigquery/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": 1671058920.757389, "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-bigquery/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": 1671058920.758852, "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-bigquery/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": 1671058920.759257, "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-bigquery/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": 1671058920.759412, "supported_languages": null}, "macro.dbt.create_view_as": {"unique_id": "macro.dbt.create_view_as", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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_bigquery.bigquery__create_view_as"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.759584, "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-bigquery/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": 1671058920.759836, "supported_languages": null}, "macro.dbt.materialization_seed_default": {"unique_id": "macro.dbt.materialization_seed_default", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.762957, "supported_languages": ["sql"]}, "macro.dbt.create_csv_table": {"unique_id": "macro.dbt.create_csv_table", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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_bigquery.bigquery__create_csv_table"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.76739, "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-bigquery/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": 1671058920.768246, "supported_languages": null}, "macro.dbt.reset_csv_table": {"unique_id": "macro.dbt.reset_csv_table", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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_bigquery.bigquery__reset_csv_table"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.7684731, "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-bigquery/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": 1671058920.768936, "supported_languages": null}, "macro.dbt.get_csv_sql": {"unique_id": "macro.dbt.get_csv_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.76912, "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-bigquery/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": 1671058920.769245, "supported_languages": null}, "macro.dbt.get_binding_char": {"unique_id": "macro.dbt.get_binding_char", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.7693791, "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-bigquery/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": 1671058920.769491, "supported_languages": null}, "macro.dbt.get_batch_size": {"unique_id": "macro.dbt.get_batch_size", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.769641, "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-bigquery/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": 1671058920.7697542, "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-bigquery/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": 1671058920.770208, "supported_languages": null}, "macro.dbt.load_csv_rows": {"unique_id": "macro.dbt.load_csv_rows", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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_bigquery.bigquery__load_csv_rows"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.7704058, "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-bigquery/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": 1671058920.7716181, "supported_languages": null}, "macro.dbt.generate_alias_name": {"unique_id": "macro.dbt.generate_alias_name", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.772054, "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-bigquery/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": 1671058920.7722728, "supported_languages": null}, "macro.dbt.generate_schema_name": {"unique_id": "macro.dbt.generate_schema_name", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.772822, "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-bigquery/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": 1671058920.77307, "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-bigquery/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": 1671058920.773343, "supported_languages": null}, "macro.dbt.generate_database_name": {"unique_id": "macro.dbt.generate_database_name", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.773777, "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-bigquery/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": 1671058920.774016, "supported_languages": null}, "macro.dbt.default__test_relationships": {"unique_id": "macro.dbt.default__test_relationships", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.774405, "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-bigquery/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": 1671058920.774755, "supported_languages": null}, "macro.dbt.default__test_unique": {"unique_id": "macro.dbt.default__test_unique", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.775054, "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-bigquery/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": 1671058920.77565, "supported_languages": null}, "macro.dbt.statement": {"unique_id": "macro.dbt.statement", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.7771049, "supported_languages": null}, "macro.dbt.noop_statement": {"unique_id": "macro.dbt.noop_statement", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.777836, "supported_languages": null}, "macro.dbt.run_query": {"unique_id": "macro.dbt.run_query", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.77812, "supported_languages": null}, "macro.dbt.convert_datetime": {"unique_id": "macro.dbt.convert_datetime", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.7798212, "supported_languages": null}, "macro.dbt.dates_in_range": {"unique_id": "macro.dbt.dates_in_range", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.7809432, "supported_languages": null}, "macro.dbt.partition_range": {"unique_id": "macro.dbt.partition_range", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.781659, "supported_languages": null}, "macro.dbt.py_current_timestring": {"unique_id": "macro.dbt.py_current_timestring", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.7818828, "supported_languages": null}, "macro.dbt.except": {"unique_id": "macro.dbt.except", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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_bigquery.bigquery__except"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.7821739, "supported_languages": null}, "macro.dbt.default__except": {"unique_id": "macro.dbt.default__except", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.7822459, "supported_languages": null}, "macro.dbt.replace": {"unique_id": "macro.dbt.replace", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.782623, "supported_languages": null}, "macro.dbt.default__replace": {"unique_id": "macro.dbt.default__replace", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.782783, "supported_languages": null}, "macro.dbt.concat": {"unique_id": "macro.dbt.concat", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.7830799, "supported_languages": null}, "macro.dbt.default__concat": {"unique_id": "macro.dbt.default__concat", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.783199, "supported_languages": null}, "macro.dbt.length": {"unique_id": "macro.dbt.length", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.783503, "supported_languages": null}, "macro.dbt.default__length": {"unique_id": "macro.dbt.default__length", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.783606, "supported_languages": null}, "macro.dbt.dateadd": {"unique_id": "macro.dbt.dateadd", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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_bigquery.bigquery__dateadd"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.783991, "supported_languages": null}, "macro.dbt.default__dateadd": {"unique_id": "macro.dbt.default__dateadd", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.7841449, "supported_languages": null}, "macro.dbt.intersect": {"unique_id": "macro.dbt.intersect", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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_bigquery.bigquery__intersect"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.784422, "supported_languages": null}, "macro.dbt.default__intersect": {"unique_id": "macro.dbt.default__intersect", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.7844968, "supported_languages": null}, "macro.dbt.escape_single_quotes": {"unique_id": "macro.dbt.escape_single_quotes", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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_bigquery.bigquery__escape_single_quotes"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.784811, "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-bigquery/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": 1671058920.784943, "supported_languages": null}, "macro.dbt.right": {"unique_id": "macro.dbt.right", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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_bigquery.bigquery__right"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.785284, "supported_languages": null}, "macro.dbt.default__right": {"unique_id": "macro.dbt.default__right", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.7854779, "supported_languages": null}, "macro.dbt.listagg": {"unique_id": "macro.dbt.listagg", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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_bigquery.bigquery__listagg"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.786121, "supported_languages": null}, "macro.dbt.default__listagg": {"unique_id": "macro.dbt.default__listagg", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.786505, "supported_languages": null}, "macro.dbt.datediff": {"unique_id": "macro.dbt.datediff", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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_bigquery.bigquery__datediff"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.78689, "supported_languages": null}, "macro.dbt.default__datediff": {"unique_id": "macro.dbt.default__datediff", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.787049, "supported_languages": null}, "macro.dbt.safe_cast": {"unique_id": "macro.dbt.safe_cast", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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_bigquery.bigquery__safe_cast"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.7873878, "supported_languages": null}, "macro.dbt.default__safe_cast": {"unique_id": "macro.dbt.default__safe_cast", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.787524, "supported_languages": null}, "macro.dbt.hash": {"unique_id": "macro.dbt.hash", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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_bigquery.bigquery__hash"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.787832, "supported_languages": null}, "macro.dbt.default__hash": {"unique_id": "macro.dbt.default__hash", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.787984, "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-bigquery/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": 1671058920.788277, "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-bigquery/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": 1671058920.788428, "supported_languages": null}, "macro.dbt.any_value": {"unique_id": "macro.dbt.any_value", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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.default__any_value"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.788725, "supported_languages": null}, "macro.dbt.default__any_value": {"unique_id": "macro.dbt.default__any_value", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.788828, "supported_languages": null}, "macro.dbt.position": {"unique_id": "macro.dbt.position", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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_bigquery.bigquery__position"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.789166, "supported_languages": null}, "macro.dbt.default__position": {"unique_id": "macro.dbt.default__position", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.7892962, "supported_languages": null}, "macro.dbt.string_literal": {"unique_id": "macro.dbt.string_literal", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.789588, "supported_languages": null}, "macro.dbt.default__string_literal": {"unique_id": "macro.dbt.default__string_literal", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.789686, "supported_languages": null}, "macro.dbt.type_string": {"unique_id": "macro.dbt.type_string", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.7906072, "supported_languages": null}, "macro.dbt.default__type_string": {"unique_id": "macro.dbt.default__type_string", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.790751, "supported_languages": null}, "macro.dbt.type_timestamp": {"unique_id": "macro.dbt.type_timestamp", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.790966, "supported_languages": null}, "macro.dbt.default__type_timestamp": {"unique_id": "macro.dbt.default__type_timestamp", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.791115, "supported_languages": null}, "macro.dbt.type_float": {"unique_id": "macro.dbt.type_float", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.791274, "supported_languages": null}, "macro.dbt.default__type_float": {"unique_id": "macro.dbt.default__type_float", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.7914162, "supported_languages": null}, "macro.dbt.type_numeric": {"unique_id": "macro.dbt.type_numeric", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.791569, "supported_languages": null}, "macro.dbt.default__type_numeric": {"unique_id": "macro.dbt.default__type_numeric", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.791738, "supported_languages": null}, "macro.dbt.type_bigint": {"unique_id": "macro.dbt.type_bigint", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.7918952, "supported_languages": null}, "macro.dbt.default__type_bigint": {"unique_id": "macro.dbt.default__type_bigint", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.7920399, "supported_languages": null}, "macro.dbt.type_int": {"unique_id": "macro.dbt.type_int", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.792196, "supported_languages": null}, "macro.dbt.default__type_int": {"unique_id": "macro.dbt.default__type_int", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.7923331, "supported_languages": null}, "macro.dbt.type_boolean": {"unique_id": "macro.dbt.type_boolean", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.7924852, "supported_languages": null}, "macro.dbt.default__type_boolean": {"unique_id": "macro.dbt.default__type_boolean", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.792623, "supported_languages": null}, "macro.dbt.array_concat": {"unique_id": "macro.dbt.array_concat", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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_bigquery.bigquery__array_concat"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.7929542, "supported_languages": null}, "macro.dbt.default__array_concat": {"unique_id": "macro.dbt.default__array_concat", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.793082, "supported_languages": null}, "macro.dbt.bool_or": {"unique_id": "macro.dbt.bool_or", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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_bigquery.bigquery__bool_or"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.793386, "supported_languages": null}, "macro.dbt.default__bool_or": {"unique_id": "macro.dbt.default__bool_or", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.7934852, "supported_languages": null}, "macro.dbt.last_day": {"unique_id": "macro.dbt.last_day", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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.default__last_day"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.793866, "supported_languages": null}, "macro.dbt.default_last_day": {"unique_id": "macro.dbt.default_last_day", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.794121, "supported_languages": null}, "macro.dbt.default__last_day": {"unique_id": "macro.dbt.default__last_day", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.794262, "supported_languages": null}, "macro.dbt.split_part": {"unique_id": "macro.dbt.split_part", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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_bigquery.bigquery__split_part"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.7948, "supported_languages": null}, "macro.dbt.default__split_part": {"unique_id": "macro.dbt.default__split_part", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.7949572, "supported_languages": null}, "macro.dbt._split_part_negative": {"unique_id": "macro.dbt._split_part_negative", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.795233, "supported_languages": null}, "macro.dbt.date_trunc": {"unique_id": "macro.dbt.date_trunc", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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_bigquery.bigquery__date_trunc"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.79556, "supported_languages": null}, "macro.dbt.default__date_trunc": {"unique_id": "macro.dbt.default__date_trunc", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.795684, "supported_languages": null}, "macro.dbt.array_construct": {"unique_id": "macro.dbt.array_construct", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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_bigquery.bigquery__array_construct"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.796098, "supported_languages": null}, "macro.dbt.default__array_construct": {"unique_id": "macro.dbt.default__array_construct", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.796333, "supported_languages": null}, "macro.dbt.array_append": {"unique_id": "macro.dbt.array_append", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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_bigquery.bigquery__array_append"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.796661, "supported_languages": null}, "macro.dbt.default__array_append": {"unique_id": "macro.dbt.default__array_append", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.7967958, "supported_languages": null}, "macro.dbt.create_schema": {"unique_id": "macro.dbt.create_schema", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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.default__create_schema"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.797209, "supported_languages": null}, "macro.dbt.default__create_schema": {"unique_id": "macro.dbt.default__create_schema", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.797385, "supported_languages": null}, "macro.dbt.drop_schema": {"unique_id": "macro.dbt.drop_schema", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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_bigquery.bigquery__drop_schema"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.797544, "supported_languages": null}, "macro.dbt.default__drop_schema": {"unique_id": "macro.dbt.default__drop_schema", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.797719, "supported_languages": null}, "macro.dbt.current_timestamp": {"unique_id": "macro.dbt.current_timestamp", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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_bigquery.bigquery__current_timestamp"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.798228, "supported_languages": null}, "macro.dbt.default__current_timestamp": {"unique_id": "macro.dbt.default__current_timestamp", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.798381, "supported_languages": null}, "macro.dbt.snapshot_get_time": {"unique_id": "macro.dbt.snapshot_get_time", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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.default__snapshot_get_time"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.798517, "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-bigquery/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": 1671058920.798618, "supported_languages": null}, "macro.dbt.current_timestamp_backcompat": {"unique_id": "macro.dbt.current_timestamp_backcompat", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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_bigquery.bigquery__current_timestamp_backcompat"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.7987761, "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-bigquery/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": 1671058920.798847, "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-bigquery/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.default__current_timestamp_in_utc_backcompat"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.7990022, "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-bigquery/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_bigquery.bigquery__current_timestamp_backcompat"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.799165, "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-bigquery/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.default__get_create_index_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.799648, "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-bigquery/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": 1671058920.799854, "supported_languages": null}, "macro.dbt.create_indexes": {"unique_id": "macro.dbt.create_indexes", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.800004, "supported_languages": null}, "macro.dbt.default__create_indexes": {"unique_id": "macro.dbt.default__create_indexes", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.80039, "supported_languages": null}, "macro.dbt.make_intermediate_relation": {"unique_id": "macro.dbt.make_intermediate_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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.default__make_intermediate_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.8033888, "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-bigquery/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": 1671058920.803553, "supported_languages": null}, "macro.dbt.make_temp_relation": {"unique_id": "macro.dbt.make_temp_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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.default__make_temp_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.803763, "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-bigquery/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": 1671058920.804042, "supported_languages": null}, "macro.dbt.make_backup_relation": {"unique_id": "macro.dbt.make_backup_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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.default__make_backup_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.804277, "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-bigquery/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": 1671058920.8045812, "supported_languages": null}, "macro.dbt.drop_relation": {"unique_id": "macro.dbt.drop_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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_bigquery.bigquery__drop_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.804755, "supported_languages": null}, "macro.dbt.default__drop_relation": {"unique_id": "macro.dbt.default__drop_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.8049622, "supported_languages": null}, "macro.dbt.truncate_relation": {"unique_id": "macro.dbt.truncate_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.805133, "supported_languages": null}, "macro.dbt.default__truncate_relation": {"unique_id": "macro.dbt.default__truncate_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.8052878, "supported_languages": null}, "macro.dbt.rename_relation": {"unique_id": "macro.dbt.rename_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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_bigquery.bigquery__rename_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.805482, "supported_languages": null}, "macro.dbt.default__rename_relation": {"unique_id": "macro.dbt.default__rename_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.805749, "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-bigquery/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": 1671058920.8059862, "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-bigquery/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": 1671058920.806509, "supported_languages": null}, "macro.dbt.load_cached_relation": {"unique_id": "macro.dbt.load_cached_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.8067908, "supported_languages": null}, "macro.dbt.load_relation": {"unique_id": "macro.dbt.load_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.806928, "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-bigquery/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": 1671058920.807116, "supported_languages": null}, "macro.dbt.collect_freshness": {"unique_id": "macro.dbt.collect_freshness", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.807575, "supported_languages": null}, "macro.dbt.default__collect_freshness": {"unique_id": "macro.dbt.default__collect_freshness", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.8079739, "supported_languages": null}, "macro.dbt.copy_grants": {"unique_id": "macro.dbt.copy_grants", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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.default__copy_grants"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.809576, "supported_languages": null}, "macro.dbt.default__copy_grants": {"unique_id": "macro.dbt.default__copy_grants", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.809692, "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-bigquery/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": 1671058920.809852, "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-bigquery/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": 1671058920.80996, "supported_languages": null}, "macro.dbt.should_revoke": {"unique_id": "macro.dbt.should_revoke", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.810293, "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-bigquery/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_bigquery.bigquery__get_show_grant_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.810475, "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-bigquery/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": 1671058920.810573, "supported_languages": null}, "macro.dbt.get_grant_sql": {"unique_id": "macro.dbt.get_grant_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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_bigquery.bigquery__get_grant_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.8107882, "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-bigquery/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": 1671058920.81097, "supported_languages": null}, "macro.dbt.get_revoke_sql": {"unique_id": "macro.dbt.get_revoke_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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_bigquery.bigquery__get_revoke_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.8111858, "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-bigquery/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": 1671058920.81136, "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-bigquery/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": 1671058920.811579, "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-bigquery/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": 1671058920.812225, "supported_languages": null}, "macro.dbt.call_dcl_statements": {"unique_id": "macro.dbt.call_dcl_statements", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.812465, "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-bigquery/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": 1671058920.812703, "supported_languages": null}, "macro.dbt.apply_grants": {"unique_id": "macro.dbt.apply_grants", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.8129249, "supported_languages": null}, "macro.dbt.default__apply_grants": {"unique_id": "macro.dbt.default__apply_grants", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.8140109, "supported_languages": null}, "macro.dbt.alter_column_comment": {"unique_id": "macro.dbt.alter_column_comment", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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_bigquery.bigquery__alter_column_comment"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.814713, "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-bigquery/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": 1671058920.814875, "supported_languages": null}, "macro.dbt.alter_relation_comment": {"unique_id": "macro.dbt.alter_relation_comment", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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.default__alter_relation_comment"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.8150709, "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-bigquery/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": 1671058920.815233, "supported_languages": null}, "macro.dbt.persist_docs": {"unique_id": "macro.dbt.persist_docs", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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_bigquery.bigquery__persist_docs"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.81549, "supported_languages": null}, "macro.dbt.default__persist_docs": {"unique_id": "macro.dbt.default__persist_docs", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.815957, "supported_languages": null}, "macro.dbt.get_catalog": {"unique_id": "macro.dbt.get_catalog", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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_bigquery.bigquery__get_catalog"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.817363, "supported_languages": null}, "macro.dbt.default__get_catalog": {"unique_id": "macro.dbt.default__get_catalog", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.817615, "supported_languages": null}, "macro.dbt.information_schema_name": {"unique_id": "macro.dbt.information_schema_name", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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.default__information_schema_name"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.817796, "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-bigquery/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": 1671058920.817943, "supported_languages": null}, "macro.dbt.list_schemas": {"unique_id": "macro.dbt.list_schemas", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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_bigquery.bigquery__list_schemas"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.818115, "supported_languages": null}, "macro.dbt.default__list_schemas": {"unique_id": "macro.dbt.default__list_schemas", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.818356, "supported_languages": null}, "macro.dbt.check_schema_exists": {"unique_id": "macro.dbt.check_schema_exists", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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_bigquery.bigquery__check_schema_exists"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.818552, "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-bigquery/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": 1671058920.818837, "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-bigquery/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_bigquery.bigquery__list_relations_without_caching"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.8190138, "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-bigquery/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": 1671058920.81917, "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-bigquery/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_bigquery.bigquery__get_columns_in_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.820766, "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-bigquery/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": 1671058920.820986, "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-bigquery/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": 1671058920.821286, "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-bigquery/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": 1671058920.8214579, "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-bigquery/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": 1671058920.8217869, "supported_languages": null}, "macro.dbt.alter_column_type": {"unique_id": "macro.dbt.alter_column_type", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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_bigquery.bigquery__alter_column_type"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.822009, "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-bigquery/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": 1671058920.822586, "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-bigquery/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": 1671058920.8228369, "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-bigquery/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": 1671058920.823591, "supported_languages": null}, "macro.dbt.build_ref_function": {"unique_id": "macro.dbt.build_ref_function", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.824994, "supported_languages": null}, "macro.dbt.build_source_function": {"unique_id": "macro.dbt.build_source_function", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.8254452, "supported_languages": null}, "macro.dbt.build_config_dict": {"unique_id": "macro.dbt.build_config_dict", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.825879, "supported_languages": null}, "macro.dbt.py_script_postfix": {"unique_id": "macro.dbt.py_script_postfix", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.8262668, "supported_languages": null}, "macro.dbt.py_script_comment": {"unique_id": "macro.dbt.py_script_comment", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.826337, "supported_languages": null}, "macro.dbt.test_unique": {"unique_id": "macro.dbt.test_unique", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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_bigquery.bigquery__test_unique"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.826894, "supported_languages": null}, "macro.dbt.test_not_null": {"unique_id": "macro.dbt.test_not_null", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.827112, "supported_languages": null}, "macro.dbt.test_accepted_values": {"unique_id": "macro.dbt.test_accepted_values", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.8273878, "supported_languages": null}, "macro.dbt.test_relationships": {"unique_id": "macro.dbt.test_relationships", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.827651, "supported_languages": null}, "macro.dbt_utils.get_url_host": {"unique_id": "macro.dbt_utils.get_url_host", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.828044, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.8285599, "supported_languages": null}, "macro.dbt_utils.get_url_path": {"unique_id": "macro.dbt_utils.get_url_path", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.829067, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.829695, "supported_languages": null}, "macro.dbt_utils.get_url_parameter": {"unique_id": "macro.dbt_utils.get_url_parameter", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.830064, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.830372, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.831412, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.832383, "supported_languages": null}, "macro.dbt_utils.test_equal_rowcount": {"unique_id": "macro.dbt_utils.test_equal_rowcount", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.833232, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.834252, "supported_languages": null}, "macro.dbt_utils.test_relationships_where": {"unique_id": "macro.dbt_utils.test_relationships_where", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.834934, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.835259, "supported_languages": null}, "macro.dbt_utils.test_recency": {"unique_id": "macro.dbt_utils.test_recency", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.8360121, "supported_languages": null}, "macro.dbt_utils.default__test_recency": {"unique_id": "macro.dbt_utils.default__test_recency", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.836828, "supported_languages": null}, "macro.dbt_utils.test_not_constant": {"unique_id": "macro.dbt_utils.test_not_constant", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.8373141, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.837748, "supported_languages": null}, "macro.dbt_utils.test_accepted_range": {"unique_id": "macro.dbt_utils.test_accepted_range", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.838392, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.83885, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.839417, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.839846, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.840338, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.840786, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.841424, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.842046, "supported_languages": null}, "macro.dbt_utils.test_cardinality_equality": {"unique_id": "macro.dbt_utils.test_cardinality_equality", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.84262, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.842952, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.843394, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.843738, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.844396, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.8451881, "supported_languages": null}, "macro.dbt_utils.test_sequential_values": {"unique_id": "macro.dbt_utils.test_sequential_values", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.846071, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.846936, "supported_languages": null}, "macro.dbt_utils.test_equality": {"unique_id": "macro.dbt_utils.test_equality", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.847691, "supported_languages": null}, "macro.dbt_utils.default__test_equality": {"unique_id": "macro.dbt_utils.default__test_equality", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.8485389, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.849081, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.849371, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.852532, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.854062, "supported_languages": null}, "macro.dbt_utils.pretty_log_format": {"unique_id": "macro.dbt_utils.pretty_log_format", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.854399, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.854561, "supported_languages": null}, "macro.dbt_utils._is_relation": {"unique_id": "macro.dbt_utils._is_relation", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.855057, "supported_languages": null}, "macro.dbt_utils.pretty_time": {"unique_id": "macro.dbt_utils.pretty_time", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.855386, "supported_languages": null}, "macro.dbt_utils.default__pretty_time": {"unique_id": "macro.dbt_utils.default__pretty_time", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.855576, "supported_languages": null}, "macro.dbt_utils.log_info": {"unique_id": "macro.dbt_utils.log_info", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.8558831, "supported_languages": null}, "macro.dbt_utils.default__log_info": {"unique_id": "macro.dbt_utils.default__log_info", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.8560472, "supported_languages": null}, "macro.dbt_utils.slugify": {"unique_id": "macro.dbt_utils.slugify", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.856695, "supported_languages": null}, "macro.dbt_utils._is_ephemeral": {"unique_id": "macro.dbt_utils._is_ephemeral", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.8575518, "supported_languages": null}, "macro.dbt_utils.get_intervals_between": {"unique_id": "macro.dbt_utils.get_intervals_between", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.8582542, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.858826, "supported_languages": null}, "macro.dbt_utils.date_spine": {"unique_id": "macro.dbt_utils.date_spine", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.859051, "supported_languages": null}, "macro.dbt_utils.default__date_spine": {"unique_id": "macro.dbt_utils.default__date_spine", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.8594, "supported_languages": null}, "macro.dbt_utils.nullcheck_table": {"unique_id": "macro.dbt_utils.nullcheck_table", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.8597581, "supported_languages": null}, "macro.dbt_utils.default__nullcheck_table": {"unique_id": "macro.dbt_utils.default__nullcheck_table", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.860088, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.86078, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.86166, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.862497, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.8629, "supported_languages": null}, "macro.dbt_utils.generate_series": {"unique_id": "macro.dbt_utils.generate_series", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.863085, "supported_languages": null}, "macro.dbt_utils.default__generate_series": {"unique_id": "macro.dbt_utils.default__generate_series", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.86358, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.864269, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.8650858, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.865537, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.865816, "supported_languages": null}, "macro.dbt_utils.star": {"unique_id": "macro.dbt_utils.star", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.8670158, "supported_languages": null}, "macro.dbt_utils.default__star": {"unique_id": "macro.dbt_utils.default__star", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.8683798, "supported_languages": null}, "macro.dbt_utils.unpivot": {"unique_id": "macro.dbt_utils.unpivot", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.869664, "supported_languages": null}, "macro.dbt_utils.default__unpivot": {"unique_id": "macro.dbt_utils.default__unpivot", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.871386, "supported_languages": null}, "macro.dbt_utils.safe_divide": {"unique_id": "macro.dbt_utils.safe_divide", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.871732, "supported_languages": null}, "macro.dbt_utils.default__safe_divide": {"unique_id": "macro.dbt_utils.default__safe_divide", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.871858, "supported_languages": null}, "macro.dbt_utils.union_relations": {"unique_id": "macro.dbt_utils.union_relations", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.874732, "supported_languages": null}, "macro.dbt_utils.default__union_relations": {"unique_id": "macro.dbt_utils.default__union_relations", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.8780239, "supported_languages": null}, "macro.dbt_utils.group_by": {"unique_id": "macro.dbt_utils.group_by", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.878384, "supported_languages": null}, "macro.dbt_utils.default__group_by": {"unique_id": "macro.dbt_utils.default__group_by", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.878627, "supported_languages": null}, "macro.dbt_utils.deduplicate": {"unique_id": "macro.dbt_utils.deduplicate", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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.bigquery__deduplicate"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.879384, "supported_languages": null}, "macro.dbt_utils.default__deduplicate": {"unique_id": "macro.dbt_utils.default__deduplicate", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.879593, "supported_languages": null}, "macro.dbt_utils.redshift__deduplicate": {"unique_id": "macro.dbt_utils.redshift__deduplicate", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.879785, "supported_languages": null}, "macro.dbt_utils.postgres__deduplicate": {"unique_id": "macro.dbt_utils.postgres__deduplicate", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.879971, "supported_languages": null}, "macro.dbt_utils.snowflake__deduplicate": {"unique_id": "macro.dbt_utils.snowflake__deduplicate", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.8801322, "supported_languages": null}, "macro.dbt_utils.bigquery__deduplicate": {"unique_id": "macro.dbt_utils.bigquery__deduplicate", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.880297, "supported_languages": null}, "macro.dbt_utils.surrogate_key": {"unique_id": "macro.dbt_utils.surrogate_key", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.8807302, "supported_languages": null}, "macro.dbt_utils.default__surrogate_key": {"unique_id": "macro.dbt_utils.default__surrogate_key", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.88096, "supported_languages": null}, "macro.dbt_utils.safe_add": {"unique_id": "macro.dbt_utils.safe_add", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.8813791, "supported_languages": null}, "macro.dbt_utils.default__safe_add": {"unique_id": "macro.dbt_utils.default__safe_add", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.881907, "supported_languages": null}, "macro.dbt_utils.nullcheck": {"unique_id": "macro.dbt_utils.nullcheck", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.882294, "supported_languages": null}, "macro.dbt_utils.default__nullcheck": {"unique_id": "macro.dbt_utils.default__nullcheck", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.882619, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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.bigquery__get_tables_by_pattern_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.884198, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.884547, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.885303, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.885793, "supported_languages": null}, "macro.dbt_utils.get_column_values": {"unique_id": "macro.dbt_utils.get_column_values", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.886888, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.888329, "supported_languages": null}, "macro.dbt_utils.pivot": {"unique_id": "macro.dbt_utils.pivot", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.889388, "supported_languages": null}, "macro.dbt_utils.default__pivot": {"unique_id": "macro.dbt_utils.default__pivot", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.890199, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.8907049, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.891407, "supported_languages": null}, "macro.dbt_utils.width_bucket": {"unique_id": "macro.dbt_utils.width_bucket", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.89278, "supported_languages": null}, "macro.dbt_utils.default__width_bucket": {"unique_id": "macro.dbt_utils.default__width_bucket", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.893219, "supported_languages": null}, "macro.dbt_utils.redshift__width_bucket": {"unique_id": "macro.dbt_utils.redshift__width_bucket", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.8936598, "supported_languages": null}, "macro.dbt_utils.snowflake__width_bucket": {"unique_id": "macro.dbt_utils.snowflake__width_bucket", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.8938398, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.8942652, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.89484, "supported_languages": null}, "macro.dbt_utils.generate_surrogate_key": {"unique_id": "macro.dbt_utils.generate_surrogate_key", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.895329, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.895958, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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.default__get_table_types_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.896388, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.8965209, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.896655, "supported_languages": null}, "macro.dbt_utils.get_single_value": {"unique_id": "macro.dbt_utils.get_single_value", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.897197, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.897984, "supported_languages": null}, "macro.dbt_utils.degrees_to_radians": {"unique_id": "macro.dbt_utils.degrees_to_radians", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.899023, "supported_languages": null}, "macro.dbt_utils.haversine_distance": {"unique_id": "macro.dbt_utils.haversine_distance", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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.bigquery__haversine_distance"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.8992908, "supported_languages": null}, "macro.dbt_utils.default__haversine_distance": {"unique_id": "macro.dbt_utils.default__haversine_distance", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.899847, "supported_languages": null}, "macro.dbt_utils.bigquery__haversine_distance": {"unique_id": "macro.dbt_utils.bigquery__haversine_distance", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.900629, "supported_languages": null}, "macro.spark_utils.get_tables": {"unique_id": "macro.spark_utils.get_tables", "package_name": "spark_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.9053912, "supported_languages": null}, "macro.spark_utils.get_delta_tables": {"unique_id": "macro.spark_utils.get_delta_tables", "package_name": "spark_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.906063, "supported_languages": null}, "macro.spark_utils.get_statistic_columns": {"unique_id": "macro.spark_utils.get_statistic_columns", "package_name": "spark_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.906917, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.907616, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.908319, "supported_languages": null}, "macro.spark_utils.spark_analyze_tables": {"unique_id": "macro.spark_utils.spark_analyze_tables", "package_name": "spark_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.909239, "supported_languages": null}, "macro.spark_utils.spark__concat": {"unique_id": "macro.spark_utils.spark__concat", "package_name": "spark_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.9094799, "supported_languages": null}, "macro.spark_utils.spark__type_numeric": {"unique_id": "macro.spark_utils.spark__type_numeric", "package_name": "spark_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.909649, "supported_languages": null}, "macro.spark_utils.spark__dateadd": {"unique_id": "macro.spark_utils.spark__dateadd", "package_name": "spark_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.912339, "supported_languages": null}, "macro.spark_utils.spark__datediff": {"unique_id": "macro.spark_utils.spark__datediff", "package_name": "spark_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.919231, "supported_languages": null}, "macro.spark_utils.spark__current_timestamp": {"unique_id": "macro.spark_utils.spark__current_timestamp", "package_name": "spark_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.9194329, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.919504, "supported_languages": null}, "macro.spark_utils.spark__split_part": {"unique_id": "macro.spark_utils.spark__split_part", "package_name": "spark_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.9201028, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.921633, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.921953, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.922216, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.922473, "supported_languages": null}, "macro.spark_utils.assert_not_null": {"unique_id": "macro.spark_utils.assert_not_null", "package_name": "spark_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.922843, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.9230342, "supported_languages": null}, "macro.spark_utils.spark__convert_timezone": {"unique_id": "macro.spark_utils.spark__convert_timezone", "package_name": "spark_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.9232929, "supported_languages": null}, "macro.facebook_ads.get_url_tags_query": {"unique_id": "macro.facebook_ads.get_url_tags_query", "package_name": "facebook_ads", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "macros/get_url_tag_query.sql", "original_file_path": "macros/get_url_tag_query.sql", "name": "get_url_tags_query", "macro_sql": "{% macro get_url_tags_query() %}\n {{ return(adapter.dispatch('get_url_tags_query') ()) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.facebook_ads.bigquery__get_url_tags_query"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.92433, "supported_languages": null}, "macro.facebook_ads.bigquery__get_url_tags_query": {"unique_id": "macro.facebook_ads.bigquery__get_url_tags_query", "package_name": "facebook_ads", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "macros/get_url_tag_query.sql", "original_file_path": "macros/get_url_tag_query.sql", "name": "bigquery__get_url_tags_query", "macro_sql": "{% macro bigquery__get_url_tags_query() %}\n\n cleaned_json as (\n\n select\n _fivetran_id,\n creative_id,\n json_extract_array(replace(trim(url_tags, '\"'),'\\\\','')) as cleaned_url_tags\n from required_fields\n ), \n\n unnested as (\n\n select \n _fivetran_id, \n creative_id, \n url_tag_element\n from cleaned_json\n left join unnest(cleaned_url_tags) as url_tag_element\n where cleaned_url_tags is not null\n ), \n\n fields as (\n\n select\n _fivetran_id,\n creative_id,\n json_extract_scalar(url_tag_element, '$.key') as key,\n json_extract_scalar(url_tag_element, '$.value') as value,\n json_extract_scalar(url_tag_element, '$.type') as type\n from unnested\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": 1671058920.9244428, "supported_languages": null}, "macro.facebook_ads.postgres__get_url_tags_query": {"unique_id": "macro.facebook_ads.postgres__get_url_tags_query", "package_name": "facebook_ads", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "macros/get_url_tag_query.sql", "original_file_path": "macros/get_url_tag_query.sql", "name": "postgres__get_url_tags_query", "macro_sql": "{% macro postgres__get_url_tags_query() %}\n\n cleaned_json as (\n\n select\n _fivetran_id,\n creative_id,\n replace(trim(url_tags::text, '\"'),'\\\\','')::json as cleaned_url_tags\n from required_fields\n ), \n\n unnested as (\n\n select \n _fivetran_id, \n creative_id, \n url_tag_element\n from cleaned_json\n left join lateral json_array_elements(cleaned_url_tags) as url_tag_element on True\n where cleaned_url_tags is not null\n ), \n\n fields as (\n\n select\n _fivetran_id,\n creative_id,\n url_tag_element->>'key' as key,\n url_tag_element->>'value' as value,\n url_tag_element->>'type' as type\n from unnested\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": 1671058920.924552, "supported_languages": null}, "macro.facebook_ads.redshift__get_url_tags_query": {"unique_id": "macro.facebook_ads.redshift__get_url_tags_query", "package_name": "facebook_ads", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "macros/get_url_tag_query.sql", "original_file_path": "macros/get_url_tag_query.sql", "name": "redshift__get_url_tags_query", "macro_sql": "{% macro redshift__get_url_tags_query() %}\n\n numbers as (\n\n {{ dbt_utils.generate_series(upper_bound=1000) }}\n\n ), \n\n flattened_url_tags as (\n\n select\n _fivetran_id,\n creative_id,\n json_extract_array_element_text(required_fields.url_tags, numbers.generated_number::int - 1, true) as element\n from required_fields\n inner join numbers\n on json_array_length(required_fields.url_tags) >= numbers.generated_number\n ), \n\n fields as (\n\n select\n _fivetran_id,\n creative_id,\n json_extract_path_text(element,'key') as key,\n json_extract_path_text(element,'value') as value,\n json_extract_path_text(element,'type') as type\n from flattened_url_tags\n )\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.generate_series"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.924713, "supported_languages": null}, "macro.facebook_ads.snowflake__get_url_tags_query": {"unique_id": "macro.facebook_ads.snowflake__get_url_tags_query", "package_name": "facebook_ads", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "macros/get_url_tag_query.sql", "original_file_path": "macros/get_url_tag_query.sql", "name": "snowflake__get_url_tags_query", "macro_sql": "{% macro snowflake__get_url_tags_query() %}\n\n cleaned_fields as (\n\n select\n _fivetran_id,\n creative_id,\n parse_json(url_tags) as url_tags\n from required_fields\n where url_tags is not null\n ), \n\n fields as (\n\n select\n _fivetran_id,\n creative_id,\n url_tags.value:key::string as key,\n url_tags.value:value::string as value,\n url_tags.value:type::string as type\n from cleaned_fields,\n lateral flatten( input => url_tags ) as url_tags\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": 1671058920.924809, "supported_languages": null}, "macro.facebook_ads.spark__get_url_tags_query": {"unique_id": "macro.facebook_ads.spark__get_url_tags_query", "package_name": "facebook_ads", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "macros/get_url_tag_query.sql", "original_file_path": "macros/get_url_tag_query.sql", "name": "spark__get_url_tags_query", "macro_sql": "{% macro spark__get_url_tags_query() %}\n\n cleaned_fields as (\n\n select\n _fivetran_id,\n creative_id,\n explode(from_json(url_tags, 'array>')) as url_tags\n from required_fields\n where url_tags is not null\n ), \n\n fields as (\n\n select\n _fivetran_id,\n creative_id,\n url_tags.key as key,\n url_tags.value as value,\n url_tags.type as type\n from cleaned_fields\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": 1671058920.924902, "supported_languages": null}, "macro.fivetran_utils.enabled_vars": {"unique_id": "macro.fivetran_utils.enabled_vars", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.9253461, "supported_languages": null}, "macro.fivetran_utils.percentile": {"unique_id": "macro.fivetran_utils.percentile", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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.bigquery__percentile"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.926263, "supported_languages": null}, "macro.fivetran_utils.default__percentile": {"unique_id": "macro.fivetran_utils.default__percentile", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.926487, "supported_languages": null}, "macro.fivetran_utils.redshift__percentile": {"unique_id": "macro.fivetran_utils.redshift__percentile", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.926644, "supported_languages": null}, "macro.fivetran_utils.bigquery__percentile": {"unique_id": "macro.fivetran_utils.bigquery__percentile", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.9268029, "supported_languages": null}, "macro.fivetran_utils.postgres__percentile": {"unique_id": "macro.fivetran_utils.postgres__percentile", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.92694, "supported_languages": null}, "macro.fivetran_utils.spark__percentile": {"unique_id": "macro.fivetran_utils.spark__percentile", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.927094, "supported_languages": null}, "macro.fivetran_utils.pivot_json_extract": {"unique_id": "macro.fivetran_utils.pivot_json_extract", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.927914, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.928593, "supported_languages": null}, "macro.fivetran_utils.json_parse": {"unique_id": "macro.fivetran_utils.json_parse", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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.bigquery__json_parse"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.9296541, "supported_languages": null}, "macro.fivetran_utils.default__json_parse": {"unique_id": "macro.fivetran_utils.default__json_parse", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.929898, "supported_languages": null}, "macro.fivetran_utils.redshift__json_parse": {"unique_id": "macro.fivetran_utils.redshift__json_parse", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.930144, "supported_languages": null}, "macro.fivetran_utils.bigquery__json_parse": {"unique_id": "macro.fivetran_utils.bigquery__json_parse", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.930376, "supported_languages": null}, "macro.fivetran_utils.postgres__json_parse": {"unique_id": "macro.fivetran_utils.postgres__json_parse", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.9306052, "supported_languages": null}, "macro.fivetran_utils.snowflake__json_parse": {"unique_id": "macro.fivetran_utils.snowflake__json_parse", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.9308622, "supported_languages": null}, "macro.fivetran_utils.spark__json_parse": {"unique_id": "macro.fivetran_utils.spark__json_parse", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.931118, "supported_languages": null}, "macro.fivetran_utils.max_bool": {"unique_id": "macro.fivetran_utils.max_bool", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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.bigquery__max_bool"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.931488, "supported_languages": null}, "macro.fivetran_utils.default__max_bool": {"unique_id": "macro.fivetran_utils.default__max_bool", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.9315898, "supported_languages": null}, "macro.fivetran_utils.snowflake__max_bool": {"unique_id": "macro.fivetran_utils.snowflake__max_bool", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.9316878, "supported_languages": null}, "macro.fivetran_utils.bigquery__max_bool": {"unique_id": "macro.fivetran_utils.bigquery__max_bool", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.9317849, "supported_languages": null}, "macro.fivetran_utils.calculated_fields": {"unique_id": "macro.fivetran_utils.calculated_fields", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.932202, "supported_languages": null}, "macro.fivetran_utils.seed_data_helper": {"unique_id": "macro.fivetran_utils.seed_data_helper", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.9328709, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.933676, "supported_languages": null}, "macro.fivetran_utils.string_agg": {"unique_id": "macro.fivetran_utils.string_agg", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.93418, "supported_languages": null}, "macro.fivetran_utils.default__string_agg": {"unique_id": "macro.fivetran_utils.default__string_agg", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.934308, "supported_languages": null}, "macro.fivetran_utils.snowflake__string_agg": {"unique_id": "macro.fivetran_utils.snowflake__string_agg", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.934433, "supported_languages": null}, "macro.fivetran_utils.redshift__string_agg": {"unique_id": "macro.fivetran_utils.redshift__string_agg", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.934556, "supported_languages": null}, "macro.fivetran_utils.spark__string_agg": {"unique_id": "macro.fivetran_utils.spark__string_agg", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.9346838, "supported_languages": null}, "macro.fivetran_utils.timestamp_diff": {"unique_id": "macro.fivetran_utils.timestamp_diff", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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.bigquery__timestamp_diff"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.937359, "supported_languages": null}, "macro.fivetran_utils.default__timestamp_diff": {"unique_id": "macro.fivetran_utils.default__timestamp_diff", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.9375181, "supported_languages": null}, "macro.fivetran_utils.redshift__timestamp_diff": {"unique_id": "macro.fivetran_utils.redshift__timestamp_diff", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.93767, "supported_languages": null}, "macro.fivetran_utils.bigquery__timestamp_diff": {"unique_id": "macro.fivetran_utils.bigquery__timestamp_diff", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.937818, "supported_languages": null}, "macro.fivetran_utils.postgres__timestamp_diff": {"unique_id": "macro.fivetran_utils.postgres__timestamp_diff", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.939483, "supported_languages": null}, "macro.fivetran_utils.try_cast": {"unique_id": "macro.fivetran_utils.try_cast", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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.bigquery__try_cast"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.9403222, "supported_languages": null}, "macro.fivetran_utils.default__safe_cast": {"unique_id": "macro.fivetran_utils.default__safe_cast", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.940454, "supported_languages": null}, "macro.fivetran_utils.redshift__try_cast": {"unique_id": "macro.fivetran_utils.redshift__try_cast", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.9407208, "supported_languages": null}, "macro.fivetran_utils.postgres__try_cast": {"unique_id": "macro.fivetran_utils.postgres__try_cast", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.9409962, "supported_languages": null}, "macro.fivetran_utils.snowflake__try_cast": {"unique_id": "macro.fivetran_utils.snowflake__try_cast", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.941122, "supported_languages": null}, "macro.fivetran_utils.bigquery__try_cast": {"unique_id": "macro.fivetran_utils.bigquery__try_cast", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.9412422, "supported_languages": null}, "macro.fivetran_utils.spark__try_cast": {"unique_id": "macro.fivetran_utils.spark__try_cast", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.9413602, "supported_languages": null}, "macro.fivetran_utils.source_relation": {"unique_id": "macro.fivetran_utils.source_relation", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.941878, "supported_languages": null}, "macro.fivetran_utils.default__source_relation": {"unique_id": "macro.fivetran_utils.default__source_relation", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.942431, "supported_languages": null}, "macro.fivetran_utils.first_value": {"unique_id": "macro.fivetran_utils.first_value", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.942959, "supported_languages": null}, "macro.fivetran_utils.default__first_value": {"unique_id": "macro.fivetran_utils.default__first_value", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.943155, "supported_languages": null}, "macro.fivetran_utils.redshift__first_value": {"unique_id": "macro.fivetran_utils.redshift__first_value", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.943362, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.94367, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.944772, "supported_languages": null}, "macro.fivetran_utils.union_relations": {"unique_id": "macro.fivetran_utils.union_relations", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.948565, "supported_languages": null}, "macro.fivetran_utils.union_tables": {"unique_id": "macro.fivetran_utils.union_tables", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.94891, "supported_languages": null}, "macro.fivetran_utils.snowflake_seed_data": {"unique_id": "macro.fivetran_utils.snowflake_seed_data", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.949337, "supported_languages": null}, "macro.fivetran_utils.fill_staging_columns": {"unique_id": "macro.fivetran_utils.fill_staging_columns", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.950847, "supported_languages": null}, "macro.fivetran_utils.quote_column": {"unique_id": "macro.fivetran_utils.quote_column", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.951374, "supported_languages": null}, "macro.fivetran_utils.json_extract": {"unique_id": "macro.fivetran_utils.json_extract", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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.bigquery__json_extract"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.951963, "supported_languages": null}, "macro.fivetran_utils.default__json_extract": {"unique_id": "macro.fivetran_utils.default__json_extract", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.952113, "supported_languages": null}, "macro.fivetran_utils.snowflake__json_extract": {"unique_id": "macro.fivetran_utils.snowflake__json_extract", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.9522629, "supported_languages": null}, "macro.fivetran_utils.redshift__json_extract": {"unique_id": "macro.fivetran_utils.redshift__json_extract", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.952428, "supported_languages": null}, "macro.fivetran_utils.bigquery__json_extract": {"unique_id": "macro.fivetran_utils.bigquery__json_extract", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.9525728, "supported_languages": null}, "macro.fivetran_utils.postgres__json_extract": {"unique_id": "macro.fivetran_utils.postgres__json_extract", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.9527218, "supported_languages": null}, "macro.fivetran_utils.collect_freshness": {"unique_id": "macro.fivetran_utils.collect_freshness", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.9534411, "supported_languages": null}, "macro.fivetran_utils.default__collect_freshness": {"unique_id": "macro.fivetran_utils.default__collect_freshness", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.954371, "supported_languages": null}, "macro.fivetran_utils.timestamp_add": {"unique_id": "macro.fivetran_utils.timestamp_add", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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.bigquery__timestamp_add"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.955074, "supported_languages": null}, "macro.fivetran_utils.default__timestamp_add": {"unique_id": "macro.fivetran_utils.default__timestamp_add", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.95523, "supported_languages": null}, "macro.fivetran_utils.bigquery__timestamp_add": {"unique_id": "macro.fivetran_utils.bigquery__timestamp_add", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.955382, "supported_languages": null}, "macro.fivetran_utils.redshift__timestamp_add": {"unique_id": "macro.fivetran_utils.redshift__timestamp_add", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.9555311, "supported_languages": null}, "macro.fivetran_utils.postgres__timestamp_add": {"unique_id": "macro.fivetran_utils.postgres__timestamp_add", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.955681, "supported_languages": null}, "macro.fivetran_utils.spark__timestamp_add": {"unique_id": "macro.fivetran_utils.spark__timestamp_add", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.955847, "supported_languages": null}, "macro.fivetran_utils.ceiling": {"unique_id": "macro.fivetran_utils.ceiling", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.956169, "supported_languages": null}, "macro.fivetran_utils.default__ceiling": {"unique_id": "macro.fivetran_utils.default__ceiling", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.956269, "supported_languages": null}, "macro.fivetran_utils.snowflake__ceiling": {"unique_id": "macro.fivetran_utils.snowflake__ceiling", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.956425, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.957102, "supported_languages": null}, "macro.fivetran_utils.union_data": {"unique_id": "macro.fivetran_utils.union_data", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.958428, "supported_languages": null}, "macro.fivetran_utils.default__union_data": {"unique_id": "macro.fivetran_utils.default__union_data", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.960711, "supported_languages": null}, "macro.fivetran_utils.dummy_coalesce_value": {"unique_id": "macro.fivetran_utils.dummy_coalesce_value", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.9621062, "supported_languages": null}, "macro.fivetran_utils.array_agg": {"unique_id": "macro.fivetran_utils.array_agg", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.9624262, "supported_languages": null}, "macro.fivetran_utils.default__array_agg": {"unique_id": "macro.fivetran_utils.default__array_agg", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.962525, "supported_languages": null}, "macro.fivetran_utils.redshift__array_agg": {"unique_id": "macro.fivetran_utils.redshift__array_agg", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.962621, "supported_languages": null}, "macro.fivetran_utils.empty_variable_warning": {"unique_id": "macro.fivetran_utils.empty_variable_warning", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.963059, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.963495, "supported_languages": null}, "macro.facebook_ads_source.get_ad_set_history_columns": {"unique_id": "macro.facebook_ads_source.get_ad_set_history_columns", "package_name": "facebook_ads_source", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "macros/get_ad_set_history_columns.sql", "original_file_path": "macros/get_ad_set_history_columns.sql", "name": "get_ad_set_history_columns", "macro_sql": "{% macro get_ad_set_history_columns() %}\n\n{% set columns = [\n {\"name\": \"updated_time\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"id\", \"datatype\": dbt.type_int()},\n {\"name\": \"name\", \"datatype\": dbt.type_string()},\n {\"name\": \"account_id\", \"datatype\": dbt.type_int()},\n {\"name\": \"campaign_id\", \"datatype\": dbt.type_int()},\n {\"name\": \"start_time\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"end_time\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"bid_strategy\", \"datatype\": dbt.type_string()},\n {\"name\": \"daily_budget\", \"datatype\": dbt.type_int()},\n {\"name\": \"budget_remaining\", \"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_timestamp", "macro.dbt.type_int", "macro.dbt.type_string"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.964756, "supported_languages": null}, "macro.facebook_ads_source.get_creative_history_columns": {"unique_id": "macro.facebook_ads_source.get_creative_history_columns", "package_name": "facebook_ads_source", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "macros/get_creative_history_columns.sql", "original_file_path": "macros/get_creative_history_columns.sql", "name": "get_creative_history_columns", "macro_sql": "{% macro get_creative_history_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"id\", \"datatype\": dbt.type_int()},\n {\"name\": \"account_id\", \"datatype\": dbt.type_int()},\n {\"name\": \"name\", \"datatype\": dbt.type_string()},\n {\"name\": \"page_link\", \"datatype\": dbt.type_string()},\n {\"name\": \"template_page_link\", \"datatype\": dbt.type_string()},\n {\"name\": \"url_tags\", \"datatype\": dbt.type_string()},\n {\"name\": \"asset_feed_spec_link_urls\", \"datatype\": dbt.type_string()},\n {\"name\": \"object_story_link_data_child_attachments\", \"datatype\": dbt.type_string()},\n {\"name\": \"object_story_link_data_caption\", \"datatype\": dbt.type_string()},\n {\"name\": \"object_story_link_data_description\", \"datatype\": dbt.type_string()},\n {\"name\": \"object_story_link_data_link\", \"datatype\": dbt.type_string()},\n {\"name\": \"object_story_link_data_message\", \"datatype\": dbt.type_string()},\n {\"name\": \"template_app_link_spec_android\", \"datatype\": dbt.type_string()},\n {\"name\": \"template_app_link_spec_ios\", \"datatype\": dbt.type_string()},\n {\"name\": \"template_app_link_spec_ipad\", \"datatype\": dbt.type_string()},\n {\"name\": \"template_app_link_spec_iphone\", \"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_timestamp", "macro.dbt.type_int"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.966732, "supported_languages": null}, "macro.facebook_ads_source.get_campaign_history_columns": {"unique_id": "macro.facebook_ads_source.get_campaign_history_columns", "package_name": "facebook_ads_source", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_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\": \"updated_time\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"created_time\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"account_id\", \"datatype\": dbt.type_int()},\n {\"name\": \"id\", \"datatype\": dbt.type_int()},\n {\"name\": \"name\", \"datatype\": dbt.type_string()},\n {\"name\": \"start_time\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"stop_time\", \"datatype\": dbt.type_timestamp()}, \n {\"name\": \"status\", \"datatype\": dbt.type_string()},\n {\"name\": \"daily_budget\", \"datatype\": dbt.type_int()},\n {\"name\": \"lifetime_budget\", \"datatype\": dbt.type_int()},\n {\"name\": \"budget_remaining\", \"datatype\": dbt.type_float()}\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", "macro.dbt.type_float"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.967999, "supported_languages": null}, "macro.facebook_ads_source.get_basic_ad_columns": {"unique_id": "macro.facebook_ads_source.get_basic_ad_columns", "package_name": "facebook_ads_source", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "macros/get_basic_ad_columns.sql", "original_file_path": "macros/get_basic_ad_columns.sql", "name": "get_basic_ad_columns", "macro_sql": "{% macro get_basic_ad_columns() %}\n\n{% set columns = [\n {\"name\": \"ad_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"ad_name\", \"datatype\": dbt.type_string()},\n {\"name\": \"adset_name\", \"datatype\": dbt.type_string()},\n {\"name\": \"date\", \"datatype\": \"date\"},\n {\"name\": \"account_id\", \"datatype\": dbt.type_int()},\n {\"name\": \"impressions\", \"datatype\": dbt.type_int()},\n {\"name\": \"inline_link_clicks\", \"datatype\": dbt.type_int()},\n {\"name\": \"spend\", \"datatype\": dbt.type_float()},\n {\"name\": \"reach\", \"datatype\": dbt.type_int()},\n {\"name\": \"frequency\", \"datatype\": dbt.type_float()}\n] %}\n\n{{ fivetran_utils.add_pass_through_columns(columns, var('facebook_ads__basic_ad_passthrough_metrics')) }}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.type_string", "macro.dbt.type_int", "macro.dbt.type_float", "macro.fivetran_utils.add_pass_through_columns"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.9692328, "supported_languages": null}, "macro.facebook_ads_source.get_account_history_columns": {"unique_id": "macro.facebook_ads_source.get_account_history_columns", "package_name": "facebook_ads_source", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "macros/get_account_history_columns.sql", "original_file_path": "macros/get_account_history_columns.sql", "name": "get_account_history_columns", "macro_sql": "{% macro get_account_history_columns() %}\n\n{% set columns = [\n {\"name\": \"id\", \"datatype\": dbt.type_int()},\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"name\", \"datatype\": dbt.type_string()},\n {\"name\": \"account_status\", \"datatype\": dbt.type_string()},\n {\"name\": \"business_country_code\", \"datatype\": dbt.type_string()},\n {\"name\": \"created_time\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"currency\", \"datatype\": dbt.type_string()},\n {\"name\": \"timezone_name\", \"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": 1671058920.9702148, "supported_languages": null}, "macro.facebook_ads_source.get_ad_history_columns": {"unique_id": "macro.facebook_ads_source.get_ad_history_columns", "package_name": "facebook_ads_source", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_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\": \"updated_time\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"id\", \"datatype\": dbt.type_int()},\n {\"name\": \"name\", \"datatype\": dbt.type_string()},\n {\"name\": \"account_id\", \"datatype\": dbt.type_int()},\n {\"name\": \"ad_set_id\", \"datatype\": dbt.type_int()},\n {\"name\": \"campaign_id\", \"datatype\": dbt.type_int()},\n {\"name\": \"creative_id\", \"datatype\": dbt.type_int()}\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": 1671058920.971101, "supported_languages": null}}, "docs": {"dbt.__overview__": {"unique_id": "dbt.__overview__", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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"}, "facebook_ads_source._fivetran_synced": {"unique_id": "facebook_ads_source._fivetran_synced", "package_name": "facebook_ads_source", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "_fivetran_synced", "block_contents": "When the record was last synced by Fivetran."}, "facebook_ads_source.is_most_recent_record": {"unique_id": "facebook_ads_source.is_most_recent_record", "package_name": "facebook_ads_source", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "is_most_recent_record", "block_contents": "Boolean representing whether a record is the most recent version of that record. All records should have this value set to True given we filter on it."}, "facebook_ads_source.updated_time": {"unique_id": "facebook_ads_source.updated_time", "package_name": "facebook_ads_source", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "updated_time", "block_contents": "The timestamp of the last update of a record."}}, "exposures": {}, "metrics": {}, "selectors": {}, "disabled": {}, "parent_map": {"seed.facebook_ads_integration_tests.facebook_ads_ad_history_data": [], "seed.facebook_ads_integration_tests.facebook_ads_creative_history_data": [], "seed.facebook_ads_integration_tests.facebook_ads_campaign_history_data": [], "seed.facebook_ads_integration_tests.facebook_ads_account_history_data": [], "seed.facebook_ads_integration_tests.facebook_ads_basic_ad_data": [], "seed.facebook_ads_integration_tests.facebook_ads_ad_set_history_data": [], "model.facebook_ads.facebook_ads__url_report": ["model.facebook_ads.int_facebook_ads__creative_history", "model.facebook_ads_source.stg_facebook_ads__account_history", "model.facebook_ads_source.stg_facebook_ads__ad_history", "model.facebook_ads_source.stg_facebook_ads__ad_set_history", "model.facebook_ads_source.stg_facebook_ads__basic_ad", "model.facebook_ads_source.stg_facebook_ads__campaign_history"], "model.facebook_ads.facebook_ads__url_tags": ["model.facebook_ads_source.stg_facebook_ads__creative_history"], "model.facebook_ads.facebook_ads__campaign_report": ["model.facebook_ads_source.stg_facebook_ads__account_history", "model.facebook_ads_source.stg_facebook_ads__ad_history", "model.facebook_ads_source.stg_facebook_ads__basic_ad", "model.facebook_ads_source.stg_facebook_ads__campaign_history"], "model.facebook_ads.facebook_ads__account_report": ["model.facebook_ads_source.stg_facebook_ads__account_history", "model.facebook_ads_source.stg_facebook_ads__basic_ad"], "model.facebook_ads.facebook_ads__ad_report": ["model.facebook_ads_source.stg_facebook_ads__account_history", "model.facebook_ads_source.stg_facebook_ads__ad_history", "model.facebook_ads_source.stg_facebook_ads__ad_set_history", "model.facebook_ads_source.stg_facebook_ads__basic_ad", "model.facebook_ads_source.stg_facebook_ads__campaign_history"], "model.facebook_ads.facebook_ads__ad_set_report": ["model.facebook_ads_source.stg_facebook_ads__account_history", "model.facebook_ads_source.stg_facebook_ads__ad_history", "model.facebook_ads_source.stg_facebook_ads__ad_set_history", "model.facebook_ads_source.stg_facebook_ads__basic_ad", "model.facebook_ads_source.stg_facebook_ads__campaign_history"], "model.facebook_ads.int_facebook_ads__creative_history": ["model.facebook_ads.facebook_ads__url_tags", "model.facebook_ads_source.stg_facebook_ads__creative_history"], "model.facebook_ads_source.stg_facebook_ads__basic_ad": ["model.facebook_ads_source.stg_facebook_ads__basic_ad_tmp", "model.facebook_ads_source.stg_facebook_ads__basic_ad_tmp"], "model.facebook_ads_source.stg_facebook_ads__creative_history": ["model.facebook_ads_source.stg_facebook_ads__creative_history_tmp", "model.facebook_ads_source.stg_facebook_ads__creative_history_tmp"], "model.facebook_ads_source.stg_facebook_ads__campaign_history": ["model.facebook_ads_source.stg_facebook_ads__campaign_history_tmp", "model.facebook_ads_source.stg_facebook_ads__campaign_history_tmp"], "model.facebook_ads_source.stg_facebook_ads__account_history": ["model.facebook_ads_source.stg_facebook_ads__account_history_tmp", "model.facebook_ads_source.stg_facebook_ads__account_history_tmp"], "model.facebook_ads_source.stg_facebook_ads__ad_history": ["model.facebook_ads_source.stg_facebook_ads__ad_history_tmp", "model.facebook_ads_source.stg_facebook_ads__ad_history_tmp"], "model.facebook_ads_source.stg_facebook_ads__ad_set_history": ["model.facebook_ads_source.stg_facebook_ads__ad_set_history_tmp", "model.facebook_ads_source.stg_facebook_ads__ad_set_history_tmp"], "model.facebook_ads_source.stg_facebook_ads__ad_set_history_tmp": ["source.facebook_ads_source.facebook_ads.ad_set_history"], "model.facebook_ads_source.stg_facebook_ads__basic_ad_tmp": ["source.facebook_ads_source.facebook_ads.basic_ad"], "model.facebook_ads_source.stg_facebook_ads__ad_history_tmp": ["source.facebook_ads_source.facebook_ads.ad_history"], "model.facebook_ads_source.stg_facebook_ads__campaign_history_tmp": ["source.facebook_ads_source.facebook_ads.campaign_history"], "model.facebook_ads_source.stg_facebook_ads__creative_history_tmp": ["source.facebook_ads_source.facebook_ads.creative_history"], "model.facebook_ads_source.stg_facebook_ads__account_history_tmp": ["source.facebook_ads_source.facebook_ads.account_history"], "test.facebook_ads.not_null_facebook_ads__url_report_base_url.b7757e50be": ["model.facebook_ads.facebook_ads__url_report"], "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__url_report_date_day__account_id__campaign_id__ad_set_id__ad_id.03a7e82eb7": ["model.facebook_ads.facebook_ads__url_report"], "test.facebook_ads.not_null_facebook_ads__ad_report_ad_id.3811d9c238": ["model.facebook_ads.facebook_ads__ad_report"], "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__ad_report_date_day__account_id__campaign_id__ad_set_id__ad_id.0a25b64738": ["model.facebook_ads.facebook_ads__ad_report"], "test.facebook_ads.not_null_facebook_ads__ad_set_report_ad_set_id.1ac870f5e4": ["model.facebook_ads.facebook_ads__ad_set_report"], "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__ad_set_report_date_day__account_id__campaign_id__ad_set_id.3dd4da872f": ["model.facebook_ads.facebook_ads__ad_set_report"], "test.facebook_ads.not_null_facebook_ads__campaign_report_campaign_id.d4f96d8d21": ["model.facebook_ads.facebook_ads__campaign_report"], "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__campaign_report_date_day__account_id__campaign_id.7cd75107e6": ["model.facebook_ads.facebook_ads__campaign_report"], "test.facebook_ads.not_null_facebook_ads__account_report_account_id.9be02b4024": ["model.facebook_ads.facebook_ads__account_report"], "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__account_report_date_day__account_id.5a94423e40": ["model.facebook_ads.facebook_ads__account_report"], "test.facebook_ads.not_null_facebook_ads__url_tags__fivetran_id.151d9515f3": ["model.facebook_ads.facebook_ads__url_tags"], "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__url_tags__fivetran_id__key__type.ba044777d3": ["model.facebook_ads.facebook_ads__url_tags"], "test.facebook_ads_source.not_null_stg_facebook_ads__account_history_account_id.f1cf38c40f": ["model.facebook_ads_source.stg_facebook_ads__account_history"], "test.facebook_ads_source.not_null_stg_facebook_ads__account_history__fivetran_synced.0570e35e1f": ["model.facebook_ads_source.stg_facebook_ads__account_history"], "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__account_history_account_id___fivetran_synced.f9b4d28fa2": ["model.facebook_ads_source.stg_facebook_ads__account_history"], "test.facebook_ads_source.not_null_stg_facebook_ads__ad_history_ad_id.11429d3064": ["model.facebook_ads_source.stg_facebook_ads__ad_history"], "test.facebook_ads_source.not_null_stg_facebook_ads__ad_history_updated_at.250a5a84e4": ["model.facebook_ads_source.stg_facebook_ads__ad_history"], "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__ad_history_ad_id__updated_at.2922c18b58": ["model.facebook_ads_source.stg_facebook_ads__ad_history"], "test.facebook_ads_source.not_null_stg_facebook_ads__ad_set_history_ad_set_id.e19a1df1bb": ["model.facebook_ads_source.stg_facebook_ads__ad_set_history"], "test.facebook_ads_source.not_null_stg_facebook_ads__ad_set_history_updated_at.ef7fafe0fa": ["model.facebook_ads_source.stg_facebook_ads__ad_set_history"], "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__ad_set_history_ad_set_id__updated_at.0a60ad0fef": ["model.facebook_ads_source.stg_facebook_ads__ad_set_history"], "test.facebook_ads_source.not_null_stg_facebook_ads__campaign_history_campaign_id.1ca7a83852": ["model.facebook_ads_source.stg_facebook_ads__campaign_history"], "test.facebook_ads_source.not_null_stg_facebook_ads__campaign_history_updated_at.9e59f99270": ["model.facebook_ads_source.stg_facebook_ads__campaign_history"], "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__campaign_history_campaign_id__updated_at.7437b392c2": ["model.facebook_ads_source.stg_facebook_ads__campaign_history"], "test.facebook_ads_source.not_null_stg_facebook_ads__creative_history__fivetran_synced.3b0593cb4f": ["model.facebook_ads_source.stg_facebook_ads__creative_history"], "test.facebook_ads_source.not_null_stg_facebook_ads__creative_history_creative_id.eb4d804261": ["model.facebook_ads_source.stg_facebook_ads__creative_history"], "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__creative_history_creative_id___fivetran_synced.69ddc26562": ["model.facebook_ads_source.stg_facebook_ads__creative_history"], "test.facebook_ads_source.not_null_stg_facebook_ads__basic_ad_ad_id.2611b250fc": ["model.facebook_ads_source.stg_facebook_ads__basic_ad"], "test.facebook_ads_source.not_null_stg_facebook_ads__basic_ad_account_id.d06f6d861b": ["model.facebook_ads_source.stg_facebook_ads__basic_ad"], "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__basic_ad_date_day__ad_id__account_id.bd909529e7": ["model.facebook_ads_source.stg_facebook_ads__basic_ad"], "source.facebook_ads_source.facebook_ads.account_history": [], "source.facebook_ads_source.facebook_ads.ad_history": [], "source.facebook_ads_source.facebook_ads.ad_set_history": [], "source.facebook_ads_source.facebook_ads.basic_ad": [], "source.facebook_ads_source.facebook_ads.campaign_history": [], "source.facebook_ads_source.facebook_ads.creative_history": []}, "child_map": {"seed.facebook_ads_integration_tests.facebook_ads_ad_history_data": [], "seed.facebook_ads_integration_tests.facebook_ads_creative_history_data": [], "seed.facebook_ads_integration_tests.facebook_ads_campaign_history_data": [], "seed.facebook_ads_integration_tests.facebook_ads_account_history_data": [], "seed.facebook_ads_integration_tests.facebook_ads_basic_ad_data": [], "seed.facebook_ads_integration_tests.facebook_ads_ad_set_history_data": [], "model.facebook_ads.facebook_ads__url_report": ["test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__url_report_date_day__account_id__campaign_id__ad_set_id__ad_id.03a7e82eb7", "test.facebook_ads.not_null_facebook_ads__url_report_base_url.b7757e50be"], "model.facebook_ads.facebook_ads__url_tags": ["model.facebook_ads.int_facebook_ads__creative_history", "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__url_tags__fivetran_id__key__type.ba044777d3", "test.facebook_ads.not_null_facebook_ads__url_tags__fivetran_id.151d9515f3"], "model.facebook_ads.facebook_ads__campaign_report": ["test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__campaign_report_date_day__account_id__campaign_id.7cd75107e6", "test.facebook_ads.not_null_facebook_ads__campaign_report_campaign_id.d4f96d8d21"], "model.facebook_ads.facebook_ads__account_report": ["test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__account_report_date_day__account_id.5a94423e40", "test.facebook_ads.not_null_facebook_ads__account_report_account_id.9be02b4024"], "model.facebook_ads.facebook_ads__ad_report": ["test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__ad_report_date_day__account_id__campaign_id__ad_set_id__ad_id.0a25b64738", "test.facebook_ads.not_null_facebook_ads__ad_report_ad_id.3811d9c238"], "model.facebook_ads.facebook_ads__ad_set_report": ["test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__ad_set_report_date_day__account_id__campaign_id__ad_set_id.3dd4da872f", "test.facebook_ads.not_null_facebook_ads__ad_set_report_ad_set_id.1ac870f5e4"], "model.facebook_ads.int_facebook_ads__creative_history": ["model.facebook_ads.facebook_ads__url_report"], "model.facebook_ads_source.stg_facebook_ads__basic_ad": ["model.facebook_ads.facebook_ads__account_report", "model.facebook_ads.facebook_ads__ad_report", "model.facebook_ads.facebook_ads__ad_set_report", "model.facebook_ads.facebook_ads__campaign_report", "model.facebook_ads.facebook_ads__url_report", "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__basic_ad_date_day__ad_id__account_id.bd909529e7", "test.facebook_ads_source.not_null_stg_facebook_ads__basic_ad_account_id.d06f6d861b", "test.facebook_ads_source.not_null_stg_facebook_ads__basic_ad_ad_id.2611b250fc"], "model.facebook_ads_source.stg_facebook_ads__creative_history": ["model.facebook_ads.facebook_ads__url_tags", "model.facebook_ads.int_facebook_ads__creative_history", "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__creative_history_creative_id___fivetran_synced.69ddc26562", "test.facebook_ads_source.not_null_stg_facebook_ads__creative_history__fivetran_synced.3b0593cb4f", "test.facebook_ads_source.not_null_stg_facebook_ads__creative_history_creative_id.eb4d804261"], "model.facebook_ads_source.stg_facebook_ads__campaign_history": ["model.facebook_ads.facebook_ads__ad_report", "model.facebook_ads.facebook_ads__ad_set_report", "model.facebook_ads.facebook_ads__campaign_report", "model.facebook_ads.facebook_ads__url_report", "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__campaign_history_campaign_id__updated_at.7437b392c2", "test.facebook_ads_source.not_null_stg_facebook_ads__campaign_history_campaign_id.1ca7a83852", "test.facebook_ads_source.not_null_stg_facebook_ads__campaign_history_updated_at.9e59f99270"], "model.facebook_ads_source.stg_facebook_ads__account_history": ["model.facebook_ads.facebook_ads__account_report", "model.facebook_ads.facebook_ads__ad_report", "model.facebook_ads.facebook_ads__ad_set_report", "model.facebook_ads.facebook_ads__campaign_report", "model.facebook_ads.facebook_ads__url_report", "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__account_history_account_id___fivetran_synced.f9b4d28fa2", "test.facebook_ads_source.not_null_stg_facebook_ads__account_history__fivetran_synced.0570e35e1f", "test.facebook_ads_source.not_null_stg_facebook_ads__account_history_account_id.f1cf38c40f"], "model.facebook_ads_source.stg_facebook_ads__ad_history": ["model.facebook_ads.facebook_ads__ad_report", "model.facebook_ads.facebook_ads__ad_set_report", "model.facebook_ads.facebook_ads__campaign_report", "model.facebook_ads.facebook_ads__url_report", "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__ad_history_ad_id__updated_at.2922c18b58", "test.facebook_ads_source.not_null_stg_facebook_ads__ad_history_ad_id.11429d3064", "test.facebook_ads_source.not_null_stg_facebook_ads__ad_history_updated_at.250a5a84e4"], "model.facebook_ads_source.stg_facebook_ads__ad_set_history": ["model.facebook_ads.facebook_ads__ad_report", "model.facebook_ads.facebook_ads__ad_set_report", "model.facebook_ads.facebook_ads__url_report", "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__ad_set_history_ad_set_id__updated_at.0a60ad0fef", "test.facebook_ads_source.not_null_stg_facebook_ads__ad_set_history_ad_set_id.e19a1df1bb", "test.facebook_ads_source.not_null_stg_facebook_ads__ad_set_history_updated_at.ef7fafe0fa"], "model.facebook_ads_source.stg_facebook_ads__ad_set_history_tmp": ["model.facebook_ads_source.stg_facebook_ads__ad_set_history", "model.facebook_ads_source.stg_facebook_ads__ad_set_history"], "model.facebook_ads_source.stg_facebook_ads__basic_ad_tmp": ["model.facebook_ads_source.stg_facebook_ads__basic_ad", "model.facebook_ads_source.stg_facebook_ads__basic_ad"], "model.facebook_ads_source.stg_facebook_ads__ad_history_tmp": ["model.facebook_ads_source.stg_facebook_ads__ad_history", "model.facebook_ads_source.stg_facebook_ads__ad_history"], "model.facebook_ads_source.stg_facebook_ads__campaign_history_tmp": ["model.facebook_ads_source.stg_facebook_ads__campaign_history", "model.facebook_ads_source.stg_facebook_ads__campaign_history"], "model.facebook_ads_source.stg_facebook_ads__creative_history_tmp": ["model.facebook_ads_source.stg_facebook_ads__creative_history", "model.facebook_ads_source.stg_facebook_ads__creative_history"], "model.facebook_ads_source.stg_facebook_ads__account_history_tmp": ["model.facebook_ads_source.stg_facebook_ads__account_history", "model.facebook_ads_source.stg_facebook_ads__account_history"], "test.facebook_ads.not_null_facebook_ads__url_report_base_url.b7757e50be": [], "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__url_report_date_day__account_id__campaign_id__ad_set_id__ad_id.03a7e82eb7": [], "test.facebook_ads.not_null_facebook_ads__ad_report_ad_id.3811d9c238": [], "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__ad_report_date_day__account_id__campaign_id__ad_set_id__ad_id.0a25b64738": [], "test.facebook_ads.not_null_facebook_ads__ad_set_report_ad_set_id.1ac870f5e4": [], "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__ad_set_report_date_day__account_id__campaign_id__ad_set_id.3dd4da872f": [], "test.facebook_ads.not_null_facebook_ads__campaign_report_campaign_id.d4f96d8d21": [], "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__campaign_report_date_day__account_id__campaign_id.7cd75107e6": [], "test.facebook_ads.not_null_facebook_ads__account_report_account_id.9be02b4024": [], "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__account_report_date_day__account_id.5a94423e40": [], "test.facebook_ads.not_null_facebook_ads__url_tags__fivetran_id.151d9515f3": [], "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__url_tags__fivetran_id__key__type.ba044777d3": [], "test.facebook_ads_source.not_null_stg_facebook_ads__account_history_account_id.f1cf38c40f": [], "test.facebook_ads_source.not_null_stg_facebook_ads__account_history__fivetran_synced.0570e35e1f": [], "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__account_history_account_id___fivetran_synced.f9b4d28fa2": [], "test.facebook_ads_source.not_null_stg_facebook_ads__ad_history_ad_id.11429d3064": [], "test.facebook_ads_source.not_null_stg_facebook_ads__ad_history_updated_at.250a5a84e4": [], "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__ad_history_ad_id__updated_at.2922c18b58": [], "test.facebook_ads_source.not_null_stg_facebook_ads__ad_set_history_ad_set_id.e19a1df1bb": [], "test.facebook_ads_source.not_null_stg_facebook_ads__ad_set_history_updated_at.ef7fafe0fa": [], "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__ad_set_history_ad_set_id__updated_at.0a60ad0fef": [], "test.facebook_ads_source.not_null_stg_facebook_ads__campaign_history_campaign_id.1ca7a83852": [], "test.facebook_ads_source.not_null_stg_facebook_ads__campaign_history_updated_at.9e59f99270": [], "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__campaign_history_campaign_id__updated_at.7437b392c2": [], "test.facebook_ads_source.not_null_stg_facebook_ads__creative_history__fivetran_synced.3b0593cb4f": [], "test.facebook_ads_source.not_null_stg_facebook_ads__creative_history_creative_id.eb4d804261": [], "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__creative_history_creative_id___fivetran_synced.69ddc26562": [], "test.facebook_ads_source.not_null_stg_facebook_ads__basic_ad_ad_id.2611b250fc": [], "test.facebook_ads_source.not_null_stg_facebook_ads__basic_ad_account_id.d06f6d861b": [], "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__basic_ad_date_day__ad_id__account_id.bd909529e7": [], "source.facebook_ads_source.facebook_ads.account_history": ["model.facebook_ads_source.stg_facebook_ads__account_history_tmp"], "source.facebook_ads_source.facebook_ads.ad_history": ["model.facebook_ads_source.stg_facebook_ads__ad_history_tmp"], "source.facebook_ads_source.facebook_ads.ad_set_history": ["model.facebook_ads_source.stg_facebook_ads__ad_set_history_tmp"], "source.facebook_ads_source.facebook_ads.basic_ad": ["model.facebook_ads_source.stg_facebook_ads__basic_ad_tmp"], "source.facebook_ads_source.facebook_ads.campaign_history": ["model.facebook_ads_source.stg_facebook_ads__campaign_history_tmp"], "source.facebook_ads_source.facebook_ads.creative_history": ["model.facebook_ads_source.stg_facebook_ads__creative_history_tmp"]}} \ No newline at end of file diff --git a/docs/run_results.json b/docs/run_results.json index f53272a..edf6a19 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-10-25T21:01:47.098377Z", "invocation_id": "bb3da3fc-73db-47bd-88c1-560f01c5b724", "env": {}}, "results": [{"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:46.143096Z", "completed_at": "2022-10-25T21:01:46.157423Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:46.158354Z", "completed_at": "2022-10-25T21:01:46.158369Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.017778873443603516, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads_source.stg_facebook_ads__account_history_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:46.143297Z", "completed_at": "2022-10-25T21:01:46.157751Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:46.158457Z", "completed_at": "2022-10-25T21:01:46.158461Z"}], "thread_id": "Thread-2 (worker)", "execution_time": 0.017570018768310547, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads_source.stg_facebook_ads__ad_history_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:46.148029Z", "completed_at": "2022-10-25T21:01:46.158217Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:46.159438Z", "completed_at": "2022-10-25T21:01:46.159442Z"}], "thread_id": "Thread-4 (worker)", "execution_time": 0.017676115036010742, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads_source.stg_facebook_ads__basic_ad_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:46.143395Z", "completed_at": "2022-10-25T21:01:46.158295Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:46.159525Z", "completed_at": "2022-10-25T21:01:46.159528Z"}], "thread_id": "Thread-3 (worker)", "execution_time": 0.01847386360168457, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads_source.stg_facebook_ads__ad_set_history_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:46.162445Z", "completed_at": "2022-10-25T21:01:46.171882Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:46.172466Z", "completed_at": "2022-10-25T21:01:46.172472Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.012215137481689453, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads_source.stg_facebook_ads__campaign_history_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:46.169233Z", "completed_at": "2022-10-25T21:01:46.171960Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:46.172538Z", "completed_at": "2022-10-25T21:01:46.172542Z"}], "thread_id": "Thread-4 (worker)", "execution_time": 0.011380910873413086, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.facebook_ads_integration_tests.facebook_ads_account_history_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:46.162530Z", "completed_at": "2022-10-25T21:01:46.172011Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:46.172611Z", "completed_at": "2022-10-25T21:01:46.172614Z"}], "thread_id": "Thread-2 (worker)", "execution_time": 0.01250004768371582, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads_source.stg_facebook_ads__creative_history_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:46.169314Z", "completed_at": "2022-10-25T21:01:46.172077Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:46.172677Z", "completed_at": "2022-10-25T21:01:46.172680Z"}], "thread_id": "Thread-3 (worker)", "execution_time": 0.01164102554321289, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.facebook_ads_integration_tests.facebook_ads_ad_history_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:46.175623Z", "completed_at": "2022-10-25T21:01:46.179892Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:46.180398Z", "completed_at": "2022-10-25T21:01:46.180402Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.0063838958740234375, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.facebook_ads_integration_tests.facebook_ads_ad_set_history_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:46.175690Z", "completed_at": "2022-10-25T21:01:46.179966Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:46.180465Z", "completed_at": "2022-10-25T21:01:46.180467Z"}], "thread_id": "Thread-4 (worker)", "execution_time": 0.007183074951171875, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.facebook_ads_integration_tests.facebook_ads_basic_ad_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:46.175755Z", "completed_at": "2022-10-25T21:01:46.180035Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:46.180524Z", "completed_at": "2022-10-25T21:01:46.180527Z"}], "thread_id": "Thread-2 (worker)", "execution_time": 0.00719904899597168, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.facebook_ads_integration_tests.facebook_ads_campaign_history_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:46.175818Z", "completed_at": "2022-10-25T21:01:46.180095Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:46.180584Z", "completed_at": "2022-10-25T21:01:46.180586Z"}], "thread_id": "Thread-3 (worker)", "execution_time": 0.007214069366455078, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.facebook_ads_integration_tests.facebook_ads_creative_history_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:46.183998Z", "completed_at": "2022-10-25T21:01:46.511985Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:46.512186Z", "completed_at": "2022-10-25T21:01:46.512194Z"}], "thread_id": "Thread-2 (worker)", "execution_time": 0.32919979095458984, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads_source.stg_facebook_ads__basic_ad"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:46.183886Z", "completed_at": "2022-10-25T21:01:46.537336Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:46.537630Z", "completed_at": "2022-10-25T21:01:46.537639Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.3551616668701172, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads_source.stg_facebook_ads__account_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:46.184052Z", "completed_at": "2022-10-25T21:01:46.537521Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:46.538169Z", "completed_at": "2022-10-25T21:01:46.538172Z"}], "thread_id": "Thread-3 (worker)", "execution_time": 0.3551640510559082, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads_source.stg_facebook_ads__ad_set_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:46.183942Z", "completed_at": "2022-10-25T21:01:46.537570Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:46.538243Z", "completed_at": "2022-10-25T21:01:46.538248Z"}], "thread_id": "Thread-4 (worker)", "execution_time": 0.3558981418609619, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads_source.stg_facebook_ads__ad_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:46.543022Z", "completed_at": "2022-10-25T21:01:46.556094Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:46.556256Z", "completed_at": "2022-10-25T21:01:46.556263Z"}], "thread_id": "Thread-4 (worker)", "execution_time": 0.016457796096801758, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__basic_ad_account_id.d06f6d861b"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:46.542951Z", "completed_at": "2022-10-25T21:01:46.559239Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:46.559421Z", "completed_at": "2022-10-25T21:01:46.559425Z"}], "thread_id": "Thread-3 (worker)", "execution_time": 0.01981210708618164, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__basic_ad_date_day__ad_id__account_id.bd909529e7"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:46.557013Z", "completed_at": "2022-10-25T21:01:46.559744Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:46.560163Z", "completed_at": "2022-10-25T21:01:46.560167Z"}], "thread_id": "Thread-4 (worker)", "execution_time": 0.0037221908569335938, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__basic_ad_ad_id.2611b250fc"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:46.560500Z", "completed_at": "2022-10-25T21:01:46.569099Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:46.569261Z", "completed_at": "2022-10-25T21:01:46.569265Z"}], "thread_id": "Thread-3 (worker)", "execution_time": 0.009539127349853516, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads.facebook_ads__account_report"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:46.566505Z", "completed_at": "2022-10-25T21:01:46.569306Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:46.569861Z", "completed_at": "2022-10-25T21:01:46.569864Z"}], "thread_id": "Thread-4 (worker)", "execution_time": 0.004028797149658203, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__account_history_account_id___fivetran_synced.f9b4d28fa2"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:46.570484Z", "completed_at": "2022-10-25T21:01:46.575387Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:46.575525Z", "completed_at": "2022-10-25T21:01:46.575528Z"}], "thread_id": "Thread-3 (worker)", "execution_time": 0.005840301513671875, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__account_history__fivetran_synced.0570e35e1f"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:46.572824Z", "completed_at": "2022-10-25T21:01:46.575568Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:46.576013Z", "completed_at": "2022-10-25T21:01:46.576016Z"}], "thread_id": "Thread-4 (worker)", "execution_time": 0.0058438777923583984, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__account_history_account_id.f1cf38c40f"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:46.576613Z", "completed_at": "2022-10-25T21:01:46.581395Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:46.581530Z", "completed_at": "2022-10-25T21:01:46.581533Z"}], "thread_id": "Thread-3 (worker)", "execution_time": 0.005692005157470703, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__ad_set_history_ad_set_id__updated_at.0a60ad0fef"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:46.579392Z", "completed_at": "2022-10-25T21:01:46.581572Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:46.582020Z", "completed_at": "2022-10-25T21:01:46.582023Z"}], "thread_id": "Thread-4 (worker)", "execution_time": 0.005719900131225586, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__ad_set_history_ad_set_id.e19a1df1bb"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:46.582641Z", "completed_at": "2022-10-25T21:01:46.587432Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:46.587585Z", "completed_at": "2022-10-25T21:01:46.587589Z"}], "thread_id": "Thread-3 (worker)", "execution_time": 0.005716800689697266, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__ad_set_history_updated_at.ef7fafe0fa"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:46.584881Z", "completed_at": "2022-10-25T21:01:46.587910Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:46.588351Z", "completed_at": "2022-10-25T21:01:46.588355Z"}], "thread_id": "Thread-4 (worker)", "execution_time": 0.005897998809814453, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__ad_history_ad_id__updated_at.2922c18b58"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:46.588700Z", "completed_at": "2022-10-25T21:01:46.594231Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:46.594387Z", "completed_at": "2022-10-25T21:01:46.594391Z"}], "thread_id": "Thread-3 (worker)", "execution_time": 0.0064849853515625, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__ad_history_ad_id.11429d3064"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:46.591434Z", "completed_at": "2022-10-25T21:01:46.594435Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:46.594900Z", "completed_at": "2022-10-25T21:01:46.594903Z"}], "thread_id": "Thread-4 (worker)", "execution_time": 0.004118919372558594, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__ad_history_updated_at.250a5a84e4"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:46.595499Z", "completed_at": "2022-10-25T21:01:46.600323Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:46.600551Z", "completed_at": "2022-10-25T21:01:46.600554Z"}], "thread_id": "Thread-3 (worker)", "execution_time": 0.005837917327880859, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__account_report_date_day__account_id.5a94423e40"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:46.598280Z", "completed_at": "2022-10-25T21:01:46.600371Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:46.600608Z", "completed_at": "2022-10-25T21:01:46.600611Z"}], "thread_id": "Thread-4 (worker)", "execution_time": 0.005463123321533203, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads.not_null_facebook_ads__account_report_account_id.9be02b4024"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:46.513290Z", "completed_at": "2022-10-25T21:01:46.919523Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:46.919662Z", "completed_at": "2022-10-25T21:01:46.919669Z"}], "thread_id": "Thread-2 (worker)", "execution_time": 0.40703392028808594, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads_source.stg_facebook_ads__campaign_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:46.920488Z", "completed_at": "2022-10-25T21:01:46.926523Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:46.926914Z", "completed_at": "2022-10-25T21:01:46.926920Z"}], "thread_id": "Thread-3 (worker)", "execution_time": 0.056947946548461914, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads.facebook_ads__ad_report"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:46.926798Z", "completed_at": "2022-10-25T21:01:46.980987Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:46.995423Z", "completed_at": "2022-10-25T21:01:46.995433Z"}], "thread_id": "Thread-4 (worker)", "execution_time": 0.06984400749206543, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads.facebook_ads__ad_set_report"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:46.926860Z", "completed_at": "2022-10-25T21:01:46.999104Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:46.999950Z", "completed_at": "2022-10-25T21:01:46.999955Z"}], "thread_id": "Thread-2 (worker)", "execution_time": 0.0742039680480957, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads.facebook_ads__campaign_report"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:46.995521Z", "completed_at": "2022-10-25T21:01:46.999751Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:47.000639Z", "completed_at": "2022-10-25T21:01:47.000642Z"}], "thread_id": "Thread-3 (worker)", "execution_time": 0.022056102752685547, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__campaign_history_campaign_id__updated_at.7437b392c2"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:47.000135Z", "completed_at": "2022-10-25T21:01:47.003840Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:47.004397Z", "completed_at": "2022-10-25T21:01:47.004401Z"}], "thread_id": "Thread-4 (worker)", "execution_time": 0.007762908935546875, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__campaign_history_campaign_id.1ca7a83852"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:47.004264Z", "completed_at": "2022-10-25T21:01:47.010601Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:47.011142Z", "completed_at": "2022-10-25T21:01:47.011147Z"}], "thread_id": "Thread-2 (worker)", "execution_time": 0.008004903793334961, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__campaign_history_updated_at.9e59f99270"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:47.006831Z", "completed_at": "2022-10-25T21:01:47.010985Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:47.011871Z", "completed_at": "2022-10-25T21:01:47.011875Z"}], "thread_id": "Thread-3 (worker)", "execution_time": 0.019268035888671875, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__ad_report_date_day__account_id__campaign_id__ad_set_id__ad_id.0a25b64738"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:47.011294Z", "completed_at": "2022-10-25T21:01:47.023946Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:47.024668Z", "completed_at": "2022-10-25T21:01:47.024674Z"}], "thread_id": "Thread-4 (worker)", "execution_time": 0.0181429386138916, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads.not_null_facebook_ads__ad_report_ad_id.3811d9c238"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:46.540216Z", "completed_at": "2022-10-25T21:01:47.024000Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:47.024732Z", "completed_at": "2022-10-25T21:01:47.024734Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.48999500274658203, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads_source.stg_facebook_ads__creative_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:47.024539Z", "completed_at": "2022-10-25T21:01:47.031573Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:47.032492Z", "completed_at": "2022-10-25T21:01:47.032497Z"}], "thread_id": "Thread-2 (worker)", "execution_time": 0.009396791458129883, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__ad_set_report_date_day__account_id__campaign_id__ad_set_id.3dd4da872f"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:47.028573Z", "completed_at": "2022-10-25T21:01:47.032170Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:47.032689Z", "completed_at": "2022-10-25T21:01:47.032692Z"}], "thread_id": "Thread-3 (worker)", "execution_time": 0.01384115219116211, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads.not_null_facebook_ads__ad_set_report_ad_set_id.1ac870f5e4"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:47.032625Z", "completed_at": "2022-10-25T21:01:47.038669Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:47.039317Z", "completed_at": "2022-10-25T21:01:47.039320Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.011656761169433594, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads.not_null_facebook_ads__campaign_report_campaign_id.d4f96d8d21"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:47.032559Z", "completed_at": "2022-10-25T21:01:47.038718Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:47.039388Z", "completed_at": "2022-10-25T21:01:47.039390Z"}], "thread_id": "Thread-4 (worker)", "execution_time": 0.012130975723266602, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__campaign_report_date_day__account_id__campaign_id.7cd75107e6"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:47.039248Z", "completed_at": "2022-10-25T21:01:47.046885Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:47.047719Z", "completed_at": "2022-10-25T21:01:47.047724Z"}], "thread_id": "Thread-2 (worker)", "execution_time": 0.009648799896240234, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads.facebook_ads__url_tags"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:47.039458Z", "completed_at": "2022-10-25T21:01:47.047390Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:47.047908Z", "completed_at": "2022-10-25T21:01:47.047911Z"}], "thread_id": "Thread-3 (worker)", "execution_time": 0.013868093490600586, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__creative_history_creative_id___fivetran_synced.69ddc26562"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:47.047781Z", "completed_at": "2022-10-25T21:01:47.053458Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:47.054209Z", "completed_at": "2022-10-25T21:01:47.054214Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.027980804443359375, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__creative_history__fivetran_synced.3b0593cb4f"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:47.047849Z", "completed_at": "2022-10-25T21:01:47.053509Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:47.054285Z", "completed_at": "2022-10-25T21:01:47.054289Z"}], "thread_id": "Thread-4 (worker)", "execution_time": 0.02805304527282715, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__creative_history_creative_id.eb4d804261"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:47.054144Z", "completed_at": "2022-10-25T21:01:47.078732Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:47.079232Z", "completed_at": "2022-10-25T21:01:47.079238Z"}], "thread_id": "Thread-2 (worker)", "execution_time": 0.026374101638793945, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads.int_facebook_ads__creative_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:47.054352Z", "completed_at": "2022-10-25T21:01:47.079104Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:47.079686Z", "completed_at": "2022-10-25T21:01:47.079689Z"}], "thread_id": "Thread-3 (worker)", "execution_time": 0.028731107711791992, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__url_tags__fivetran_id__key__type.ba044777d3"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:47.079374Z", "completed_at": "2022-10-25T21:01:47.082791Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:47.087651Z", "completed_at": "2022-10-25T21:01:47.087657Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.009106874465942383, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads.not_null_facebook_ads__url_tags__fivetran_id.151d9515f3"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:47.082858Z", "completed_at": "2022-10-25T21:01:47.088140Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:47.088281Z", "completed_at": "2022-10-25T21:01:47.088284Z"}], "thread_id": "Thread-4 (worker)", "execution_time": 0.006009101867675781, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads.facebook_ads__url_report"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:47.089848Z", "completed_at": "2022-10-25T21:01:47.096645Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:47.096929Z", "completed_at": "2022-10-25T21:01:47.096935Z"}], "thread_id": "Thread-3 (worker)", "execution_time": 0.00792694091796875, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads.not_null_facebook_ads__url_report_base_url.b7757e50be"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-10-25T21:01:47.089765Z", "completed_at": "2022-10-25T21:01:47.096703Z"}, {"name": "execute", "started_at": "2022-10-25T21:01:47.097013Z", "completed_at": "2022-10-25T21:01:47.097018Z"}], "thread_id": "Thread-2 (worker)", "execution_time": 0.008435964584350586, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__url_report_date_day__account_id__campaign_id__ad_set_id__ad_id.03a7e82eb7"}], "elapsed_time": 3.1655521392822266, "args": {"write_json": true, "use_colors": true, "printer_width": 80, "version_check": true, "partial_parse": true, "static_parser": true, "profiles_dir": "/Users/jamie.rodriguez/.dbt", "send_anonymous_usage_stats": true, "event_buffer_size": 100000, "quiet": false, "no_print": false, "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.3.0", "generated_at": "2022-12-14T23:03:28.224494Z", "invocation_id": "d5ef8e19-65f4-4fb7-ac37-ede0104ec68f", "env": {}}, "results": [{"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:25.663879Z", "completed_at": "2022-12-14T23:03:25.671200Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:25.671424Z", "completed_at": "2022-12-14T23:03:25.671443Z"}], "thread_id": "Thread-1", "execution_time": 0.010312795639038086, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads_source.stg_facebook_ads__account_history_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:25.674098Z", "completed_at": "2022-12-14T23:03:25.680003Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:25.680234Z", "completed_at": "2022-12-14T23:03:25.680243Z"}], "thread_id": "Thread-1", "execution_time": 0.006829738616943359, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads_source.stg_facebook_ads__ad_history_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:25.681562Z", "completed_at": "2022-12-14T23:03:25.684950Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:25.685135Z", "completed_at": "2022-12-14T23:03:25.685141Z"}], "thread_id": "Thread-1", "execution_time": 0.004364013671875, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads_source.stg_facebook_ads__ad_set_history_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:25.686000Z", "completed_at": "2022-12-14T23:03:25.689050Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:25.689287Z", "completed_at": "2022-12-14T23:03:25.689292Z"}], "thread_id": "Thread-1", "execution_time": 0.003893136978149414, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads_source.stg_facebook_ads__basic_ad_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:25.690423Z", "completed_at": "2022-12-14T23:03:25.693946Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:25.694149Z", "completed_at": "2022-12-14T23:03:25.694155Z"}], "thread_id": "Thread-1", "execution_time": 0.0044841766357421875, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads_source.stg_facebook_ads__campaign_history_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:25.695209Z", "completed_at": "2022-12-14T23:03:25.698218Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:25.698396Z", "completed_at": "2022-12-14T23:03:25.698401Z"}], "thread_id": "Thread-1", "execution_time": 0.0038471221923828125, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads_source.stg_facebook_ads__creative_history_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:25.699349Z", "completed_at": "2022-12-14T23:03:25.701625Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:25.701785Z", "completed_at": "2022-12-14T23:03:25.701790Z"}], "thread_id": "Thread-1", "execution_time": 0.0030508041381835938, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.facebook_ads_integration_tests.facebook_ads_account_history_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:25.702647Z", "completed_at": "2022-12-14T23:03:25.704011Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:25.704178Z", "completed_at": "2022-12-14T23:03:25.704182Z"}], "thread_id": "Thread-1", "execution_time": 0.0021250247955322266, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.facebook_ads_integration_tests.facebook_ads_ad_history_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:25.705126Z", "completed_at": "2022-12-14T23:03:25.706439Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:25.706584Z", "completed_at": "2022-12-14T23:03:25.706588Z"}], "thread_id": "Thread-1", "execution_time": 0.002042055130004883, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.facebook_ads_integration_tests.facebook_ads_ad_set_history_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:25.707440Z", "completed_at": "2022-12-14T23:03:25.708707Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:25.708853Z", "completed_at": "2022-12-14T23:03:25.708857Z"}], "thread_id": "Thread-1", "execution_time": 0.0020029544830322266, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.facebook_ads_integration_tests.facebook_ads_basic_ad_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:25.709650Z", "completed_at": "2022-12-14T23:03:25.710868Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:25.711006Z", "completed_at": "2022-12-14T23:03:25.711010Z"}], "thread_id": "Thread-1", "execution_time": 0.0018961429595947266, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.facebook_ads_integration_tests.facebook_ads_campaign_history_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:25.711776Z", "completed_at": "2022-12-14T23:03:25.712990Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:25.713129Z", "completed_at": "2022-12-14T23:03:25.713132Z"}], "thread_id": "Thread-1", "execution_time": 0.0018889904022216797, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.facebook_ads_integration_tests.facebook_ads_creative_history_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:25.713906Z", "completed_at": "2022-12-14T23:03:26.125191Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:26.125470Z", "completed_at": "2022-12-14T23:03:26.125482Z"}], "thread_id": "Thread-1", "execution_time": 0.41228508949279785, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads_source.stg_facebook_ads__account_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:26.126991Z", "completed_at": "2022-12-14T23:03:26.465773Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:26.466098Z", "completed_at": "2022-12-14T23:03:26.466118Z"}], "thread_id": "Thread-1", "execution_time": 0.3401341438293457, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads_source.stg_facebook_ads__ad_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:26.467934Z", "completed_at": "2022-12-14T23:03:26.911006Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:26.911363Z", "completed_at": "2022-12-14T23:03:26.911383Z"}], "thread_id": "Thread-1", "execution_time": 0.44454503059387207, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads_source.stg_facebook_ads__ad_set_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:26.913444Z", "completed_at": "2022-12-14T23:03:27.277587Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:27.277916Z", "completed_at": "2022-12-14T23:03:27.277927Z"}], "thread_id": "Thread-1", "execution_time": 0.36563682556152344, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads_source.stg_facebook_ads__basic_ad"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:27.279396Z", "completed_at": "2022-12-14T23:03:27.627514Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:27.627847Z", "completed_at": "2022-12-14T23:03:27.627866Z"}], "thread_id": "Thread-1", "execution_time": 0.34935784339904785, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads_source.stg_facebook_ads__campaign_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:27.629777Z", "completed_at": "2022-12-14T23:03:27.992034Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:27.992348Z", "completed_at": "2022-12-14T23:03:27.992364Z"}], "thread_id": "Thread-1", "execution_time": 0.36366796493530273, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads_source.stg_facebook_ads__creative_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:27.994168Z", "completed_at": "2022-12-14T23:03:28.008407Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:28.008617Z", "completed_at": "2022-12-14T23:03:28.008624Z"}], "thread_id": "Thread-1", "execution_time": 0.015348196029663086, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__account_history_account_id___fivetran_synced.f9b4d28fa2"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:28.009639Z", "completed_at": "2022-12-14T23:03:28.017919Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:28.018094Z", "completed_at": "2022-12-14T23:03:28.018099Z"}], "thread_id": "Thread-1", "execution_time": 0.009112119674682617, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__account_history__fivetran_synced.0570e35e1f"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:28.018988Z", "completed_at": "2022-12-14T23:03:28.022103Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:28.022275Z", "completed_at": "2022-12-14T23:03:28.022279Z"}], "thread_id": "Thread-1", "execution_time": 0.0038919448852539062, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__account_history_account_id.f1cf38c40f"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:28.023126Z", "completed_at": "2022-12-14T23:03:28.026819Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:28.026979Z", "completed_at": "2022-12-14T23:03:28.026983Z"}], "thread_id": "Thread-1", "execution_time": 0.004428863525390625, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__ad_history_ad_id__updated_at.2922c18b58"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:28.027783Z", "completed_at": "2022-12-14T23:03:28.030611Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:28.030763Z", "completed_at": "2022-12-14T23:03:28.030769Z"}], "thread_id": "Thread-1", "execution_time": 0.003531932830810547, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__ad_history_ad_id.11429d3064"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:28.031539Z", "completed_at": "2022-12-14T23:03:28.034343Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:28.034500Z", "completed_at": "2022-12-14T23:03:28.034504Z"}], "thread_id": "Thread-1", "execution_time": 0.0034902095794677734, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__ad_history_updated_at.250a5a84e4"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:28.035255Z", "completed_at": "2022-12-14T23:03:28.039165Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:28.039318Z", "completed_at": "2022-12-14T23:03:28.039322Z"}], "thread_id": "Thread-1", "execution_time": 0.0045850276947021484, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__ad_set_history_ad_set_id__updated_at.0a60ad0fef"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:28.040043Z", "completed_at": "2022-12-14T23:03:28.042633Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:28.042778Z", "completed_at": "2022-12-14T23:03:28.042782Z"}], "thread_id": "Thread-1", "execution_time": 0.003231048583984375, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__ad_set_history_ad_set_id.e19a1df1bb"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:28.043587Z", "completed_at": "2022-12-14T23:03:28.046076Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:28.046220Z", "completed_at": "2022-12-14T23:03:28.046223Z"}], "thread_id": "Thread-1", "execution_time": 0.003229856491088867, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__ad_set_history_updated_at.ef7fafe0fa"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:28.046915Z", "completed_at": "2022-12-14T23:03:28.053281Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:28.053416Z", "completed_at": "2022-12-14T23:03:28.053420Z"}], "thread_id": "Thread-1", "execution_time": 0.006979227066040039, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads.facebook_ads__account_report"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:28.054199Z", "completed_at": "2022-12-14T23:03:28.057431Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:28.057578Z", "completed_at": "2022-12-14T23:03:28.057582Z"}], "thread_id": "Thread-1", "execution_time": 0.0038938522338867188, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__basic_ad_date_day__ad_id__account_id.bd909529e7"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:28.058245Z", "completed_at": "2022-12-14T23:03:28.060650Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:28.060786Z", "completed_at": "2022-12-14T23:03:28.060789Z"}], "thread_id": "Thread-1", "execution_time": 0.002998828887939453, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__basic_ad_account_id.d06f6d861b"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:28.061435Z", "completed_at": "2022-12-14T23:03:28.064467Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:28.064603Z", "completed_at": "2022-12-14T23:03:28.064607Z"}], "thread_id": "Thread-1", "execution_time": 0.003628969192504883, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__basic_ad_ad_id.2611b250fc"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:28.065284Z", "completed_at": "2022-12-14T23:03:28.069904Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:28.070042Z", "completed_at": "2022-12-14T23:03:28.070046Z"}], "thread_id": "Thread-1", "execution_time": 0.005248069763183594, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads.facebook_ads__ad_report"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:28.070767Z", "completed_at": "2022-12-14T23:03:28.075328Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:28.075484Z", "completed_at": "2022-12-14T23:03:28.075488Z"}], "thread_id": "Thread-1", "execution_time": 0.005193948745727539, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads.facebook_ads__ad_set_report"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:28.076223Z", "completed_at": "2022-12-14T23:03:28.080313Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:28.080452Z", "completed_at": "2022-12-14T23:03:28.080455Z"}], "thread_id": "Thread-1", "execution_time": 0.00469517707824707, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads.facebook_ads__campaign_report"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:28.081169Z", "completed_at": "2022-12-14T23:03:28.084135Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:28.084272Z", "completed_at": "2022-12-14T23:03:28.084276Z"}], "thread_id": "Thread-1", "execution_time": 0.003571033477783203, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__campaign_history_campaign_id__updated_at.7437b392c2"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:28.084943Z", "completed_at": "2022-12-14T23:03:28.087908Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:28.088059Z", "completed_at": "2022-12-14T23:03:28.088062Z"}], "thread_id": "Thread-1", "execution_time": 0.0035860538482666016, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__campaign_history_campaign_id.1ca7a83852"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:28.088742Z", "completed_at": "2022-12-14T23:03:28.091051Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:28.091183Z", "completed_at": "2022-12-14T23:03:28.091186Z"}], "thread_id": "Thread-1", "execution_time": 0.002917766571044922, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__campaign_history_updated_at.9e59f99270"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:28.091831Z", "completed_at": "2022-12-14T23:03:28.095073Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:28.095229Z", "completed_at": "2022-12-14T23:03:28.095232Z"}], "thread_id": "Thread-1", "execution_time": 0.0038700103759765625, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads.facebook_ads__url_tags"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:28.095958Z", "completed_at": "2022-12-14T23:03:28.098861Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:28.099003Z", "completed_at": "2022-12-14T23:03:28.099006Z"}], "thread_id": "Thread-1", "execution_time": 0.0035169124603271484, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__creative_history_creative_id___fivetran_synced.69ddc26562"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:28.099654Z", "completed_at": "2022-12-14T23:03:28.102012Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:28.102143Z", "completed_at": "2022-12-14T23:03:28.102146Z"}], "thread_id": "Thread-1", "execution_time": 0.002949953079223633, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__creative_history__fivetran_synced.3b0593cb4f"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:28.102799Z", "completed_at": "2022-12-14T23:03:28.105110Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:28.105252Z", "completed_at": "2022-12-14T23:03:28.105255Z"}], "thread_id": "Thread-1", "execution_time": 0.002917766571044922, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__creative_history_creative_id.eb4d804261"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:28.106615Z", "completed_at": "2022-12-14T23:03:28.109555Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:28.109692Z", "completed_at": "2022-12-14T23:03:28.109695Z"}], "thread_id": "Thread-1", "execution_time": 0.004252910614013672, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__account_report_date_day__account_id.5a94423e40"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:28.110370Z", "completed_at": "2022-12-14T23:03:28.112719Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:28.112851Z", "completed_at": "2022-12-14T23:03:28.112854Z"}], "thread_id": "Thread-1", "execution_time": 0.0029518604278564453, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads.not_null_facebook_ads__account_report_account_id.9be02b4024"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:28.113499Z", "completed_at": "2022-12-14T23:03:28.116972Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:28.117117Z", "completed_at": "2022-12-14T23:03:28.117120Z"}], "thread_id": "Thread-1", "execution_time": 0.004080295562744141, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__ad_report_date_day__account_id__campaign_id__ad_set_id__ad_id.0a25b64738"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:28.117781Z", "completed_at": "2022-12-14T23:03:28.120086Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:28.120233Z", "completed_at": "2022-12-14T23:03:28.120236Z"}], "thread_id": "Thread-1", "execution_time": 0.00292205810546875, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads.not_null_facebook_ads__ad_report_ad_id.3811d9c238"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:28.120894Z", "completed_at": "2022-12-14T23:03:28.124186Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:28.124319Z", "completed_at": "2022-12-14T23:03:28.124322Z"}], "thread_id": "Thread-1", "execution_time": 0.003887176513671875, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__ad_set_report_date_day__account_id__campaign_id__ad_set_id.3dd4da872f"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:28.124973Z", "completed_at": "2022-12-14T23:03:28.127945Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:28.128083Z", "completed_at": "2022-12-14T23:03:28.128086Z"}], "thread_id": "Thread-1", "execution_time": 0.0035719871520996094, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads.not_null_facebook_ads__ad_set_report_ad_set_id.1ac870f5e4"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:28.128738Z", "completed_at": "2022-12-14T23:03:28.173954Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:28.174111Z", "completed_at": "2022-12-14T23:03:28.174117Z"}], "thread_id": "Thread-1", "execution_time": 0.045867919921875, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__campaign_report_date_day__account_id__campaign_id.7cd75107e6"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:28.174901Z", "completed_at": "2022-12-14T23:03:28.177651Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:28.177800Z", "completed_at": "2022-12-14T23:03:28.177804Z"}], "thread_id": "Thread-1", "execution_time": 0.003459930419921875, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads.not_null_facebook_ads__campaign_report_campaign_id.d4f96d8d21"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:28.178543Z", "completed_at": "2022-12-14T23:03:28.200038Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:28.200200Z", "completed_at": "2022-12-14T23:03:28.200205Z"}], "thread_id": "Thread-1", "execution_time": 0.022197961807250977, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads.int_facebook_ads__creative_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:28.201088Z", "completed_at": "2022-12-14T23:03:28.204743Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:28.204892Z", "completed_at": "2022-12-14T23:03:28.204896Z"}], "thread_id": "Thread-1", "execution_time": 0.004332065582275391, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__url_tags__fivetran_id__key__type.ba044777d3"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:28.205647Z", "completed_at": "2022-12-14T23:03:28.209039Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:28.209194Z", "completed_at": "2022-12-14T23:03:28.209201Z"}], "thread_id": "Thread-1", "execution_time": 0.004065752029418945, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads.not_null_facebook_ads__url_tags__fivetran_id.151d9515f3"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:28.210027Z", "completed_at": "2022-12-14T23:03:28.215423Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:28.215587Z", "completed_at": "2022-12-14T23:03:28.215591Z"}], "thread_id": "Thread-1", "execution_time": 0.006105899810791016, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads.facebook_ads__url_report"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:28.216581Z", "completed_at": "2022-12-14T23:03:28.220368Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:28.220509Z", "completed_at": "2022-12-14T23:03:28.220513Z"}], "thread_id": "Thread-1", "execution_time": 0.004475831985473633, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__url_report_date_day__account_id__campaign_id__ad_set_id__ad_id.03a7e82eb7"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:28.221189Z", "completed_at": "2022-12-14T23:03:28.223665Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:28.223798Z", "completed_at": "2022-12-14T23:03:28.223802Z"}], "thread_id": "Thread-1", "execution_time": 0.003081083297729492, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads.not_null_facebook_ads__url_report_base_url.b7757e50be"}], "elapsed_time": 5.012248754501343, "args": {"write_json": true, "use_colors": true, "printer_width": 80, "version_check": true, "partial_parse": true, "static_parser": true, "profiles_dir": "/Users/catherinefritz/.dbt", "send_anonymous_usage_stats": true, "event_buffer_size": 100000, "quiet": false, "no_print": false, "compile": true, "which": "generate", "rpc_method": "docs.generate", "indirect_selection": "eager"}} \ No newline at end of file From 956dd93c089e3a38c3d1c9ffc87f87b413f06ec8 Mon Sep 17 00:00:00 2001 From: fivetran-joemarkiewicz Date: Mon, 19 Dec 2022 20:59:53 -0600 Subject: [PATCH 39/40] docs regen --- README.md | 5 ++++- docs/catalog.json | 2 +- docs/manifest.json | 2 +- docs/run_results.json | 2 +- 4 files changed, 7 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 3be8b23..2445bf5 100644 --- a/README.md +++ b/README.md @@ -59,7 +59,7 @@ Include the following facebook_ads package version in your `packages.yml` file: ```yaml packages: - package: fivetran/facebook_ads - version: [">=0.5.0", "<0.6.0"] + version: [">=0.6.0", "<0.7.0"] ``` ## Step 3: Define database and schema variables @@ -130,6 +130,9 @@ packages: - package: dbt-labs/dbt_utils version: [">=1.0.0", "<2.0.0"] + + - package: dbt-labs/spark_utils + version: [">=0.3.0", "<0.4.0"] ``` # 🙌 How is this package maintained and can I contribute? ## Package Maintenance diff --git a/docs/catalog.json b/docs/catalog.json index 9f657a4..e939dab 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-14T23:03:36.837171Z", "invocation_id": "d5ef8e19-65f4-4fb7-ac37-ede0104ec68f", "env": {}}, "nodes": {"seed.facebook_ads_integration_tests.facebook_ads_basic_ad_data": {"metadata": {"type": "table", "schema": "facebook_ads_integration_tests", "name": "facebook_ads_basic_ad_data", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"ad_id": {"type": "INT64", "index": 1, "name": "ad_id", "comment": null}, "date": {"type": "DATE", "index": 2, "name": "date", "comment": null}, "account_id": {"type": "INT64", "index": 3, "name": "account_id", "comment": null}, "impressions": {"type": "INT64", "index": 4, "name": "impressions", "comment": null}, "inline_link_clicks": {"type": "INT64", "index": 5, "name": "inline_link_clicks", "comment": null}, "spend": {"type": "FLOAT64", "index": 6, "name": "spend", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 10.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 480.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.facebook_ads_integration_tests.facebook_ads_basic_ad_data"}, "seed.facebook_ads_integration_tests.facebook_ads_ad_history_data": {"metadata": {"type": "table", "schema": "facebook_ads_integration_tests", "name": "facebook_ads_ad_history_data", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"id": {"type": "INT64", "index": 1, "name": "id", "comment": null}, "account_id": {"type": "INT64", "index": 2, "name": "account_id", "comment": null}, "ad_set_id": {"type": "INT64", "index": 3, "name": "ad_set_id", "comment": null}, "campaign_id": {"type": "INT64", "index": 4, "name": "campaign_id", "comment": null}, "creative_id": {"type": "INT64", "index": 5, "name": "creative_id", "comment": null}, "name": {"type": "STRING", "index": 6, "name": "name", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 7, "name": "_fivetran_synced", "comment": null}, "updated_time": {"type": "TIMESTAMP", "index": 8, "name": "updated_time", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 12.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 720.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.facebook_ads_integration_tests.facebook_ads_ad_history_data"}, "seed.facebook_ads_integration_tests.facebook_ads_creative_history_data": {"metadata": {"type": "table", "schema": "facebook_ads_integration_tests", "name": "facebook_ads_creative_history_data", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"page_link": {"type": "STRING", "index": 1, "name": "page_link", "comment": null}, "template_page_link": {"type": "STRING", "index": 2, "name": "template_page_link", "comment": null}, "id": {"type": "INT64", "index": 3, "name": "id", "comment": null}, "account_id": {"type": "INT64", "index": 4, "name": "account_id", "comment": null}, "name": {"type": "STRING", "index": 5, "name": "name", "comment": null}, "url_tags": {"type": "STRING", "index": 6, "name": "url_tags", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 7, "name": "_fivetran_synced", "comment": null}, "asset_feed_spec_link_urls": {"type": "STRING", "index": 8, "name": "asset_feed_spec_link_urls", "comment": null}, "object_story_link_data_child_attachments": {"type": "STRING", "index": 9, "name": "object_story_link_data_child_attachments", "comment": null}, "object_story_link_data_caption": {"type": "STRING", "index": 10, "name": "object_story_link_data_caption", "comment": null}, "object_story_link_data_description": {"type": "STRING", "index": 11, "name": "object_story_link_data_description", "comment": null}, "object_story_link_data_link": {"type": "STRING", "index": 12, "name": "object_story_link_data_link", "comment": null}, "object_story_link_data_message": {"type": "STRING", "index": 13, "name": "object_story_link_data_message", "comment": null}, "template_app_link_spec_ios": {"type": "STRING", "index": 14, "name": "template_app_link_spec_ios", "comment": null}, "_fivetran_id": {"type": "STRING", "index": 15, "name": "_fivetran_id", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 1000.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 1399000.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.facebook_ads_integration_tests.facebook_ads_creative_history_data"}, "seed.facebook_ads_integration_tests.facebook_ads_account_history_data": {"metadata": {"type": "table", "schema": "facebook_ads_integration_tests", "name": "facebook_ads_account_history_data", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"id": {"type": "INT64", "index": 1, "name": "id", "comment": null}, "name": {"type": "STRING", "index": 2, "name": "name", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 3, "name": "_fivetran_synced", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 59.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 2478.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.facebook_ads_integration_tests.facebook_ads_account_history_data"}, "seed.facebook_ads_integration_tests.facebook_ads_ad_set_history_data": {"metadata": {"type": "table", "schema": "facebook_ads_integration_tests", "name": "facebook_ads_ad_set_history_data", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"id": {"type": "INT64", "index": 1, "name": "id", "comment": null}, "account_id": {"type": "INT64", "index": 2, "name": "account_id", "comment": null}, "campaign_id": {"type": "INT64", "index": 3, "name": "campaign_id", "comment": null}, "name": {"type": "STRING", "index": 4, "name": "name", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 5, "name": "_fivetran_synced", "comment": null}, "updated_time": {"type": "TIMESTAMP", "index": 6, "name": "updated_time", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 14.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 924.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.facebook_ads_integration_tests.facebook_ads_ad_set_history_data"}, "seed.facebook_ads_integration_tests.facebook_ads_campaign_history_data": {"metadata": {"type": "table", "schema": "facebook_ads_integration_tests", "name": "facebook_ads_campaign_history_data", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"id": {"type": "INT64", "index": 1, "name": "id", "comment": null}, "account_id": {"type": "INT64", "index": 2, "name": "account_id", "comment": null}, "name": {"type": "STRING", "index": 3, "name": "name", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 4, "name": "_fivetran_synced", "comment": null}, "updated_time": {"type": "TIMESTAMP", "index": 5, "name": "updated_time", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 9.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 522.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.facebook_ads_integration_tests.facebook_ads_campaign_history_data"}, "model.facebook_ads.facebook_ads__campaign_report": {"metadata": {"type": "table", "schema": "facebook_ads_integration_tests_facebook_ads", "name": "facebook_ads__campaign_report", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"date_day": {"type": "DATE", "index": 1, "name": "date_day", "comment": null}, "account_id": {"type": "INT64", "index": 2, "name": "account_id", "comment": null}, "account_name": {"type": "STRING", "index": 3, "name": "account_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}, "start_at": {"type": "TIMESTAMP", "index": 6, "name": "start_at", "comment": null}, "end_at": {"type": "TIMESTAMP", "index": 7, "name": "end_at", "comment": null}, "status": {"type": "STRING", "index": 8, "name": "status", "comment": null}, "daily_budget": {"type": "INT64", "index": 9, "name": "daily_budget", "comment": null}, "lifetime_budget": {"type": "INT64", "index": 10, "name": "lifetime_budget", "comment": null}, "budget_remaining": {"type": "FLOAT64", "index": 11, "name": "budget_remaining", "comment": null}, "clicks": {"type": "INT64", "index": 12, "name": "clicks", "comment": null}, "impressions": {"type": "INT64", "index": 13, "name": "impressions", "comment": null}, "spend": {"type": "FLOAT64", "index": 14, "name": "spend", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 10.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 1000.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.facebook_ads.facebook_ads__campaign_report"}, "model.facebook_ads.facebook_ads__ad_set_report": {"metadata": {"type": "table", "schema": "facebook_ads_integration_tests_facebook_ads", "name": "facebook_ads__ad_set_report", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"date_day": {"type": "DATE", "index": 1, "name": "date_day", "comment": null}, "account_id": {"type": "INT64", "index": 2, "name": "account_id", "comment": null}, "account_name": {"type": "STRING", "index": 3, "name": "account_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_set_id": {"type": "INT64", "index": 6, "name": "ad_set_id", "comment": null}, "ad_set_name": {"type": "STRING", "index": 7, "name": "ad_set_name", "comment": null}, "start_at": {"type": "TIMESTAMP", "index": 8, "name": "start_at", "comment": null}, "end_at": {"type": "TIMESTAMP", "index": 9, "name": "end_at", "comment": null}, "bid_strategy": {"type": "STRING", "index": 10, "name": "bid_strategy", "comment": null}, "daily_budget": {"type": "INT64", "index": 11, "name": "daily_budget", "comment": null}, "budget_remaining": {"type": "INT64", "index": 12, "name": "budget_remaining", "comment": null}, "clicks": {"type": "INT64", "index": 13, "name": "clicks", "comment": null}, "impressions": {"type": "INT64", "index": 14, "name": "impressions", "comment": null}, "spend": {"type": "FLOAT64", "index": 15, "name": "spend", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 10.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 1340.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.facebook_ads.facebook_ads__ad_set_report"}, "model.facebook_ads.facebook_ads__account_report": {"metadata": {"type": "table", "schema": "facebook_ads_integration_tests_facebook_ads", "name": "facebook_ads__account_report", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"date_day": {"type": "DATE", "index": 1, "name": "date_day", "comment": null}, "account_id": {"type": "INT64", "index": 2, "name": "account_id", "comment": null}, "account_name": {"type": "STRING", "index": 3, "name": "account_name", "comment": null}, "account_status": {"type": "STRING", "index": 4, "name": "account_status", "comment": null}, "business_country_code": {"type": "STRING", "index": 5, "name": "business_country_code", "comment": null}, "created_at": {"type": "TIMESTAMP", "index": 6, "name": "created_at", "comment": null}, "currency": {"type": "STRING", "index": 7, "name": "currency", "comment": null}, "timezone_name": {"type": "STRING", "index": 8, "name": "timezone_name", "comment": null}, "clicks": {"type": "INT64", "index": 9, "name": "clicks", "comment": null}, "impressions": {"type": "INT64", "index": 10, "name": "impressions", "comment": null}, "spend": {"type": "FLOAT64", "index": 11, "name": "spend", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 9.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 594.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.facebook_ads.facebook_ads__account_report"}, "model.facebook_ads.facebook_ads__ad_report": {"metadata": {"type": "table", "schema": "facebook_ads_integration_tests_facebook_ads", "name": "facebook_ads__ad_report", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"date_day": {"type": "DATE", "index": 1, "name": "date_day", "comment": null}, "account_id": {"type": "INT64", "index": 2, "name": "account_id", "comment": null}, "account_name": {"type": "STRING", "index": 3, "name": "account_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_set_id": {"type": "INT64", "index": 6, "name": "ad_set_id", "comment": null}, "ad_set_name": {"type": "STRING", "index": 7, "name": "ad_set_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}, "clicks": {"type": "INT64", "index": 10, "name": "clicks", "comment": null}, "impressions": {"type": "INT64", "index": 11, "name": "impressions", "comment": null}, "spend": {"type": "FLOAT64", "index": 12, "name": "spend", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 10.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 1460.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.facebook_ads.facebook_ads__ad_report"}, "model.facebook_ads.facebook_ads__url_tags": {"metadata": {"type": "table", "schema": "facebook_ads_integration_tests_facebook_ads", "name": "facebook_ads__url_tags", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"_fivetran_id": {"type": "STRING", "index": 1, "name": "_fivetran_id", "comment": null}, "creative_id": {"type": "INT64", "index": 2, "name": "creative_id", "comment": null}, "key": {"type": "STRING", "index": 3, "name": "key", "comment": null}, "value": {"type": "STRING", "index": 4, "name": "value", "comment": null}, "type": {"type": "STRING", "index": 5, "name": "type", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 220.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 13970.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.facebook_ads.facebook_ads__url_tags"}, "model.facebook_ads.int_facebook_ads__creative_history": {"metadata": {"type": "view", "schema": "facebook_ads_integration_tests_facebook_ads", "name": "int_facebook_ads__creative_history", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"_fivetran_id": {"type": "STRING", "index": 1, "name": "_fivetran_id", "comment": null}, "creative_id": {"type": "INT64", "index": 2, "name": "creative_id", "comment": null}, "account_id": {"type": "INT64", "index": 3, "name": "account_id", "comment": null}, "creative_name": {"type": "STRING", "index": 4, "name": "creative_name", "comment": null}, "url": {"type": "STRING", "index": 5, "name": "url", "comment": null}, "base_url": {"type": "STRING", "index": 6, "name": "base_url", "comment": null}, "url_host": {"type": "STRING", "index": 7, "name": "url_host", "comment": null}, "url_path": {"type": "STRING", "index": 8, "name": "url_path", "comment": null}, "utm_source": {"type": "STRING", "index": 9, "name": "utm_source", "comment": null}, "utm_medium": {"type": "STRING", "index": 10, "name": "utm_medium", "comment": null}, "utm_campaign": {"type": "STRING", "index": 11, "name": "utm_campaign", "comment": null}, "utm_content": {"type": "STRING", "index": 12, "name": "utm_content", "comment": null}, "utm_term": {"type": "STRING", "index": 13, "name": "utm_term", "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.facebook_ads.int_facebook_ads__creative_history"}, "model.facebook_ads.facebook_ads__url_report": {"metadata": {"type": "table", "schema": "facebook_ads_integration_tests_facebook_ads", "name": "facebook_ads__url_report", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"date_day": {"type": "DATE", "index": 1, "name": "date_day", "comment": null}, "account_id": {"type": "INT64", "index": 2, "name": "account_id", "comment": null}, "account_name": {"type": "STRING", "index": 3, "name": "account_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_set_id": {"type": "INT64", "index": 6, "name": "ad_set_id", "comment": null}, "ad_set_name": {"type": "STRING", "index": 7, "name": "ad_set_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}, "creative_id": {"type": "INT64", "index": 10, "name": "creative_id", "comment": null}, "creative_name": {"type": "STRING", "index": 11, "name": "creative_name", "comment": null}, "base_url": {"type": "STRING", "index": 12, "name": "base_url", "comment": null}, "url_host": {"type": "STRING", "index": 13, "name": "url_host", "comment": null}, "url_path": {"type": "STRING", "index": 14, "name": "url_path", "comment": null}, "utm_source": {"type": "STRING", "index": 15, "name": "utm_source", "comment": null}, "utm_medium": {"type": "STRING", "index": 16, "name": "utm_medium", "comment": null}, "utm_campaign": {"type": "STRING", "index": 17, "name": "utm_campaign", "comment": null}, "utm_content": {"type": "STRING", "index": 18, "name": "utm_content", "comment": null}, "utm_term": {"type": "STRING", "index": 19, "name": "utm_term", "comment": null}, "clicks": {"type": "INT64", "index": 20, "name": "clicks", "comment": null}, "impressions": {"type": "INT64", "index": 21, "name": "impressions", "comment": null}, "spend": {"type": "FLOAT64", "index": 22, "name": "spend", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 0.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 0.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.facebook_ads.facebook_ads__url_report"}, "model.facebook_ads_source.stg_facebook_ads__account_history_tmp": {"metadata": {"type": "view", "schema": "facebook_ads_integration_tests_facebook_ads_source", "name": "stg_facebook_ads__account_history_tmp", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"id": {"type": "INT64", "index": 1, "name": "id", "comment": null}, "name": {"type": "STRING", "index": 2, "name": "name", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 3, "name": "_fivetran_synced", "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.facebook_ads_source.stg_facebook_ads__account_history_tmp"}, "model.facebook_ads_source.stg_facebook_ads__basic_ad_tmp": {"metadata": {"type": "view", "schema": "facebook_ads_integration_tests_facebook_ads_source", "name": "stg_facebook_ads__basic_ad_tmp", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"ad_id": {"type": "INT64", "index": 1, "name": "ad_id", "comment": null}, "date": {"type": "DATE", "index": 2, "name": "date", "comment": null}, "account_id": {"type": "INT64", "index": 3, "name": "account_id", "comment": null}, "impressions": {"type": "INT64", "index": 4, "name": "impressions", "comment": null}, "inline_link_clicks": {"type": "INT64", "index": 5, "name": "inline_link_clicks", "comment": null}, "spend": {"type": "FLOAT64", "index": 6, "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.facebook_ads_source.stg_facebook_ads__basic_ad_tmp"}, "model.facebook_ads_source.stg_facebook_ads__ad_set_history": {"metadata": {"type": "table", "schema": "facebook_ads_integration_tests_facebook_ads_source", "name": "stg_facebook_ads__ad_set_history", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"updated_at": {"type": "TIMESTAMP", "index": 1, "name": "updated_at", "comment": null}, "ad_set_id": {"type": "INT64", "index": 2, "name": "ad_set_id", "comment": null}, "ad_set_name": {"type": "STRING", "index": 3, "name": "ad_set_name", "comment": null}, "account_id": {"type": "INT64", "index": 4, "name": "account_id", "comment": null}, "campaign_id": {"type": "INT64", "index": 5, "name": "campaign_id", "comment": null}, "start_at": {"type": "TIMESTAMP", "index": 6, "name": "start_at", "comment": null}, "end_at": {"type": "TIMESTAMP", "index": 7, "name": "end_at", "comment": null}, "bid_strategy": {"type": "STRING", "index": 8, "name": "bid_strategy", "comment": null}, "daily_budget": {"type": "INT64", "index": 9, "name": "daily_budget", "comment": null}, "budget_remaining": {"type": "INT64", "index": 10, "name": "budget_remaining", "comment": null}, "status": {"type": "STRING", "index": 11, "name": "status", "comment": null}, "is_most_recent_record": {"type": "BOOL", "index": 12, "name": "is_most_recent_record", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 14.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 826.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.facebook_ads_source.stg_facebook_ads__ad_set_history"}, "model.facebook_ads_source.stg_facebook_ads__creative_history_tmp": {"metadata": {"type": "view", "schema": "facebook_ads_integration_tests_facebook_ads_source", "name": "stg_facebook_ads__creative_history_tmp", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"page_link": {"type": "STRING", "index": 1, "name": "page_link", "comment": null}, "template_page_link": {"type": "STRING", "index": 2, "name": "template_page_link", "comment": null}, "id": {"type": "INT64", "index": 3, "name": "id", "comment": null}, "account_id": {"type": "INT64", "index": 4, "name": "account_id", "comment": null}, "name": {"type": "STRING", "index": 5, "name": "name", "comment": null}, "url_tags": {"type": "STRING", "index": 6, "name": "url_tags", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 7, "name": "_fivetran_synced", "comment": null}, "asset_feed_spec_link_urls": {"type": "STRING", "index": 8, "name": "asset_feed_spec_link_urls", "comment": null}, "object_story_link_data_child_attachments": {"type": "STRING", "index": 9, "name": "object_story_link_data_child_attachments", "comment": null}, "object_story_link_data_caption": {"type": "STRING", "index": 10, "name": "object_story_link_data_caption", "comment": null}, "object_story_link_data_description": {"type": "STRING", "index": 11, "name": "object_story_link_data_description", "comment": null}, "object_story_link_data_link": {"type": "STRING", "index": 12, "name": "object_story_link_data_link", "comment": null}, "object_story_link_data_message": {"type": "STRING", "index": 13, "name": "object_story_link_data_message", "comment": null}, "template_app_link_spec_ios": {"type": "STRING", "index": 14, "name": "template_app_link_spec_ios", "comment": null}, "_fivetran_id": {"type": "STRING", "index": 15, "name": "_fivetran_id", "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.facebook_ads_source.stg_facebook_ads__creative_history_tmp"}, "model.facebook_ads_source.stg_facebook_ads__ad_history_tmp": {"metadata": {"type": "view", "schema": "facebook_ads_integration_tests_facebook_ads_source", "name": "stg_facebook_ads__ad_history_tmp", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"id": {"type": "INT64", "index": 1, "name": "id", "comment": null}, "account_id": {"type": "INT64", "index": 2, "name": "account_id", "comment": null}, "ad_set_id": {"type": "INT64", "index": 3, "name": "ad_set_id", "comment": null}, "campaign_id": {"type": "INT64", "index": 4, "name": "campaign_id", "comment": null}, "creative_id": {"type": "INT64", "index": 5, "name": "creative_id", "comment": null}, "name": {"type": "STRING", "index": 6, "name": "name", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 7, "name": "_fivetran_synced", "comment": null}, "updated_time": {"type": "TIMESTAMP", "index": 8, "name": "updated_time", "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.facebook_ads_source.stg_facebook_ads__ad_history_tmp"}, "model.facebook_ads_source.stg_facebook_ads__basic_ad": {"metadata": {"type": "table", "schema": "facebook_ads_integration_tests_facebook_ads_source", "name": "stg_facebook_ads__basic_ad", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"ad_id": {"type": "INT64", "index": 1, "name": "ad_id", "comment": null}, "ad_name": {"type": "STRING", "index": 2, "name": "ad_name", "comment": null}, "ad_set_name": {"type": "STRING", "index": 3, "name": "ad_set_name", "comment": null}, "date_day": {"type": "DATE", "index": 4, "name": "date_day", "comment": null}, "account_id": {"type": "INT64", "index": 5, "name": "account_id", "comment": null}, "impressions": {"type": "INT64", "index": 6, "name": "impressions", "comment": null}, "clicks": {"type": "INT64", "index": 7, "name": "clicks", "comment": null}, "spend": {"type": "FLOAT64", "index": 8, "name": "spend", "comment": null}, "reach": {"type": "INT64", "index": 9, "name": "reach", "comment": null}, "frequency": {"type": "FLOAT64", "index": 10, "name": "frequency", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 10.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 480.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.facebook_ads_source.stg_facebook_ads__basic_ad"}, "model.facebook_ads_source.stg_facebook_ads__creative_history": {"metadata": {"type": "table", "schema": "facebook_ads_integration_tests_facebook_ads_source", "name": "stg_facebook_ads__creative_history", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"_fivetran_id": {"type": "STRING", "index": 1, "name": "_fivetran_id", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 2, "name": "_fivetran_synced", "comment": null}, "creative_id": {"type": "INT64", "index": 3, "name": "creative_id", "comment": null}, "account_id": {"type": "INT64", "index": 4, "name": "account_id", "comment": null}, "creative_name": {"type": "STRING", "index": 5, "name": "creative_name", "comment": null}, "page_link": {"type": "STRING", "index": 6, "name": "page_link", "comment": null}, "template_page_link": {"type": "STRING", "index": 7, "name": "template_page_link", "comment": null}, "url_tags": {"type": "STRING", "index": 8, "name": "url_tags", "comment": null}, "asset_feed_spec_link_urls": {"type": "STRING", "index": 9, "name": "asset_feed_spec_link_urls", "comment": null}, "object_story_link_data_child_attachments": {"type": "STRING", "index": 10, "name": "object_story_link_data_child_attachments", "comment": null}, "object_story_link_data_caption": {"type": "STRING", "index": 11, "name": "object_story_link_data_caption", "comment": null}, "object_story_link_data_description": {"type": "STRING", "index": 12, "name": "object_story_link_data_description", "comment": null}, "object_story_link_data_link": {"type": "STRING", "index": 13, "name": "object_story_link_data_link", "comment": null}, "object_story_link_data_message": {"type": "STRING", "index": 14, "name": "object_story_link_data_message", "comment": null}, "template_app_link_spec_ios": {"type": "STRING", "index": 15, "name": "template_app_link_spec_ios", "comment": null}, "template_app_link_spec_ipad": {"type": "STRING", "index": 16, "name": "template_app_link_spec_ipad", "comment": null}, "template_app_link_spec_android": {"type": "STRING", "index": 17, "name": "template_app_link_spec_android", "comment": null}, "template_app_link_spec_iphone": {"type": "STRING", "index": 18, "name": "template_app_link_spec_iphone", "comment": null}, "is_most_recent_record": {"type": "BOOL", "index": 19, "name": "is_most_recent_record", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 1000.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 1400000.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.facebook_ads_source.stg_facebook_ads__creative_history"}, "model.facebook_ads_source.stg_facebook_ads__account_history": {"metadata": {"type": "table", "schema": "facebook_ads_integration_tests_facebook_ads_source", "name": "stg_facebook_ads__account_history", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"account_id": {"type": "INT64", "index": 1, "name": "account_id", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 2, "name": "_fivetran_synced", "comment": null}, "account_name": {"type": "STRING", "index": 3, "name": "account_name", "comment": null}, "account_status": {"type": "STRING", "index": 4, "name": "account_status", "comment": null}, "business_country_code": {"type": "STRING", "index": 5, "name": "business_country_code", "comment": null}, "created_at": {"type": "TIMESTAMP", "index": 6, "name": "created_at", "comment": null}, "currency": {"type": "STRING", "index": 7, "name": "currency", "comment": null}, "timezone_name": {"type": "STRING", "index": 8, "name": "timezone_name", "comment": null}, "is_most_recent_record": {"type": "BOOL", "index": 9, "name": "is_most_recent_record", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 59.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 2537.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.facebook_ads_source.stg_facebook_ads__account_history"}, "model.facebook_ads_source.stg_facebook_ads__ad_set_history_tmp": {"metadata": {"type": "view", "schema": "facebook_ads_integration_tests_facebook_ads_source", "name": "stg_facebook_ads__ad_set_history_tmp", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"id": {"type": "INT64", "index": 1, "name": "id", "comment": null}, "account_id": {"type": "INT64", "index": 2, "name": "account_id", "comment": null}, "campaign_id": {"type": "INT64", "index": 3, "name": "campaign_id", "comment": null}, "name": {"type": "STRING", "index": 4, "name": "name", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 5, "name": "_fivetran_synced", "comment": null}, "updated_time": {"type": "TIMESTAMP", "index": 6, "name": "updated_time", "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.facebook_ads_source.stg_facebook_ads__ad_set_history_tmp"}, "model.facebook_ads_source.stg_facebook_ads__campaign_history_tmp": {"metadata": {"type": "view", "schema": "facebook_ads_integration_tests_facebook_ads_source", "name": "stg_facebook_ads__campaign_history_tmp", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"id": {"type": "INT64", "index": 1, "name": "id", "comment": null}, "account_id": {"type": "INT64", "index": 2, "name": "account_id", "comment": null}, "name": {"type": "STRING", "index": 3, "name": "name", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 4, "name": "_fivetran_synced", "comment": null}, "updated_time": {"type": "TIMESTAMP", "index": 5, "name": "updated_time", "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.facebook_ads_source.stg_facebook_ads__campaign_history_tmp"}, "model.facebook_ads_source.stg_facebook_ads__campaign_history": {"metadata": {"type": "table", "schema": "facebook_ads_integration_tests_facebook_ads_source", "name": "stg_facebook_ads__campaign_history", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"updated_at": {"type": "TIMESTAMP", "index": 1, "name": "updated_at", "comment": null}, "created_at": {"type": "TIMESTAMP", "index": 2, "name": "created_at", "comment": null}, "account_id": {"type": "INT64", "index": 3, "name": "account_id", "comment": null}, "campaign_id": {"type": "INT64", "index": 4, "name": "campaign_id", "comment": null}, "campaign_name": {"type": "STRING", "index": 5, "name": "campaign_name", "comment": null}, "start_at": {"type": "TIMESTAMP", "index": 6, "name": "start_at", "comment": null}, "end_at": {"type": "TIMESTAMP", "index": 7, "name": "end_at", "comment": null}, "status": {"type": "STRING", "index": 8, "name": "status", "comment": null}, "daily_budget": {"type": "INT64", "index": 9, "name": "daily_budget", "comment": null}, "lifetime_budget": {"type": "INT64", "index": 10, "name": "lifetime_budget", "comment": null}, "budget_remaining": {"type": "FLOAT64", "index": 11, "name": "budget_remaining", "comment": null}, "is_most_recent_record": {"type": "BOOL", "index": 12, "name": "is_most_recent_record", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 9.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 459.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.facebook_ads_source.stg_facebook_ads__campaign_history"}, "model.facebook_ads_source.stg_facebook_ads__ad_history": {"metadata": {"type": "table", "schema": "facebook_ads_integration_tests_facebook_ads_source", "name": "stg_facebook_ads__ad_history", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"updated_at": {"type": "TIMESTAMP", "index": 1, "name": "updated_at", "comment": null}, "ad_id": {"type": "INT64", "index": 2, "name": "ad_id", "comment": null}, "ad_name": {"type": "STRING", "index": 3, "name": "ad_name", "comment": null}, "account_id": {"type": "INT64", "index": 4, "name": "account_id", "comment": null}, "ad_set_id": {"type": "INT64", "index": 5, "name": "ad_set_id", "comment": null}, "campaign_id": {"type": "INT64", "index": 6, "name": "campaign_id", "comment": null}, "creative_id": {"type": "INT64", "index": 7, "name": "creative_id", "comment": null}, "is_most_recent_record": {"type": "BOOL", "index": 8, "name": "is_most_recent_record", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 12.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 636.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.facebook_ads_source.stg_facebook_ads__ad_history"}}, "sources": {"source.facebook_ads_source.facebook_ads.basic_ad": {"metadata": {"type": "table", "schema": "facebook_ads_integration_tests", "name": "facebook_ads_basic_ad_data", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"ad_id": {"type": "INT64", "index": 1, "name": "ad_id", "comment": null}, "date": {"type": "DATE", "index": 2, "name": "date", "comment": null}, "account_id": {"type": "INT64", "index": 3, "name": "account_id", "comment": null}, "impressions": {"type": "INT64", "index": 4, "name": "impressions", "comment": null}, "inline_link_clicks": {"type": "INT64", "index": 5, "name": "inline_link_clicks", "comment": null}, "spend": {"type": "FLOAT64", "index": 6, "name": "spend", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 10.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 480.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.facebook_ads_source.facebook_ads.basic_ad"}, "source.facebook_ads_source.facebook_ads.ad_history": {"metadata": {"type": "table", "schema": "facebook_ads_integration_tests", "name": "facebook_ads_ad_history_data", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"id": {"type": "INT64", "index": 1, "name": "id", "comment": null}, "account_id": {"type": "INT64", "index": 2, "name": "account_id", "comment": null}, "ad_set_id": {"type": "INT64", "index": 3, "name": "ad_set_id", "comment": null}, "campaign_id": {"type": "INT64", "index": 4, "name": "campaign_id", "comment": null}, "creative_id": {"type": "INT64", "index": 5, "name": "creative_id", "comment": null}, "name": {"type": "STRING", "index": 6, "name": "name", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 7, "name": "_fivetran_synced", "comment": null}, "updated_time": {"type": "TIMESTAMP", "index": 8, "name": "updated_time", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 12.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 720.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.facebook_ads_source.facebook_ads.ad_history"}, "source.facebook_ads_source.facebook_ads.creative_history": {"metadata": {"type": "table", "schema": "facebook_ads_integration_tests", "name": "facebook_ads_creative_history_data", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"page_link": {"type": "STRING", "index": 1, "name": "page_link", "comment": null}, "template_page_link": {"type": "STRING", "index": 2, "name": "template_page_link", "comment": null}, "id": {"type": "INT64", "index": 3, "name": "id", "comment": null}, "account_id": {"type": "INT64", "index": 4, "name": "account_id", "comment": null}, "name": {"type": "STRING", "index": 5, "name": "name", "comment": null}, "url_tags": {"type": "STRING", "index": 6, "name": "url_tags", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 7, "name": "_fivetran_synced", "comment": null}, "asset_feed_spec_link_urls": {"type": "STRING", "index": 8, "name": "asset_feed_spec_link_urls", "comment": null}, "object_story_link_data_child_attachments": {"type": "STRING", "index": 9, "name": "object_story_link_data_child_attachments", "comment": null}, "object_story_link_data_caption": {"type": "STRING", "index": 10, "name": "object_story_link_data_caption", "comment": null}, "object_story_link_data_description": {"type": "STRING", "index": 11, "name": "object_story_link_data_description", "comment": null}, "object_story_link_data_link": {"type": "STRING", "index": 12, "name": "object_story_link_data_link", "comment": null}, "object_story_link_data_message": {"type": "STRING", "index": 13, "name": "object_story_link_data_message", "comment": null}, "template_app_link_spec_ios": {"type": "STRING", "index": 14, "name": "template_app_link_spec_ios", "comment": null}, "_fivetran_id": {"type": "STRING", "index": 15, "name": "_fivetran_id", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 1000.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 1399000.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.facebook_ads_source.facebook_ads.creative_history"}, "source.facebook_ads_source.facebook_ads.account_history": {"metadata": {"type": "table", "schema": "facebook_ads_integration_tests", "name": "facebook_ads_account_history_data", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"id": {"type": "INT64", "index": 1, "name": "id", "comment": null}, "name": {"type": "STRING", "index": 2, "name": "name", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 3, "name": "_fivetran_synced", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 59.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 2478.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.facebook_ads_source.facebook_ads.account_history"}, "source.facebook_ads_source.facebook_ads.ad_set_history": {"metadata": {"type": "table", "schema": "facebook_ads_integration_tests", "name": "facebook_ads_ad_set_history_data", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"id": {"type": "INT64", "index": 1, "name": "id", "comment": null}, "account_id": {"type": "INT64", "index": 2, "name": "account_id", "comment": null}, "campaign_id": {"type": "INT64", "index": 3, "name": "campaign_id", "comment": null}, "name": {"type": "STRING", "index": 4, "name": "name", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 5, "name": "_fivetran_synced", "comment": null}, "updated_time": {"type": "TIMESTAMP", "index": 6, "name": "updated_time", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 14.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 924.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.facebook_ads_source.facebook_ads.ad_set_history"}, "source.facebook_ads_source.facebook_ads.campaign_history": {"metadata": {"type": "table", "schema": "facebook_ads_integration_tests", "name": "facebook_ads_campaign_history_data", "database": "dbt-package-testing", "comment": null, "owner": null}, "columns": {"id": {"type": "INT64", "index": 1, "name": "id", "comment": null}, "account_id": {"type": "INT64", "index": 2, "name": "account_id", "comment": null}, "name": {"type": "STRING", "index": 3, "name": "name", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 4, "name": "_fivetran_synced", "comment": null}, "updated_time": {"type": "TIMESTAMP", "index": 5, "name": "updated_time", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 9.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 522.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.facebook_ads_source.facebook_ads.campaign_history"}}, "errors": null} \ No newline at end of file +{"metadata": {"dbt_schema_version": "https://schemas.getdbt.com/dbt/catalog/v1.json", "dbt_version": "1.3.0", "generated_at": "2022-12-20T02:59:28.973647Z", "invocation_id": "1be48695-e084-4dcc-9b9b-f71193bff422", "env": {}}, "nodes": {"seed.facebook_ads_integration_tests.facebook_ads_account_history_data": {"metadata": {"type": "BASE TABLE", "schema": "facebook_ads_integration_tests", "name": "facebook_ads_account_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "name": {"type": "text", "index": 2, "name": "name", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "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.facebook_ads_integration_tests.facebook_ads_account_history_data"}, "seed.facebook_ads_integration_tests.facebook_ads_ad_history_data": {"metadata": {"type": "BASE TABLE", "schema": "facebook_ads_integration_tests", "name": "facebook_ads_ad_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "account_id": {"type": "bigint", "index": 2, "name": "account_id", "comment": null}, "ad_set_id": {"type": "bigint", "index": 3, "name": "ad_set_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 4, "name": "campaign_id", "comment": null}, "creative_id": {"type": "bigint", "index": 5, "name": "creative_id", "comment": null}, "name": {"type": "text", "index": 6, "name": "name", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 7, "name": "_fivetran_synced", "comment": null}, "updated_time": {"type": "timestamp without time zone", "index": 8, "name": "updated_time", "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.facebook_ads_integration_tests.facebook_ads_ad_history_data"}, "seed.facebook_ads_integration_tests.facebook_ads_ad_set_history_data": {"metadata": {"type": "BASE TABLE", "schema": "facebook_ads_integration_tests", "name": "facebook_ads_ad_set_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "account_id": {"type": "bigint", "index": 2, "name": "account_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 3, "name": "campaign_id", "comment": null}, "name": {"type": "text", "index": 4, "name": "name", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 5, "name": "_fivetran_synced", "comment": null}, "updated_time": {"type": "timestamp without time zone", "index": 6, "name": "updated_time", "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.facebook_ads_integration_tests.facebook_ads_ad_set_history_data"}, "seed.facebook_ads_integration_tests.facebook_ads_basic_ad_data": {"metadata": {"type": "BASE TABLE", "schema": "facebook_ads_integration_tests", "name": "facebook_ads_basic_ad_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"ad_id": {"type": "bigint", "index": 1, "name": "ad_id", "comment": null}, "date": {"type": "date", "index": 2, "name": "date", "comment": null}, "account_id": {"type": "bigint", "index": 3, "name": "account_id", "comment": null}, "impressions": {"type": "integer", "index": 4, "name": "impressions", "comment": null}, "inline_link_clicks": {"type": "integer", "index": 5, "name": "inline_link_clicks", "comment": null}, "spend": {"type": "double precision", "index": 6, "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": "seed.facebook_ads_integration_tests.facebook_ads_basic_ad_data"}, "seed.facebook_ads_integration_tests.facebook_ads_campaign_history_data": {"metadata": {"type": "BASE TABLE", "schema": "facebook_ads_integration_tests", "name": "facebook_ads_campaign_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "account_id": {"type": "bigint", "index": 2, "name": "account_id", "comment": null}, "name": {"type": "text", "index": 3, "name": "name", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 4, "name": "_fivetran_synced", "comment": null}, "updated_time": {"type": "timestamp without time zone", "index": 5, "name": "updated_time", "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.facebook_ads_integration_tests.facebook_ads_campaign_history_data"}, "seed.facebook_ads_integration_tests.facebook_ads_creative_history_data": {"metadata": {"type": "BASE TABLE", "schema": "facebook_ads_integration_tests", "name": "facebook_ads_creative_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"page_link": {"type": "character varying", "index": 1, "name": "page_link", "comment": null}, "template_page_link": {"type": "character varying", "index": 2, "name": "template_page_link", "comment": null}, "id": {"type": "bigint", "index": 3, "name": "id", "comment": null}, "account_id": {"type": "bigint", "index": 4, "name": "account_id", "comment": null}, "name": {"type": "text", "index": 5, "name": "name", "comment": null}, "url_tags": {"type": "text", "index": 6, "name": "url_tags", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 7, "name": "_fivetran_synced", "comment": null}, "asset_feed_spec_link_urls": {"type": "text", "index": 8, "name": "asset_feed_spec_link_urls", "comment": null}, "object_story_link_data_child_attachments": {"type": "text", "index": 9, "name": "object_story_link_data_child_attachments", "comment": null}, "object_story_link_data_caption": {"type": "text", "index": 10, "name": "object_story_link_data_caption", "comment": null}, "object_story_link_data_description": {"type": "text", "index": 11, "name": "object_story_link_data_description", "comment": null}, "object_story_link_data_link": {"type": "text", "index": 12, "name": "object_story_link_data_link", "comment": null}, "object_story_link_data_message": {"type": "text", "index": 13, "name": "object_story_link_data_message", "comment": null}, "template_app_link_spec_ios": {"type": "text", "index": 14, "name": "template_app_link_spec_ios", "comment": null}, "_fivetran_id": {"type": "text", "index": 15, "name": "_fivetran_id", "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.facebook_ads_integration_tests.facebook_ads_creative_history_data"}, "model.facebook_ads.facebook_ads__account_report": {"metadata": {"type": "BASE TABLE", "schema": "facebook_ads_integration_tests_facebook_ads", "name": "facebook_ads__account_report", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date_day": {"type": "date", "index": 1, "name": "date_day", "comment": null}, "account_id": {"type": "bigint", "index": 2, "name": "account_id", "comment": null}, "account_name": {"type": "text", "index": 3, "name": "account_name", "comment": null}, "account_status": {"type": "text", "index": 4, "name": "account_status", "comment": null}, "business_country_code": {"type": "text", "index": 5, "name": "business_country_code", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 6, "name": "created_at", "comment": null}, "currency": {"type": "text", "index": 7, "name": "currency", "comment": null}, "timezone_name": {"type": "text", "index": 8, "name": "timezone_name", "comment": null}, "clicks": {"type": "bigint", "index": 9, "name": "clicks", "comment": null}, "impressions": {"type": "bigint", "index": 10, "name": "impressions", "comment": null}, "spend": {"type": "double precision", "index": 11, "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.facebook_ads.facebook_ads__account_report"}, "model.facebook_ads.facebook_ads__ad_report": {"metadata": {"type": "BASE TABLE", "schema": "facebook_ads_integration_tests_facebook_ads", "name": "facebook_ads__ad_report", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date_day": {"type": "date", "index": 1, "name": "date_day", "comment": null}, "account_id": {"type": "bigint", "index": 2, "name": "account_id", "comment": null}, "account_name": {"type": "text", "index": 3, "name": "account_name", "comment": null}, "campaign_id": {"type": "bigint", "index": 4, "name": "campaign_id", "comment": null}, "campaign_name": {"type": "text", "index": 5, "name": "campaign_name", "comment": null}, "ad_set_id": {"type": "bigint", "index": 6, "name": "ad_set_id", "comment": null}, "ad_set_name": {"type": "text", "index": 7, "name": "ad_set_name", "comment": null}, "ad_id": {"type": "bigint", "index": 8, "name": "ad_id", "comment": null}, "ad_name": {"type": "text", "index": 9, "name": "ad_name", "comment": null}, "clicks": {"type": "bigint", "index": 10, "name": "clicks", "comment": null}, "impressions": {"type": "bigint", "index": 11, "name": "impressions", "comment": null}, "spend": {"type": "double precision", "index": 12, "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.facebook_ads.facebook_ads__ad_report"}, "model.facebook_ads.facebook_ads__ad_set_report": {"metadata": {"type": "BASE TABLE", "schema": "facebook_ads_integration_tests_facebook_ads", "name": "facebook_ads__ad_set_report", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date_day": {"type": "date", "index": 1, "name": "date_day", "comment": null}, "account_id": {"type": "bigint", "index": 2, "name": "account_id", "comment": null}, "account_name": {"type": "text", "index": 3, "name": "account_name", "comment": null}, "campaign_id": {"type": "bigint", "index": 4, "name": "campaign_id", "comment": null}, "campaign_name": {"type": "text", "index": 5, "name": "campaign_name", "comment": null}, "ad_set_id": {"type": "bigint", "index": 6, "name": "ad_set_id", "comment": null}, "ad_set_name": {"type": "text", "index": 7, "name": "ad_set_name", "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}, "bid_strategy": {"type": "text", "index": 10, "name": "bid_strategy", "comment": null}, "daily_budget": {"type": "integer", "index": 11, "name": "daily_budget", "comment": null}, "budget_remaining": {"type": "integer", "index": 12, "name": "budget_remaining", "comment": null}, "clicks": {"type": "bigint", "index": 13, "name": "clicks", "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.facebook_ads.facebook_ads__ad_set_report"}, "model.facebook_ads.facebook_ads__campaign_report": {"metadata": {"type": "BASE TABLE", "schema": "facebook_ads_integration_tests_facebook_ads", "name": "facebook_ads__campaign_report", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date_day": {"type": "date", "index": 1, "name": "date_day", "comment": null}, "account_id": {"type": "bigint", "index": 2, "name": "account_id", "comment": null}, "account_name": {"type": "text", "index": 3, "name": "account_name", "comment": null}, "campaign_id": {"type": "bigint", "index": 4, "name": "campaign_id", "comment": null}, "campaign_name": {"type": "text", "index": 5, "name": "campaign_name", "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}, "status": {"type": "text", "index": 8, "name": "status", "comment": null}, "daily_budget": {"type": "integer", "index": 9, "name": "daily_budget", "comment": null}, "lifetime_budget": {"type": "integer", "index": 10, "name": "lifetime_budget", "comment": null}, "budget_remaining": {"type": "double precision", "index": 11, "name": "budget_remaining", "comment": null}, "clicks": {"type": "bigint", "index": 12, "name": "clicks", "comment": null}, "impressions": {"type": "bigint", "index": 13, "name": "impressions", "comment": null}, "spend": {"type": "double precision", "index": 14, "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.facebook_ads.facebook_ads__campaign_report"}, "model.facebook_ads.facebook_ads__url_report": {"metadata": {"type": "BASE TABLE", "schema": "facebook_ads_integration_tests_facebook_ads", "name": "facebook_ads__url_report", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date_day": {"type": "date", "index": 1, "name": "date_day", "comment": null}, "account_id": {"type": "bigint", "index": 2, "name": "account_id", "comment": null}, "account_name": {"type": "text", "index": 3, "name": "account_name", "comment": null}, "campaign_id": {"type": "bigint", "index": 4, "name": "campaign_id", "comment": null}, "campaign_name": {"type": "text", "index": 5, "name": "campaign_name", "comment": null}, "ad_set_id": {"type": "bigint", "index": 6, "name": "ad_set_id", "comment": null}, "ad_set_name": {"type": "text", "index": 7, "name": "ad_set_name", "comment": null}, "ad_id": {"type": "bigint", "index": 8, "name": "ad_id", "comment": null}, "ad_name": {"type": "text", "index": 9, "name": "ad_name", "comment": null}, "creative_id": {"type": "bigint", "index": 10, "name": "creative_id", "comment": null}, "creative_name": {"type": "text", "index": 11, "name": "creative_name", "comment": null}, "base_url": {"type": "text", "index": 12, "name": "base_url", "comment": null}, "url_host": {"type": "text", "index": 13, "name": "url_host", "comment": null}, "url_path": {"type": "text", "index": 14, "name": "url_path", "comment": null}, "utm_source": {"type": "text", "index": 15, "name": "utm_source", "comment": null}, "utm_medium": {"type": "text", "index": 16, "name": "utm_medium", "comment": null}, "utm_campaign": {"type": "text", "index": 17, "name": "utm_campaign", "comment": null}, "utm_content": {"type": "text", "index": 18, "name": "utm_content", "comment": null}, "utm_term": {"type": "text", "index": 19, "name": "utm_term", "comment": null}, "clicks": {"type": "bigint", "index": 20, "name": "clicks", "comment": null}, "impressions": {"type": "bigint", "index": 21, "name": "impressions", "comment": null}, "spend": {"type": "double precision", "index": 22, "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.facebook_ads.facebook_ads__url_report"}, "model.facebook_ads.facebook_ads__url_tags": {"metadata": {"type": "BASE TABLE", "schema": "facebook_ads_integration_tests_facebook_ads", "name": "facebook_ads__url_tags", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"_fivetran_id": {"type": "text", "index": 1, "name": "_fivetran_id", "comment": null}, "creative_id": {"type": "bigint", "index": 2, "name": "creative_id", "comment": null}, "key": {"type": "text", "index": 3, "name": "key", "comment": null}, "value": {"type": "text", "index": 4, "name": "value", "comment": null}, "type": {"type": "text", "index": 5, "name": "type", "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.facebook_ads.facebook_ads__url_tags"}, "model.facebook_ads.int_facebook_ads__creative_history": {"metadata": {"type": "VIEW", "schema": "facebook_ads_integration_tests_facebook_ads", "name": "int_facebook_ads__creative_history", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"_fivetran_id": {"type": "text", "index": 1, "name": "_fivetran_id", "comment": null}, "creative_id": {"type": "bigint", "index": 2, "name": "creative_id", "comment": null}, "account_id": {"type": "bigint", "index": 3, "name": "account_id", "comment": null}, "creative_name": {"type": "text", "index": 4, "name": "creative_name", "comment": null}, "url": {"type": "character varying", "index": 5, "name": "url", "comment": null}, "base_url": {"type": "text", "index": 6, "name": "base_url", "comment": null}, "url_host": {"type": "text", "index": 7, "name": "url_host", "comment": null}, "url_path": {"type": "text", "index": 8, "name": "url_path", "comment": null}, "utm_source": {"type": "text", "index": 9, "name": "utm_source", "comment": null}, "utm_medium": {"type": "text", "index": 10, "name": "utm_medium", "comment": null}, "utm_campaign": {"type": "text", "index": 11, "name": "utm_campaign", "comment": null}, "utm_content": {"type": "text", "index": 12, "name": "utm_content", "comment": null}, "utm_term": {"type": "text", "index": 13, "name": "utm_term", "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.facebook_ads.int_facebook_ads__creative_history"}, "model.facebook_ads_source.stg_facebook_ads__account_history": {"metadata": {"type": "BASE TABLE", "schema": "facebook_ads_integration_tests_facebook_ads_source", "name": "stg_facebook_ads__account_history", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"account_id": {"type": "bigint", "index": 1, "name": "account_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "account_name": {"type": "text", "index": 3, "name": "account_name", "comment": null}, "account_status": {"type": "text", "index": 4, "name": "account_status", "comment": null}, "business_country_code": {"type": "text", "index": 5, "name": "business_country_code", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 6, "name": "created_at", "comment": null}, "currency": {"type": "text", "index": 7, "name": "currency", "comment": null}, "timezone_name": {"type": "text", "index": 8, "name": "timezone_name", "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.facebook_ads_source.stg_facebook_ads__account_history"}, "model.facebook_ads_source.stg_facebook_ads__account_history_tmp": {"metadata": {"type": "VIEW", "schema": "facebook_ads_integration_tests_facebook_ads_source", "name": "stg_facebook_ads__account_history_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "name": {"type": "text", "index": 2, "name": "name", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "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.facebook_ads_source.stg_facebook_ads__account_history_tmp"}, "model.facebook_ads_source.stg_facebook_ads__ad_history": {"metadata": {"type": "BASE TABLE", "schema": "facebook_ads_integration_tests_facebook_ads_source", "name": "stg_facebook_ads__ad_history", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"updated_at": {"type": "timestamp without time zone", "index": 1, "name": "updated_at", "comment": null}, "ad_id": {"type": "bigint", "index": 2, "name": "ad_id", "comment": null}, "ad_name": {"type": "text", "index": 3, "name": "ad_name", "comment": null}, "account_id": {"type": "bigint", "index": 4, "name": "account_id", "comment": null}, "ad_set_id": {"type": "bigint", "index": 5, "name": "ad_set_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 6, "name": "campaign_id", "comment": null}, "creative_id": {"type": "bigint", "index": 7, "name": "creative_id", "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.facebook_ads_source.stg_facebook_ads__ad_history"}, "model.facebook_ads_source.stg_facebook_ads__ad_history_tmp": {"metadata": {"type": "VIEW", "schema": "facebook_ads_integration_tests_facebook_ads_source", "name": "stg_facebook_ads__ad_history_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "account_id": {"type": "bigint", "index": 2, "name": "account_id", "comment": null}, "ad_set_id": {"type": "bigint", "index": 3, "name": "ad_set_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 4, "name": "campaign_id", "comment": null}, "creative_id": {"type": "bigint", "index": 5, "name": "creative_id", "comment": null}, "name": {"type": "text", "index": 6, "name": "name", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 7, "name": "_fivetran_synced", "comment": null}, "updated_time": {"type": "timestamp without time zone", "index": 8, "name": "updated_time", "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.facebook_ads_source.stg_facebook_ads__ad_history_tmp"}, "model.facebook_ads_source.stg_facebook_ads__ad_set_history": {"metadata": {"type": "BASE TABLE", "schema": "facebook_ads_integration_tests_facebook_ads_source", "name": "stg_facebook_ads__ad_set_history", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"updated_at": {"type": "timestamp without time zone", "index": 1, "name": "updated_at", "comment": null}, "ad_set_id": {"type": "bigint", "index": 2, "name": "ad_set_id", "comment": null}, "ad_set_name": {"type": "text", "index": 3, "name": "ad_set_name", "comment": null}, "account_id": {"type": "bigint", "index": 4, "name": "account_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 5, "name": "campaign_id", "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}, "bid_strategy": {"type": "text", "index": 8, "name": "bid_strategy", "comment": null}, "daily_budget": {"type": "integer", "index": 9, "name": "daily_budget", "comment": null}, "budget_remaining": {"type": "integer", "index": 10, "name": "budget_remaining", "comment": null}, "status": {"type": "text", "index": 11, "name": "status", "comment": null}, "is_most_recent_record": {"type": "boolean", "index": 12, "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.facebook_ads_source.stg_facebook_ads__ad_set_history"}, "model.facebook_ads_source.stg_facebook_ads__ad_set_history_tmp": {"metadata": {"type": "VIEW", "schema": "facebook_ads_integration_tests_facebook_ads_source", "name": "stg_facebook_ads__ad_set_history_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "account_id": {"type": "bigint", "index": 2, "name": "account_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 3, "name": "campaign_id", "comment": null}, "name": {"type": "text", "index": 4, "name": "name", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 5, "name": "_fivetran_synced", "comment": null}, "updated_time": {"type": "timestamp without time zone", "index": 6, "name": "updated_time", "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.facebook_ads_source.stg_facebook_ads__ad_set_history_tmp"}, "model.facebook_ads_source.stg_facebook_ads__basic_ad": {"metadata": {"type": "BASE TABLE", "schema": "facebook_ads_integration_tests_facebook_ads_source", "name": "stg_facebook_ads__basic_ad", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"ad_id": {"type": "bigint", "index": 1, "name": "ad_id", "comment": null}, "ad_name": {"type": "text", "index": 2, "name": "ad_name", "comment": null}, "ad_set_name": {"type": "text", "index": 3, "name": "ad_set_name", "comment": null}, "date_day": {"type": "date", "index": 4, "name": "date_day", "comment": null}, "account_id": {"type": "bigint", "index": 5, "name": "account_id", "comment": null}, "impressions": {"type": "integer", "index": 6, "name": "impressions", "comment": null}, "clicks": {"type": "integer", "index": 7, "name": "clicks", "comment": null}, "spend": {"type": "double precision", "index": 8, "name": "spend", "comment": null}, "reach": {"type": "integer", "index": 9, "name": "reach", "comment": null}, "frequency": {"type": "double precision", "index": 10, "name": "frequency", "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.facebook_ads_source.stg_facebook_ads__basic_ad"}, "model.facebook_ads_source.stg_facebook_ads__basic_ad_tmp": {"metadata": {"type": "VIEW", "schema": "facebook_ads_integration_tests_facebook_ads_source", "name": "stg_facebook_ads__basic_ad_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"ad_id": {"type": "bigint", "index": 1, "name": "ad_id", "comment": null}, "date": {"type": "date", "index": 2, "name": "date", "comment": null}, "account_id": {"type": "bigint", "index": 3, "name": "account_id", "comment": null}, "impressions": {"type": "integer", "index": 4, "name": "impressions", "comment": null}, "inline_link_clicks": {"type": "integer", "index": 5, "name": "inline_link_clicks", "comment": null}, "spend": {"type": "double precision", "index": 6, "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.facebook_ads_source.stg_facebook_ads__basic_ad_tmp"}, "model.facebook_ads_source.stg_facebook_ads__campaign_history": {"metadata": {"type": "BASE TABLE", "schema": "facebook_ads_integration_tests_facebook_ads_source", "name": "stg_facebook_ads__campaign_history", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"updated_at": {"type": "timestamp without time zone", "index": 1, "name": "updated_at", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 2, "name": "created_at", "comment": null}, "account_id": {"type": "bigint", "index": 3, "name": "account_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 4, "name": "campaign_id", "comment": null}, "campaign_name": {"type": "text", "index": 5, "name": "campaign_name", "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}, "status": {"type": "text", "index": 8, "name": "status", "comment": null}, "daily_budget": {"type": "integer", "index": 9, "name": "daily_budget", "comment": null}, "lifetime_budget": {"type": "integer", "index": 10, "name": "lifetime_budget", "comment": null}, "budget_remaining": {"type": "double precision", "index": 11, "name": "budget_remaining", "comment": null}, "is_most_recent_record": {"type": "boolean", "index": 12, "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.facebook_ads_source.stg_facebook_ads__campaign_history"}, "model.facebook_ads_source.stg_facebook_ads__campaign_history_tmp": {"metadata": {"type": "VIEW", "schema": "facebook_ads_integration_tests_facebook_ads_source", "name": "stg_facebook_ads__campaign_history_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "account_id": {"type": "bigint", "index": 2, "name": "account_id", "comment": null}, "name": {"type": "text", "index": 3, "name": "name", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 4, "name": "_fivetran_synced", "comment": null}, "updated_time": {"type": "timestamp without time zone", "index": 5, "name": "updated_time", "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.facebook_ads_source.stg_facebook_ads__campaign_history_tmp"}, "model.facebook_ads_source.stg_facebook_ads__creative_history": {"metadata": {"type": "BASE TABLE", "schema": "facebook_ads_integration_tests_facebook_ads_source", "name": "stg_facebook_ads__creative_history", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"_fivetran_id": {"type": "text", "index": 1, "name": "_fivetran_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "creative_id": {"type": "bigint", "index": 3, "name": "creative_id", "comment": null}, "account_id": {"type": "bigint", "index": 4, "name": "account_id", "comment": null}, "creative_name": {"type": "text", "index": 5, "name": "creative_name", "comment": null}, "page_link": {"type": "character varying", "index": 6, "name": "page_link", "comment": null}, "template_page_link": {"type": "character varying", "index": 7, "name": "template_page_link", "comment": null}, "url_tags": {"type": "text", "index": 8, "name": "url_tags", "comment": null}, "asset_feed_spec_link_urls": {"type": "text", "index": 9, "name": "asset_feed_spec_link_urls", "comment": null}, "object_story_link_data_child_attachments": {"type": "text", "index": 10, "name": "object_story_link_data_child_attachments", "comment": null}, "object_story_link_data_caption": {"type": "text", "index": 11, "name": "object_story_link_data_caption", "comment": null}, "object_story_link_data_description": {"type": "text", "index": 12, "name": "object_story_link_data_description", "comment": null}, "object_story_link_data_link": {"type": "text", "index": 13, "name": "object_story_link_data_link", "comment": null}, "object_story_link_data_message": {"type": "text", "index": 14, "name": "object_story_link_data_message", "comment": null}, "template_app_link_spec_ios": {"type": "text", "index": 15, "name": "template_app_link_spec_ios", "comment": null}, "template_app_link_spec_ipad": {"type": "text", "index": 16, "name": "template_app_link_spec_ipad", "comment": null}, "template_app_link_spec_android": {"type": "text", "index": 17, "name": "template_app_link_spec_android", "comment": null}, "template_app_link_spec_iphone": {"type": "text", "index": 18, "name": "template_app_link_spec_iphone", "comment": null}, "is_most_recent_record": {"type": "boolean", "index": 19, "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.facebook_ads_source.stg_facebook_ads__creative_history"}, "model.facebook_ads_source.stg_facebook_ads__creative_history_tmp": {"metadata": {"type": "VIEW", "schema": "facebook_ads_integration_tests_facebook_ads_source", "name": "stg_facebook_ads__creative_history_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"page_link": {"type": "character varying", "index": 1, "name": "page_link", "comment": null}, "template_page_link": {"type": "character varying", "index": 2, "name": "template_page_link", "comment": null}, "id": {"type": "bigint", "index": 3, "name": "id", "comment": null}, "account_id": {"type": "bigint", "index": 4, "name": "account_id", "comment": null}, "name": {"type": "text", "index": 5, "name": "name", "comment": null}, "url_tags": {"type": "text", "index": 6, "name": "url_tags", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 7, "name": "_fivetran_synced", "comment": null}, "asset_feed_spec_link_urls": {"type": "text", "index": 8, "name": "asset_feed_spec_link_urls", "comment": null}, "object_story_link_data_child_attachments": {"type": "text", "index": 9, "name": "object_story_link_data_child_attachments", "comment": null}, "object_story_link_data_caption": {"type": "text", "index": 10, "name": "object_story_link_data_caption", "comment": null}, "object_story_link_data_description": {"type": "text", "index": 11, "name": "object_story_link_data_description", "comment": null}, "object_story_link_data_link": {"type": "text", "index": 12, "name": "object_story_link_data_link", "comment": null}, "object_story_link_data_message": {"type": "text", "index": 13, "name": "object_story_link_data_message", "comment": null}, "template_app_link_spec_ios": {"type": "text", "index": 14, "name": "template_app_link_spec_ios", "comment": null}, "_fivetran_id": {"type": "text", "index": 15, "name": "_fivetran_id", "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.facebook_ads_source.stg_facebook_ads__creative_history_tmp"}}, "sources": {"source.facebook_ads_source.facebook_ads.account_history": {"metadata": {"type": "BASE TABLE", "schema": "facebook_ads_integration_tests", "name": "facebook_ads_account_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "name": {"type": "text", "index": 2, "name": "name", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "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.facebook_ads_source.facebook_ads.account_history"}, "source.facebook_ads_source.facebook_ads.ad_history": {"metadata": {"type": "BASE TABLE", "schema": "facebook_ads_integration_tests", "name": "facebook_ads_ad_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "account_id": {"type": "bigint", "index": 2, "name": "account_id", "comment": null}, "ad_set_id": {"type": "bigint", "index": 3, "name": "ad_set_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 4, "name": "campaign_id", "comment": null}, "creative_id": {"type": "bigint", "index": 5, "name": "creative_id", "comment": null}, "name": {"type": "text", "index": 6, "name": "name", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 7, "name": "_fivetran_synced", "comment": null}, "updated_time": {"type": "timestamp without time zone", "index": 8, "name": "updated_time", "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.facebook_ads_source.facebook_ads.ad_history"}, "source.facebook_ads_source.facebook_ads.ad_set_history": {"metadata": {"type": "BASE TABLE", "schema": "facebook_ads_integration_tests", "name": "facebook_ads_ad_set_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "account_id": {"type": "bigint", "index": 2, "name": "account_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 3, "name": "campaign_id", "comment": null}, "name": {"type": "text", "index": 4, "name": "name", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 5, "name": "_fivetran_synced", "comment": null}, "updated_time": {"type": "timestamp without time zone", "index": 6, "name": "updated_time", "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.facebook_ads_source.facebook_ads.ad_set_history"}, "source.facebook_ads_source.facebook_ads.basic_ad": {"metadata": {"type": "BASE TABLE", "schema": "facebook_ads_integration_tests", "name": "facebook_ads_basic_ad_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"ad_id": {"type": "bigint", "index": 1, "name": "ad_id", "comment": null}, "date": {"type": "date", "index": 2, "name": "date", "comment": null}, "account_id": {"type": "bigint", "index": 3, "name": "account_id", "comment": null}, "impressions": {"type": "integer", "index": 4, "name": "impressions", "comment": null}, "inline_link_clicks": {"type": "integer", "index": 5, "name": "inline_link_clicks", "comment": null}, "spend": {"type": "double precision", "index": 6, "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": "source.facebook_ads_source.facebook_ads.basic_ad"}, "source.facebook_ads_source.facebook_ads.campaign_history": {"metadata": {"type": "BASE TABLE", "schema": "facebook_ads_integration_tests", "name": "facebook_ads_campaign_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "account_id": {"type": "bigint", "index": 2, "name": "account_id", "comment": null}, "name": {"type": "text", "index": 3, "name": "name", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 4, "name": "_fivetran_synced", "comment": null}, "updated_time": {"type": "timestamp without time zone", "index": 5, "name": "updated_time", "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.facebook_ads_source.facebook_ads.campaign_history"}, "source.facebook_ads_source.facebook_ads.creative_history": {"metadata": {"type": "BASE TABLE", "schema": "facebook_ads_integration_tests", "name": "facebook_ads_creative_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"page_link": {"type": "character varying", "index": 1, "name": "page_link", "comment": null}, "template_page_link": {"type": "character varying", "index": 2, "name": "template_page_link", "comment": null}, "id": {"type": "bigint", "index": 3, "name": "id", "comment": null}, "account_id": {"type": "bigint", "index": 4, "name": "account_id", "comment": null}, "name": {"type": "text", "index": 5, "name": "name", "comment": null}, "url_tags": {"type": "text", "index": 6, "name": "url_tags", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 7, "name": "_fivetran_synced", "comment": null}, "asset_feed_spec_link_urls": {"type": "text", "index": 8, "name": "asset_feed_spec_link_urls", "comment": null}, "object_story_link_data_child_attachments": {"type": "text", "index": 9, "name": "object_story_link_data_child_attachments", "comment": null}, "object_story_link_data_caption": {"type": "text", "index": 10, "name": "object_story_link_data_caption", "comment": null}, "object_story_link_data_description": {"type": "text", "index": 11, "name": "object_story_link_data_description", "comment": null}, "object_story_link_data_link": {"type": "text", "index": 12, "name": "object_story_link_data_link", "comment": null}, "object_story_link_data_message": {"type": "text", "index": 13, "name": "object_story_link_data_message", "comment": null}, "template_app_link_spec_ios": {"type": "text", "index": 14, "name": "template_app_link_spec_ios", "comment": null}, "_fivetran_id": {"type": "text", "index": 15, "name": "_fivetran_id", "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.facebook_ads_source.facebook_ads.creative_history"}}, "errors": null} \ No newline at end of file diff --git a/docs/manifest.json b/docs/manifest.json index 9c8d416..a9fe923 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-14T23:03:23.170037Z", "invocation_id": "d5ef8e19-65f4-4fb7-ac37-ede0104ec68f", "env": {}, "project_id": "6d850e6ac780f18e972b683bd77cbc61", "user_id": "8268eefe-e8f7-472e-ab2a-a92f0135d76d", "send_anonymous_usage_stats": true, "adapter_type": "bigquery"}, "nodes": {"seed.facebook_ads_integration_tests.facebook_ads_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": {"id": "int64", "account_id": "int64", "campaign_id": "int64", "ad_set_id": "int64", "ad_id": "int64", "creative_id": "int64", "page_link": "string", "template_page_link": "string", "_fivetran_synced": "timestamp", "updated_time": "timestamp"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "facebook_ads_integration_tests", "fqn": ["facebook_ads_integration_tests", "facebook_ads_ad_history_data"], "unique_id": "seed.facebook_ads_integration_tests.facebook_ads_ad_history_data", "raw_code": "", "language": "sql", "package_name": "facebook_ads_integration_tests", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests", "path": "facebook_ads_ad_history_data.csv", "original_file_path": "seeds/facebook_ads_ad_history_data.csv", "name": "facebook_ads_ad_history_data", "alias": "facebook_ads_ad_history_data", "checksum": {"name": "sha256", "checksum": "95c960d78745b1652034ba4da5cc2a7d5b923e816a81c90360f1b28588b7befd"}, "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": {"column_types": {"id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "account_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "ad_set_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "ad_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "creative_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "page_link": "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}", "template_page_link": "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}", "_fivetran_synced": "timestamp", "updated_time": "timestamp"}}, "created_at": 1671058921.188214, "compiled_code": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`facebook_ads_integration_tests`.`facebook_ads_ad_history_data`"}, "seed.facebook_ads_integration_tests.facebook_ads_creative_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": {"id": "int64", "account_id": "int64", "campaign_id": "int64", "ad_set_id": "int64", "ad_id": "int64", "creative_id": "int64", "page_link": "string", "template_page_link": "string", "_fivetran_synced": "timestamp", "updated_time": "timestamp"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "facebook_ads_integration_tests", "fqn": ["facebook_ads_integration_tests", "facebook_ads_creative_history_data"], "unique_id": "seed.facebook_ads_integration_tests.facebook_ads_creative_history_data", "raw_code": "", "language": "sql", "package_name": "facebook_ads_integration_tests", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests", "path": "facebook_ads_creative_history_data.csv", "original_file_path": "seeds/facebook_ads_creative_history_data.csv", "name": "facebook_ads_creative_history_data", "alias": "facebook_ads_creative_history_data", "checksum": {"name": "path", "checksum": "seeds/facebook_ads_creative_history_data.csv"}, "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": {"column_types": {"id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "account_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "ad_set_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "ad_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "creative_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "page_link": "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}", "template_page_link": "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}", "_fivetran_synced": "timestamp", "updated_time": "timestamp"}}, "created_at": 1671058921.19413, "compiled_code": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`facebook_ads_integration_tests`.`facebook_ads_creative_history_data`"}, "seed.facebook_ads_integration_tests.facebook_ads_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": {"id": "int64", "account_id": "int64", "campaign_id": "int64", "ad_set_id": "int64", "ad_id": "int64", "creative_id": "int64", "page_link": "string", "template_page_link": "string", "_fivetran_synced": "timestamp", "updated_time": "timestamp"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "facebook_ads_integration_tests", "fqn": ["facebook_ads_integration_tests", "facebook_ads_campaign_history_data"], "unique_id": "seed.facebook_ads_integration_tests.facebook_ads_campaign_history_data", "raw_code": "", "language": "sql", "package_name": "facebook_ads_integration_tests", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests", "path": "facebook_ads_campaign_history_data.csv", "original_file_path": "seeds/facebook_ads_campaign_history_data.csv", "name": "facebook_ads_campaign_history_data", "alias": "facebook_ads_campaign_history_data", "checksum": {"name": "sha256", "checksum": "1dfd8244efe7c32be5fb93c8417575d79670225092a28cab9da03d0ad7773432"}, "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": {"column_types": {"id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "account_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "ad_set_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "ad_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "creative_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "page_link": "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}", "template_page_link": "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}", "_fivetran_synced": "timestamp", "updated_time": "timestamp"}}, "created_at": 1671058921.195303, "compiled_code": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`facebook_ads_integration_tests`.`facebook_ads_campaign_history_data`"}, "seed.facebook_ads_integration_tests.facebook_ads_account_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": {"id": "int64", "account_id": "int64", "campaign_id": "int64", "ad_set_id": "int64", "ad_id": "int64", "creative_id": "int64", "page_link": "string", "template_page_link": "string", "_fivetran_synced": "timestamp", "updated_time": "timestamp"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "facebook_ads_integration_tests", "fqn": ["facebook_ads_integration_tests", "facebook_ads_account_history_data"], "unique_id": "seed.facebook_ads_integration_tests.facebook_ads_account_history_data", "raw_code": "", "language": "sql", "package_name": "facebook_ads_integration_tests", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests", "path": "facebook_ads_account_history_data.csv", "original_file_path": "seeds/facebook_ads_account_history_data.csv", "name": "facebook_ads_account_history_data", "alias": "facebook_ads_account_history_data", "checksum": {"name": "sha256", "checksum": "cd864f60b0ec016488416e66c22b5ff0ffcb882139124d92c3207f5abb0ae36d"}, "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": {"column_types": {"id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "account_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "ad_set_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "ad_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "creative_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "page_link": "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}", "template_page_link": "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}", "_fivetran_synced": "timestamp", "updated_time": "timestamp"}}, "created_at": 1671058921.196429, "compiled_code": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`facebook_ads_integration_tests`.`facebook_ads_account_history_data`"}, "seed.facebook_ads_integration_tests.facebook_ads_basic_ad_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": {"id": "int64", "account_id": "int64", "campaign_id": "int64", "ad_set_id": "int64", "ad_id": "int64", "creative_id": "int64", "page_link": "string", "template_page_link": "string", "_fivetran_synced": "timestamp", "updated_time": "timestamp"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "facebook_ads_integration_tests", "fqn": ["facebook_ads_integration_tests", "facebook_ads_basic_ad_data"], "unique_id": "seed.facebook_ads_integration_tests.facebook_ads_basic_ad_data", "raw_code": "", "language": "sql", "package_name": "facebook_ads_integration_tests", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests", "path": "facebook_ads_basic_ad_data.csv", "original_file_path": "seeds/facebook_ads_basic_ad_data.csv", "name": "facebook_ads_basic_ad_data", "alias": "facebook_ads_basic_ad_data", "checksum": {"name": "sha256", "checksum": "66b31e24edd0ba75d3fee6ad4c1522fd9b43417943aac398f1c92f5076ba7ac0"}, "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": {"column_types": {"id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "account_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "ad_set_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "ad_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "creative_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "page_link": "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}", "template_page_link": "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}", "_fivetran_synced": "timestamp", "updated_time": "timestamp"}}, "created_at": 1671058921.197557, "compiled_code": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`facebook_ads_integration_tests`.`facebook_ads_basic_ad_data`"}, "seed.facebook_ads_integration_tests.facebook_ads_ad_set_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": {"id": "int64", "account_id": "int64", "campaign_id": "int64", "ad_set_id": "int64", "ad_id": "int64", "creative_id": "int64", "page_link": "string", "template_page_link": "string", "_fivetran_synced": "timestamp", "updated_time": "timestamp"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "facebook_ads_integration_tests", "fqn": ["facebook_ads_integration_tests", "facebook_ads_ad_set_history_data"], "unique_id": "seed.facebook_ads_integration_tests.facebook_ads_ad_set_history_data", "raw_code": "", "language": "sql", "package_name": "facebook_ads_integration_tests", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests", "path": "facebook_ads_ad_set_history_data.csv", "original_file_path": "seeds/facebook_ads_ad_set_history_data.csv", "name": "facebook_ads_ad_set_history_data", "alias": "facebook_ads_ad_set_history_data", "checksum": {"name": "sha256", "checksum": "da4e6b48f3feaa4bd2c3783b125909a14c5317b3c1484b4f6af5d7c1d88f5bd7"}, "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": {"column_types": {"id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "account_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "ad_set_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "ad_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "creative_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "page_link": "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}", "template_page_link": "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}", "_fivetran_synced": "timestamp", "updated_time": "timestamp"}}, "created_at": 1671058921.1987798, "compiled_code": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`facebook_ads_integration_tests`.`facebook_ads_ad_set_history_data`"}, "model.facebook_ads.facebook_ads__url_report": {"compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.fivetran_utils.persist_pass_through_columns", "macro.dbt_utils.group_by"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__basic_ad", "model.facebook_ads.int_facebook_ads__creative_history", "model.facebook_ads_source.stg_facebook_ads__account_history", "model.facebook_ads_source.stg_facebook_ads__ad_history", "model.facebook_ads_source.stg_facebook_ads__ad_set_history", "model.facebook_ads_source.stg_facebook_ads__campaign_history"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_facebook_ads", "fqn": ["facebook_ads", "facebook_ads__url_report"], "unique_id": "model.facebook_ads.facebook_ads__url_report", "raw_code": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nwith report as (\n\n select *\n from {{ var('basic_ad') }}\n\n), \n\ncreatives as (\n\n select *\n from {{ ref('int_facebook_ads__creative_history') }}\n\n), \n\naccounts as (\n\n select *\n from {{ var('account_history') }}\n where is_most_recent_record = true\n\n), \n\nads as (\n\n select *\n from {{ var('ad_history') }}\n where is_most_recent_record = true\n\n), \n\nad_sets as (\n\n select *\n from {{ var('ad_set_history') }}\n where is_most_recent_record = true\n\n), \n\ncampaigns as (\n\n select *\n from {{ var('campaign_history') }}\n where is_most_recent_record = true\n\n), \n\njoined as (\n\n select\n report.date_day,\n accounts.account_id,\n accounts.account_name,\n campaigns.campaign_id,\n campaigns.campaign_name,\n ad_sets.ad_set_id,\n ad_sets.ad_set_name,\n ads.ad_id,\n ads.ad_name,\n creatives.creative_id,\n creatives.creative_name,\n creatives.base_url,\n creatives.url_host,\n creatives.url_path,\n creatives.utm_source,\n creatives.utm_medium,\n creatives.utm_campaign,\n creatives.utm_content,\n creatives.utm_term,\n sum(report.clicks) as clicks,\n sum(report.impressions) as impressions,\n sum(report.spend) as spend\n\n {{ fivetran_utils.persist_pass_through_columns(pass_through_variable='facebook_ads__basic_ad_passthrough_metrics', transform = 'sum') }}\n from report\n left join ads \n on report.ad_id = ads.ad_id\n left join creatives\n on ads.creative_id = creatives.creative_id\n left join ad_sets\n on ads.ad_set_id = ad_sets.ad_set_id\n left join campaigns\n on ads.campaign_id = campaigns.campaign_id\n left join accounts\n on report.account_id = accounts.account_id \n\n {% if var('ad_reporting__url_report__using_null_filter', True) %}\n where creatives.url is not null\n {% endif %}\n \n {{ dbt_utils.group_by(19) }}\n)\n\nselect *\nfrom joined", "language": "sql", "package_name": "facebook_ads", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "facebook_ads__url_report.sql", "original_file_path": "models/facebook_ads__url_report.sql", "name": "facebook_ads__url_report", "alias": "facebook_ads__url_report", "checksum": {"name": "sha256", "checksum": "f70f450f715f519a00124348bc02f28ba3c9512aeb5f3ce0d57f01421e7a7f18"}, "tags": [], "refs": [["stg_facebook_ads__basic_ad"], ["int_facebook_ads__creative_history"], ["stg_facebook_ads__account_history"], ["stg_facebook_ads__ad_history"], ["stg_facebook_ads__ad_set_history"], ["stg_facebook_ads__campaign_history"]], "sources": [], "metrics": [], "description": "Each record represents the daily performance of a Facebook ad at the URL level.", "columns": {"date_day": {"name": "date_day", "description": "The date of the performance.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "The ID of the related account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_name": {"name": "account_name", "description": "The name of the related account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_id": {"name": "campaign_id", "description": "The ID of the related campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_name": {"name": "campaign_name", "description": "The name of the related campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_set_id": {"name": "ad_set_id", "description": "The ID of the related ad set.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_set_name": {"name": "ad_set_name", "description": "The name of the related ad set.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_id": {"name": "ad_id", "description": "The ID of the related ad.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_name": {"name": "ad_name", "description": "The name of the related ad.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "creative_id": {"name": "creative_id", "description": "The ID of the related creative.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "creative_name": {"name": "creative_name", "description": "The name of the related creative.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "base_url": {"name": "base_url", "description": "The base URL of the ad, extracted from the page_link and template_page_link.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "url_host": {"name": "url_host", "description": "The URL host of the ad, extracted from the page_link and template_page_link.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "url_path": {"name": "url_path", "description": "The URL path of the ad, extracted from the page_link and template_page_link.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "utm_source": {"name": "utm_source", "description": "The utm_source parameter of the ad, extracted from the page_link and template_page_link.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "utm_medium": {"name": "utm_medium", "description": "The utm_medium parameter of the ad, extracted from the page_link and template_page_link.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "utm_campaign": {"name": "utm_campaign", "description": "The utm_campaign parameter of the ad, extracted from the page_link and template_page_link.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "utm_content": {"name": "utm_content", "description": "The utm_content parameter of the ad, extracted from the page_link and template_page_link.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "utm_term": {"name": "utm_term", "description": "The utm_term parameter of the ad, extracted from the page_link and template_page_link.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clicks": {"name": "clicks", "description": "The number of clicks the ad had on the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "The number of impressions the ad had on the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The spend on the ad in the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": "facebook_ads://models/facebook.yml", "compiled_path": "target/compiled/facebook_ads/models/facebook_ads__url_report.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads", "materialized": "table", "enabled": true}, "created_at": 1671058921.418041, "compiled_code": "\n\nwith report as (\n\n select *\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__basic_ad`\n\n), \n\ncreatives as (\n\n select *\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads`.`int_facebook_ads__creative_history`\n\n), \n\naccounts as (\n\n select *\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__account_history`\n where is_most_recent_record = true\n\n), \n\nads as (\n\n select *\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__ad_history`\n where is_most_recent_record = true\n\n), \n\nad_sets as (\n\n select *\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__ad_set_history`\n where is_most_recent_record = true\n\n), \n\ncampaigns as (\n\n select *\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__campaign_history`\n where is_most_recent_record = true\n\n), \n\njoined as (\n\n select\n report.date_day,\n accounts.account_id,\n accounts.account_name,\n campaigns.campaign_id,\n campaigns.campaign_name,\n ad_sets.ad_set_id,\n ad_sets.ad_set_name,\n ads.ad_id,\n ads.ad_name,\n creatives.creative_id,\n creatives.creative_name,\n creatives.base_url,\n creatives.url_host,\n creatives.url_path,\n creatives.utm_source,\n creatives.utm_medium,\n creatives.utm_campaign,\n creatives.utm_content,\n creatives.utm_term,\n sum(report.clicks) as clicks,\n sum(report.impressions) as impressions,\n sum(report.spend) as spend\n\n \n\n\n\n\n from report\n left join ads \n on report.ad_id = ads.ad_id\n left join creatives\n on ads.creative_id = creatives.creative_id\n left join ad_sets\n on ads.ad_set_id = ad_sets.ad_set_id\n left join campaigns\n on ads.campaign_id = campaigns.campaign_id\n left join accounts\n on report.account_id = accounts.account_id \n\n \n where creatives.url is not null\n \n \n group by 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19\n)\n\nselect *\nfrom joined", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads`.`facebook_ads__url_report`"}, "model.facebook_ads.facebook_ads__url_tags": {"compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.facebook_ads.get_url_tags_query"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__creative_history"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_facebook_ads", "fqn": ["facebook_ads", "facebook_ads__url_tags"], "unique_id": "model.facebook_ads.facebook_ads__url_tags", "raw_code": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nwith base as (\n\n select *\n from {{ var('creative_history') }}\n where is_most_recent_record = true\n), \n\nrequired_fields as (\n\n select\n _fivetran_id,\n creative_id,\n url_tags\n from base\n where url_tags is not null\n), \n\n{{ get_url_tags_query() }} \n\nselect *\nfrom fields", "language": "sql", "package_name": "facebook_ads", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "facebook_ads__url_tags.sql", "original_file_path": "models/facebook_ads__url_tags.sql", "name": "facebook_ads__url_tags", "alias": "facebook_ads__url_tags", "checksum": {"name": "sha256", "checksum": "94dcb7faf1441b289fcec62f3e81794a05a34cf10bf2955e8a8f8c18555f8ad2"}, "tags": [], "refs": [["stg_facebook_ads__creative_history"]], "sources": [], "metrics": [], "description": "Each record is a unique combination of creative_id and corresponding key, value, type contained in the url_tags field", "columns": {"_fivetran_id": {"name": "_fivetran_id", "description": "The unique fivetran ID for this record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "creative_id": {"name": "creative_id", "description": "The associated creative_id for this record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "key": {"name": "key", "description": "The url tag object name e.g. utm_source associated with this record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "value": {"name": "value", "description": "The value assigned to the url tag object associated with this record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "type": {"name": "type", "description": "The type assigned to the url tag object e.g. 'AD_VIDEO'.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": "facebook_ads://models/facebook.yml", "compiled_path": "target/compiled/facebook_ads/models/facebook_ads__url_tags.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads", "materialized": "table", "enabled": true}, "created_at": 1671058921.4254742, "compiled_code": "\n\nwith base as (\n\n select *\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__creative_history`\n where is_most_recent_record = true\n), \n\nrequired_fields as (\n\n select\n _fivetran_id,\n creative_id,\n url_tags\n from base\n where url_tags is not null\n), \n\n\n\n cleaned_json as (\n\n select\n _fivetran_id,\n creative_id,\n json_extract_array(replace(trim(url_tags, '\"'),'\\\\','')) as cleaned_url_tags\n from required_fields\n ), \n\n unnested as (\n\n select \n _fivetran_id, \n creative_id, \n url_tag_element\n from cleaned_json\n left join unnest(cleaned_url_tags) as url_tag_element\n where cleaned_url_tags is not null\n ), \n\n fields as (\n\n select\n _fivetran_id,\n creative_id,\n json_extract_scalar(url_tag_element, '$.key') as key,\n json_extract_scalar(url_tag_element, '$.value') as value,\n json_extract_scalar(url_tag_element, '$.type') as type\n from unnested\n )\n\n \n\nselect *\nfrom fields", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads`.`facebook_ads__url_tags`"}, "model.facebook_ads.facebook_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.facebook_ads_source.stg_facebook_ads__basic_ad", "model.facebook_ads_source.stg_facebook_ads__account_history", "model.facebook_ads_source.stg_facebook_ads__campaign_history", "model.facebook_ads_source.stg_facebook_ads__ad_history"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_facebook_ads", "fqn": ["facebook_ads", "facebook_ads__campaign_report"], "unique_id": "model.facebook_ads.facebook_ads__campaign_report", "raw_code": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nwith report as (\n\n select *\n from {{ var('basic_ad') }}\n\n), \n\naccounts as (\n\n select *\n from {{ var('account_history') }}\n where is_most_recent_record = true\n\n),\n\ncampaigns as (\n\n select *\n from {{ var('campaign_history') }}\n where is_most_recent_record = true\n\n),\n\nads as (\n\n select *\n from {{ var('ad_history') }}\n where is_most_recent_record = true\n\n),\n\njoined as (\n\n select \n report.date_day,\n accounts.account_id,\n accounts.account_name,\n campaigns.campaign_id,\n campaigns.campaign_name,\n campaigns.start_at,\n campaigns.end_at,\n campaigns.status,\n campaigns.daily_budget,\n campaigns.lifetime_budget,\n campaigns.budget_remaining,\n sum(report.clicks) as clicks,\n sum(report.impressions) as impressions,\n sum(report.spend) as spend\n\n {{ fivetran_utils.persist_pass_through_columns(pass_through_variable='facebook_ads__basic_ad_passthrough_metrics', transform = 'sum') }}\n from report \n left join accounts\n on report.account_id = accounts.account_id\n left join ads \n on report.ad_id = ads.ad_id\n left join campaigns\n on ads.campaign_id = campaigns.campaign_id\n {{ dbt_utils.group_by(11) }}\n)\n\nselect *\nfrom joined", "language": "sql", "package_name": "facebook_ads", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "facebook_ads__campaign_report.sql", "original_file_path": "models/facebook_ads__campaign_report.sql", "name": "facebook_ads__campaign_report", "alias": "facebook_ads__campaign_report", "checksum": {"name": "sha256", "checksum": "4bec447c9d29e7a26180ce14a68d0a1217d60f0d24bed7c89716b3520c053a75"}, "tags": [], "refs": [["stg_facebook_ads__basic_ad"], ["stg_facebook_ads__account_history"], ["stg_facebook_ads__campaign_history"], ["stg_facebook_ads__ad_history"]], "sources": [], "metrics": [], "description": "Each record represents the daily performance of a Facebook campaign.", "columns": {"date_day": {"name": "date_day", "description": "The date of the performance.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "The ID of the related account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_name": {"name": "account_name", "description": "The name of the related account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_id": {"name": "campaign_id", "description": "The ID of the related campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_name": {"name": "campaign_name", "description": "The name of the related campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clicks": {"name": "clicks", "description": "The number of clicks the ad had on the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "The number of impressions the ad had on the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The spend on the ad in the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": "facebook_ads://models/facebook.yml", "compiled_path": "target/compiled/facebook_ads/models/facebook_ads__campaign_report.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads", "materialized": "table", "enabled": true}, "created_at": 1671058921.423425, "compiled_code": "\n\nwith report as (\n\n select *\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__basic_ad`\n\n), \n\naccounts as (\n\n select *\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__account_history`\n where is_most_recent_record = true\n\n),\n\ncampaigns as (\n\n select *\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__campaign_history`\n where is_most_recent_record = true\n\n),\n\nads as (\n\n select *\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__ad_history`\n where is_most_recent_record = true\n\n),\n\njoined as (\n\n select \n report.date_day,\n accounts.account_id,\n accounts.account_name,\n campaigns.campaign_id,\n campaigns.campaign_name,\n campaigns.start_at,\n campaigns.end_at,\n campaigns.status,\n campaigns.daily_budget,\n campaigns.lifetime_budget,\n campaigns.budget_remaining,\n sum(report.clicks) as clicks,\n sum(report.impressions) as impressions,\n sum(report.spend) as spend\n\n \n\n\n\n\n from report \n left join accounts\n on report.account_id = accounts.account_id\n left join ads \n on report.ad_id = ads.ad_id\n left join campaigns\n on ads.campaign_id = campaigns.campaign_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": "`dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads`.`facebook_ads__campaign_report`"}, "model.facebook_ads.facebook_ads__account_report": {"compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.fivetran_utils.persist_pass_through_columns", "macro.dbt_utils.group_by"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__basic_ad", "model.facebook_ads_source.stg_facebook_ads__account_history"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_facebook_ads", "fqn": ["facebook_ads", "facebook_ads__account_report"], "unique_id": "model.facebook_ads.facebook_ads__account_report", "raw_code": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nwith report as (\n\n select *\n from {{ var('basic_ad') }}\n\n), \n\naccounts as (\n\n select *\n from {{ var('account_history') }}\n where is_most_recent_record = true\n\n),\n\njoined as (\n\n select \n report.date_day,\n accounts.account_id,\n accounts.account_name,\n accounts.account_status,\n accounts.business_country_code,\n accounts.created_at,\n accounts.currency,\n accounts.timezone_name,\n sum(report.clicks) as clicks,\n sum(report.impressions) as impressions,\n sum(report.spend) as spend\n\n {{ fivetran_utils.persist_pass_through_columns(pass_through_variable='facebook_ads__basic_ad_passthrough_metrics', transform = 'sum') }}\n from report \n left join accounts\n on report.account_id = accounts.account_id\n {{ dbt_utils.group_by(8) }}\n)\n\nselect *\nfrom joined", "language": "sql", "package_name": "facebook_ads", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "facebook_ads__account_report.sql", "original_file_path": "models/facebook_ads__account_report.sql", "name": "facebook_ads__account_report", "alias": "facebook_ads__account_report", "checksum": {"name": "sha256", "checksum": "845cdb5118e536d66d515c2e11eee71d380e406ba4f443bae4828ec70362841e"}, "tags": [], "refs": [["stg_facebook_ads__basic_ad"], ["stg_facebook_ads__account_history"]], "sources": [], "metrics": [], "description": "Each record represents the daily performance of a Facebook account.", "columns": {"date_day": {"name": "date_day", "description": "The date of the performance.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "The ID of the related account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_name": {"name": "account_name", "description": "The name of the related account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clicks": {"name": "clicks", "description": "The number of clicks the ad had on the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "The number of impressions the ad had on the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The spend on the ad in the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": "facebook_ads://models/facebook.yml", "compiled_path": "target/compiled/facebook_ads/models/facebook_ads__account_report.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads", "materialized": "table", "enabled": true}, "created_at": 1671058921.424472, "compiled_code": "\n\nwith report as (\n\n select *\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__basic_ad`\n\n), \n\naccounts as (\n\n select *\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__account_history`\n where is_most_recent_record = true\n\n),\n\njoined as (\n\n select \n report.date_day,\n accounts.account_id,\n accounts.account_name,\n accounts.account_status,\n accounts.business_country_code,\n accounts.created_at,\n accounts.currency,\n accounts.timezone_name,\n sum(report.clicks) as clicks,\n sum(report.impressions) as impressions,\n sum(report.spend) as spend\n\n \n\n\n\n\n from report \n left join accounts\n on report.account_id = accounts.account_id\n group by 1,2,3,4,5,6,7,8\n)\n\nselect *\nfrom joined", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads`.`facebook_ads__account_report`"}, "model.facebook_ads.facebook_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.facebook_ads_source.stg_facebook_ads__basic_ad", "model.facebook_ads_source.stg_facebook_ads__account_history", "model.facebook_ads_source.stg_facebook_ads__campaign_history", "model.facebook_ads_source.stg_facebook_ads__ad_set_history", "model.facebook_ads_source.stg_facebook_ads__ad_history"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_facebook_ads", "fqn": ["facebook_ads", "facebook_ads__ad_report"], "unique_id": "model.facebook_ads.facebook_ads__ad_report", "raw_code": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nwith report as (\n\n select *\n from {{ var('basic_ad') }}\n\n), \n\naccounts as (\n\n select *\n from {{ var('account_history') }}\n where is_most_recent_record = true\n\n),\n\ncampaigns as (\n\n select *\n from {{ var('campaign_history') }}\n where is_most_recent_record = true\n\n),\n\nad_sets as (\n\n select *\n from {{ var('ad_set_history') }}\n where is_most_recent_record = true\n\n),\n\nads as (\n\n select *\n from {{ var('ad_history') }}\n where is_most_recent_record = true\n\n),\n\njoined as (\n\n select \n report.date_day,\n accounts.account_id,\n accounts.account_name,\n campaigns.campaign_id,\n campaigns.campaign_name,\n ad_sets.ad_set_id,\n ad_sets.ad_set_name,\n ads.ad_id,\n ads.ad_name,\n sum(report.clicks) as clicks,\n sum(report.impressions) as impressions,\n sum(report.spend) as spend\n\n {{ fivetran_utils.persist_pass_through_columns(pass_through_variable='facebook_ads__basic_ad_passthrough_metrics', transform = 'sum') }}\n from report \n left join accounts\n on report.account_id = accounts.account_id\n left join ads \n on report.ad_id = ads.ad_id\n left join campaigns\n on ads.campaign_id = campaigns.campaign_id\n left join ad_sets\n on ads.ad_set_id = ad_sets.ad_set_id\n {{ dbt_utils.group_by(9) }}\n)\n\nselect *\nfrom joined", "language": "sql", "package_name": "facebook_ads", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "facebook_ads__ad_report.sql", "original_file_path": "models/facebook_ads__ad_report.sql", "name": "facebook_ads__ad_report", "alias": "facebook_ads__ad_report", "checksum": {"name": "sha256", "checksum": "36088a9abc521347aacc7d9bf0f56fd712441e94a2bc66ef334f85ff8f4761ea"}, "tags": [], "refs": [["stg_facebook_ads__basic_ad"], ["stg_facebook_ads__account_history"], ["stg_facebook_ads__campaign_history"], ["stg_facebook_ads__ad_set_history"], ["stg_facebook_ads__ad_history"]], "sources": [], "metrics": [], "description": "Each record represents the daily performance of a Facebook ad.", "columns": {"date_day": {"name": "date_day", "description": "The date of the performance.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "The ID of the related account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_name": {"name": "account_name", "description": "The name of the related account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_id": {"name": "campaign_id", "description": "The ID of the related campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_name": {"name": "campaign_name", "description": "The name of the related campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_set_id": {"name": "ad_set_id", "description": "The ID of the related ad set.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_set_name": {"name": "ad_set_name", "description": "The name of the related ad set.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_id": {"name": "ad_id", "description": "The ID of the related ad.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_name": {"name": "ad_name", "description": "The name of the related ad.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clicks": {"name": "clicks", "description": "The number of clicks the ad had on the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "The number of impressions the ad had on the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The spend on the ad in the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": "facebook_ads://models/facebook.yml", "compiled_path": "target/compiled/facebook_ads/models/facebook_ads__ad_report.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads", "materialized": "table", "enabled": true}, "created_at": 1671058921.42007, "compiled_code": "\n\nwith report as (\n\n select *\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__basic_ad`\n\n), \n\naccounts as (\n\n select *\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__account_history`\n where is_most_recent_record = true\n\n),\n\ncampaigns as (\n\n select *\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__campaign_history`\n where is_most_recent_record = true\n\n),\n\nad_sets as (\n\n select *\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__ad_set_history`\n where is_most_recent_record = true\n\n),\n\nads as (\n\n select *\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__ad_history`\n where is_most_recent_record = true\n\n),\n\njoined as (\n\n select \n report.date_day,\n accounts.account_id,\n accounts.account_name,\n campaigns.campaign_id,\n campaigns.campaign_name,\n ad_sets.ad_set_id,\n ad_sets.ad_set_name,\n ads.ad_id,\n ads.ad_name,\n sum(report.clicks) as clicks,\n sum(report.impressions) as impressions,\n sum(report.spend) as spend\n\n \n\n\n\n\n from report \n left join accounts\n on report.account_id = accounts.account_id\n left join ads \n on report.ad_id = ads.ad_id\n left join campaigns\n on ads.campaign_id = campaigns.campaign_id\n left join ad_sets\n on ads.ad_set_id = ad_sets.ad_set_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": "`dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads`.`facebook_ads__ad_report`"}, "model.facebook_ads.facebook_ads__ad_set_report": {"compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.fivetran_utils.persist_pass_through_columns", "macro.dbt_utils.group_by"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__basic_ad", "model.facebook_ads_source.stg_facebook_ads__account_history", "model.facebook_ads_source.stg_facebook_ads__campaign_history", "model.facebook_ads_source.stg_facebook_ads__ad_set_history", "model.facebook_ads_source.stg_facebook_ads__ad_history"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_facebook_ads", "fqn": ["facebook_ads", "facebook_ads__ad_set_report"], "unique_id": "model.facebook_ads.facebook_ads__ad_set_report", "raw_code": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nwith report as (\n\n select *\n from {{ var('basic_ad') }}\n\n), \n\naccounts as (\n\n select *\n from {{ var('account_history') }}\n where is_most_recent_record = true\n\n),\n\ncampaigns as (\n\n select *\n from {{ var('campaign_history') }}\n where is_most_recent_record = true\n\n),\n\nad_sets as (\n\n select *\n from {{ var('ad_set_history') }}\n where is_most_recent_record = true\n\n),\n\nads as (\n\n select *\n from {{ var('ad_history') }}\n where is_most_recent_record = true\n\n),\n\njoined as (\n\n select \n report.date_day,\n accounts.account_id,\n accounts.account_name,\n campaigns.campaign_id,\n campaigns.campaign_name,\n ad_sets.ad_set_id,\n ad_sets.ad_set_name,\n ad_sets.start_at,\n ad_sets.end_at,\n ad_sets.bid_strategy,\n ad_sets.daily_budget,\n ad_sets.budget_remaining,\n sum(report.clicks) as clicks,\n sum(report.impressions) as impressions,\n sum(report.spend) as spend\n\n {{ fivetran_utils.persist_pass_through_columns(pass_through_variable='facebook_ads__basic_ad_passthrough_metrics', transform = 'sum') }}\n from report \n left join accounts\n on report.account_id = accounts.account_id\n left join ads \n on report.ad_id = ads.ad_id\n left join campaigns\n on ads.campaign_id = campaigns.campaign_id\n left join ad_sets\n on ads.ad_set_id = ad_sets.ad_set_id\n {{ dbt_utils.group_by(12) }}\n)\n\nselect *\nfrom joined", "language": "sql", "package_name": "facebook_ads", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "facebook_ads__ad_set_report.sql", "original_file_path": "models/facebook_ads__ad_set_report.sql", "name": "facebook_ads__ad_set_report", "alias": "facebook_ads__ad_set_report", "checksum": {"name": "sha256", "checksum": "d1b0e28fe240e405fe8f746c38d4fad26a8d43e10dcd6f375617b78095f87e01"}, "tags": [], "refs": [["stg_facebook_ads__basic_ad"], ["stg_facebook_ads__account_history"], ["stg_facebook_ads__campaign_history"], ["stg_facebook_ads__ad_set_history"], ["stg_facebook_ads__ad_history"]], "sources": [], "metrics": [], "description": "Each record represents the daily performance of a Facebook ad set.", "columns": {"date_day": {"name": "date_day", "description": "The date of the performance.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "The ID of the related account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_name": {"name": "account_name", "description": "The name of the related account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_id": {"name": "campaign_id", "description": "The ID of the related campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_name": {"name": "campaign_name", "description": "The name of the related campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_set_id": {"name": "ad_set_id", "description": "The ID of the related ad set.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_set_name": {"name": "ad_set_name", "description": "The name of the related ad set.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clicks": {"name": "clicks", "description": "The number of clicks the ad had on the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "The number of impressions the ad had on the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The spend on the ad in the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": "facebook_ads://models/facebook.yml", "compiled_path": "target/compiled/facebook_ads/models/facebook_ads__ad_set_report.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads", "materialized": "table", "enabled": true}, "created_at": 1671058921.4216268, "compiled_code": "\n\nwith report as (\n\n select *\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__basic_ad`\n\n), \n\naccounts as (\n\n select *\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__account_history`\n where is_most_recent_record = true\n\n),\n\ncampaigns as (\n\n select *\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__campaign_history`\n where is_most_recent_record = true\n\n),\n\nad_sets as (\n\n select *\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__ad_set_history`\n where is_most_recent_record = true\n\n),\n\nads as (\n\n select *\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__ad_history`\n where is_most_recent_record = true\n\n),\n\njoined as (\n\n select \n report.date_day,\n accounts.account_id,\n accounts.account_name,\n campaigns.campaign_id,\n campaigns.campaign_name,\n ad_sets.ad_set_id,\n ad_sets.ad_set_name,\n ad_sets.start_at,\n ad_sets.end_at,\n ad_sets.bid_strategy,\n ad_sets.daily_budget,\n ad_sets.budget_remaining,\n sum(report.clicks) as clicks,\n sum(report.impressions) as impressions,\n sum(report.spend) as spend\n\n \n\n\n\n\n from report \n left join accounts\n on report.account_id = accounts.account_id\n left join ads \n on report.ad_id = ads.ad_id\n left join campaigns\n on ads.campaign_id = campaigns.campaign_id\n left join ad_sets\n on ads.ad_set_id = ad_sets.ad_set_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": "`dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads`.`facebook_ads__ad_set_report`"}, "model.facebook_ads.int_facebook_ads__creative_history": {"compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.dbt.split_part", "macro.dbt_utils.get_url_host", "macro.dbt_utils.get_url_path", "macro.dbt_utils.get_url_parameter"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__creative_history", "model.facebook_ads.facebook_ads__url_tags"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_ads", "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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_facebook_ads", "fqn": ["facebook_ads", "intermediate", "int_facebook_ads__creative_history"], "unique_id": "model.facebook_ads.int_facebook_ads__creative_history", "raw_code": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\n{% set url_field = \"coalesce(page_link,template_page_link)\" %}\n\nwith base as (\n\n select *\n from {{ var('creative_history') }}\n where is_most_recent_record = true\n\n), \n\nurl_tags as (\n\n select *\n from {{ ref('facebook_ads__url_tags') }}\n), \n\nurl_tags_pivoted as (\n\n select \n _fivetran_id,\n creative_id,\n min(case when key = 'utm_source' then value end) as utm_source,\n min(case when key = 'utm_medium' then value end) as utm_medium,\n min(case when key = 'utm_campaign' then value end) as utm_campaign,\n min(case when key = 'utm_content' then value end) as utm_content,\n min(case when key = 'utm_term' then value end) as utm_term\n from url_tags\n group by 1,2\n\n), \n\nfields as (\n\n select\n base._fivetran_id,\n base.creative_id,\n base.account_id,\n base.creative_name,\n {{ url_field }} as url,\n {{ dbt.split_part(url_field, \"'?'\", 1) }} as base_url,\n {{ dbt_utils.get_url_host(url_field) }} as url_host,\n '/' || {{ dbt_utils.get_url_path(url_field) }} as url_path,\n coalesce(url_tags_pivoted.utm_source, {{ dbt_utils.get_url_parameter(url_field, 'utm_source') }}) as utm_source,\n coalesce(url_tags_pivoted.utm_medium, {{ dbt_utils.get_url_parameter(url_field, 'utm_medium') }}) as utm_medium,\n coalesce(url_tags_pivoted.utm_campaign, {{ dbt_utils.get_url_parameter(url_field, 'utm_campaign') }}) as utm_campaign,\n coalesce(url_tags_pivoted.utm_content, {{ dbt_utils.get_url_parameter(url_field, 'utm_content') }}) as utm_content,\n coalesce(url_tags_pivoted.utm_term, {{ dbt_utils.get_url_parameter(url_field, 'utm_term') }}) as utm_term\n from base\n left join url_tags_pivoted\n on base._fivetran_id = url_tags_pivoted._fivetran_id\n and base.creative_id = url_tags_pivoted.creative_id\n)\n\nselect *\nfrom fields", "language": "sql", "package_name": "facebook_ads", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "intermediate/int_facebook_ads__creative_history.sql", "original_file_path": "models/intermediate/int_facebook_ads__creative_history.sql", "name": "int_facebook_ads__creative_history", "alias": "int_facebook_ads__creative_history", "checksum": {"name": "sha256", "checksum": "58070e7fbe67471ca464a7f8fdb011e4e8582d1651e7b42b966218bdaf1b4235"}, "tags": [], "refs": [["stg_facebook_ads__creative_history"], ["facebook_ads__url_tags"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads/models/intermediate/int_facebook_ads__creative_history.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads", "materialized": "view", "enabled": true}, "created_at": 1671058921.2559428, "compiled_code": "\n\n\n\nwith base as (\n\n select *\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__creative_history`\n where is_most_recent_record = true\n\n), \n\nurl_tags as (\n\n select *\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads`.`facebook_ads__url_tags`\n), \n\nurl_tags_pivoted as (\n\n select \n _fivetran_id,\n creative_id,\n min(case when key = 'utm_source' then value end) as utm_source,\n min(case when key = 'utm_medium' then value end) as utm_medium,\n min(case when key = 'utm_campaign' then value end) as utm_campaign,\n min(case when key = 'utm_content' then value end) as utm_content,\n min(case when key = 'utm_term' then value end) as utm_term\n from url_tags\n group by 1,2\n\n), \n\nfields as (\n\n select\n base._fivetran_id,\n base.creative_id,\n base.account_id,\n base.creative_name,\n coalesce(page_link,template_page_link) as url,\n \n\n \n split(\n coalesce(page_link,template_page_link),\n '?'\n )[safe_offset(0)]\n \n\n as base_url,\n \n safe_cast(\n\n \n split(\n \n\n \n split(\n \n\n replace(\n \n\n replace(\n \n\n replace(\n coalesce(page_link,template_page_link),\n 'android-app://',\n ''\n )\n\n\n,\n 'http://',\n ''\n )\n\n\n,\n 'https://',\n ''\n )\n\n\n,\n '/'\n )[safe_offset(0)]\n \n\n,\n '?'\n )[safe_offset(0)]\n \n\n as STRING)\n as url_host,\n '/' || \n safe_cast(\n\n \n split(\n \n\n case when \n\n length(\n \n\n replace(\n \n\n replace(\n coalesce(page_link,template_page_link),\n 'http://',\n ''\n )\n\n\n,\n 'https://',\n ''\n )\n\n\n\n )-coalesce(\n nullif(\n\n strpos(\n \n\n replace(\n \n\n replace(\n coalesce(page_link,template_page_link),\n 'http://',\n ''\n )\n\n\n,\n 'https://',\n ''\n )\n\n\n,\n '/'\n\n ), 0),\n \n\n strpos(\n \n\n replace(\n \n\n replace(\n coalesce(page_link,template_page_link),\n 'http://',\n ''\n )\n\n\n,\n 'https://',\n ''\n )\n\n\n,\n '?'\n\n ) - 1\n ) = 0\n then ''\n else\n substr(\n \n\n replace(\n \n\n replace(\n coalesce(page_link,template_page_link),\n 'http://',\n ''\n )\n\n\n,\n 'https://',\n ''\n )\n\n\n,\n -1 * (\n\n length(\n \n\n replace(\n \n\n replace(\n coalesce(page_link,template_page_link),\n 'http://',\n ''\n )\n\n\n,\n 'https://',\n ''\n )\n\n\n\n )-coalesce(\n nullif(\n\n strpos(\n \n\n replace(\n \n\n replace(\n coalesce(page_link,template_page_link),\n 'http://',\n ''\n )\n\n\n,\n 'https://',\n ''\n )\n\n\n,\n '/'\n\n ), 0),\n \n\n strpos(\n \n\n replace(\n \n\n replace(\n coalesce(page_link,template_page_link),\n 'http://',\n ''\n )\n\n\n,\n 'https://',\n ''\n )\n\n\n,\n '?'\n\n ) - 1\n ))\n )\n end,\n '?'\n )[safe_offset(0)]\n \n\n as STRING)\n as url_path,\n coalesce(url_tags_pivoted.utm_source, nullif(\n\n \n split(\n \n\n \n split(\n coalesce(page_link,template_page_link),\n 'utm_source='\n )[safe_offset(1)]\n \n\n,\n '&'\n )[safe_offset(0)]\n \n\n,'')) as utm_source,\n coalesce(url_tags_pivoted.utm_medium, nullif(\n\n \n split(\n \n\n \n split(\n coalesce(page_link,template_page_link),\n 'utm_medium='\n )[safe_offset(1)]\n \n\n,\n '&'\n )[safe_offset(0)]\n \n\n,'')) as utm_medium,\n coalesce(url_tags_pivoted.utm_campaign, nullif(\n\n \n split(\n \n\n \n split(\n coalesce(page_link,template_page_link),\n 'utm_campaign='\n )[safe_offset(1)]\n \n\n,\n '&'\n )[safe_offset(0)]\n \n\n,'')) as utm_campaign,\n coalesce(url_tags_pivoted.utm_content, nullif(\n\n \n split(\n \n\n \n split(\n coalesce(page_link,template_page_link),\n 'utm_content='\n )[safe_offset(1)]\n \n\n,\n '&'\n )[safe_offset(0)]\n \n\n,'')) as utm_content,\n coalesce(url_tags_pivoted.utm_term, nullif(\n\n \n split(\n \n\n \n split(\n coalesce(page_link,template_page_link),\n 'utm_term='\n )[safe_offset(1)]\n \n\n,\n '&'\n )[safe_offset(0)]\n \n\n,'')) as utm_term\n from base\n left join url_tags_pivoted\n on base._fivetran_id = url_tags_pivoted._fivetran_id\n and base.creative_id = url_tags_pivoted.creative_id\n)\n\nselect *\nfrom fields", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads`.`int_facebook_ads__creative_history`"}, "model.facebook_ads_source.stg_facebook_ads__basic_ad": {"compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.facebook_ads_source.get_basic_ad_columns", "macro.fivetran_utils.fill_staging_columns", "macro.dbt.type_bigint", "macro.fivetran_utils.fill_pass_through_columns"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__basic_ad_tmp", "model.facebook_ads_source.stg_facebook_ads__basic_ad_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_facebook_ads_source", "fqn": ["facebook_ads_source", "stg_facebook_ads__basic_ad"], "unique_id": "model.facebook_ads_source.stg_facebook_ads__basic_ad", "raw_code": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_facebook_ads__basic_ad_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_facebook_ads__basic_ad_tmp')),\n staging_columns=get_basic_ad_columns()\n )\n }}\n \n from base\n),\n\nfinal as (\n \n select \n cast(ad_id as {{ dbt.type_bigint() }}) as ad_id,\n ad_name,\n adset_name as ad_set_name,\n date as date_day,\n cast(account_id as {{ dbt.type_bigint() }}) as account_id,\n impressions,\n coalesce(inline_link_clicks,0) as clicks,\n spend,\n reach,\n frequency\n\n {{ fivetran_utils.fill_pass_through_columns('facebook_ads__basic_ad_passthrough_metrics') }}\n from fields\n)\n\nselect * \nfrom final", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "stg_facebook_ads__basic_ad.sql", "original_file_path": "models/stg_facebook_ads__basic_ad.sql", "name": "stg_facebook_ads__basic_ad", "alias": "stg_facebook_ads__basic_ad", "checksum": {"name": "sha256", "checksum": "2034249ba6885eae9434fc88a91b108e34b667b7e29c83711b29498b85da644a"}, "tags": [], "refs": [["stg_facebook_ads__basic_ad_tmp"], ["stg_facebook_ads__basic_ad_tmp"]], "sources": [], "metrics": [], "description": "Each record represents the daily performance of an ad in Facebook.", "columns": {"ad_id": {"name": "ad_id", "description": "The ID of the ad the report relates to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_name": {"name": "ad_name", "description": "Name of the ad the report relates to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_set_name": {"name": "ad_set_name", "description": "Name of the ad set the report relates to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "date_day": {"name": "date_day", "description": "The date of the reported performance.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "The ID of the ad account that this ad belongs to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "The number of impressions the ad had on the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clicks": {"name": "clicks", "description": "The number of clicks the ad had on the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The spend on the ad in the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "reach": {"name": "reach", "description": "The number of people who saw any content from your Page or about your Page. This metric is estimated.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "frequency": {"name": "frequency", "description": "The average number of times each person saw your ad; it is calculated as impressions divided by reach.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": "facebook_ads_source://models/stg_facebook_ads.yml", "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads__basic_ad.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads_source", "materialized": "table", "enabled": true}, "created_at": 1671058921.473272, "compiled_code": "\n\nwith base as (\n\n select * \n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__basic_ad_tmp`\n),\n\nfields as (\n\n select\n \n \n \n ad_id\n \n as \n \n ad_id\n \n, \n cast(null as STRING) as \n \n ad_name\n \n , \n cast(null as STRING) as \n \n adset_name\n \n , \n \n \n date\n \n as \n \n date\n \n, \n \n \n account_id\n \n as \n \n account_id\n \n, \n \n \n impressions\n \n as \n \n impressions\n \n, \n \n \n inline_link_clicks\n \n as \n \n inline_link_clicks\n \n, \n \n \n spend\n \n as \n \n spend\n \n, \n cast(null as INT64) as \n \n reach\n \n , \n cast(null as FLOAT64) as \n \n frequency\n \n \n\n\n \n from base\n),\n\nfinal as (\n \n select \n cast(ad_id as bigint) as ad_id,\n ad_name,\n adset_name as ad_set_name,\n date as date_day,\n cast(account_id as bigint) as account_id,\n impressions,\n coalesce(inline_link_clicks,0) as clicks,\n spend,\n reach,\n frequency\n\n \n\n\n\n\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__basic_ad`"}, "model.facebook_ads_source.stg_facebook_ads__creative_history": {"compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.facebook_ads_source.get_creative_history_columns", "macro.fivetran_utils.fill_staging_columns", "macro.dbt.type_bigint"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__creative_history_tmp", "model.facebook_ads_source.stg_facebook_ads__creative_history_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_facebook_ads_source", "fqn": ["facebook_ads_source", "stg_facebook_ads__creative_history"], "unique_id": "model.facebook_ads_source.stg_facebook_ads__creative_history", "raw_code": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_facebook_ads__creative_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_facebook_ads__creative_history_tmp')),\n staging_columns=get_creative_history_columns()\n )\n }}\n \n from base\n),\n\nfinal as (\n \n select \n _fivetran_id,\n _fivetran_synced,\n cast(id as {{ dbt.type_bigint() }}) as creative_id,\n cast(account_id as {{ dbt.type_bigint() }}) as account_id,\n name as creative_name,\n page_link,\n template_page_link,\n url_tags,\n asset_feed_spec_link_urls,\n object_story_link_data_child_attachments,\n object_story_link_data_caption, \n object_story_link_data_description, \n object_story_link_data_link, \n object_story_link_data_message,\n template_app_link_spec_ios,\n template_app_link_spec_ipad,\n template_app_link_spec_android,\n template_app_link_spec_iphone,\n row_number() over (partition by id order by _fivetran_synced desc) = 1 as is_most_recent_record\n from fields\n)\n\nselect * \nfrom final", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "stg_facebook_ads__creative_history.sql", "original_file_path": "models/stg_facebook_ads__creative_history.sql", "name": "stg_facebook_ads__creative_history", "alias": "stg_facebook_ads__creative_history", "checksum": {"name": "sha256", "checksum": "b881fe7a6d7f0ec06355c9073495a4e1f89529eceffc1771ca48044e6f401309"}, "tags": [], "refs": [["stg_facebook_ads__creative_history_tmp"], ["stg_facebook_ads__creative_history_tmp"]], "sources": [], "metrics": [], "description": "Each record in this table reflects a Facebook creative.", "columns": {"_fivetran_id": {"name": "_fivetran_id", "description": "Unique record identifier", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "When the record was last synced by Fivetran.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "creative_id": {"name": "creative_id", "description": "Unique ID for an ad creative.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "Ad account ID for the account this ad creative belongs to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "creative_name": {"name": "creative_name", "description": "Name of this ad creative as seen in the ad account's library.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "url_tags": {"name": "url_tags", "description": "A set of query string parameters which will replace or be appended to urls clicked from page post ads, message of the post, and canvas app install creatives only.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_most_recent_record": {"name": "is_most_recent_record", "description": "Indicates whether a record is the most recent version of that record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "page_link": {"name": "page_link", "description": "Link for the page.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "template_page_link": {"name": "template_page_link", "description": "URL destination of Facebook dynamic ads.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "asset_feed_spec_link_urls": {"name": "asset_feed_spec_link_urls", "description": "Link to the asset feed spec", "meta": {}, "data_type": null, "quote": null, "tags": []}, "object_story_link_data_child_attachments": {"name": "object_story_link_data_child_attachments", "description": "Link of the object story child attachments", "meta": {}, "data_type": null, "quote": null, "tags": []}, "object_story_link_data_caption": {"name": "object_story_link_data_caption", "description": "Link of the object story caption", "meta": {}, "data_type": null, "quote": null, "tags": []}, "object_story_link_data_description": {"name": "object_story_link_data_description", "description": "Link of the object story description", "meta": {}, "data_type": null, "quote": null, "tags": []}, "object_story_link_data_link": {"name": "object_story_link_data_link", "description": "Link of the object story link", "meta": {}, "data_type": null, "quote": null, "tags": []}, "object_story_link_data_message": {"name": "object_story_link_data_message", "description": "Link of the object story message", "meta": {}, "data_type": null, "quote": null, "tags": []}, "template_app_link_spec_ios": {"name": "template_app_link_spec_ios", "description": "Link of the object story spec for ios", "meta": {}, "data_type": null, "quote": null, "tags": []}, "template_app_link_spec_ipad": {"name": "template_app_link_spec_ipad", "description": "Link of the template app spec for ipad", "meta": {}, "data_type": null, "quote": null, "tags": []}, "template_app_link_spec_android": {"name": "template_app_link_spec_android", "description": "Link of the template app for android", "meta": {}, "data_type": null, "quote": null, "tags": []}, "template_app_link_spec_iphone": {"name": "template_app_link_spec_iphone", "description": "Link of the template app for iphone", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": "facebook_ads_source://models/stg_facebook_ads.yml", "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads__creative_history.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads_source", "materialized": "table", "enabled": true}, "created_at": 1671058921.471689, "compiled_code": "\n\nwith base as (\n\n select * \n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__creative_history_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 _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n account_id\n \n as \n \n account_id\n \n, \n \n \n name\n \n as \n \n name\n \n, \n \n \n page_link\n \n as \n \n page_link\n \n, \n \n \n template_page_link\n \n as \n \n template_page_link\n \n, \n \n \n url_tags\n \n as \n \n url_tags\n \n, \n \n \n asset_feed_spec_link_urls\n \n as \n \n asset_feed_spec_link_urls\n \n, \n \n \n object_story_link_data_child_attachments\n \n as \n \n object_story_link_data_child_attachments\n \n, \n \n \n object_story_link_data_caption\n \n as \n \n object_story_link_data_caption\n \n, \n \n \n object_story_link_data_description\n \n as \n \n object_story_link_data_description\n \n, \n \n \n object_story_link_data_link\n \n as \n \n object_story_link_data_link\n \n, \n \n \n object_story_link_data_message\n \n as \n \n object_story_link_data_message\n \n, \n cast(null as STRING) as \n \n template_app_link_spec_android\n \n , \n \n \n template_app_link_spec_ios\n \n as \n \n template_app_link_spec_ios\n \n, \n cast(null as STRING) as \n \n template_app_link_spec_ipad\n \n , \n cast(null as STRING) as \n \n template_app_link_spec_iphone\n \n \n\n\n \n from base\n),\n\nfinal as (\n \n select \n _fivetran_id,\n _fivetran_synced,\n cast(id as bigint) as creative_id,\n cast(account_id as bigint) as account_id,\n name as creative_name,\n page_link,\n template_page_link,\n url_tags,\n asset_feed_spec_link_urls,\n object_story_link_data_child_attachments,\n object_story_link_data_caption, \n object_story_link_data_description, \n object_story_link_data_link, \n object_story_link_data_message,\n template_app_link_spec_ios,\n template_app_link_spec_ipad,\n template_app_link_spec_android,\n template_app_link_spec_iphone,\n row_number() over (partition by id order by _fivetran_synced desc) = 1 as is_most_recent_record\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__creative_history`"}, "model.facebook_ads_source.stg_facebook_ads__campaign_history": {"compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.facebook_ads_source.get_campaign_history_columns", "macro.fivetran_utils.fill_staging_columns", "macro.dbt.type_bigint"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__campaign_history_tmp", "model.facebook_ads_source.stg_facebook_ads__campaign_history_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_facebook_ads_source", "fqn": ["facebook_ads_source", "stg_facebook_ads__campaign_history"], "unique_id": "model.facebook_ads_source.stg_facebook_ads__campaign_history", "raw_code": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_facebook_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_facebook_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 updated_time as updated_at,\n created_time as created_at,\n cast(account_id as {{ dbt.type_bigint() }}) as account_id,\n cast(id as {{ dbt.type_bigint() }}) as campaign_id,\n name as campaign_name,\n start_time as start_at,\n stop_time as end_at,\n status,\n daily_budget,\n lifetime_budget,\n budget_remaining,\n row_number() over (partition by id order by updated_time desc) = 1 as is_most_recent_record\n from fields\n\n)\n\nselect * \nfrom final", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "stg_facebook_ads__campaign_history.sql", "original_file_path": "models/stg_facebook_ads__campaign_history.sql", "name": "stg_facebook_ads__campaign_history", "alias": "stg_facebook_ads__campaign_history", "checksum": {"name": "sha256", "checksum": "d536771ac164bc64d15f6a8f03f6c06626d76f344c02de8d04bf97b978ed60d7"}, "tags": [], "refs": [["stg_facebook_ads__campaign_history_tmp"], ["stg_facebook_ads__campaign_history_tmp"]], "sources": [], "metrics": [], "description": "Each record in this table reflects a Facebook campaign.", "columns": {"campaign_id": {"name": "campaign_id", "description": "The ID of the campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "The ID of the ad account that this campaign belongs to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_name": {"name": "campaign_name", "description": "The name of the campaign.", "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. All records should have this value set to True given we filter on it.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "updated_at": {"name": "updated_at", "description": "The timestamp of the last update of a record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "The time the campaign was created.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "start_at": {"name": "start_at", "description": "Timestamp of designated campaign start time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "end_at": {"name": "end_at", "description": "Timestamp of designated campaign end time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "daily_budget": {"name": "daily_budget", "description": "Daily budget of campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "budget_remaining": {"name": "budget_remaining", "description": "Remaining budget of campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "lifetime_budget": {"name": "lifetime_budget", "description": "Lifetime budget of the campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status": {"name": "status", "description": "Status values are - 'ACTIVE', 'PAUSED', 'DELETED', 'ARCHIVED'.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": "facebook_ads_source://models/stg_facebook_ads.yml", "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads__campaign_history.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads_source", "materialized": "table", "enabled": true}, "created_at": 1671058921.4686568, "compiled_code": "\n\nwith base as (\n\n select * \n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__campaign_history_tmp`\n),\n\nfields as (\n\n select\n \n \n \n updated_time\n \n as \n \n updated_time\n \n, \n cast(null as TIMESTAMP) as \n \n created_time\n \n , \n \n \n account_id\n \n as \n \n account_id\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 cast(null as TIMESTAMP) as \n \n start_time\n \n , \n cast(null as TIMESTAMP) as \n \n stop_time\n \n , \n cast(null as STRING) as \n \n status\n \n , \n cast(null as INT64) as \n \n daily_budget\n \n , \n cast(null as INT64) as \n \n lifetime_budget\n \n , \n cast(null as FLOAT64) as \n \n budget_remaining\n \n \n\n\n \n from base\n),\n\nfinal as (\n \n select \n updated_time as updated_at,\n created_time as created_at,\n cast(account_id as bigint) as account_id,\n cast(id as bigint) as campaign_id,\n name as campaign_name,\n start_time as start_at,\n stop_time as end_at,\n status,\n daily_budget,\n lifetime_budget,\n budget_remaining,\n row_number() over (partition by id order by updated_time desc) = 1 as is_most_recent_record\n from fields\n\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__campaign_history`"}, "model.facebook_ads_source.stg_facebook_ads__account_history": {"compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.facebook_ads_source.get_account_history_columns", "macro.fivetran_utils.fill_staging_columns", "macro.dbt.type_bigint"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__account_history_tmp", "model.facebook_ads_source.stg_facebook_ads__account_history_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_facebook_ads_source", "fqn": ["facebook_ads_source", "stg_facebook_ads__account_history"], "unique_id": "model.facebook_ads_source.stg_facebook_ads__account_history", "raw_code": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_facebook_ads__account_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_facebook_ads__account_history_tmp')),\n staging_columns=get_account_history_columns()\n )\n }}\n \n from base\n),\n\nfinal as (\n \n select \n cast(id as {{ dbt.type_bigint() }}) as account_id,\n _fivetran_synced,\n name as account_name,\n account_status,\n business_country_code,\n created_time as created_at,\n currency,\n timezone_name,\n row_number() over (partition by id order by _fivetran_synced desc) = 1 as is_most_recent_record\n from fields\n\n)\n\nselect * \nfrom final", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "stg_facebook_ads__account_history.sql", "original_file_path": "models/stg_facebook_ads__account_history.sql", "name": "stg_facebook_ads__account_history", "alias": "stg_facebook_ads__account_history", "checksum": {"name": "sha256", "checksum": "db38aeeedb4c0b457605036f2452543a77d1e65f0d7d13287fac1b705c1d1407"}, "tags": [], "refs": [["stg_facebook_ads__account_history_tmp"], ["stg_facebook_ads__account_history_tmp"]], "sources": [], "metrics": [], "description": "Each record in this table reflects a Facebook ad account.", "columns": {"account_id": {"name": "account_id", "description": "The ID of the ad account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_name": {"name": "account_name", "description": "Name of the account.", "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. All records should have this value set to True given we filter on it.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "When the record was last synced by Fivetran.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_status": {"name": "account_status", "description": "Current status of account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "business_country_code": {"name": "business_country_code", "description": "Country code of business associated to account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "The time account was created.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "currency": {"name": "currency", "description": "Currency associated with account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "timezone_name": {"name": "timezone_name", "description": "Timezone associated with account.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": "facebook_ads_source://models/stg_facebook_ads.yml", "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads__account_history.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads_source", "materialized": "table", "enabled": true}, "created_at": 1671058921.4634721, "compiled_code": "\n\nwith base as (\n\n select * \n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__account_history_tmp`\n),\n\nfields as (\n\n select\n \n \n \n id\n \n as \n \n id\n \n, \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n name\n \n as \n \n name\n \n, \n cast(null as STRING) as \n \n account_status\n \n , \n cast(null as STRING) as \n \n business_country_code\n \n , \n cast(null as TIMESTAMP) as \n \n created_time\n \n , \n cast(null as STRING) as \n \n currency\n \n , \n cast(null as STRING) as \n \n timezone_name\n \n \n\n\n \n from base\n),\n\nfinal as (\n \n select \n cast(id as bigint) as account_id,\n _fivetran_synced,\n name as account_name,\n account_status,\n business_country_code,\n created_time as created_at,\n currency,\n timezone_name,\n row_number() over (partition by id order by _fivetran_synced desc) = 1 as is_most_recent_record\n from fields\n\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__account_history`"}, "model.facebook_ads_source.stg_facebook_ads__ad_history": {"compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.facebook_ads_source.get_ad_history_columns", "macro.fivetran_utils.fill_staging_columns", "macro.dbt.type_bigint"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__ad_history_tmp", "model.facebook_ads_source.stg_facebook_ads__ad_history_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_facebook_ads_source", "fqn": ["facebook_ads_source", "stg_facebook_ads__ad_history"], "unique_id": "model.facebook_ads_source.stg_facebook_ads__ad_history", "raw_code": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_facebook_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_facebook_ads__ad_history_tmp')),\n staging_columns=get_ad_history_columns()\n )\n }}\n \n from base\n),\n\nfinal as (\n \n select \n updated_time as updated_at,\n cast(id as {{ dbt.type_bigint() }}) as ad_id,\n name as ad_name,\n cast(account_id as {{ dbt.type_bigint() }}) as account_id,\n cast(ad_set_id as {{ dbt.type_bigint() }}) as ad_set_id, \n cast(campaign_id as {{ dbt.type_bigint() }}) as campaign_id,\n cast(creative_id as {{ dbt.type_bigint() }}) as creative_id,\n row_number() over (partition by id order by updated_time desc) = 1 as is_most_recent_record\n from fields\n)\n\nselect * \nfrom final", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "stg_facebook_ads__ad_history.sql", "original_file_path": "models/stg_facebook_ads__ad_history.sql", "name": "stg_facebook_ads__ad_history", "alias": "stg_facebook_ads__ad_history", "checksum": {"name": "sha256", "checksum": "19719ef45773ae189aeec4da0c5467b45bc6a253bbaf2a13ee271d63723e64da"}, "tags": [], "refs": [["stg_facebook_ads__ad_history_tmp"], ["stg_facebook_ads__ad_history_tmp"]], "sources": [], "metrics": [], "description": "Each record in this table reflects a Facebook ad.", "columns": {"ad_id": {"name": "ad_id", "description": "The ID of this ad.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "The ID of the ad account that this ad belongs to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_set_id": {"name": "ad_set_id", "description": "ID of the ad set that contains the ad.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_id": {"name": "campaign_id", "description": "Ad campaign that contains this ad.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "creative_id": {"name": "creative_id", "description": "The ID of the ad creative to be used by this ad.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_name": {"name": "ad_name", "description": "Name of the ad.", "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. All records should have this value set to True given we filter on it.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "updated_at": {"name": "updated_at", "description": "The timestamp of the last update of a record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": "facebook_ads_source://models/stg_facebook_ads.yml", "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads__ad_history.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads_source", "materialized": "table", "enabled": true}, "created_at": 1671058921.464897, "compiled_code": "\n\nwith base as (\n\n select * \n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__ad_history_tmp`\n),\n\nfields as (\n\n select\n \n \n \n updated_time\n \n as \n \n updated_time\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 account_id\n \n as \n \n account_id\n \n, \n \n \n ad_set_id\n \n as \n \n ad_set_id\n \n, \n \n \n campaign_id\n \n as \n \n campaign_id\n \n, \n \n \n creative_id\n \n as \n \n creative_id\n \n\n\n\n \n from base\n),\n\nfinal as (\n \n select \n updated_time as updated_at,\n cast(id as bigint) as ad_id,\n name as ad_name,\n cast(account_id as bigint) as account_id,\n cast(ad_set_id as bigint) as ad_set_id, \n cast(campaign_id as bigint) as campaign_id,\n cast(creative_id as bigint) as creative_id,\n row_number() over (partition by id order by updated_time desc) = 1 as is_most_recent_record\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__ad_history`"}, "model.facebook_ads_source.stg_facebook_ads__ad_set_history": {"compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.facebook_ads_source.get_ad_set_history_columns", "macro.fivetran_utils.fill_staging_columns", "macro.dbt.type_bigint"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__ad_set_history_tmp", "model.facebook_ads_source.stg_facebook_ads__ad_set_history_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_facebook_ads_source", "fqn": ["facebook_ads_source", "stg_facebook_ads__ad_set_history"], "unique_id": "model.facebook_ads_source.stg_facebook_ads__ad_set_history", "raw_code": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_facebook_ads__ad_set_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_facebook_ads__ad_set_history_tmp')),\n staging_columns=get_ad_set_history_columns()\n )\n }}\n \n from base\n),\n\nfinal as (\n \n select \n updated_time as updated_at,\n cast(id as {{ dbt.type_bigint() }}) as ad_set_id,\n name as ad_set_name,\n cast(account_id as {{ dbt.type_bigint() }}) as account_id,\n cast(campaign_id as {{ dbt.type_bigint() }}) as campaign_id,\n start_time as start_at,\n end_time as end_at,\n bid_strategy,\n daily_budget,\n budget_remaining,\n status,\n row_number() over (partition by id order by updated_time desc) = 1 as is_most_recent_record\n from fields\n\n)\n\nselect * \nfrom final", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "stg_facebook_ads__ad_set_history.sql", "original_file_path": "models/stg_facebook_ads__ad_set_history.sql", "name": "stg_facebook_ads__ad_set_history", "alias": "stg_facebook_ads__ad_set_history", "checksum": {"name": "sha256", "checksum": "32c6ae0ef94b4f88261a0dd4dda62e6e92de99a56ffbe8ae1360c6469052e212"}, "tags": [], "refs": [["stg_facebook_ads__ad_set_history_tmp"], ["stg_facebook_ads__ad_set_history_tmp"]], "sources": [], "metrics": [], "description": "Each record in this table reflects a Facebook ad set.", "columns": {"ad_set_id": {"name": "ad_set_id", "description": "The ID of the ad set.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "The ID of the ad account that this ad set belongs to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_id": {"name": "campaign_id", "description": "Ad campaign that contains this ad set.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_set_name": {"name": "ad_set_name", "description": "The name of the ad set.", "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. All records should have this value set to True given we filter on it.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "updated_at": {"name": "updated_at", "description": "The timestamp of the last update of a record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "start_at": {"name": "start_at", "description": "Timestamp of designated ad set start time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "end_at": {"name": "end_at", "description": "Timestamp of designated ad set end time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "bid_strategy": {"name": "bid_strategy", "description": "Bid strategy values are - 'LOWEST_COST_WITHOUT_CAP', 'LOWEST_COST_WITH_BID_CAP', 'COST_CAP', 'LOWEST_COST_WITH_MIN_ROAS'.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "daily_budget": {"name": "daily_budget", "description": "Daily budget of ad set.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "budget_remaining": {"name": "budget_remaining", "description": "Remaining budget of ad set.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status": {"name": "status", "description": "Status values are - 'ACTIVE', 'PAUSED', 'DELETED', 'ARCHIVED'.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": "facebook_ads_source://models/stg_facebook_ads.yml", "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads__ad_set_history.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads_source", "materialized": "table", "enabled": true}, "created_at": 1671058921.466827, "compiled_code": "\n\nwith base as (\n\n select * \n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__ad_set_history_tmp`\n),\n\nfields as (\n\n select\n \n \n \n updated_time\n \n as \n \n updated_time\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 account_id\n \n as \n \n account_id\n \n, \n \n \n campaign_id\n \n as \n \n campaign_id\n \n, \n cast(null as TIMESTAMP) as \n \n start_time\n \n , \n cast(null as TIMESTAMP) as \n \n end_time\n \n , \n cast(null as STRING) as \n \n bid_strategy\n \n , \n cast(null as INT64) as \n \n daily_budget\n \n , \n cast(null as INT64) as \n \n budget_remaining\n \n , \n cast(null as STRING) as \n \n status\n \n \n\n\n \n from base\n),\n\nfinal as (\n \n select \n updated_time as updated_at,\n cast(id as bigint) as ad_set_id,\n name as ad_set_name,\n cast(account_id as bigint) as account_id,\n cast(campaign_id as bigint) as campaign_id,\n start_time as start_at,\n end_time as end_at,\n bid_strategy,\n daily_budget,\n budget_remaining,\n status,\n row_number() over (partition by id order by updated_time desc) = 1 as is_most_recent_record\n from fields\n\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__ad_set_history`"}, "model.facebook_ads_source.stg_facebook_ads__ad_set_history_tmp": {"compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.facebook_ads_source.facebook_ads.ad_set_history"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_facebook_ads_source", "fqn": ["facebook_ads_source", "tmp", "stg_facebook_ads__ad_set_history_tmp"], "unique_id": "model.facebook_ads_source.stg_facebook_ads__ad_set_history_tmp", "raw_code": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nselect * \nfrom {{ var('ad_set_history') }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "tmp/stg_facebook_ads__ad_set_history_tmp.sql", "original_file_path": "models/tmp/stg_facebook_ads__ad_set_history_tmp.sql", "name": "stg_facebook_ads__ad_set_history_tmp", "alias": "stg_facebook_ads__ad_set_history_tmp", "checksum": {"name": "sha256", "checksum": "dad1782db9e8232b2613b5b9959963ad0d0ff99b7462524fc223610cd3e14442"}, "tags": [], "refs": [], "sources": [["facebook_ads", "ad_set_history"]], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/tmp/stg_facebook_ads__ad_set_history_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads_source", "materialized": "view", "enabled": true}, "created_at": 1671058921.3487191, "compiled_code": "\n\nselect * \nfrom `dbt-package-testing`.`facebook_ads_integration_tests`.`facebook_ads_ad_set_history_data`", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__ad_set_history_tmp`"}, "model.facebook_ads_source.stg_facebook_ads__basic_ad_tmp": {"compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.facebook_ads_source.facebook_ads.basic_ad"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_facebook_ads_source", "fqn": ["facebook_ads_source", "tmp", "stg_facebook_ads__basic_ad_tmp"], "unique_id": "model.facebook_ads_source.stg_facebook_ads__basic_ad_tmp", "raw_code": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nselect * \nfrom {{ var('basic_ad') }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "tmp/stg_facebook_ads__basic_ad_tmp.sql", "original_file_path": "models/tmp/stg_facebook_ads__basic_ad_tmp.sql", "name": "stg_facebook_ads__basic_ad_tmp", "alias": "stg_facebook_ads__basic_ad_tmp", "checksum": {"name": "sha256", "checksum": "46e4ec682f4ed2b33b3123c24ae2b20d9d9bce50ed7ef83b547dd83b57339f89"}, "tags": [], "refs": [], "sources": [["facebook_ads", "basic_ad"]], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/tmp/stg_facebook_ads__basic_ad_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads_source", "materialized": "view", "enabled": true}, "created_at": 1671058921.3525188, "compiled_code": "\n\nselect * \nfrom `dbt-package-testing`.`facebook_ads_integration_tests`.`facebook_ads_basic_ad_data`", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__basic_ad_tmp`"}, "model.facebook_ads_source.stg_facebook_ads__ad_history_tmp": {"compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.facebook_ads_source.facebook_ads.ad_history"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_facebook_ads_source", "fqn": ["facebook_ads_source", "tmp", "stg_facebook_ads__ad_history_tmp"], "unique_id": "model.facebook_ads_source.stg_facebook_ads__ad_history_tmp", "raw_code": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nselect * \nfrom {{ var('ad_history') }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "tmp/stg_facebook_ads__ad_history_tmp.sql", "original_file_path": "models/tmp/stg_facebook_ads__ad_history_tmp.sql", "name": "stg_facebook_ads__ad_history_tmp", "alias": "stg_facebook_ads__ad_history_tmp", "checksum": {"name": "sha256", "checksum": "438f57c6bd1ce2a8c4a73600c1e12878efc0a091f42b3a43ed0334067779eace"}, "tags": [], "refs": [], "sources": [["facebook_ads", "ad_history"]], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/tmp/stg_facebook_ads__ad_history_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads_source", "materialized": "view", "enabled": true}, "created_at": 1671058921.3558028, "compiled_code": "\n\nselect * \nfrom `dbt-package-testing`.`facebook_ads_integration_tests`.`facebook_ads_ad_history_data`", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__ad_history_tmp`"}, "model.facebook_ads_source.stg_facebook_ads__campaign_history_tmp": {"compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.facebook_ads_source.facebook_ads.campaign_history"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_facebook_ads_source", "fqn": ["facebook_ads_source", "tmp", "stg_facebook_ads__campaign_history_tmp"], "unique_id": "model.facebook_ads_source.stg_facebook_ads__campaign_history_tmp", "raw_code": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nselect * \nfrom {{ var('campaign_history') }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "tmp/stg_facebook_ads__campaign_history_tmp.sql", "original_file_path": "models/tmp/stg_facebook_ads__campaign_history_tmp.sql", "name": "stg_facebook_ads__campaign_history_tmp", "alias": "stg_facebook_ads__campaign_history_tmp", "checksum": {"name": "sha256", "checksum": "617b7e683421a5712cc129d02e07eeb0f5876b7fdeb680429b4d6069b4dcdfc1"}, "tags": [], "refs": [], "sources": [["facebook_ads", "campaign_history"]], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/tmp/stg_facebook_ads__campaign_history_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads_source", "materialized": "view", "enabled": true}, "created_at": 1671058921.359065, "compiled_code": "\n\nselect * \nfrom `dbt-package-testing`.`facebook_ads_integration_tests`.`facebook_ads_campaign_history_data`", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__campaign_history_tmp`"}, "model.facebook_ads_source.stg_facebook_ads__creative_history_tmp": {"compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.facebook_ads_source.facebook_ads.creative_history"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_facebook_ads_source", "fqn": ["facebook_ads_source", "tmp", "stg_facebook_ads__creative_history_tmp"], "unique_id": "model.facebook_ads_source.stg_facebook_ads__creative_history_tmp", "raw_code": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nselect * \nfrom {{ var('creative_history') }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "tmp/stg_facebook_ads__creative_history_tmp.sql", "original_file_path": "models/tmp/stg_facebook_ads__creative_history_tmp.sql", "name": "stg_facebook_ads__creative_history_tmp", "alias": "stg_facebook_ads__creative_history_tmp", "checksum": {"name": "sha256", "checksum": "9cf5ffb0bc31c525388d169c90fb8b6150e5141777b14337c0fee0730faeecd9"}, "tags": [], "refs": [], "sources": [["facebook_ads", "creative_history"]], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/tmp/stg_facebook_ads__creative_history_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads_source", "materialized": "view", "enabled": true}, "created_at": 1671058921.362307, "compiled_code": "\n\nselect * \nfrom `dbt-package-testing`.`facebook_ads_integration_tests`.`facebook_ads_creative_history_data`", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__creative_history_tmp`"}, "model.facebook_ads_source.stg_facebook_ads__account_history_tmp": {"compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.facebook_ads_source.facebook_ads.account_history"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_facebook_ads_source", "fqn": ["facebook_ads_source", "tmp", "stg_facebook_ads__account_history_tmp"], "unique_id": "model.facebook_ads_source.stg_facebook_ads__account_history_tmp", "raw_code": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nselect * \nfrom {{ var('account_history') }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "tmp/stg_facebook_ads__account_history_tmp.sql", "original_file_path": "models/tmp/stg_facebook_ads__account_history_tmp.sql", "name": "stg_facebook_ads__account_history_tmp", "alias": "stg_facebook_ads__account_history_tmp", "checksum": {"name": "sha256", "checksum": "caa1f4a119ca187458bff00bd8682eabffdba914962ff8ae7d4cfe55f25833ff"}, "tags": [], "refs": [], "sources": [["facebook_ads", "account_history"]], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/tmp/stg_facebook_ads__account_history_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads_source", "materialized": "view", "enabled": true}, "created_at": 1671058921.36559, "compiled_code": "\n\nselect * \nfrom `dbt-package-testing`.`facebook_ads_integration_tests`.`facebook_ads_account_history_data`", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__account_history_tmp`"}, "test.facebook_ads.not_null_facebook_ads__url_report_base_url.b7757e50be": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "base_url", "model": "{{ get_where_subquery(ref('facebook_ads__url_report')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.facebook_ads.facebook_ads__url_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads", "not_null_facebook_ads__url_report_base_url"], "unique_id": "test.facebook_ads.not_null_facebook_ads__url_report_base_url.b7757e50be", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}{{ config(enabled=True) }}", "language": "sql", "package_name": "facebook_ads", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "not_null_facebook_ads__url_report_base_url.sql", "original_file_path": "models/facebook.yml", "name": "not_null_facebook_ads__url_report_base_url", "alias": "not_null_facebook_ads__url_report_base_url", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["facebook_ads__url_report"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads/models/facebook.yml/not_null_facebook_ads__url_report_base_url.sql", "build_path": null, "deferred": false, "unrendered_config": {"enabled": true}, "created_at": 1671058921.429904, "compiled_code": "\n \n \n\n\n\nselect base_url\nfrom `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads`.`facebook_ads__url_report`\nwhere base_url is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "base_url", "file_key_name": "models.facebook_ads__url_report"}, "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__url_report_date_day__account_id__campaign_id__ad_set_id__ad_id.03a7e82eb7": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["date_day", "account_id", "campaign_id", "ad_set_id", "ad_id"], "model": "{{ get_where_subquery(ref('facebook_ads__url_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.facebook_ads.facebook_ads__url_report"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_bf91f5ef1059f34c9059e06e293717eb", "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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads", "dbt_utils_unique_combination_of_columns_facebook_ads__url_report_date_day__account_id__campaign_id__ad_set_id__ad_id"], "unique_id": "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__url_report_date_day__account_id__campaign_id__ad_set_id__ad_id.03a7e82eb7", "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(enabled=True,alias=\"dbt_utils_unique_combination_o_bf91f5ef1059f34c9059e06e293717eb\") }}", "language": "sql", "package_name": "facebook_ads", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "dbt_utils_unique_combination_o_bf91f5ef1059f34c9059e06e293717eb.sql", "original_file_path": "models/facebook.yml", "name": "dbt_utils_unique_combination_of_columns_facebook_ads__url_report_date_day__account_id__campaign_id__ad_set_id__ad_id", "alias": "dbt_utils_unique_combination_o_bf91f5ef1059f34c9059e06e293717eb", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["facebook_ads__url_report"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads/models/facebook.yml/dbt_utils_unique_combination_o_bf91f5ef1059f34c9059e06e293717eb.sql", "build_path": null, "deferred": false, "unrendered_config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_bf91f5ef1059f34c9059e06e293717eb"}, "created_at": 1671058921.4312918, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n date_day, account_id, campaign_id, ad_set_id, ad_id\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads`.`facebook_ads__url_report`\n group by date_day, account_id, campaign_id, ad_set_id, ad_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.facebook_ads__url_report"}, "test.facebook_ads.not_null_facebook_ads__ad_report_ad_id.3811d9c238": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "ad_id", "model": "{{ get_where_subquery(ref('facebook_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.facebook_ads.facebook_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads", "not_null_facebook_ads__ad_report_ad_id"], "unique_id": "test.facebook_ads.not_null_facebook_ads__ad_report_ad_id.3811d9c238", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "facebook_ads", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "not_null_facebook_ads__ad_report_ad_id.sql", "original_file_path": "models/facebook.yml", "name": "not_null_facebook_ads__ad_report_ad_id", "alias": "not_null_facebook_ads__ad_report_ad_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["facebook_ads__ad_report"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads/models/facebook.yml/not_null_facebook_ads__ad_report_ad_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1671058921.4385338, "compiled_code": "\n \n \n\n\n\nselect ad_id\nfrom `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads`.`facebook_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.facebook_ads__ad_report"}, "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__ad_report_date_day__account_id__campaign_id__ad_set_id__ad_id.0a25b64738": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["date_day", "account_id", "campaign_id", "ad_set_id", "ad_id"], "model": "{{ get_where_subquery(ref('facebook_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.facebook_ads.facebook_ads__ad_report"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_6751270b8425b93a72568a6ff0b52e2e", "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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads", "dbt_utils_unique_combination_of_columns_facebook_ads__ad_report_date_day__account_id__campaign_id__ad_set_id__ad_id"], "unique_id": "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__ad_report_date_day__account_id__campaign_id__ad_set_id__ad_id.0a25b64738", "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_6751270b8425b93a72568a6ff0b52e2e\") }}", "language": "sql", "package_name": "facebook_ads", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "dbt_utils_unique_combination_o_6751270b8425b93a72568a6ff0b52e2e.sql", "original_file_path": "models/facebook.yml", "name": "dbt_utils_unique_combination_of_columns_facebook_ads__ad_report_date_day__account_id__campaign_id__ad_set_id__ad_id", "alias": "dbt_utils_unique_combination_o_6751270b8425b93a72568a6ff0b52e2e", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["facebook_ads__ad_report"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads/models/facebook.yml/dbt_utils_unique_combination_o_6751270b8425b93a72568a6ff0b52e2e.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_6751270b8425b93a72568a6ff0b52e2e"}, "created_at": 1671058921.43952, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n date_day, account_id, campaign_id, ad_set_id, ad_id\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads`.`facebook_ads__ad_report`\n group by date_day, account_id, campaign_id, ad_set_id, ad_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.facebook_ads__ad_report"}, "test.facebook_ads.not_null_facebook_ads__ad_set_report_ad_set_id.1ac870f5e4": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "ad_set_id", "model": "{{ get_where_subquery(ref('facebook_ads__ad_set_report')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.facebook_ads.facebook_ads__ad_set_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads", "not_null_facebook_ads__ad_set_report_ad_set_id"], "unique_id": "test.facebook_ads.not_null_facebook_ads__ad_set_report_ad_set_id.1ac870f5e4", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "facebook_ads", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "not_null_facebook_ads__ad_set_report_ad_set_id.sql", "original_file_path": "models/facebook.yml", "name": "not_null_facebook_ads__ad_set_report_ad_set_id", "alias": "not_null_facebook_ads__ad_set_report_ad_set_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["facebook_ads__ad_set_report"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads/models/facebook.yml/not_null_facebook_ads__ad_set_report_ad_set_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1671058921.4428859, "compiled_code": "\n \n \n\n\n\nselect ad_set_id\nfrom `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads`.`facebook_ads__ad_set_report`\nwhere ad_set_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "ad_set_id", "file_key_name": "models.facebook_ads__ad_set_report"}, "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__ad_set_report_date_day__account_id__campaign_id__ad_set_id.3dd4da872f": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["date_day", "account_id", "campaign_id", "ad_set_id"], "model": "{{ get_where_subquery(ref('facebook_ads__ad_set_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.facebook_ads.facebook_ads__ad_set_report"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_b03f58e6a60804a93ab31dbb358dad74", "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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads", "dbt_utils_unique_combination_of_columns_facebook_ads__ad_set_report_date_day__account_id__campaign_id__ad_set_id"], "unique_id": "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__ad_set_report_date_day__account_id__campaign_id__ad_set_id.3dd4da872f", "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_b03f58e6a60804a93ab31dbb358dad74\") }}", "language": "sql", "package_name": "facebook_ads", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "dbt_utils_unique_combination_o_b03f58e6a60804a93ab31dbb358dad74.sql", "original_file_path": "models/facebook.yml", "name": "dbt_utils_unique_combination_of_columns_facebook_ads__ad_set_report_date_day__account_id__campaign_id__ad_set_id", "alias": "dbt_utils_unique_combination_o_b03f58e6a60804a93ab31dbb358dad74", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["facebook_ads__ad_set_report"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads/models/facebook.yml/dbt_utils_unique_combination_o_b03f58e6a60804a93ab31dbb358dad74.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_b03f58e6a60804a93ab31dbb358dad74"}, "created_at": 1671058921.443944, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n date_day, account_id, campaign_id, ad_set_id\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads`.`facebook_ads__ad_set_report`\n group by date_day, account_id, campaign_id, ad_set_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.facebook_ads__ad_set_report"}, "test.facebook_ads.not_null_facebook_ads__campaign_report_campaign_id.d4f96d8d21": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "campaign_id", "model": "{{ get_where_subquery(ref('facebook_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.facebook_ads.facebook_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads", "not_null_facebook_ads__campaign_report_campaign_id"], "unique_id": "test.facebook_ads.not_null_facebook_ads__campaign_report_campaign_id.d4f96d8d21", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "facebook_ads", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "not_null_facebook_ads__campaign_report_campaign_id.sql", "original_file_path": "models/facebook.yml", "name": "not_null_facebook_ads__campaign_report_campaign_id", "alias": "not_null_facebook_ads__campaign_report_campaign_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["facebook_ads__campaign_report"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads/models/facebook.yml/not_null_facebook_ads__campaign_report_campaign_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1671058921.447215, "compiled_code": "\n \n \n\n\n\nselect campaign_id\nfrom `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads`.`facebook_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.facebook_ads__campaign_report"}, "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__campaign_report_date_day__account_id__campaign_id.7cd75107e6": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["date_day", "account_id", "campaign_id"], "model": "{{ get_where_subquery(ref('facebook_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.facebook_ads.facebook_ads__campaign_report"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_cf7853fdf8e24958f5a0e3e1b7c1ced1", "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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads", "dbt_utils_unique_combination_of_columns_facebook_ads__campaign_report_date_day__account_id__campaign_id"], "unique_id": "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__campaign_report_date_day__account_id__campaign_id.7cd75107e6", "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_cf7853fdf8e24958f5a0e3e1b7c1ced1\") }}", "language": "sql", "package_name": "facebook_ads", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "dbt_utils_unique_combination_o_cf7853fdf8e24958f5a0e3e1b7c1ced1.sql", "original_file_path": "models/facebook.yml", "name": "dbt_utils_unique_combination_of_columns_facebook_ads__campaign_report_date_day__account_id__campaign_id", "alias": "dbt_utils_unique_combination_o_cf7853fdf8e24958f5a0e3e1b7c1ced1", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["facebook_ads__campaign_report"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads/models/facebook.yml/dbt_utils_unique_combination_o_cf7853fdf8e24958f5a0e3e1b7c1ced1.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_cf7853fdf8e24958f5a0e3e1b7c1ced1"}, "created_at": 1671058921.4481652, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n date_day, account_id, campaign_id\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads`.`facebook_ads__campaign_report`\n group by date_day, account_id, campaign_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.facebook_ads__campaign_report"}, "test.facebook_ads.not_null_facebook_ads__account_report_account_id.9be02b4024": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "account_id", "model": "{{ get_where_subquery(ref('facebook_ads__account_report')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.facebook_ads.facebook_ads__account_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads", "not_null_facebook_ads__account_report_account_id"], "unique_id": "test.facebook_ads.not_null_facebook_ads__account_report_account_id.9be02b4024", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "facebook_ads", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "not_null_facebook_ads__account_report_account_id.sql", "original_file_path": "models/facebook.yml", "name": "not_null_facebook_ads__account_report_account_id", "alias": "not_null_facebook_ads__account_report_account_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["facebook_ads__account_report"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads/models/facebook.yml/not_null_facebook_ads__account_report_account_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1671058921.4512472, "compiled_code": "\n \n \n\n\n\nselect account_id\nfrom `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads`.`facebook_ads__account_report`\nwhere account_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "account_id", "file_key_name": "models.facebook_ads__account_report"}, "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__account_report_date_day__account_id.5a94423e40": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["date_day", "account_id"], "model": "{{ get_where_subquery(ref('facebook_ads__account_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.facebook_ads.facebook_ads__account_report"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_19fe7721a9f8cd99b91dca268368654e", "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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads", "dbt_utils_unique_combination_of_columns_facebook_ads__account_report_date_day__account_id"], "unique_id": "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__account_report_date_day__account_id.5a94423e40", "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_19fe7721a9f8cd99b91dca268368654e\") }}", "language": "sql", "package_name": "facebook_ads", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "dbt_utils_unique_combination_o_19fe7721a9f8cd99b91dca268368654e.sql", "original_file_path": "models/facebook.yml", "name": "dbt_utils_unique_combination_of_columns_facebook_ads__account_report_date_day__account_id", "alias": "dbt_utils_unique_combination_o_19fe7721a9f8cd99b91dca268368654e", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["facebook_ads__account_report"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads/models/facebook.yml/dbt_utils_unique_combination_o_19fe7721a9f8cd99b91dca268368654e.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_19fe7721a9f8cd99b91dca268368654e"}, "created_at": 1671058921.452332, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n date_day, account_id\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads`.`facebook_ads__account_report`\n group by date_day, account_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.facebook_ads__account_report"}, "test.facebook_ads.not_null_facebook_ads__url_tags__fivetran_id.151d9515f3": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "_fivetran_id", "model": "{{ get_where_subquery(ref('facebook_ads__url_tags')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.facebook_ads.facebook_ads__url_tags"]}, "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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads", "not_null_facebook_ads__url_tags__fivetran_id"], "unique_id": "test.facebook_ads.not_null_facebook_ads__url_tags__fivetran_id.151d9515f3", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "facebook_ads", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "not_null_facebook_ads__url_tags__fivetran_id.sql", "original_file_path": "models/facebook.yml", "name": "not_null_facebook_ads__url_tags__fivetran_id", "alias": "not_null_facebook_ads__url_tags__fivetran_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["facebook_ads__url_tags"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads/models/facebook.yml/not_null_facebook_ads__url_tags__fivetran_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1671058921.455338, "compiled_code": "\n \n \n\n\n\nselect _fivetran_id\nfrom `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads`.`facebook_ads__url_tags`\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.facebook_ads__url_tags"}, "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__url_tags__fivetran_id__key__type.ba044777d3": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["_fivetran_id", "key", "type"], "model": "{{ get_where_subquery(ref('facebook_ads__url_tags')) }}"}, "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.facebook_ads.facebook_ads__url_tags"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_496bf013366c506c1f3135f19ec7080a", "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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads", "dbt_utils_unique_combination_of_columns_facebook_ads__url_tags__fivetran_id__key__type"], "unique_id": "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__url_tags__fivetran_id__key__type.ba044777d3", "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_496bf013366c506c1f3135f19ec7080a\") }}", "language": "sql", "package_name": "facebook_ads", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "dbt_utils_unique_combination_o_496bf013366c506c1f3135f19ec7080a.sql", "original_file_path": "models/facebook.yml", "name": "dbt_utils_unique_combination_of_columns_facebook_ads__url_tags__fivetran_id__key__type", "alias": "dbt_utils_unique_combination_o_496bf013366c506c1f3135f19ec7080a", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["facebook_ads__url_tags"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads/models/facebook.yml/dbt_utils_unique_combination_o_496bf013366c506c1f3135f19ec7080a.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_496bf013366c506c1f3135f19ec7080a"}, "created_at": 1671058921.456295, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n _fivetran_id, key, type\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads`.`facebook_ads__url_tags`\n group by _fivetran_id, key, type\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.facebook_ads__url_tags"}, "test.facebook_ads_source.not_null_stg_facebook_ads__account_history_account_id.f1cf38c40f": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "account_id", "model": "{{ get_where_subquery(ref('stg_facebook_ads__account_history')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__account_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "not_null_stg_facebook_ads__account_history_account_id"], "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__account_history_account_id.f1cf38c40f", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "not_null_stg_facebook_ads__account_history_account_id.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "not_null_stg_facebook_ads__account_history_account_id", "alias": "not_null_stg_facebook_ads__account_history_account_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__account_history"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/not_null_stg_facebook_ads__account_history_account_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1671058921.47375, "compiled_code": "\n \n \n\n\n\nselect account_id\nfrom `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__account_history`\nwhere account_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "account_id", "file_key_name": "models.stg_facebook_ads__account_history"}, "test.facebook_ads_source.not_null_stg_facebook_ads__account_history__fivetran_synced.0570e35e1f": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "_fivetran_synced", "model": "{{ get_where_subquery(ref('stg_facebook_ads__account_history')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__account_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "not_null_stg_facebook_ads__account_history__fivetran_synced"], "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__account_history__fivetran_synced.0570e35e1f", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "not_null_stg_facebook_ads__account_history__fivetran_synced.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "not_null_stg_facebook_ads__account_history__fivetran_synced", "alias": "not_null_stg_facebook_ads__account_history__fivetran_synced", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__account_history"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/not_null_stg_facebook_ads__account_history__fivetran_synced.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1671058921.4747279, "compiled_code": "\n \n \n\n\n\nselect _fivetran_synced\nfrom `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__account_history`\nwhere _fivetran_synced is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "_fivetran_synced", "file_key_name": "models.stg_facebook_ads__account_history"}, "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__account_history_account_id___fivetran_synced.f9b4d28fa2": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["account_id", "_fivetran_synced"], "model": "{{ get_where_subquery(ref('stg_facebook_ads__account_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.facebook_ads_source.stg_facebook_ads__account_history"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_6c9521eb7e9747df57d9737e83cb864f", "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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "dbt_utils_unique_combination_of_columns_stg_facebook_ads__account_history_account_id___fivetran_synced"], "unique_id": "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__account_history_account_id___fivetran_synced.f9b4d28fa2", "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_6c9521eb7e9747df57d9737e83cb864f\") }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "dbt_utils_unique_combination_o_6c9521eb7e9747df57d9737e83cb864f.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_facebook_ads__account_history_account_id___fivetran_synced", "alias": "dbt_utils_unique_combination_o_6c9521eb7e9747df57d9737e83cb864f", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__account_history"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/dbt_utils_unique_combination_o_6c9521eb7e9747df57d9737e83cb864f.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_6c9521eb7e9747df57d9737e83cb864f"}, "created_at": 1671058921.475681, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n account_id, _fivetran_synced\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__account_history`\n group by account_id, _fivetran_synced\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_facebook_ads__account_history"}, "test.facebook_ads_source.not_null_stg_facebook_ads__ad_history_ad_id.11429d3064": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "ad_id", "model": "{{ get_where_subquery(ref('stg_facebook_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.facebook_ads_source.stg_facebook_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "not_null_stg_facebook_ads__ad_history_ad_id"], "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__ad_history_ad_id.11429d3064", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "not_null_stg_facebook_ads__ad_history_ad_id.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "not_null_stg_facebook_ads__ad_history_ad_id", "alias": "not_null_stg_facebook_ads__ad_history_ad_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__ad_history"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/not_null_stg_facebook_ads__ad_history_ad_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1671058921.478254, "compiled_code": "\n \n \n\n\n\nselect ad_id\nfrom `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_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_facebook_ads__ad_history"}, "test.facebook_ads_source.not_null_stg_facebook_ads__ad_history_updated_at.250a5a84e4": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "updated_at", "model": "{{ get_where_subquery(ref('stg_facebook_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.facebook_ads_source.stg_facebook_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "not_null_stg_facebook_ads__ad_history_updated_at"], "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__ad_history_updated_at.250a5a84e4", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "not_null_stg_facebook_ads__ad_history_updated_at.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "not_null_stg_facebook_ads__ad_history_updated_at", "alias": "not_null_stg_facebook_ads__ad_history_updated_at", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__ad_history"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/not_null_stg_facebook_ads__ad_history_updated_at.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1671058921.479181, "compiled_code": "\n \n \n\n\n\nselect updated_at\nfrom `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__ad_history`\nwhere updated_at is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "updated_at", "file_key_name": "models.stg_facebook_ads__ad_history"}, "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__ad_history_ad_id__updated_at.2922c18b58": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["ad_id", "updated_at"], "model": "{{ get_where_subquery(ref('stg_facebook_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.facebook_ads_source.stg_facebook_ads__ad_history"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_da2a7458e53ca8b420768a0c3e8e2137", "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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "dbt_utils_unique_combination_of_columns_stg_facebook_ads__ad_history_ad_id__updated_at"], "unique_id": "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__ad_history_ad_id__updated_at.2922c18b58", "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_da2a7458e53ca8b420768a0c3e8e2137\") }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "dbt_utils_unique_combination_o_da2a7458e53ca8b420768a0c3e8e2137.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_facebook_ads__ad_history_ad_id__updated_at", "alias": "dbt_utils_unique_combination_o_da2a7458e53ca8b420768a0c3e8e2137", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__ad_history"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/dbt_utils_unique_combination_o_da2a7458e53ca8b420768a0c3e8e2137.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_da2a7458e53ca8b420768a0c3e8e2137"}, "created_at": 1671058921.4801102, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n ad_id, updated_at\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__ad_history`\n group by ad_id, updated_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_facebook_ads__ad_history"}, "test.facebook_ads_source.not_null_stg_facebook_ads__ad_set_history_ad_set_id.e19a1df1bb": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "ad_set_id", "model": "{{ get_where_subquery(ref('stg_facebook_ads__ad_set_history')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__ad_set_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "not_null_stg_facebook_ads__ad_set_history_ad_set_id"], "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__ad_set_history_ad_set_id.e19a1df1bb", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "not_null_stg_facebook_ads__ad_set_history_ad_set_id.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "not_null_stg_facebook_ads__ad_set_history_ad_set_id", "alias": "not_null_stg_facebook_ads__ad_set_history_ad_set_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__ad_set_history"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/not_null_stg_facebook_ads__ad_set_history_ad_set_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1671058921.482659, "compiled_code": "\n \n \n\n\n\nselect ad_set_id\nfrom `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__ad_set_history`\nwhere ad_set_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "ad_set_id", "file_key_name": "models.stg_facebook_ads__ad_set_history"}, "test.facebook_ads_source.not_null_stg_facebook_ads__ad_set_history_updated_at.ef7fafe0fa": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "updated_at", "model": "{{ get_where_subquery(ref('stg_facebook_ads__ad_set_history')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__ad_set_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "not_null_stg_facebook_ads__ad_set_history_updated_at"], "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__ad_set_history_updated_at.ef7fafe0fa", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "not_null_stg_facebook_ads__ad_set_history_updated_at.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "not_null_stg_facebook_ads__ad_set_history_updated_at", "alias": "not_null_stg_facebook_ads__ad_set_history_updated_at", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__ad_set_history"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/not_null_stg_facebook_ads__ad_set_history_updated_at.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1671058921.4835808, "compiled_code": "\n \n \n\n\n\nselect updated_at\nfrom `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__ad_set_history`\nwhere updated_at is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "updated_at", "file_key_name": "models.stg_facebook_ads__ad_set_history"}, "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__ad_set_history_ad_set_id__updated_at.0a60ad0fef": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["ad_set_id", "updated_at"], "model": "{{ get_where_subquery(ref('stg_facebook_ads__ad_set_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.facebook_ads_source.stg_facebook_ads__ad_set_history"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_214e0ea8c1d3eb6e1c1fae451c60969f", "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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "dbt_utils_unique_combination_of_columns_stg_facebook_ads__ad_set_history_ad_set_id__updated_at"], "unique_id": "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__ad_set_history_ad_set_id__updated_at.0a60ad0fef", "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_214e0ea8c1d3eb6e1c1fae451c60969f\") }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "dbt_utils_unique_combination_o_214e0ea8c1d3eb6e1c1fae451c60969f.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_facebook_ads__ad_set_history_ad_set_id__updated_at", "alias": "dbt_utils_unique_combination_o_214e0ea8c1d3eb6e1c1fae451c60969f", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__ad_set_history"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/dbt_utils_unique_combination_o_214e0ea8c1d3eb6e1c1fae451c60969f.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_214e0ea8c1d3eb6e1c1fae451c60969f"}, "created_at": 1671058921.484705, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n ad_set_id, updated_at\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__ad_set_history`\n group by ad_set_id, updated_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_facebook_ads__ad_set_history"}, "test.facebook_ads_source.not_null_stg_facebook_ads__campaign_history_campaign_id.1ca7a83852": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "campaign_id", "model": "{{ get_where_subquery(ref('stg_facebook_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.facebook_ads_source.stg_facebook_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "not_null_stg_facebook_ads__campaign_history_campaign_id"], "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__campaign_history_campaign_id.1ca7a83852", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "not_null_stg_facebook_ads__campaign_history_campaign_id.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "not_null_stg_facebook_ads__campaign_history_campaign_id", "alias": "not_null_stg_facebook_ads__campaign_history_campaign_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__campaign_history"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/not_null_stg_facebook_ads__campaign_history_campaign_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1671058921.487417, "compiled_code": "\n \n \n\n\n\nselect campaign_id\nfrom `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_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_facebook_ads__campaign_history"}, "test.facebook_ads_source.not_null_stg_facebook_ads__campaign_history_updated_at.9e59f99270": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "updated_at", "model": "{{ get_where_subquery(ref('stg_facebook_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.facebook_ads_source.stg_facebook_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "not_null_stg_facebook_ads__campaign_history_updated_at"], "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__campaign_history_updated_at.9e59f99270", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "not_null_stg_facebook_ads__campaign_history_updated_at.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "not_null_stg_facebook_ads__campaign_history_updated_at", "alias": "not_null_stg_facebook_ads__campaign_history_updated_at", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__campaign_history"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/not_null_stg_facebook_ads__campaign_history_updated_at.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1671058921.488357, "compiled_code": "\n \n \n\n\n\nselect updated_at\nfrom `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__campaign_history`\nwhere updated_at is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "updated_at", "file_key_name": "models.stg_facebook_ads__campaign_history"}, "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__campaign_history_campaign_id__updated_at.7437b392c2": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["campaign_id", "updated_at"], "model": "{{ get_where_subquery(ref('stg_facebook_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.facebook_ads_source.stg_facebook_ads__campaign_history"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_6067330a8eb187d5024e9840cd7cbd78", "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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "dbt_utils_unique_combination_of_columns_stg_facebook_ads__campaign_history_campaign_id__updated_at"], "unique_id": "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__campaign_history_campaign_id__updated_at.7437b392c2", "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_6067330a8eb187d5024e9840cd7cbd78\") }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "dbt_utils_unique_combination_o_6067330a8eb187d5024e9840cd7cbd78.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_facebook_ads__campaign_history_campaign_id__updated_at", "alias": "dbt_utils_unique_combination_o_6067330a8eb187d5024e9840cd7cbd78", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__campaign_history"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/dbt_utils_unique_combination_o_6067330a8eb187d5024e9840cd7cbd78.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_6067330a8eb187d5024e9840cd7cbd78"}, "created_at": 1671058921.489301, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n campaign_id, updated_at\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__campaign_history`\n group by campaign_id, updated_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_facebook_ads__campaign_history"}, "test.facebook_ads_source.not_null_stg_facebook_ads__creative_history__fivetran_synced.3b0593cb4f": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "_fivetran_synced", "model": "{{ get_where_subquery(ref('stg_facebook_ads__creative_history')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__creative_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "not_null_stg_facebook_ads__creative_history__fivetran_synced"], "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__creative_history__fivetran_synced.3b0593cb4f", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "not_null_stg_facebook_ads__creative_history__fivetran_synced.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "not_null_stg_facebook_ads__creative_history__fivetran_synced", "alias": "not_null_stg_facebook_ads__creative_history__fivetran_synced", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__creative_history"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/not_null_stg_facebook_ads__creative_history__fivetran_synced.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1671058921.492121, "compiled_code": "\n \n \n\n\n\nselect _fivetran_synced\nfrom `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__creative_history`\nwhere _fivetran_synced is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "_fivetran_synced", "file_key_name": "models.stg_facebook_ads__creative_history"}, "test.facebook_ads_source.not_null_stg_facebook_ads__creative_history_creative_id.eb4d804261": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "creative_id", "model": "{{ get_where_subquery(ref('stg_facebook_ads__creative_history')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__creative_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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "not_null_stg_facebook_ads__creative_history_creative_id"], "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__creative_history_creative_id.eb4d804261", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "not_null_stg_facebook_ads__creative_history_creative_id.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "not_null_stg_facebook_ads__creative_history_creative_id", "alias": "not_null_stg_facebook_ads__creative_history_creative_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__creative_history"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/not_null_stg_facebook_ads__creative_history_creative_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1671058921.4930491, "compiled_code": "\n \n \n\n\n\nselect creative_id\nfrom `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__creative_history`\nwhere creative_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "creative_id", "file_key_name": "models.stg_facebook_ads__creative_history"}, "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__creative_history_creative_id___fivetran_synced.69ddc26562": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["creative_id", "_fivetran_synced"], "model": "{{ get_where_subquery(ref('stg_facebook_ads__creative_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.facebook_ads_source.stg_facebook_ads__creative_history"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_c52d893dfedd530a7cd19c495da30217", "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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "dbt_utils_unique_combination_of_columns_stg_facebook_ads__creative_history_creative_id___fivetran_synced"], "unique_id": "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__creative_history_creative_id___fivetran_synced.69ddc26562", "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_c52d893dfedd530a7cd19c495da30217\") }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "dbt_utils_unique_combination_o_c52d893dfedd530a7cd19c495da30217.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_facebook_ads__creative_history_creative_id___fivetran_synced", "alias": "dbt_utils_unique_combination_o_c52d893dfedd530a7cd19c495da30217", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__creative_history"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/dbt_utils_unique_combination_o_c52d893dfedd530a7cd19c495da30217.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_c52d893dfedd530a7cd19c495da30217"}, "created_at": 1671058921.494121, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n creative_id, _fivetran_synced\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__creative_history`\n group by creative_id, _fivetran_synced\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_facebook_ads__creative_history"}, "test.facebook_ads_source.not_null_stg_facebook_ads__basic_ad_ad_id.2611b250fc": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "ad_id", "model": "{{ get_where_subquery(ref('stg_facebook_ads__basic_ad')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__basic_ad"]}, "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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "not_null_stg_facebook_ads__basic_ad_ad_id"], "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__basic_ad_ad_id.2611b250fc", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "not_null_stg_facebook_ads__basic_ad_ad_id.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "not_null_stg_facebook_ads__basic_ad_ad_id", "alias": "not_null_stg_facebook_ads__basic_ad_ad_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__basic_ad"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/not_null_stg_facebook_ads__basic_ad_ad_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1671058921.4965491, "compiled_code": "\n \n \n\n\n\nselect ad_id\nfrom `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__basic_ad`\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_facebook_ads__basic_ad"}, "test.facebook_ads_source.not_null_stg_facebook_ads__basic_ad_account_id.d06f6d861b": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "account_id", "model": "{{ get_where_subquery(ref('stg_facebook_ads__basic_ad')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__basic_ad"]}, "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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "not_null_stg_facebook_ads__basic_ad_account_id"], "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__basic_ad_account_id.d06f6d861b", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "not_null_stg_facebook_ads__basic_ad_account_id.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "not_null_stg_facebook_ads__basic_ad_account_id", "alias": "not_null_stg_facebook_ads__basic_ad_account_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__basic_ad"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/not_null_stg_facebook_ads__basic_ad_account_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1671058921.4976041, "compiled_code": "\n \n \n\n\n\nselect account_id\nfrom `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__basic_ad`\nwhere account_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "account_id", "file_key_name": "models.stg_facebook_ads__basic_ad"}, "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__basic_ad_date_day__ad_id__account_id.bd909529e7": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["date_day", "ad_id", "account_id"], "model": "{{ get_where_subquery(ref('stg_facebook_ads__basic_ad')) }}"}, "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.facebook_ads_source.stg_facebook_ads__basic_ad"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_42caf2b48bab7db5c316ae2524dd0683", "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": "dbt-package-testing", "schema": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "dbt_utils_unique_combination_of_columns_stg_facebook_ads__basic_ad_date_day__ad_id__account_id"], "unique_id": "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__basic_ad_date_day__ad_id__account_id.bd909529e7", "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_42caf2b48bab7db5c316ae2524dd0683\") }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "dbt_utils_unique_combination_o_42caf2b48bab7db5c316ae2524dd0683.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_facebook_ads__basic_ad_date_day__ad_id__account_id", "alias": "dbt_utils_unique_combination_o_42caf2b48bab7db5c316ae2524dd0683", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__basic_ad"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/dbt_utils_unique_combination_o_42caf2b48bab7db5c316ae2524dd0683.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_42caf2b48bab7db5c316ae2524dd0683"}, "created_at": 1671058921.498532, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n date_day, ad_id, account_id\n from `dbt-package-testing`.`facebook_ads_integration_tests_facebook_ads_source`.`stg_facebook_ads__basic_ad`\n group by date_day, ad_id, account_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_facebook_ads__basic_ad"}}, "sources": {"source.facebook_ads_source.facebook_ads.account_history": {"fqn": ["facebook_ads_source", "facebook_ads", "account_history"], "database": "dbt-package-testing", "schema": "facebook_ads_integration_tests", "unique_id": "source.facebook_ads_source.facebook_ads.account_history", "package_name": "facebook_ads_source", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "models/src_facebook_ads.yml", "original_file_path": "models/src_facebook_ads.yml", "name": "account_history", "source_name": "facebook_ads", "source_description": "", "loader": "Fivetran", "identifier": "facebook_ads_account_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 in this table reflects a version of a Facebook ad account.", "columns": {"id": {"name": "id", "description": "The ID of the ad account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Name of the account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "When the record was last synced by Fivetran.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_status": {"name": "account_status", "description": "Current status of account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "business_country_code": {"name": "business_country_code", "description": "Country code of business associated to account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_time": {"name": "created_time", "description": "The time account was created.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "currency": {"name": "currency", "description": "Currency associated with account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "timezone_name": {"name": "timezone_name", "description": "Timezone associated with account.", "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`.`facebook_ads_integration_tests`.`facebook_ads_account_history_data`", "created_at": 1671058921.5182028}, "source.facebook_ads_source.facebook_ads.ad_history": {"fqn": ["facebook_ads_source", "facebook_ads", "ad_history"], "database": "dbt-package-testing", "schema": "facebook_ads_integration_tests", "unique_id": "source.facebook_ads_source.facebook_ads.ad_history", "package_name": "facebook_ads_source", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "models/src_facebook_ads.yml", "original_file_path": "models/src_facebook_ads.yml", "name": "ad_history", "source_name": "facebook_ads", "source_description": "", "loader": "Fivetran", "identifier": "facebook_ads_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 in this table reflects a version of a Facebook ad.", "columns": {"id": {"name": "id", "description": "The ID of this ad.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "The ID of the ad account that this ad belongs to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_set_id": {"name": "ad_set_id", "description": "ID of the ad set that contains the ad.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_id": {"name": "campaign_id", "description": "Ad campaign that contains this ad.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "creative_id": {"name": "creative_id", "description": "The ID of the ad creative to be used by this ad.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Name of the ad.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "When the record was last synced by Fivetran.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "updated_time": {"name": "updated_time", "description": "The timestamp of the last update of a record.", "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`.`facebook_ads_integration_tests`.`facebook_ads_ad_history_data`", "created_at": 1671058921.5182998}, "source.facebook_ads_source.facebook_ads.ad_set_history": {"fqn": ["facebook_ads_source", "facebook_ads", "ad_set_history"], "database": "dbt-package-testing", "schema": "facebook_ads_integration_tests", "unique_id": "source.facebook_ads_source.facebook_ads.ad_set_history", "package_name": "facebook_ads_source", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "models/src_facebook_ads.yml", "original_file_path": "models/src_facebook_ads.yml", "name": "ad_set_history", "source_name": "facebook_ads", "source_description": "", "loader": "Fivetran", "identifier": "facebook_ads_ad_set_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 in this table reflects a version of a Facebook ad set.", "columns": {"id": {"name": "id", "description": "The ID of the ad set.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "The ID of the ad account that this ad set belongs to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_id": {"name": "campaign_id", "description": "Ad campaign that contains this ad set.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "The name of the ad set.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "When the record was last synced by Fivetran.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "updated_time": {"name": "updated_time", "description": "The timestamp of the last update of a record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "start_time": {"name": "start_time", "description": "Timestamp of designated ad set start time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "end_time": {"name": "end_time", "description": "Timestamp of designated ad set end time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "bid_strategy": {"name": "bid_strategy", "description": "Bid strategy values are - 'LOWEST_COST_WITHOUT_CAP', 'LOWEST_COST_WITH_BID_CAP', 'COST_CAP', 'LOWEST_COST_WITH_MIN_ROAS'.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "daily_budget": {"name": "daily_budget", "description": "Daily budget of ad set.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "budget_remaining": {"name": "budget_remaining", "description": "Remaining budget of ad set.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status": {"name": "status", "description": "Status values are - 'ACTIVE', 'PAUSED', 'DELETED', 'ARCHIVED'.", "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`.`facebook_ads_integration_tests`.`facebook_ads_ad_set_history_data`", "created_at": 1671058921.518383}, "source.facebook_ads_source.facebook_ads.basic_ad": {"fqn": ["facebook_ads_source", "facebook_ads", "basic_ad"], "database": "dbt-package-testing", "schema": "facebook_ads_integration_tests", "unique_id": "source.facebook_ads_source.facebook_ads.basic_ad", "package_name": "facebook_ads_source", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "models/src_facebook_ads.yml", "original_file_path": "models/src_facebook_ads.yml", "name": "basic_ad", "source_name": "facebook_ads", "source_description": "", "loader": "Fivetran", "identifier": "facebook_ads_basic_ad_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 Facebook.", "columns": {"ad_id": {"name": "ad_id", "description": "The ID of the ad the report relates to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_name": {"name": "ad_name", "description": "Name of the ad the report relates to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "adset_name": {"name": "adset_name", "description": "Name of the ad set the report relates to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "date": {"name": "date", "description": "The date of the reported performance.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "The ID of the ad account that this ad belongs to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "The number of impressions the ad had on the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "inline_link_clicks": {"name": "inline_link_clicks", "description": "The number of clicks the ad had on the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The spend on the ad in the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "reach": {"name": "reach", "description": "The number of people who saw any content from your Page or about your Page. This metric is estimated.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "frequency": {"name": "frequency", "description": "The average number of times each person saw your ad; it is calculated as impressions divided by reach.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "When the record was last synced by Fivetran.", "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`.`facebook_ads_integration_tests`.`facebook_ads_basic_ad_data`", "created_at": 1671058921.518464}, "source.facebook_ads_source.facebook_ads.campaign_history": {"fqn": ["facebook_ads_source", "facebook_ads", "campaign_history"], "database": "dbt-package-testing", "schema": "facebook_ads_integration_tests", "unique_id": "source.facebook_ads_source.facebook_ads.campaign_history", "package_name": "facebook_ads_source", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "models/src_facebook_ads.yml", "original_file_path": "models/src_facebook_ads.yml", "name": "campaign_history", "source_name": "facebook_ads", "source_description": "", "loader": "Fivetran", "identifier": "facebook_ads_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 in this table reflects a version of a Facebook campaign.", "columns": {"id": {"name": "id", "description": "The ID of the campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "The ID of the ad account that this campaign belongs to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "The name of the campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "When the record was last synced by Fivetran.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "updated_time": {"name": "updated_time", "description": "The timestamp of the last update of a record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_time": {"name": "created_time", "description": "The time the campaign was created.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "start_time": {"name": "start_time", "description": "Timestamp of designated campaign start time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "stop_time": {"name": "stop_time", "description": "Timestamp of designated campaign end time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "daily_budget": {"name": "daily_budget", "description": "Daily budget of campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "budget_remaining": {"name": "budget_remaining", "description": "Remaining budget of campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "lifetime_budget": {"name": "lifetime_budget", "description": "Lifetime budget of the campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status": {"name": "status", "description": "Status values are - 'ACTIVE', 'PAUSED', 'DELETED', 'ARCHIVED'.", "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`.`facebook_ads_integration_tests`.`facebook_ads_campaign_history_data`", "created_at": 1671058921.518542}, "source.facebook_ads_source.facebook_ads.creative_history": {"fqn": ["facebook_ads_source", "facebook_ads", "creative_history"], "database": "dbt-package-testing", "schema": "facebook_ads_integration_tests", "unique_id": "source.facebook_ads_source.facebook_ads.creative_history", "package_name": "facebook_ads_source", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "models/src_facebook_ads.yml", "original_file_path": "models/src_facebook_ads.yml", "name": "creative_history", "source_name": "facebook_ads", "source_description": "", "loader": "Fivetran", "identifier": "facebook_ads_creative_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 in this table reflects a version of a Facebook creative.", "columns": {"_fivetran_id": {"name": "_fivetran_id", "description": "Unique record identifier", "meta": {}, "data_type": null, "quote": null, "tags": []}, "page_link": {"name": "page_link", "description": "URL destination of Facebook ads.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "template_page_link": {"name": "template_page_link", "description": "URL destination of Facebook dynamic ads.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "id": {"name": "id", "description": "Unique ID for an ad creative.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "Ad account ID for the account this ad creative belongs to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Name of this ad creative as seen in the ad account's library.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "url_tags": {"name": "url_tags", "description": "A set of query string parameters which will replace or be appended to urls clicked from page post ads, message of the post, and canvas app install creatives only.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "When the record was last synced by Fivetran.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "asset_feed_spec_link_urls": {"name": "asset_feed_spec_link_urls", "description": "Link to the asset feed spec", "meta": {}, "data_type": null, "quote": null, "tags": []}, "object_story_link_data_child_attachments": {"name": "object_story_link_data_child_attachments", "description": "Link of the object story child attachments", "meta": {}, "data_type": null, "quote": null, "tags": []}, "object_story_link_data_caption": {"name": "object_story_link_data_caption", "description": "Link of the object story caption", "meta": {}, "data_type": null, "quote": null, "tags": []}, "object_story_link_data_description": {"name": "object_story_link_data_description", "description": "Link of the object story description", "meta": {}, "data_type": null, "quote": null, "tags": []}, "object_story_link_data_link": {"name": "object_story_link_data_link", "description": "Link of the object story link", "meta": {}, "data_type": null, "quote": null, "tags": []}, "object_story_link_data_message": {"name": "object_story_link_data_message", "description": "Link of the object story message", "meta": {}, "data_type": null, "quote": null, "tags": []}, "template_app_link_spec_ios": {"name": "template_app_link_spec_ios", "description": "Link of the object story spec for ios", "meta": {}, "data_type": null, "quote": null, "tags": []}, "template_app_link_spec_ipad": {"name": "template_app_link_spec_ipad", "description": "Link of the template app spec for ipad", "meta": {}, "data_type": null, "quote": null, "tags": []}, "template_app_link_spec_android": {"name": "template_app_link_spec_android", "description": "Link of the template app for android", "meta": {}, "data_type": null, "quote": null, "tags": []}, "template_app_link_spec_iphone": {"name": "template_app_link_spec_iphone", "description": "Link of the template app for iphone", "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`.`facebook_ads_integration_tests`.`facebook_ads_creative_history_data`", "created_at": 1671058921.5186281}}, "macros": {"macro.dbt_bigquery.date_sharded_table": {"unique_id": "macro.dbt_bigquery.date_sharded_table", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/etc.sql", "original_file_path": "macros/etc.sql", "name": "date_sharded_table", "macro_sql": "{% macro date_sharded_table(base_name) %}\n {{ return(base_name ~ \"[DBT__PARTITION_DATE]\") }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.659497, "supported_languages": null}, "macro.dbt_bigquery.grant_access_to": {"unique_id": "macro.dbt_bigquery.grant_access_to", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/etc.sql", "original_file_path": "macros/etc.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.6597362, "supported_languages": null}, "macro.dbt_bigquery.get_partitions_metadata": {"unique_id": "macro.dbt_bigquery.get_partitions_metadata", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/etc.sql", "original_file_path": "macros/etc.sql", "name": "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 -%}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.660017, "supported_languages": null}, "macro.dbt_bigquery.bigquery__get_catalog": {"unique_id": "macro.dbt_bigquery.bigquery__get_catalog", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/catalog.sql", "original_file_path": "macros/catalog.sql", "name": "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 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\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 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 %}", "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": 1671058920.663533, "supported_languages": null}, "macro.dbt_bigquery.partition_by": {"unique_id": "macro.dbt_bigquery.partition_by", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "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", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.667756, "supported_languages": null}, "macro.dbt_bigquery.cluster_by": {"unique_id": "macro.dbt_bigquery.cluster_by", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "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", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.6681652, "supported_languages": null}, "macro.dbt_bigquery.bigquery_options": {"unique_id": "macro.dbt_bigquery.bigquery_options", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "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", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.668522, "supported_languages": null}, "macro.dbt_bigquery.bigquery_table_options": {"unique_id": "macro.dbt_bigquery.bigquery_table_options", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "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", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery_options"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.668789, "supported_languages": null}, "macro.dbt_bigquery.bigquery__create_table_as": {"unique_id": "macro.dbt_bigquery.bigquery__create_table_as", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "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", "resource_type": "macro", "tags": [], "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": 1671058920.669764, "supported_languages": null}, "macro.dbt_bigquery.bigquery_view_options": {"unique_id": "macro.dbt_bigquery.bigquery_view_options", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "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", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery_options"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.669997, "supported_languages": null}, "macro.dbt_bigquery.bigquery__create_view_as": {"unique_id": "macro.dbt_bigquery.bigquery__create_view_as", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery_view_options"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.670309, "supported_languages": null}, "macro.dbt_bigquery.bigquery__drop_schema": {"unique_id": "macro.dbt_bigquery.bigquery__drop_schema", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "bigquery__drop_schema", "macro_sql": "{% macro bigquery__drop_schema(relation) -%}\n {{ adapter.drop_schema(relation) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.6704361, "supported_languages": null}, "macro.dbt_bigquery.bigquery__drop_relation": {"unique_id": "macro.dbt_bigquery.bigquery__drop_relation", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.670625, "supported_languages": null}, "macro.dbt_bigquery.bigquery__get_columns_in_relation": {"unique_id": "macro.dbt_bigquery.bigquery__get_columns_in_relation", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "bigquery__get_columns_in_relation", "macro_sql": "{% macro bigquery__get_columns_in_relation(relation) -%}\n {{ return(adapter.get_columns_in_relation(relation)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.670773, "supported_languages": null}, "macro.dbt_bigquery.bigquery__list_relations_without_caching": {"unique_id": "macro.dbt_bigquery.bigquery__list_relations_without_caching", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.670918, "supported_languages": null}, "macro.dbt_bigquery.bigquery__list_schemas": {"unique_id": "macro.dbt_bigquery.bigquery__list_schemas", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "bigquery__list_schemas", "macro_sql": "{% macro bigquery__list_schemas(database) -%}\n {{ return(adapter.list_schemas(database)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.671062, "supported_languages": null}, "macro.dbt_bigquery.bigquery__check_schema_exists": {"unique_id": "macro.dbt_bigquery.bigquery__check_schema_exists", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.671232, "supported_languages": null}, "macro.dbt_bigquery.bigquery__persist_docs": {"unique_id": "macro.dbt_bigquery.bigquery__persist_docs", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.alter_column_comment"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.671568, "supported_languages": null}, "macro.dbt_bigquery.bigquery__alter_column_comment": {"unique_id": "macro.dbt_bigquery.bigquery__alter_column_comment", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "bigquery__alter_column_comment", "macro_sql": "{% macro bigquery__alter_column_comment(relation, column_dict) -%}\n {% do adapter.update_columns(relation, column_dict) %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.671726, "supported_languages": null}, "macro.dbt_bigquery.bigquery__rename_relation": {"unique_id": "macro.dbt_bigquery.bigquery__rename_relation", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "bigquery__rename_relation", "macro_sql": "{% macro bigquery__rename_relation(from_relation, to_relation) -%}\n {% do adapter.rename_relation(from_relation, to_relation) %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.6718771, "supported_languages": null}, "macro.dbt_bigquery.bigquery__alter_relation_add_columns": {"unique_id": "macro.dbt_bigquery.bigquery__alter_relation_add_columns", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "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 %}", "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": 1671058920.672257, "supported_languages": null}, "macro.dbt_bigquery.bigquery__alter_relation_drop_columns": {"unique_id": "macro.dbt_bigquery.bigquery__alter_relation_drop_columns", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "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 %}", "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": 1671058920.672618, "supported_languages": null}, "macro.dbt_bigquery.bigquery__alter_column_type": {"unique_id": "macro.dbt_bigquery.bigquery__alter_column_type", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "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": 1671058920.673279, "supported_languages": null}, "macro.dbt_bigquery.bigquery__test_unique": {"unique_id": "macro.dbt_bigquery.bigquery__test_unique", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.6734421, "supported_languages": null}, "macro.dbt_bigquery.bigquery__upload_file": {"unique_id": "macro.dbt_bigquery.bigquery__upload_file", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.673719, "supported_languages": null}, "macro.dbt_bigquery.bigquery__create_csv_table": {"unique_id": "macro.dbt_bigquery.bigquery__create_csv_table", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/materializations/seed.sql", "original_file_path": "macros/materializations/seed.sql", "name": "bigquery__create_csv_table", "macro_sql": "{% macro bigquery__create_csv_table(model, agate_table) %}\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": 1671058920.674196, "supported_languages": null}, "macro.dbt_bigquery.bigquery__reset_csv_table": {"unique_id": "macro.dbt_bigquery.bigquery__reset_csv_table", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/materializations/seed.sql", "original_file_path": "macros/materializations/seed.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.674392, "supported_languages": null}, "macro.dbt_bigquery.bigquery__load_csv_rows": {"unique_id": "macro.dbt_bigquery.bigquery__load_csv_rows", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/materializations/seed.sql", "original_file_path": "macros/materializations/seed.sql", "name": "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 {% 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 %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.675012, "supported_languages": null}, "macro.dbt_bigquery.bigquery__handle_existing_table": {"unique_id": "macro.dbt_bigquery.bigquery__handle_existing_table", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/materializations/view.sql", "original_file_path": "macros/materializations/view.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.675655, "supported_languages": null}, "macro.dbt_bigquery.materialization_view_bigquery": {"unique_id": "macro.dbt_bigquery.materialization_view_bigquery", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/materializations/view.sql", "original_file_path": "macros/materializations/view.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "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": 1671058920.676307, "supported_languages": ["sql"]}, "macro.dbt_bigquery.materialization_table_bigquery": {"unique_id": "macro.dbt_bigquery.materialization_table_bigquery", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/materializations/table.sql", "original_file_path": "macros/materializations/table.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "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": 1671058920.679486, "supported_languages": ["sql", "python"]}, "macro.dbt_bigquery.py_write_table": {"unique_id": "macro.dbt_bigquery.py_write_table", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/materializations/table.sql", "original_file_path": "macros/materializations/table.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.67984, "supported_languages": null}, "macro.dbt_bigquery.materialization_copy_bigquery": {"unique_id": "macro.dbt_bigquery.materialization_copy_bigquery", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/materializations/copy.sql", "original_file_path": "macros/materializations/copy.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "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": 1671058920.681057, "supported_languages": ["sql"]}, "macro.dbt_bigquery.declare_dbt_max_partition": {"unique_id": "macro.dbt_bigquery.declare_dbt_max_partition", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/materializations/incremental.sql", "original_file_path": "macros/materializations/incremental.sql", "name": "declare_dbt_max_partition", "macro_sql": "{% macro declare_dbt_max_partition(relation, partition_by, complied_code, language='sql') %}\n\n {#-- TODO: revisit partitioning with python models --#}\n {%- if '_dbt_max_partition' in complied_code and language == 'sql' -%}\n\n declare _dbt_max_partition {{ partition_by.data_type }} default (\n select max({{ partition_by.field }}) from {{ this }}\n where {{ partition_by.field }} is not null\n );\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": 1671058920.6833222, "supported_languages": null}, "macro.dbt_bigquery.dbt_bigquery_validate_get_incremental_strategy": {"unique_id": "macro.dbt_bigquery.dbt_bigquery_validate_get_incremental_strategy", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/materializations/incremental.sql", "original_file_path": "macros/materializations/incremental.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.68375, "supported_languages": null}, "macro.dbt_bigquery.bq_insert_overwrite": {"unique_id": "macro.dbt_bigquery.bq_insert_overwrite", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/materializations/incremental.sql", "original_file_path": "macros/materializations/incremental.sql", "name": "bq_insert_overwrite", "macro_sql": "{% macro bq_insert_overwrite(\n tmp_relation, target_relation, sql, unique_key, partition_by, partitions, dest_columns, tmp_relation_exists\n) %}\n\n {% if partitions is not none and partitions != [] %} {# static #}\n\n {% set predicate -%}\n {{ partition_by.render(alias='DBT_INTERNAL_DEST') }} in (\n {{ partitions | join (', ') }}\n )\n {%- endset %}\n\n {%- set source_sql -%}\n (\n {{sql}}\n )\n {%- endset -%}\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 {% else %} {# dynamic #}\n\n {% set predicate -%}\n {{ partition_by.render(alias='DBT_INTERNAL_DEST') }} in unnest(dbt_partitions_for_replacement)\n {%- endset %}\n\n {%- set source_sql -%}\n (\n select * 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 }}>;\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\n {{ create_table_as(True, tmp_relation, compiled_code) }}\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() }})\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 %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.get_insert_overwrite_merge_sql", "macro.dbt_bigquery.declare_dbt_max_partition", "macro.dbt.create_table_as"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.684924, "supported_languages": null}, "macro.dbt_bigquery.bq_generate_incremental_build_sql": {"unique_id": "macro.dbt_bigquery.bq_generate_incremental_build_sql", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/materializations/incremental.sql", "original_file_path": "macros/materializations/incremental.sql", "name": "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\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 missing_partition_msg -%}\n The 'insert_overwrite' strategy requires the `partition_by` config.\n {%- endset %}\n {% if partition_by is none %}\n {% do exceptions.raise_compiler_error(missing_partition_msg) %}\n {% endif %}\n\n {% set build_sql = bq_insert_overwrite(\n tmp_relation, target_relation, sql, unique_key, partition_by, partitions, dest_columns, tmp_relation_exists\n ) %}\n\n {% else %} {# strategy == 'merge' #}\n {%- set source_sql -%}\n {%- if tmp_relation_exists -%}\n (\n select * from {{ tmp_relation }}\n )\n {%- else -%} {#-- wrap sql in parens to make it a subquery --#}\n (\n {{sql}}\n )\n {%- endif -%}\n {%- endset -%}\n\n {% set build_sql = get_merge_sql(target_relation, source_sql, unique_key, dest_columns) %}\n\n {% endif %}\n\n {{ return(build_sql) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bq_insert_overwrite", "macro.dbt.get_merge_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.685743, "supported_languages": null}, "macro.dbt_bigquery.materialization_incremental_bigquery": {"unique_id": "macro.dbt_bigquery.materialization_incremental_bigquery", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/materializations/incremental.sql", "original_file_path": "macros/materializations/incremental.sql", "name": "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\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 {% if existing_relation is none %}\n {%- call statement('main', language=language) -%}\n {{ create_table_as(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 {{ create_table_as(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 {{ create_table_as(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 create_table_as(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 {% 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\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 %}", "resource_type": "macro", "tags": [], "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.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": 1671058920.689097, "supported_languages": ["sql", "python"]}, "macro.dbt_bigquery.bigquery__snapshot_hash_arguments": {"unique_id": "macro.dbt_bigquery.bigquery__snapshot_hash_arguments", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/materializations/snapshot.sql", "original_file_path": "macros/materializations/snapshot.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.68957, "supported_languages": null}, "macro.dbt_bigquery.bigquery__create_columns": {"unique_id": "macro.dbt_bigquery.bigquery__create_columns", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/materializations/snapshot.sql", "original_file_path": "macros/materializations/snapshot.sql", "name": "bigquery__create_columns", "macro_sql": "{% macro bigquery__create_columns(relation, columns) %}\n {{ adapter.alter_table_add_columns(relation, columns) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.689721, "supported_languages": null}, "macro.dbt_bigquery.bigquery__post_snapshot": {"unique_id": "macro.dbt_bigquery.bigquery__post_snapshot", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/materializations/snapshot.sql", "original_file_path": "macros/materializations/snapshot.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.drop_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.689852, "supported_languages": null}, "macro.dbt_bigquery.bigquery__except": {"unique_id": "macro.dbt_bigquery.bigquery__except", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/utils/except.sql", "original_file_path": "macros/utils/except.sql", "name": "bigquery__except", "macro_sql": "{% macro bigquery__except() %}\n\n except distinct\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.6900191, "supported_languages": null}, "macro.dbt_bigquery.bigquery__dateadd": {"unique_id": "macro.dbt_bigquery.bigquery__dateadd", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/utils/dateadd.sql", "original_file_path": "macros/utils/dateadd.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.690302, "supported_languages": null}, "macro.dbt_bigquery.bigquery__current_timestamp": {"unique_id": "macro.dbt_bigquery.bigquery__current_timestamp", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/utils/timestamps.sql", "original_file_path": "macros/utils/timestamps.sql", "name": "bigquery__current_timestamp", "macro_sql": "{% macro bigquery__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": 1671058920.690528, "supported_languages": null}, "macro.dbt_bigquery.bigquery__snapshot_string_as_time": {"unique_id": "macro.dbt_bigquery.bigquery__snapshot_string_as_time", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/utils/timestamps.sql", "original_file_path": "macros/utils/timestamps.sql", "name": "bigquery__snapshot_string_as_time", "macro_sql": "{% macro bigquery__snapshot_string_as_time(timestamp) -%}\n {%- set result = 'TIMESTAMP(\"' ~ timestamp ~ '\")' -%}\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": 1671058920.690701, "supported_languages": null}, "macro.dbt_bigquery.bigquery__current_timestamp_backcompat": {"unique_id": "macro.dbt_bigquery.bigquery__current_timestamp_backcompat", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/utils/timestamps.sql", "original_file_path": "macros/utils/timestamps.sql", "name": "bigquery__current_timestamp_backcompat", "macro_sql": "{% macro bigquery__current_timestamp_backcompat() -%}\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": 1671058920.690779, "supported_languages": null}, "macro.dbt_bigquery.bigquery__intersect": {"unique_id": "macro.dbt_bigquery.bigquery__intersect", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/utils/intersect.sql", "original_file_path": "macros/utils/intersect.sql", "name": "bigquery__intersect", "macro_sql": "{% macro bigquery__intersect() %}\n\n intersect distinct\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.69095, "supported_languages": null}, "macro.dbt_bigquery.bigquery__escape_single_quotes": {"unique_id": "macro.dbt_bigquery.bigquery__escape_single_quotes", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/utils/escape_single_quotes.sql", "original_file_path": "macros/utils/escape_single_quotes.sql", "name": "bigquery__escape_single_quotes", "macro_sql": "{% macro bigquery__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": 1671058920.691207, "supported_languages": null}, "macro.dbt_bigquery.bigquery__right": {"unique_id": "macro.dbt_bigquery.bigquery__right", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/utils/right.sql", "original_file_path": "macros/utils/right.sql", "name": "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 -%}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.6914911, "supported_languages": null}, "macro.dbt_bigquery.bigquery__listagg": {"unique_id": "macro.dbt_bigquery.bigquery__listagg", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/utils/listagg.sql", "original_file_path": "macros/utils/listagg.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.6919239, "supported_languages": null}, "macro.dbt_bigquery.bigquery__datediff": {"unique_id": "macro.dbt_bigquery.bigquery__datediff", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/utils/datediff.sql", "original_file_path": "macros/utils/datediff.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.datediff"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.692469, "supported_languages": null}, "macro.dbt_bigquery.bigquery__safe_cast": {"unique_id": "macro.dbt_bigquery.bigquery__safe_cast", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/utils/safe_cast.sql", "original_file_path": "macros/utils/safe_cast.sql", "name": "bigquery__safe_cast", "macro_sql": "{% macro bigquery__safe_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": 1671058920.692696, "supported_languages": null}, "macro.dbt_bigquery.bigquery__hash": {"unique_id": "macro.dbt_bigquery.bigquery__hash", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/utils/hash.sql", "original_file_path": "macros/utils/hash.sql", "name": "bigquery__hash", "macro_sql": "{% macro bigquery__hash(field) -%}\n to_hex({{dbt.default__hash(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": 1671058920.692925, "supported_languages": null}, "macro.dbt_bigquery.bigquery__position": {"unique_id": "macro.dbt_bigquery.bigquery__position", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/utils/position.sql", "original_file_path": "macros/utils/position.sql", "name": "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 -%}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.693156, "supported_languages": null}, "macro.dbt_bigquery.bigquery__array_concat": {"unique_id": "macro.dbt_bigquery.bigquery__array_concat", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/utils/array_concat.sql", "original_file_path": "macros/utils/array_concat.sql", "name": "bigquery__array_concat", "macro_sql": "{% macro bigquery__array_concat(array_1, array_2) -%}\n array_concat({{ 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": 1671058920.693381, "supported_languages": null}, "macro.dbt_bigquery.bigquery__bool_or": {"unique_id": "macro.dbt_bigquery.bigquery__bool_or", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/utils/bool_or.sql", "original_file_path": "macros/utils/bool_or.sql", "name": "bigquery__bool_or", "macro_sql": "{% macro bigquery__bool_or(expression) -%}\n\n logical_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": 1671058920.6935732, "supported_languages": null}, "macro.dbt_bigquery.bigquery__split_part": {"unique_id": "macro.dbt_bigquery.bigquery__split_part", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/utils/split_part.sql", "original_file_path": "macros/utils/split_part.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.694238, "supported_languages": null}, "macro.dbt_bigquery.bigquery__date_trunc": {"unique_id": "macro.dbt_bigquery.bigquery__date_trunc", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/utils/date_trunc.sql", "original_file_path": "macros/utils/date_trunc.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.694478, "supported_languages": null}, "macro.dbt_bigquery.bigquery__array_construct": {"unique_id": "macro.dbt_bigquery.bigquery__array_construct", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/utils/array_construct.sql", "original_file_path": "macros/utils/array_construct.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.694834, "supported_languages": null}, "macro.dbt_bigquery.bigquery__array_append": {"unique_id": "macro.dbt_bigquery.bigquery__array_append", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/utils/array_append.sql", "original_file_path": "macros/utils/array_append.sql", "name": "bigquery__array_append", "macro_sql": "{% macro bigquery__array_append(array, new_element) -%}\n {{ array_concat(array, array_construct([new_element])) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "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": 1671058920.695097, "supported_languages": null}, "macro.dbt_bigquery.bigquery__get_show_grant_sql": {"unique_id": "macro.dbt_bigquery.bigquery__get_show_grant_sql", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "name": "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 %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.6957572, "supported_languages": null}, "macro.dbt_bigquery.bigquery__get_grant_sql": {"unique_id": "macro.dbt_bigquery.bigquery__get_grant_sql", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "name": "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", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.6959932, "supported_languages": null}, "macro.dbt_bigquery.bigquery__get_revoke_sql": {"unique_id": "macro.dbt_bigquery.bigquery__get_revoke_sql", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.3.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "name": "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 -%}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.696224, "supported_languages": null}, "macro.dbt.run_hooks": {"unique_id": "macro.dbt.run_hooks", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.6973052, "supported_languages": null}, "macro.dbt.make_hook_config": {"unique_id": "macro.dbt.make_hook_config", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.697493, "supported_languages": null}, "macro.dbt.before_begin": {"unique_id": "macro.dbt.before_begin", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.6976352, "supported_languages": null}, "macro.dbt.in_transaction": {"unique_id": "macro.dbt.in_transaction", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.6977742, "supported_languages": null}, "macro.dbt.after_commit": {"unique_id": "macro.dbt.after_commit", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.6979132, "supported_languages": null}, "macro.dbt.set_sql_header": {"unique_id": "macro.dbt.set_sql_header", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.6983309, "supported_languages": null}, "macro.dbt.should_full_refresh": {"unique_id": "macro.dbt.should_full_refresh", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.6986182, "supported_languages": null}, "macro.dbt.should_store_failures": {"unique_id": "macro.dbt.should_store_failures", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.698909, "supported_languages": null}, "macro.dbt.snapshot_merge_sql": {"unique_id": "macro.dbt.snapshot_merge_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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.default__snapshot_merge_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.699384, "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-bigquery/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": 1671058920.6996422, "supported_languages": null}, "macro.dbt.strategy_dispatch": {"unique_id": "macro.dbt.strategy_dispatch", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.702914, "supported_languages": null}, "macro.dbt.snapshot_hash_arguments": {"unique_id": "macro.dbt.snapshot_hash_arguments", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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_bigquery.bigquery__snapshot_hash_arguments"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.703079, "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-bigquery/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": 1671058920.703295, "supported_languages": null}, "macro.dbt.snapshot_timestamp_strategy": {"unique_id": "macro.dbt.snapshot_timestamp_strategy", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.70398, "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-bigquery/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_bigquery.bigquery__snapshot_string_as_time"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.704143, "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-bigquery/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": 1671058920.704308, "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-bigquery/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": 1671058920.705628, "supported_languages": null}, "macro.dbt.snapshot_check_strategy": {"unique_id": "macro.dbt.snapshot_check_strategy", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.706963, "supported_languages": null}, "macro.dbt.create_columns": {"unique_id": "macro.dbt.create_columns", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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_bigquery.bigquery__create_columns"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.710907, "supported_languages": null}, "macro.dbt.default__create_columns": {"unique_id": "macro.dbt.default__create_columns", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.711197, "supported_languages": null}, "macro.dbt.post_snapshot": {"unique_id": "macro.dbt.post_snapshot", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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_bigquery.bigquery__post_snapshot"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.711366, "supported_languages": null}, "macro.dbt.default__post_snapshot": {"unique_id": "macro.dbt.default__post_snapshot", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.711452, "supported_languages": null}, "macro.dbt.get_true_sql": {"unique_id": "macro.dbt.get_true_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.711596, "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-bigquery/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": 1671058920.711714, "supported_languages": null}, "macro.dbt.snapshot_staging_table": {"unique_id": "macro.dbt.snapshot_staging_table", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.7119172, "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-bigquery/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": 1671058920.712781, "supported_languages": null}, "macro.dbt.build_snapshot_table": {"unique_id": "macro.dbt.build_snapshot_table", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.712971, "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-bigquery/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": 1671058920.713217, "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-bigquery/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": 1671058920.7136362, "supported_languages": null}, "macro.dbt.materialization_snapshot_default": {"unique_id": "macro.dbt.materialization_snapshot_default", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.719371, "supported_languages": ["sql"]}, "macro.dbt.materialization_test_default": {"unique_id": "macro.dbt.materialization_test_default", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.7213702, "supported_languages": ["sql"]}, "macro.dbt.get_test_sql": {"unique_id": "macro.dbt.get_test_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.721865, "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-bigquery/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": 1671058920.7221608, "supported_languages": null}, "macro.dbt.get_where_subquery": {"unique_id": "macro.dbt.get_where_subquery", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.722579, "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-bigquery/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": 1671058920.722944, "supported_languages": null}, "macro.dbt.get_quoted_csv": {"unique_id": "macro.dbt.get_quoted_csv", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.72444, "supported_languages": null}, "macro.dbt.diff_columns": {"unique_id": "macro.dbt.diff_columns", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.724969, "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-bigquery/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": 1671058920.725607, "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-bigquery/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": 1671058920.725833, "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-bigquery/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": 1671058920.726518, "supported_languages": null}, "macro.dbt.get_merge_sql": {"unique_id": "macro.dbt.get_merge_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.730589, "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-bigquery/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": 1671058920.732136, "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-bigquery/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": 1671058920.7323678, "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-bigquery/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": 1671058920.733071, "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-bigquery/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": 1671058920.7333279, "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-bigquery/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": 1671058920.733946, "supported_languages": null}, "macro.dbt.is_incremental": {"unique_id": "macro.dbt.is_incremental", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.734625, "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-bigquery/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": 1671058920.735483, "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-bigquery/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": 1671058920.735708, "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-bigquery/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": 1671058920.7358878, "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-bigquery/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": 1671058920.73614, "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-bigquery/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": 1671058920.736313, "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-bigquery/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": 1671058920.736566, "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-bigquery/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": 1671058920.736746, "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-bigquery/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": 1671058920.737001, "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-bigquery/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.default__get_incremental_default_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.7371788, "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-bigquery/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": 1671058920.737323, "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-bigquery/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": 1671058920.737588, "supported_languages": null}, "macro.dbt.materialization_incremental_default": {"unique_id": "macro.dbt.materialization_incremental_default", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.742282, "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-bigquery/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": 1671058920.7472608, "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-bigquery/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": 1671058920.748427, "supported_languages": null}, "macro.dbt.sync_column_schemas": {"unique_id": "macro.dbt.sync_column_schemas", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.749567, "supported_languages": null}, "macro.dbt.process_schema_changes": {"unique_id": "macro.dbt.process_schema_changes", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.750376, "supported_languages": null}, "macro.dbt.materialization_table_default": {"unique_id": "macro.dbt.materialization_table_default", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.752834, "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-bigquery/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": 1671058920.753375, "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-bigquery/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": 1671058920.753556, "supported_languages": null}, "macro.dbt.create_table_as": {"unique_id": "macro.dbt.create_table_as", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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_bigquery.bigquery__create_table_as"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.753979, "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-bigquery/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": 1671058920.754373, "supported_languages": null}, "macro.dbt.materialization_view_default": {"unique_id": "macro.dbt.materialization_view_default", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.756824, "supported_languages": ["sql"]}, "macro.dbt.handle_existing_table": {"unique_id": "macro.dbt.handle_existing_table", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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_bigquery.bigquery__handle_existing_table"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.757173, "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-bigquery/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": 1671058920.757389, "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-bigquery/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": 1671058920.758852, "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-bigquery/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": 1671058920.759257, "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-bigquery/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": 1671058920.759412, "supported_languages": null}, "macro.dbt.create_view_as": {"unique_id": "macro.dbt.create_view_as", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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_bigquery.bigquery__create_view_as"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.759584, "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-bigquery/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": 1671058920.759836, "supported_languages": null}, "macro.dbt.materialization_seed_default": {"unique_id": "macro.dbt.materialization_seed_default", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.762957, "supported_languages": ["sql"]}, "macro.dbt.create_csv_table": {"unique_id": "macro.dbt.create_csv_table", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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_bigquery.bigquery__create_csv_table"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.76739, "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-bigquery/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": 1671058920.768246, "supported_languages": null}, "macro.dbt.reset_csv_table": {"unique_id": "macro.dbt.reset_csv_table", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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_bigquery.bigquery__reset_csv_table"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.7684731, "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-bigquery/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": 1671058920.768936, "supported_languages": null}, "macro.dbt.get_csv_sql": {"unique_id": "macro.dbt.get_csv_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.76912, "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-bigquery/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": 1671058920.769245, "supported_languages": null}, "macro.dbt.get_binding_char": {"unique_id": "macro.dbt.get_binding_char", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.7693791, "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-bigquery/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": 1671058920.769491, "supported_languages": null}, "macro.dbt.get_batch_size": {"unique_id": "macro.dbt.get_batch_size", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.769641, "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-bigquery/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": 1671058920.7697542, "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-bigquery/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": 1671058920.770208, "supported_languages": null}, "macro.dbt.load_csv_rows": {"unique_id": "macro.dbt.load_csv_rows", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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_bigquery.bigquery__load_csv_rows"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.7704058, "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-bigquery/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": 1671058920.7716181, "supported_languages": null}, "macro.dbt.generate_alias_name": {"unique_id": "macro.dbt.generate_alias_name", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.772054, "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-bigquery/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": 1671058920.7722728, "supported_languages": null}, "macro.dbt.generate_schema_name": {"unique_id": "macro.dbt.generate_schema_name", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.772822, "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-bigquery/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": 1671058920.77307, "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-bigquery/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": 1671058920.773343, "supported_languages": null}, "macro.dbt.generate_database_name": {"unique_id": "macro.dbt.generate_database_name", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.773777, "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-bigquery/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": 1671058920.774016, "supported_languages": null}, "macro.dbt.default__test_relationships": {"unique_id": "macro.dbt.default__test_relationships", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.774405, "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-bigquery/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": 1671058920.774755, "supported_languages": null}, "macro.dbt.default__test_unique": {"unique_id": "macro.dbt.default__test_unique", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.775054, "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-bigquery/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": 1671058920.77565, "supported_languages": null}, "macro.dbt.statement": {"unique_id": "macro.dbt.statement", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.7771049, "supported_languages": null}, "macro.dbt.noop_statement": {"unique_id": "macro.dbt.noop_statement", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.777836, "supported_languages": null}, "macro.dbt.run_query": {"unique_id": "macro.dbt.run_query", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.77812, "supported_languages": null}, "macro.dbt.convert_datetime": {"unique_id": "macro.dbt.convert_datetime", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.7798212, "supported_languages": null}, "macro.dbt.dates_in_range": {"unique_id": "macro.dbt.dates_in_range", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.7809432, "supported_languages": null}, "macro.dbt.partition_range": {"unique_id": "macro.dbt.partition_range", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.781659, "supported_languages": null}, "macro.dbt.py_current_timestring": {"unique_id": "macro.dbt.py_current_timestring", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.7818828, "supported_languages": null}, "macro.dbt.except": {"unique_id": "macro.dbt.except", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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_bigquery.bigquery__except"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.7821739, "supported_languages": null}, "macro.dbt.default__except": {"unique_id": "macro.dbt.default__except", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.7822459, "supported_languages": null}, "macro.dbt.replace": {"unique_id": "macro.dbt.replace", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.782623, "supported_languages": null}, "macro.dbt.default__replace": {"unique_id": "macro.dbt.default__replace", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.782783, "supported_languages": null}, "macro.dbt.concat": {"unique_id": "macro.dbt.concat", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.7830799, "supported_languages": null}, "macro.dbt.default__concat": {"unique_id": "macro.dbt.default__concat", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.783199, "supported_languages": null}, "macro.dbt.length": {"unique_id": "macro.dbt.length", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.783503, "supported_languages": null}, "macro.dbt.default__length": {"unique_id": "macro.dbt.default__length", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.783606, "supported_languages": null}, "macro.dbt.dateadd": {"unique_id": "macro.dbt.dateadd", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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_bigquery.bigquery__dateadd"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.783991, "supported_languages": null}, "macro.dbt.default__dateadd": {"unique_id": "macro.dbt.default__dateadd", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.7841449, "supported_languages": null}, "macro.dbt.intersect": {"unique_id": "macro.dbt.intersect", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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_bigquery.bigquery__intersect"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.784422, "supported_languages": null}, "macro.dbt.default__intersect": {"unique_id": "macro.dbt.default__intersect", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.7844968, "supported_languages": null}, "macro.dbt.escape_single_quotes": {"unique_id": "macro.dbt.escape_single_quotes", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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_bigquery.bigquery__escape_single_quotes"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.784811, "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-bigquery/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": 1671058920.784943, "supported_languages": null}, "macro.dbt.right": {"unique_id": "macro.dbt.right", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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_bigquery.bigquery__right"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.785284, "supported_languages": null}, "macro.dbt.default__right": {"unique_id": "macro.dbt.default__right", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.7854779, "supported_languages": null}, "macro.dbt.listagg": {"unique_id": "macro.dbt.listagg", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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_bigquery.bigquery__listagg"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.786121, "supported_languages": null}, "macro.dbt.default__listagg": {"unique_id": "macro.dbt.default__listagg", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.786505, "supported_languages": null}, "macro.dbt.datediff": {"unique_id": "macro.dbt.datediff", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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_bigquery.bigquery__datediff"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.78689, "supported_languages": null}, "macro.dbt.default__datediff": {"unique_id": "macro.dbt.default__datediff", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.787049, "supported_languages": null}, "macro.dbt.safe_cast": {"unique_id": "macro.dbt.safe_cast", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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_bigquery.bigquery__safe_cast"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.7873878, "supported_languages": null}, "macro.dbt.default__safe_cast": {"unique_id": "macro.dbt.default__safe_cast", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.787524, "supported_languages": null}, "macro.dbt.hash": {"unique_id": "macro.dbt.hash", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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_bigquery.bigquery__hash"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.787832, "supported_languages": null}, "macro.dbt.default__hash": {"unique_id": "macro.dbt.default__hash", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.787984, "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-bigquery/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": 1671058920.788277, "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-bigquery/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": 1671058920.788428, "supported_languages": null}, "macro.dbt.any_value": {"unique_id": "macro.dbt.any_value", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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.default__any_value"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.788725, "supported_languages": null}, "macro.dbt.default__any_value": {"unique_id": "macro.dbt.default__any_value", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.788828, "supported_languages": null}, "macro.dbt.position": {"unique_id": "macro.dbt.position", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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_bigquery.bigquery__position"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.789166, "supported_languages": null}, "macro.dbt.default__position": {"unique_id": "macro.dbt.default__position", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.7892962, "supported_languages": null}, "macro.dbt.string_literal": {"unique_id": "macro.dbt.string_literal", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.789588, "supported_languages": null}, "macro.dbt.default__string_literal": {"unique_id": "macro.dbt.default__string_literal", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.789686, "supported_languages": null}, "macro.dbt.type_string": {"unique_id": "macro.dbt.type_string", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.7906072, "supported_languages": null}, "macro.dbt.default__type_string": {"unique_id": "macro.dbt.default__type_string", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.790751, "supported_languages": null}, "macro.dbt.type_timestamp": {"unique_id": "macro.dbt.type_timestamp", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.790966, "supported_languages": null}, "macro.dbt.default__type_timestamp": {"unique_id": "macro.dbt.default__type_timestamp", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.791115, "supported_languages": null}, "macro.dbt.type_float": {"unique_id": "macro.dbt.type_float", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.791274, "supported_languages": null}, "macro.dbt.default__type_float": {"unique_id": "macro.dbt.default__type_float", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.7914162, "supported_languages": null}, "macro.dbt.type_numeric": {"unique_id": "macro.dbt.type_numeric", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.791569, "supported_languages": null}, "macro.dbt.default__type_numeric": {"unique_id": "macro.dbt.default__type_numeric", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.791738, "supported_languages": null}, "macro.dbt.type_bigint": {"unique_id": "macro.dbt.type_bigint", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.7918952, "supported_languages": null}, "macro.dbt.default__type_bigint": {"unique_id": "macro.dbt.default__type_bigint", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.7920399, "supported_languages": null}, "macro.dbt.type_int": {"unique_id": "macro.dbt.type_int", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.792196, "supported_languages": null}, "macro.dbt.default__type_int": {"unique_id": "macro.dbt.default__type_int", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.7923331, "supported_languages": null}, "macro.dbt.type_boolean": {"unique_id": "macro.dbt.type_boolean", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.7924852, "supported_languages": null}, "macro.dbt.default__type_boolean": {"unique_id": "macro.dbt.default__type_boolean", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.792623, "supported_languages": null}, "macro.dbt.array_concat": {"unique_id": "macro.dbt.array_concat", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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_bigquery.bigquery__array_concat"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.7929542, "supported_languages": null}, "macro.dbt.default__array_concat": {"unique_id": "macro.dbt.default__array_concat", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.793082, "supported_languages": null}, "macro.dbt.bool_or": {"unique_id": "macro.dbt.bool_or", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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_bigquery.bigquery__bool_or"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.793386, "supported_languages": null}, "macro.dbt.default__bool_or": {"unique_id": "macro.dbt.default__bool_or", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.7934852, "supported_languages": null}, "macro.dbt.last_day": {"unique_id": "macro.dbt.last_day", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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.default__last_day"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.793866, "supported_languages": null}, "macro.dbt.default_last_day": {"unique_id": "macro.dbt.default_last_day", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.794121, "supported_languages": null}, "macro.dbt.default__last_day": {"unique_id": "macro.dbt.default__last_day", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.794262, "supported_languages": null}, "macro.dbt.split_part": {"unique_id": "macro.dbt.split_part", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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_bigquery.bigquery__split_part"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.7948, "supported_languages": null}, "macro.dbt.default__split_part": {"unique_id": "macro.dbt.default__split_part", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.7949572, "supported_languages": null}, "macro.dbt._split_part_negative": {"unique_id": "macro.dbt._split_part_negative", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.795233, "supported_languages": null}, "macro.dbt.date_trunc": {"unique_id": "macro.dbt.date_trunc", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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_bigquery.bigquery__date_trunc"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.79556, "supported_languages": null}, "macro.dbt.default__date_trunc": {"unique_id": "macro.dbt.default__date_trunc", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.795684, "supported_languages": null}, "macro.dbt.array_construct": {"unique_id": "macro.dbt.array_construct", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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_bigquery.bigquery__array_construct"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.796098, "supported_languages": null}, "macro.dbt.default__array_construct": {"unique_id": "macro.dbt.default__array_construct", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.796333, "supported_languages": null}, "macro.dbt.array_append": {"unique_id": "macro.dbt.array_append", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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_bigquery.bigquery__array_append"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.796661, "supported_languages": null}, "macro.dbt.default__array_append": {"unique_id": "macro.dbt.default__array_append", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.7967958, "supported_languages": null}, "macro.dbt.create_schema": {"unique_id": "macro.dbt.create_schema", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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.default__create_schema"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.797209, "supported_languages": null}, "macro.dbt.default__create_schema": {"unique_id": "macro.dbt.default__create_schema", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.797385, "supported_languages": null}, "macro.dbt.drop_schema": {"unique_id": "macro.dbt.drop_schema", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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_bigquery.bigquery__drop_schema"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.797544, "supported_languages": null}, "macro.dbt.default__drop_schema": {"unique_id": "macro.dbt.default__drop_schema", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.797719, "supported_languages": null}, "macro.dbt.current_timestamp": {"unique_id": "macro.dbt.current_timestamp", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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_bigquery.bigquery__current_timestamp"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.798228, "supported_languages": null}, "macro.dbt.default__current_timestamp": {"unique_id": "macro.dbt.default__current_timestamp", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.798381, "supported_languages": null}, "macro.dbt.snapshot_get_time": {"unique_id": "macro.dbt.snapshot_get_time", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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.default__snapshot_get_time"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.798517, "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-bigquery/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": 1671058920.798618, "supported_languages": null}, "macro.dbt.current_timestamp_backcompat": {"unique_id": "macro.dbt.current_timestamp_backcompat", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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_bigquery.bigquery__current_timestamp_backcompat"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.7987761, "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-bigquery/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": 1671058920.798847, "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-bigquery/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.default__current_timestamp_in_utc_backcompat"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.7990022, "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-bigquery/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_bigquery.bigquery__current_timestamp_backcompat"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.799165, "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-bigquery/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.default__get_create_index_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.799648, "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-bigquery/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": 1671058920.799854, "supported_languages": null}, "macro.dbt.create_indexes": {"unique_id": "macro.dbt.create_indexes", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.800004, "supported_languages": null}, "macro.dbt.default__create_indexes": {"unique_id": "macro.dbt.default__create_indexes", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.80039, "supported_languages": null}, "macro.dbt.make_intermediate_relation": {"unique_id": "macro.dbt.make_intermediate_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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.default__make_intermediate_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.8033888, "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-bigquery/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": 1671058920.803553, "supported_languages": null}, "macro.dbt.make_temp_relation": {"unique_id": "macro.dbt.make_temp_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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.default__make_temp_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.803763, "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-bigquery/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": 1671058920.804042, "supported_languages": null}, "macro.dbt.make_backup_relation": {"unique_id": "macro.dbt.make_backup_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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.default__make_backup_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.804277, "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-bigquery/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": 1671058920.8045812, "supported_languages": null}, "macro.dbt.drop_relation": {"unique_id": "macro.dbt.drop_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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_bigquery.bigquery__drop_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.804755, "supported_languages": null}, "macro.dbt.default__drop_relation": {"unique_id": "macro.dbt.default__drop_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.8049622, "supported_languages": null}, "macro.dbt.truncate_relation": {"unique_id": "macro.dbt.truncate_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.805133, "supported_languages": null}, "macro.dbt.default__truncate_relation": {"unique_id": "macro.dbt.default__truncate_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.8052878, "supported_languages": null}, "macro.dbt.rename_relation": {"unique_id": "macro.dbt.rename_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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_bigquery.bigquery__rename_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.805482, "supported_languages": null}, "macro.dbt.default__rename_relation": {"unique_id": "macro.dbt.default__rename_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.805749, "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-bigquery/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": 1671058920.8059862, "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-bigquery/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": 1671058920.806509, "supported_languages": null}, "macro.dbt.load_cached_relation": {"unique_id": "macro.dbt.load_cached_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.8067908, "supported_languages": null}, "macro.dbt.load_relation": {"unique_id": "macro.dbt.load_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.806928, "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-bigquery/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": 1671058920.807116, "supported_languages": null}, "macro.dbt.collect_freshness": {"unique_id": "macro.dbt.collect_freshness", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.807575, "supported_languages": null}, "macro.dbt.default__collect_freshness": {"unique_id": "macro.dbt.default__collect_freshness", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.8079739, "supported_languages": null}, "macro.dbt.copy_grants": {"unique_id": "macro.dbt.copy_grants", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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.default__copy_grants"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.809576, "supported_languages": null}, "macro.dbt.default__copy_grants": {"unique_id": "macro.dbt.default__copy_grants", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.809692, "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-bigquery/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": 1671058920.809852, "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-bigquery/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": 1671058920.80996, "supported_languages": null}, "macro.dbt.should_revoke": {"unique_id": "macro.dbt.should_revoke", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.810293, "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-bigquery/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_bigquery.bigquery__get_show_grant_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.810475, "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-bigquery/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": 1671058920.810573, "supported_languages": null}, "macro.dbt.get_grant_sql": {"unique_id": "macro.dbt.get_grant_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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_bigquery.bigquery__get_grant_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.8107882, "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-bigquery/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": 1671058920.81097, "supported_languages": null}, "macro.dbt.get_revoke_sql": {"unique_id": "macro.dbt.get_revoke_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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_bigquery.bigquery__get_revoke_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.8111858, "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-bigquery/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": 1671058920.81136, "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-bigquery/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": 1671058920.811579, "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-bigquery/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": 1671058920.812225, "supported_languages": null}, "macro.dbt.call_dcl_statements": {"unique_id": "macro.dbt.call_dcl_statements", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.812465, "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-bigquery/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": 1671058920.812703, "supported_languages": null}, "macro.dbt.apply_grants": {"unique_id": "macro.dbt.apply_grants", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.8129249, "supported_languages": null}, "macro.dbt.default__apply_grants": {"unique_id": "macro.dbt.default__apply_grants", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.8140109, "supported_languages": null}, "macro.dbt.alter_column_comment": {"unique_id": "macro.dbt.alter_column_comment", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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_bigquery.bigquery__alter_column_comment"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.814713, "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-bigquery/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": 1671058920.814875, "supported_languages": null}, "macro.dbt.alter_relation_comment": {"unique_id": "macro.dbt.alter_relation_comment", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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.default__alter_relation_comment"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.8150709, "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-bigquery/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": 1671058920.815233, "supported_languages": null}, "macro.dbt.persist_docs": {"unique_id": "macro.dbt.persist_docs", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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_bigquery.bigquery__persist_docs"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.81549, "supported_languages": null}, "macro.dbt.default__persist_docs": {"unique_id": "macro.dbt.default__persist_docs", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.815957, "supported_languages": null}, "macro.dbt.get_catalog": {"unique_id": "macro.dbt.get_catalog", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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_bigquery.bigquery__get_catalog"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.817363, "supported_languages": null}, "macro.dbt.default__get_catalog": {"unique_id": "macro.dbt.default__get_catalog", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.817615, "supported_languages": null}, "macro.dbt.information_schema_name": {"unique_id": "macro.dbt.information_schema_name", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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.default__information_schema_name"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.817796, "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-bigquery/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": 1671058920.817943, "supported_languages": null}, "macro.dbt.list_schemas": {"unique_id": "macro.dbt.list_schemas", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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_bigquery.bigquery__list_schemas"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.818115, "supported_languages": null}, "macro.dbt.default__list_schemas": {"unique_id": "macro.dbt.default__list_schemas", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.818356, "supported_languages": null}, "macro.dbt.check_schema_exists": {"unique_id": "macro.dbt.check_schema_exists", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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_bigquery.bigquery__check_schema_exists"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.818552, "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-bigquery/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": 1671058920.818837, "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-bigquery/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_bigquery.bigquery__list_relations_without_caching"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.8190138, "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-bigquery/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": 1671058920.81917, "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-bigquery/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_bigquery.bigquery__get_columns_in_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.820766, "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-bigquery/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": 1671058920.820986, "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-bigquery/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": 1671058920.821286, "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-bigquery/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": 1671058920.8214579, "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-bigquery/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": 1671058920.8217869, "supported_languages": null}, "macro.dbt.alter_column_type": {"unique_id": "macro.dbt.alter_column_type", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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_bigquery.bigquery__alter_column_type"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.822009, "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-bigquery/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": 1671058920.822586, "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-bigquery/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": 1671058920.8228369, "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-bigquery/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": 1671058920.823591, "supported_languages": null}, "macro.dbt.build_ref_function": {"unique_id": "macro.dbt.build_ref_function", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.824994, "supported_languages": null}, "macro.dbt.build_source_function": {"unique_id": "macro.dbt.build_source_function", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.8254452, "supported_languages": null}, "macro.dbt.build_config_dict": {"unique_id": "macro.dbt.build_config_dict", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.825879, "supported_languages": null}, "macro.dbt.py_script_postfix": {"unique_id": "macro.dbt.py_script_postfix", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.8262668, "supported_languages": null}, "macro.dbt.py_script_comment": {"unique_id": "macro.dbt.py_script_comment", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.826337, "supported_languages": null}, "macro.dbt.test_unique": {"unique_id": "macro.dbt.test_unique", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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_bigquery.bigquery__test_unique"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.826894, "supported_languages": null}, "macro.dbt.test_not_null": {"unique_id": "macro.dbt.test_not_null", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.827112, "supported_languages": null}, "macro.dbt.test_accepted_values": {"unique_id": "macro.dbt.test_accepted_values", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.8273878, "supported_languages": null}, "macro.dbt.test_relationships": {"unique_id": "macro.dbt.test_relationships", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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": 1671058920.827651, "supported_languages": null}, "macro.dbt_utils.get_url_host": {"unique_id": "macro.dbt_utils.get_url_host", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.828044, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.8285599, "supported_languages": null}, "macro.dbt_utils.get_url_path": {"unique_id": "macro.dbt_utils.get_url_path", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.829067, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.829695, "supported_languages": null}, "macro.dbt_utils.get_url_parameter": {"unique_id": "macro.dbt_utils.get_url_parameter", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.830064, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.830372, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.831412, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.832383, "supported_languages": null}, "macro.dbt_utils.test_equal_rowcount": {"unique_id": "macro.dbt_utils.test_equal_rowcount", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.833232, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.834252, "supported_languages": null}, "macro.dbt_utils.test_relationships_where": {"unique_id": "macro.dbt_utils.test_relationships_where", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.834934, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.835259, "supported_languages": null}, "macro.dbt_utils.test_recency": {"unique_id": "macro.dbt_utils.test_recency", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.8360121, "supported_languages": null}, "macro.dbt_utils.default__test_recency": {"unique_id": "macro.dbt_utils.default__test_recency", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.836828, "supported_languages": null}, "macro.dbt_utils.test_not_constant": {"unique_id": "macro.dbt_utils.test_not_constant", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.8373141, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.837748, "supported_languages": null}, "macro.dbt_utils.test_accepted_range": {"unique_id": "macro.dbt_utils.test_accepted_range", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.838392, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.83885, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.839417, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.839846, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.840338, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.840786, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.841424, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.842046, "supported_languages": null}, "macro.dbt_utils.test_cardinality_equality": {"unique_id": "macro.dbt_utils.test_cardinality_equality", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.84262, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.842952, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.843394, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.843738, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.844396, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.8451881, "supported_languages": null}, "macro.dbt_utils.test_sequential_values": {"unique_id": "macro.dbt_utils.test_sequential_values", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.846071, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.846936, "supported_languages": null}, "macro.dbt_utils.test_equality": {"unique_id": "macro.dbt_utils.test_equality", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.847691, "supported_languages": null}, "macro.dbt_utils.default__test_equality": {"unique_id": "macro.dbt_utils.default__test_equality", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.8485389, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.849081, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.849371, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.852532, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.854062, "supported_languages": null}, "macro.dbt_utils.pretty_log_format": {"unique_id": "macro.dbt_utils.pretty_log_format", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.854399, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.854561, "supported_languages": null}, "macro.dbt_utils._is_relation": {"unique_id": "macro.dbt_utils._is_relation", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.855057, "supported_languages": null}, "macro.dbt_utils.pretty_time": {"unique_id": "macro.dbt_utils.pretty_time", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.855386, "supported_languages": null}, "macro.dbt_utils.default__pretty_time": {"unique_id": "macro.dbt_utils.default__pretty_time", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.855576, "supported_languages": null}, "macro.dbt_utils.log_info": {"unique_id": "macro.dbt_utils.log_info", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.8558831, "supported_languages": null}, "macro.dbt_utils.default__log_info": {"unique_id": "macro.dbt_utils.default__log_info", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.8560472, "supported_languages": null}, "macro.dbt_utils.slugify": {"unique_id": "macro.dbt_utils.slugify", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.856695, "supported_languages": null}, "macro.dbt_utils._is_ephemeral": {"unique_id": "macro.dbt_utils._is_ephemeral", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.8575518, "supported_languages": null}, "macro.dbt_utils.get_intervals_between": {"unique_id": "macro.dbt_utils.get_intervals_between", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.8582542, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.858826, "supported_languages": null}, "macro.dbt_utils.date_spine": {"unique_id": "macro.dbt_utils.date_spine", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.859051, "supported_languages": null}, "macro.dbt_utils.default__date_spine": {"unique_id": "macro.dbt_utils.default__date_spine", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.8594, "supported_languages": null}, "macro.dbt_utils.nullcheck_table": {"unique_id": "macro.dbt_utils.nullcheck_table", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.8597581, "supported_languages": null}, "macro.dbt_utils.default__nullcheck_table": {"unique_id": "macro.dbt_utils.default__nullcheck_table", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.860088, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.86078, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.86166, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.862497, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.8629, "supported_languages": null}, "macro.dbt_utils.generate_series": {"unique_id": "macro.dbt_utils.generate_series", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.863085, "supported_languages": null}, "macro.dbt_utils.default__generate_series": {"unique_id": "macro.dbt_utils.default__generate_series", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.86358, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.864269, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.8650858, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.865537, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.865816, "supported_languages": null}, "macro.dbt_utils.star": {"unique_id": "macro.dbt_utils.star", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.8670158, "supported_languages": null}, "macro.dbt_utils.default__star": {"unique_id": "macro.dbt_utils.default__star", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.8683798, "supported_languages": null}, "macro.dbt_utils.unpivot": {"unique_id": "macro.dbt_utils.unpivot", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.869664, "supported_languages": null}, "macro.dbt_utils.default__unpivot": {"unique_id": "macro.dbt_utils.default__unpivot", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.871386, "supported_languages": null}, "macro.dbt_utils.safe_divide": {"unique_id": "macro.dbt_utils.safe_divide", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.871732, "supported_languages": null}, "macro.dbt_utils.default__safe_divide": {"unique_id": "macro.dbt_utils.default__safe_divide", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.871858, "supported_languages": null}, "macro.dbt_utils.union_relations": {"unique_id": "macro.dbt_utils.union_relations", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.874732, "supported_languages": null}, "macro.dbt_utils.default__union_relations": {"unique_id": "macro.dbt_utils.default__union_relations", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.8780239, "supported_languages": null}, "macro.dbt_utils.group_by": {"unique_id": "macro.dbt_utils.group_by", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.878384, "supported_languages": null}, "macro.dbt_utils.default__group_by": {"unique_id": "macro.dbt_utils.default__group_by", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.878627, "supported_languages": null}, "macro.dbt_utils.deduplicate": {"unique_id": "macro.dbt_utils.deduplicate", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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.bigquery__deduplicate"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.879384, "supported_languages": null}, "macro.dbt_utils.default__deduplicate": {"unique_id": "macro.dbt_utils.default__deduplicate", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.879593, "supported_languages": null}, "macro.dbt_utils.redshift__deduplicate": {"unique_id": "macro.dbt_utils.redshift__deduplicate", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.879785, "supported_languages": null}, "macro.dbt_utils.postgres__deduplicate": {"unique_id": "macro.dbt_utils.postgres__deduplicate", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.879971, "supported_languages": null}, "macro.dbt_utils.snowflake__deduplicate": {"unique_id": "macro.dbt_utils.snowflake__deduplicate", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.8801322, "supported_languages": null}, "macro.dbt_utils.bigquery__deduplicate": {"unique_id": "macro.dbt_utils.bigquery__deduplicate", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.880297, "supported_languages": null}, "macro.dbt_utils.surrogate_key": {"unique_id": "macro.dbt_utils.surrogate_key", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.8807302, "supported_languages": null}, "macro.dbt_utils.default__surrogate_key": {"unique_id": "macro.dbt_utils.default__surrogate_key", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.88096, "supported_languages": null}, "macro.dbt_utils.safe_add": {"unique_id": "macro.dbt_utils.safe_add", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.8813791, "supported_languages": null}, "macro.dbt_utils.default__safe_add": {"unique_id": "macro.dbt_utils.default__safe_add", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.881907, "supported_languages": null}, "macro.dbt_utils.nullcheck": {"unique_id": "macro.dbt_utils.nullcheck", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.882294, "supported_languages": null}, "macro.dbt_utils.default__nullcheck": {"unique_id": "macro.dbt_utils.default__nullcheck", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.882619, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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.bigquery__get_tables_by_pattern_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.884198, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.884547, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.885303, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.885793, "supported_languages": null}, "macro.dbt_utils.get_column_values": {"unique_id": "macro.dbt_utils.get_column_values", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.886888, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.888329, "supported_languages": null}, "macro.dbt_utils.pivot": {"unique_id": "macro.dbt_utils.pivot", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.889388, "supported_languages": null}, "macro.dbt_utils.default__pivot": {"unique_id": "macro.dbt_utils.default__pivot", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.890199, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.8907049, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.891407, "supported_languages": null}, "macro.dbt_utils.width_bucket": {"unique_id": "macro.dbt_utils.width_bucket", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.89278, "supported_languages": null}, "macro.dbt_utils.default__width_bucket": {"unique_id": "macro.dbt_utils.default__width_bucket", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.893219, "supported_languages": null}, "macro.dbt_utils.redshift__width_bucket": {"unique_id": "macro.dbt_utils.redshift__width_bucket", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.8936598, "supported_languages": null}, "macro.dbt_utils.snowflake__width_bucket": {"unique_id": "macro.dbt_utils.snowflake__width_bucket", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.8938398, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.8942652, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.89484, "supported_languages": null}, "macro.dbt_utils.generate_surrogate_key": {"unique_id": "macro.dbt_utils.generate_surrogate_key", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.895329, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.895958, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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.default__get_table_types_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.896388, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.8965209, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.896655, "supported_languages": null}, "macro.dbt_utils.get_single_value": {"unique_id": "macro.dbt_utils.get_single_value", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.897197, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.897984, "supported_languages": null}, "macro.dbt_utils.degrees_to_radians": {"unique_id": "macro.dbt_utils.degrees_to_radians", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.899023, "supported_languages": null}, "macro.dbt_utils.haversine_distance": {"unique_id": "macro.dbt_utils.haversine_distance", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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.bigquery__haversine_distance"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.8992908, "supported_languages": null}, "macro.dbt_utils.default__haversine_distance": {"unique_id": "macro.dbt_utils.default__haversine_distance", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.899847, "supported_languages": null}, "macro.dbt_utils.bigquery__haversine_distance": {"unique_id": "macro.dbt_utils.bigquery__haversine_distance", "package_name": "dbt_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.900629, "supported_languages": null}, "macro.spark_utils.get_tables": {"unique_id": "macro.spark_utils.get_tables", "package_name": "spark_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.9053912, "supported_languages": null}, "macro.spark_utils.get_delta_tables": {"unique_id": "macro.spark_utils.get_delta_tables", "package_name": "spark_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.906063, "supported_languages": null}, "macro.spark_utils.get_statistic_columns": {"unique_id": "macro.spark_utils.get_statistic_columns", "package_name": "spark_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.906917, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.907616, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.908319, "supported_languages": null}, "macro.spark_utils.spark_analyze_tables": {"unique_id": "macro.spark_utils.spark_analyze_tables", "package_name": "spark_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.909239, "supported_languages": null}, "macro.spark_utils.spark__concat": {"unique_id": "macro.spark_utils.spark__concat", "package_name": "spark_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.9094799, "supported_languages": null}, "macro.spark_utils.spark__type_numeric": {"unique_id": "macro.spark_utils.spark__type_numeric", "package_name": "spark_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.909649, "supported_languages": null}, "macro.spark_utils.spark__dateadd": {"unique_id": "macro.spark_utils.spark__dateadd", "package_name": "spark_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.912339, "supported_languages": null}, "macro.spark_utils.spark__datediff": {"unique_id": "macro.spark_utils.spark__datediff", "package_name": "spark_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.919231, "supported_languages": null}, "macro.spark_utils.spark__current_timestamp": {"unique_id": "macro.spark_utils.spark__current_timestamp", "package_name": "spark_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.9194329, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.919504, "supported_languages": null}, "macro.spark_utils.spark__split_part": {"unique_id": "macro.spark_utils.spark__split_part", "package_name": "spark_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.9201028, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.921633, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.921953, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.922216, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.922473, "supported_languages": null}, "macro.spark_utils.assert_not_null": {"unique_id": "macro.spark_utils.assert_not_null", "package_name": "spark_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.922843, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.9230342, "supported_languages": null}, "macro.spark_utils.spark__convert_timezone": {"unique_id": "macro.spark_utils.spark__convert_timezone", "package_name": "spark_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.9232929, "supported_languages": null}, "macro.facebook_ads.get_url_tags_query": {"unique_id": "macro.facebook_ads.get_url_tags_query", "package_name": "facebook_ads", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "macros/get_url_tag_query.sql", "original_file_path": "macros/get_url_tag_query.sql", "name": "get_url_tags_query", "macro_sql": "{% macro get_url_tags_query() %}\n {{ return(adapter.dispatch('get_url_tags_query') ()) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.facebook_ads.bigquery__get_url_tags_query"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.92433, "supported_languages": null}, "macro.facebook_ads.bigquery__get_url_tags_query": {"unique_id": "macro.facebook_ads.bigquery__get_url_tags_query", "package_name": "facebook_ads", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "macros/get_url_tag_query.sql", "original_file_path": "macros/get_url_tag_query.sql", "name": "bigquery__get_url_tags_query", "macro_sql": "{% macro bigquery__get_url_tags_query() %}\n\n cleaned_json as (\n\n select\n _fivetran_id,\n creative_id,\n json_extract_array(replace(trim(url_tags, '\"'),'\\\\','')) as cleaned_url_tags\n from required_fields\n ), \n\n unnested as (\n\n select \n _fivetran_id, \n creative_id, \n url_tag_element\n from cleaned_json\n left join unnest(cleaned_url_tags) as url_tag_element\n where cleaned_url_tags is not null\n ), \n\n fields as (\n\n select\n _fivetran_id,\n creative_id,\n json_extract_scalar(url_tag_element, '$.key') as key,\n json_extract_scalar(url_tag_element, '$.value') as value,\n json_extract_scalar(url_tag_element, '$.type') as type\n from unnested\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": 1671058920.9244428, "supported_languages": null}, "macro.facebook_ads.postgres__get_url_tags_query": {"unique_id": "macro.facebook_ads.postgres__get_url_tags_query", "package_name": "facebook_ads", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "macros/get_url_tag_query.sql", "original_file_path": "macros/get_url_tag_query.sql", "name": "postgres__get_url_tags_query", "macro_sql": "{% macro postgres__get_url_tags_query() %}\n\n cleaned_json as (\n\n select\n _fivetran_id,\n creative_id,\n replace(trim(url_tags::text, '\"'),'\\\\','')::json as cleaned_url_tags\n from required_fields\n ), \n\n unnested as (\n\n select \n _fivetran_id, \n creative_id, \n url_tag_element\n from cleaned_json\n left join lateral json_array_elements(cleaned_url_tags) as url_tag_element on True\n where cleaned_url_tags is not null\n ), \n\n fields as (\n\n select\n _fivetran_id,\n creative_id,\n url_tag_element->>'key' as key,\n url_tag_element->>'value' as value,\n url_tag_element->>'type' as type\n from unnested\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": 1671058920.924552, "supported_languages": null}, "macro.facebook_ads.redshift__get_url_tags_query": {"unique_id": "macro.facebook_ads.redshift__get_url_tags_query", "package_name": "facebook_ads", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "macros/get_url_tag_query.sql", "original_file_path": "macros/get_url_tag_query.sql", "name": "redshift__get_url_tags_query", "macro_sql": "{% macro redshift__get_url_tags_query() %}\n\n numbers as (\n\n {{ dbt_utils.generate_series(upper_bound=1000) }}\n\n ), \n\n flattened_url_tags as (\n\n select\n _fivetran_id,\n creative_id,\n json_extract_array_element_text(required_fields.url_tags, numbers.generated_number::int - 1, true) as element\n from required_fields\n inner join numbers\n on json_array_length(required_fields.url_tags) >= numbers.generated_number\n ), \n\n fields as (\n\n select\n _fivetran_id,\n creative_id,\n json_extract_path_text(element,'key') as key,\n json_extract_path_text(element,'value') as value,\n json_extract_path_text(element,'type') as type\n from flattened_url_tags\n )\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.generate_series"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.924713, "supported_languages": null}, "macro.facebook_ads.snowflake__get_url_tags_query": {"unique_id": "macro.facebook_ads.snowflake__get_url_tags_query", "package_name": "facebook_ads", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "macros/get_url_tag_query.sql", "original_file_path": "macros/get_url_tag_query.sql", "name": "snowflake__get_url_tags_query", "macro_sql": "{% macro snowflake__get_url_tags_query() %}\n\n cleaned_fields as (\n\n select\n _fivetran_id,\n creative_id,\n parse_json(url_tags) as url_tags\n from required_fields\n where url_tags is not null\n ), \n\n fields as (\n\n select\n _fivetran_id,\n creative_id,\n url_tags.value:key::string as key,\n url_tags.value:value::string as value,\n url_tags.value:type::string as type\n from cleaned_fields,\n lateral flatten( input => url_tags ) as url_tags\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": 1671058920.924809, "supported_languages": null}, "macro.facebook_ads.spark__get_url_tags_query": {"unique_id": "macro.facebook_ads.spark__get_url_tags_query", "package_name": "facebook_ads", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "macros/get_url_tag_query.sql", "original_file_path": "macros/get_url_tag_query.sql", "name": "spark__get_url_tags_query", "macro_sql": "{% macro spark__get_url_tags_query() %}\n\n cleaned_fields as (\n\n select\n _fivetran_id,\n creative_id,\n explode(from_json(url_tags, 'array>')) as url_tags\n from required_fields\n where url_tags is not null\n ), \n\n fields as (\n\n select\n _fivetran_id,\n creative_id,\n url_tags.key as key,\n url_tags.value as value,\n url_tags.type as type\n from cleaned_fields\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": 1671058920.924902, "supported_languages": null}, "macro.fivetran_utils.enabled_vars": {"unique_id": "macro.fivetran_utils.enabled_vars", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.9253461, "supported_languages": null}, "macro.fivetran_utils.percentile": {"unique_id": "macro.fivetran_utils.percentile", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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.bigquery__percentile"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.926263, "supported_languages": null}, "macro.fivetran_utils.default__percentile": {"unique_id": "macro.fivetran_utils.default__percentile", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.926487, "supported_languages": null}, "macro.fivetran_utils.redshift__percentile": {"unique_id": "macro.fivetran_utils.redshift__percentile", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.926644, "supported_languages": null}, "macro.fivetran_utils.bigquery__percentile": {"unique_id": "macro.fivetran_utils.bigquery__percentile", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.9268029, "supported_languages": null}, "macro.fivetran_utils.postgres__percentile": {"unique_id": "macro.fivetran_utils.postgres__percentile", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.92694, "supported_languages": null}, "macro.fivetran_utils.spark__percentile": {"unique_id": "macro.fivetran_utils.spark__percentile", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.927094, "supported_languages": null}, "macro.fivetran_utils.pivot_json_extract": {"unique_id": "macro.fivetran_utils.pivot_json_extract", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.927914, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.928593, "supported_languages": null}, "macro.fivetran_utils.json_parse": {"unique_id": "macro.fivetran_utils.json_parse", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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.bigquery__json_parse"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.9296541, "supported_languages": null}, "macro.fivetran_utils.default__json_parse": {"unique_id": "macro.fivetran_utils.default__json_parse", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.929898, "supported_languages": null}, "macro.fivetran_utils.redshift__json_parse": {"unique_id": "macro.fivetran_utils.redshift__json_parse", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.930144, "supported_languages": null}, "macro.fivetran_utils.bigquery__json_parse": {"unique_id": "macro.fivetran_utils.bigquery__json_parse", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.930376, "supported_languages": null}, "macro.fivetran_utils.postgres__json_parse": {"unique_id": "macro.fivetran_utils.postgres__json_parse", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.9306052, "supported_languages": null}, "macro.fivetran_utils.snowflake__json_parse": {"unique_id": "macro.fivetran_utils.snowflake__json_parse", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.9308622, "supported_languages": null}, "macro.fivetran_utils.spark__json_parse": {"unique_id": "macro.fivetran_utils.spark__json_parse", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.931118, "supported_languages": null}, "macro.fivetran_utils.max_bool": {"unique_id": "macro.fivetran_utils.max_bool", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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.bigquery__max_bool"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.931488, "supported_languages": null}, "macro.fivetran_utils.default__max_bool": {"unique_id": "macro.fivetran_utils.default__max_bool", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.9315898, "supported_languages": null}, "macro.fivetran_utils.snowflake__max_bool": {"unique_id": "macro.fivetran_utils.snowflake__max_bool", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.9316878, "supported_languages": null}, "macro.fivetran_utils.bigquery__max_bool": {"unique_id": "macro.fivetran_utils.bigquery__max_bool", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.9317849, "supported_languages": null}, "macro.fivetran_utils.calculated_fields": {"unique_id": "macro.fivetran_utils.calculated_fields", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.932202, "supported_languages": null}, "macro.fivetran_utils.seed_data_helper": {"unique_id": "macro.fivetran_utils.seed_data_helper", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.9328709, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.933676, "supported_languages": null}, "macro.fivetran_utils.string_agg": {"unique_id": "macro.fivetran_utils.string_agg", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.93418, "supported_languages": null}, "macro.fivetran_utils.default__string_agg": {"unique_id": "macro.fivetran_utils.default__string_agg", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.934308, "supported_languages": null}, "macro.fivetran_utils.snowflake__string_agg": {"unique_id": "macro.fivetran_utils.snowflake__string_agg", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.934433, "supported_languages": null}, "macro.fivetran_utils.redshift__string_agg": {"unique_id": "macro.fivetran_utils.redshift__string_agg", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.934556, "supported_languages": null}, "macro.fivetran_utils.spark__string_agg": {"unique_id": "macro.fivetran_utils.spark__string_agg", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.9346838, "supported_languages": null}, "macro.fivetran_utils.timestamp_diff": {"unique_id": "macro.fivetran_utils.timestamp_diff", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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.bigquery__timestamp_diff"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.937359, "supported_languages": null}, "macro.fivetran_utils.default__timestamp_diff": {"unique_id": "macro.fivetran_utils.default__timestamp_diff", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.9375181, "supported_languages": null}, "macro.fivetran_utils.redshift__timestamp_diff": {"unique_id": "macro.fivetran_utils.redshift__timestamp_diff", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.93767, "supported_languages": null}, "macro.fivetran_utils.bigquery__timestamp_diff": {"unique_id": "macro.fivetran_utils.bigquery__timestamp_diff", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.937818, "supported_languages": null}, "macro.fivetran_utils.postgres__timestamp_diff": {"unique_id": "macro.fivetran_utils.postgres__timestamp_diff", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.939483, "supported_languages": null}, "macro.fivetran_utils.try_cast": {"unique_id": "macro.fivetran_utils.try_cast", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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.bigquery__try_cast"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.9403222, "supported_languages": null}, "macro.fivetran_utils.default__safe_cast": {"unique_id": "macro.fivetran_utils.default__safe_cast", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.940454, "supported_languages": null}, "macro.fivetran_utils.redshift__try_cast": {"unique_id": "macro.fivetran_utils.redshift__try_cast", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.9407208, "supported_languages": null}, "macro.fivetran_utils.postgres__try_cast": {"unique_id": "macro.fivetran_utils.postgres__try_cast", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.9409962, "supported_languages": null}, "macro.fivetran_utils.snowflake__try_cast": {"unique_id": "macro.fivetran_utils.snowflake__try_cast", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.941122, "supported_languages": null}, "macro.fivetran_utils.bigquery__try_cast": {"unique_id": "macro.fivetran_utils.bigquery__try_cast", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.9412422, "supported_languages": null}, "macro.fivetran_utils.spark__try_cast": {"unique_id": "macro.fivetran_utils.spark__try_cast", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.9413602, "supported_languages": null}, "macro.fivetran_utils.source_relation": {"unique_id": "macro.fivetran_utils.source_relation", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.941878, "supported_languages": null}, "macro.fivetran_utils.default__source_relation": {"unique_id": "macro.fivetran_utils.default__source_relation", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.942431, "supported_languages": null}, "macro.fivetran_utils.first_value": {"unique_id": "macro.fivetran_utils.first_value", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.942959, "supported_languages": null}, "macro.fivetran_utils.default__first_value": {"unique_id": "macro.fivetran_utils.default__first_value", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.943155, "supported_languages": null}, "macro.fivetran_utils.redshift__first_value": {"unique_id": "macro.fivetran_utils.redshift__first_value", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.943362, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.94367, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.944772, "supported_languages": null}, "macro.fivetran_utils.union_relations": {"unique_id": "macro.fivetran_utils.union_relations", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.948565, "supported_languages": null}, "macro.fivetran_utils.union_tables": {"unique_id": "macro.fivetran_utils.union_tables", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.94891, "supported_languages": null}, "macro.fivetran_utils.snowflake_seed_data": {"unique_id": "macro.fivetran_utils.snowflake_seed_data", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.949337, "supported_languages": null}, "macro.fivetran_utils.fill_staging_columns": {"unique_id": "macro.fivetran_utils.fill_staging_columns", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.950847, "supported_languages": null}, "macro.fivetran_utils.quote_column": {"unique_id": "macro.fivetran_utils.quote_column", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.951374, "supported_languages": null}, "macro.fivetran_utils.json_extract": {"unique_id": "macro.fivetran_utils.json_extract", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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.bigquery__json_extract"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.951963, "supported_languages": null}, "macro.fivetran_utils.default__json_extract": {"unique_id": "macro.fivetran_utils.default__json_extract", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.952113, "supported_languages": null}, "macro.fivetran_utils.snowflake__json_extract": {"unique_id": "macro.fivetran_utils.snowflake__json_extract", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.9522629, "supported_languages": null}, "macro.fivetran_utils.redshift__json_extract": {"unique_id": "macro.fivetran_utils.redshift__json_extract", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.952428, "supported_languages": null}, "macro.fivetran_utils.bigquery__json_extract": {"unique_id": "macro.fivetran_utils.bigquery__json_extract", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.9525728, "supported_languages": null}, "macro.fivetran_utils.postgres__json_extract": {"unique_id": "macro.fivetran_utils.postgres__json_extract", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.9527218, "supported_languages": null}, "macro.fivetran_utils.collect_freshness": {"unique_id": "macro.fivetran_utils.collect_freshness", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.9534411, "supported_languages": null}, "macro.fivetran_utils.default__collect_freshness": {"unique_id": "macro.fivetran_utils.default__collect_freshness", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.954371, "supported_languages": null}, "macro.fivetran_utils.timestamp_add": {"unique_id": "macro.fivetran_utils.timestamp_add", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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.bigquery__timestamp_add"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.955074, "supported_languages": null}, "macro.fivetran_utils.default__timestamp_add": {"unique_id": "macro.fivetran_utils.default__timestamp_add", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.95523, "supported_languages": null}, "macro.fivetran_utils.bigquery__timestamp_add": {"unique_id": "macro.fivetran_utils.bigquery__timestamp_add", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.955382, "supported_languages": null}, "macro.fivetran_utils.redshift__timestamp_add": {"unique_id": "macro.fivetran_utils.redshift__timestamp_add", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.9555311, "supported_languages": null}, "macro.fivetran_utils.postgres__timestamp_add": {"unique_id": "macro.fivetran_utils.postgres__timestamp_add", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.955681, "supported_languages": null}, "macro.fivetran_utils.spark__timestamp_add": {"unique_id": "macro.fivetran_utils.spark__timestamp_add", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.955847, "supported_languages": null}, "macro.fivetran_utils.ceiling": {"unique_id": "macro.fivetran_utils.ceiling", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.956169, "supported_languages": null}, "macro.fivetran_utils.default__ceiling": {"unique_id": "macro.fivetran_utils.default__ceiling", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.956269, "supported_languages": null}, "macro.fivetran_utils.snowflake__ceiling": {"unique_id": "macro.fivetran_utils.snowflake__ceiling", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.956425, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.957102, "supported_languages": null}, "macro.fivetran_utils.union_data": {"unique_id": "macro.fivetran_utils.union_data", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.958428, "supported_languages": null}, "macro.fivetran_utils.default__union_data": {"unique_id": "macro.fivetran_utils.default__union_data", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.960711, "supported_languages": null}, "macro.fivetran_utils.dummy_coalesce_value": {"unique_id": "macro.fivetran_utils.dummy_coalesce_value", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.9621062, "supported_languages": null}, "macro.fivetran_utils.array_agg": {"unique_id": "macro.fivetran_utils.array_agg", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.9624262, "supported_languages": null}, "macro.fivetran_utils.default__array_agg": {"unique_id": "macro.fivetran_utils.default__array_agg", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.962525, "supported_languages": null}, "macro.fivetran_utils.redshift__array_agg": {"unique_id": "macro.fivetran_utils.redshift__array_agg", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.962621, "supported_languages": null}, "macro.fivetran_utils.empty_variable_warning": {"unique_id": "macro.fivetran_utils.empty_variable_warning", "package_name": "fivetran_utils", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.963059, "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/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_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": 1671058920.963495, "supported_languages": null}, "macro.facebook_ads_source.get_ad_set_history_columns": {"unique_id": "macro.facebook_ads_source.get_ad_set_history_columns", "package_name": "facebook_ads_source", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "macros/get_ad_set_history_columns.sql", "original_file_path": "macros/get_ad_set_history_columns.sql", "name": "get_ad_set_history_columns", "macro_sql": "{% macro get_ad_set_history_columns() %}\n\n{% set columns = [\n {\"name\": \"updated_time\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"id\", \"datatype\": dbt.type_int()},\n {\"name\": \"name\", \"datatype\": dbt.type_string()},\n {\"name\": \"account_id\", \"datatype\": dbt.type_int()},\n {\"name\": \"campaign_id\", \"datatype\": dbt.type_int()},\n {\"name\": \"start_time\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"end_time\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"bid_strategy\", \"datatype\": dbt.type_string()},\n {\"name\": \"daily_budget\", \"datatype\": dbt.type_int()},\n {\"name\": \"budget_remaining\", \"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_timestamp", "macro.dbt.type_int", "macro.dbt.type_string"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.964756, "supported_languages": null}, "macro.facebook_ads_source.get_creative_history_columns": {"unique_id": "macro.facebook_ads_source.get_creative_history_columns", "package_name": "facebook_ads_source", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "macros/get_creative_history_columns.sql", "original_file_path": "macros/get_creative_history_columns.sql", "name": "get_creative_history_columns", "macro_sql": "{% macro get_creative_history_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"id\", \"datatype\": dbt.type_int()},\n {\"name\": \"account_id\", \"datatype\": dbt.type_int()},\n {\"name\": \"name\", \"datatype\": dbt.type_string()},\n {\"name\": \"page_link\", \"datatype\": dbt.type_string()},\n {\"name\": \"template_page_link\", \"datatype\": dbt.type_string()},\n {\"name\": \"url_tags\", \"datatype\": dbt.type_string()},\n {\"name\": \"asset_feed_spec_link_urls\", \"datatype\": dbt.type_string()},\n {\"name\": \"object_story_link_data_child_attachments\", \"datatype\": dbt.type_string()},\n {\"name\": \"object_story_link_data_caption\", \"datatype\": dbt.type_string()},\n {\"name\": \"object_story_link_data_description\", \"datatype\": dbt.type_string()},\n {\"name\": \"object_story_link_data_link\", \"datatype\": dbt.type_string()},\n {\"name\": \"object_story_link_data_message\", \"datatype\": dbt.type_string()},\n {\"name\": \"template_app_link_spec_android\", \"datatype\": dbt.type_string()},\n {\"name\": \"template_app_link_spec_ios\", \"datatype\": dbt.type_string()},\n {\"name\": \"template_app_link_spec_ipad\", \"datatype\": dbt.type_string()},\n {\"name\": \"template_app_link_spec_iphone\", \"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_timestamp", "macro.dbt.type_int"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.966732, "supported_languages": null}, "macro.facebook_ads_source.get_campaign_history_columns": {"unique_id": "macro.facebook_ads_source.get_campaign_history_columns", "package_name": "facebook_ads_source", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_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\": \"updated_time\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"created_time\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"account_id\", \"datatype\": dbt.type_int()},\n {\"name\": \"id\", \"datatype\": dbt.type_int()},\n {\"name\": \"name\", \"datatype\": dbt.type_string()},\n {\"name\": \"start_time\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"stop_time\", \"datatype\": dbt.type_timestamp()}, \n {\"name\": \"status\", \"datatype\": dbt.type_string()},\n {\"name\": \"daily_budget\", \"datatype\": dbt.type_int()},\n {\"name\": \"lifetime_budget\", \"datatype\": dbt.type_int()},\n {\"name\": \"budget_remaining\", \"datatype\": dbt.type_float()}\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", "macro.dbt.type_float"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.967999, "supported_languages": null}, "macro.facebook_ads_source.get_basic_ad_columns": {"unique_id": "macro.facebook_ads_source.get_basic_ad_columns", "package_name": "facebook_ads_source", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "macros/get_basic_ad_columns.sql", "original_file_path": "macros/get_basic_ad_columns.sql", "name": "get_basic_ad_columns", "macro_sql": "{% macro get_basic_ad_columns() %}\n\n{% set columns = [\n {\"name\": \"ad_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"ad_name\", \"datatype\": dbt.type_string()},\n {\"name\": \"adset_name\", \"datatype\": dbt.type_string()},\n {\"name\": \"date\", \"datatype\": \"date\"},\n {\"name\": \"account_id\", \"datatype\": dbt.type_int()},\n {\"name\": \"impressions\", \"datatype\": dbt.type_int()},\n {\"name\": \"inline_link_clicks\", \"datatype\": dbt.type_int()},\n {\"name\": \"spend\", \"datatype\": dbt.type_float()},\n {\"name\": \"reach\", \"datatype\": dbt.type_int()},\n {\"name\": \"frequency\", \"datatype\": dbt.type_float()}\n] %}\n\n{{ fivetran_utils.add_pass_through_columns(columns, var('facebook_ads__basic_ad_passthrough_metrics')) }}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.type_string", "macro.dbt.type_int", "macro.dbt.type_float", "macro.fivetran_utils.add_pass_through_columns"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671058920.9692328, "supported_languages": null}, "macro.facebook_ads_source.get_account_history_columns": {"unique_id": "macro.facebook_ads_source.get_account_history_columns", "package_name": "facebook_ads_source", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "macros/get_account_history_columns.sql", "original_file_path": "macros/get_account_history_columns.sql", "name": "get_account_history_columns", "macro_sql": "{% macro get_account_history_columns() %}\n\n{% set columns = [\n {\"name\": \"id\", \"datatype\": dbt.type_int()},\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"name\", \"datatype\": dbt.type_string()},\n {\"name\": \"account_status\", \"datatype\": dbt.type_string()},\n {\"name\": \"business_country_code\", \"datatype\": dbt.type_string()},\n {\"name\": \"created_time\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"currency\", \"datatype\": dbt.type_string()},\n {\"name\": \"timezone_name\", \"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": 1671058920.9702148, "supported_languages": null}, "macro.facebook_ads_source.get_ad_history_columns": {"unique_id": "macro.facebook_ads_source.get_ad_history_columns", "package_name": "facebook_ads_source", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_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\": \"updated_time\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"id\", \"datatype\": dbt.type_int()},\n {\"name\": \"name\", \"datatype\": dbt.type_string()},\n {\"name\": \"account_id\", \"datatype\": dbt.type_int()},\n {\"name\": \"ad_set_id\", \"datatype\": dbt.type_int()},\n {\"name\": \"campaign_id\", \"datatype\": dbt.type_int()},\n {\"name\": \"creative_id\", \"datatype\": dbt.type_int()}\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": 1671058920.971101, "supported_languages": null}}, "docs": {"dbt.__overview__": {"unique_id": "dbt.__overview__", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/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"}, "facebook_ads_source._fivetran_synced": {"unique_id": "facebook_ads_source._fivetran_synced", "package_name": "facebook_ads_source", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "_fivetran_synced", "block_contents": "When the record was last synced by Fivetran."}, "facebook_ads_source.is_most_recent_record": {"unique_id": "facebook_ads_source.is_most_recent_record", "package_name": "facebook_ads_source", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "is_most_recent_record", "block_contents": "Boolean representing whether a record is the most recent version of that record. All records should have this value set to True given we filter on it."}, "facebook_ads_source.updated_time": {"unique_id": "facebook_ads_source.updated_time", "package_name": "facebook_ads_source", "root_path": "/Users/catherinefritz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "updated_time", "block_contents": "The timestamp of the last update of a record."}}, "exposures": {}, "metrics": {}, "selectors": {}, "disabled": {}, "parent_map": {"seed.facebook_ads_integration_tests.facebook_ads_ad_history_data": [], "seed.facebook_ads_integration_tests.facebook_ads_creative_history_data": [], "seed.facebook_ads_integration_tests.facebook_ads_campaign_history_data": [], "seed.facebook_ads_integration_tests.facebook_ads_account_history_data": [], "seed.facebook_ads_integration_tests.facebook_ads_basic_ad_data": [], "seed.facebook_ads_integration_tests.facebook_ads_ad_set_history_data": [], "model.facebook_ads.facebook_ads__url_report": ["model.facebook_ads.int_facebook_ads__creative_history", "model.facebook_ads_source.stg_facebook_ads__account_history", "model.facebook_ads_source.stg_facebook_ads__ad_history", "model.facebook_ads_source.stg_facebook_ads__ad_set_history", "model.facebook_ads_source.stg_facebook_ads__basic_ad", "model.facebook_ads_source.stg_facebook_ads__campaign_history"], "model.facebook_ads.facebook_ads__url_tags": ["model.facebook_ads_source.stg_facebook_ads__creative_history"], "model.facebook_ads.facebook_ads__campaign_report": ["model.facebook_ads_source.stg_facebook_ads__account_history", "model.facebook_ads_source.stg_facebook_ads__ad_history", "model.facebook_ads_source.stg_facebook_ads__basic_ad", "model.facebook_ads_source.stg_facebook_ads__campaign_history"], "model.facebook_ads.facebook_ads__account_report": ["model.facebook_ads_source.stg_facebook_ads__account_history", "model.facebook_ads_source.stg_facebook_ads__basic_ad"], "model.facebook_ads.facebook_ads__ad_report": ["model.facebook_ads_source.stg_facebook_ads__account_history", "model.facebook_ads_source.stg_facebook_ads__ad_history", "model.facebook_ads_source.stg_facebook_ads__ad_set_history", "model.facebook_ads_source.stg_facebook_ads__basic_ad", "model.facebook_ads_source.stg_facebook_ads__campaign_history"], "model.facebook_ads.facebook_ads__ad_set_report": ["model.facebook_ads_source.stg_facebook_ads__account_history", "model.facebook_ads_source.stg_facebook_ads__ad_history", "model.facebook_ads_source.stg_facebook_ads__ad_set_history", "model.facebook_ads_source.stg_facebook_ads__basic_ad", "model.facebook_ads_source.stg_facebook_ads__campaign_history"], "model.facebook_ads.int_facebook_ads__creative_history": ["model.facebook_ads.facebook_ads__url_tags", "model.facebook_ads_source.stg_facebook_ads__creative_history"], "model.facebook_ads_source.stg_facebook_ads__basic_ad": ["model.facebook_ads_source.stg_facebook_ads__basic_ad_tmp", "model.facebook_ads_source.stg_facebook_ads__basic_ad_tmp"], "model.facebook_ads_source.stg_facebook_ads__creative_history": ["model.facebook_ads_source.stg_facebook_ads__creative_history_tmp", "model.facebook_ads_source.stg_facebook_ads__creative_history_tmp"], "model.facebook_ads_source.stg_facebook_ads__campaign_history": ["model.facebook_ads_source.stg_facebook_ads__campaign_history_tmp", "model.facebook_ads_source.stg_facebook_ads__campaign_history_tmp"], "model.facebook_ads_source.stg_facebook_ads__account_history": ["model.facebook_ads_source.stg_facebook_ads__account_history_tmp", "model.facebook_ads_source.stg_facebook_ads__account_history_tmp"], "model.facebook_ads_source.stg_facebook_ads__ad_history": ["model.facebook_ads_source.stg_facebook_ads__ad_history_tmp", "model.facebook_ads_source.stg_facebook_ads__ad_history_tmp"], "model.facebook_ads_source.stg_facebook_ads__ad_set_history": ["model.facebook_ads_source.stg_facebook_ads__ad_set_history_tmp", "model.facebook_ads_source.stg_facebook_ads__ad_set_history_tmp"], "model.facebook_ads_source.stg_facebook_ads__ad_set_history_tmp": ["source.facebook_ads_source.facebook_ads.ad_set_history"], "model.facebook_ads_source.stg_facebook_ads__basic_ad_tmp": ["source.facebook_ads_source.facebook_ads.basic_ad"], "model.facebook_ads_source.stg_facebook_ads__ad_history_tmp": ["source.facebook_ads_source.facebook_ads.ad_history"], "model.facebook_ads_source.stg_facebook_ads__campaign_history_tmp": ["source.facebook_ads_source.facebook_ads.campaign_history"], "model.facebook_ads_source.stg_facebook_ads__creative_history_tmp": ["source.facebook_ads_source.facebook_ads.creative_history"], "model.facebook_ads_source.stg_facebook_ads__account_history_tmp": ["source.facebook_ads_source.facebook_ads.account_history"], "test.facebook_ads.not_null_facebook_ads__url_report_base_url.b7757e50be": ["model.facebook_ads.facebook_ads__url_report"], "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__url_report_date_day__account_id__campaign_id__ad_set_id__ad_id.03a7e82eb7": ["model.facebook_ads.facebook_ads__url_report"], "test.facebook_ads.not_null_facebook_ads__ad_report_ad_id.3811d9c238": ["model.facebook_ads.facebook_ads__ad_report"], "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__ad_report_date_day__account_id__campaign_id__ad_set_id__ad_id.0a25b64738": ["model.facebook_ads.facebook_ads__ad_report"], "test.facebook_ads.not_null_facebook_ads__ad_set_report_ad_set_id.1ac870f5e4": ["model.facebook_ads.facebook_ads__ad_set_report"], "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__ad_set_report_date_day__account_id__campaign_id__ad_set_id.3dd4da872f": ["model.facebook_ads.facebook_ads__ad_set_report"], "test.facebook_ads.not_null_facebook_ads__campaign_report_campaign_id.d4f96d8d21": ["model.facebook_ads.facebook_ads__campaign_report"], "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__campaign_report_date_day__account_id__campaign_id.7cd75107e6": ["model.facebook_ads.facebook_ads__campaign_report"], "test.facebook_ads.not_null_facebook_ads__account_report_account_id.9be02b4024": ["model.facebook_ads.facebook_ads__account_report"], "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__account_report_date_day__account_id.5a94423e40": ["model.facebook_ads.facebook_ads__account_report"], "test.facebook_ads.not_null_facebook_ads__url_tags__fivetran_id.151d9515f3": ["model.facebook_ads.facebook_ads__url_tags"], "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__url_tags__fivetran_id__key__type.ba044777d3": ["model.facebook_ads.facebook_ads__url_tags"], "test.facebook_ads_source.not_null_stg_facebook_ads__account_history_account_id.f1cf38c40f": ["model.facebook_ads_source.stg_facebook_ads__account_history"], "test.facebook_ads_source.not_null_stg_facebook_ads__account_history__fivetran_synced.0570e35e1f": ["model.facebook_ads_source.stg_facebook_ads__account_history"], "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__account_history_account_id___fivetran_synced.f9b4d28fa2": ["model.facebook_ads_source.stg_facebook_ads__account_history"], "test.facebook_ads_source.not_null_stg_facebook_ads__ad_history_ad_id.11429d3064": ["model.facebook_ads_source.stg_facebook_ads__ad_history"], "test.facebook_ads_source.not_null_stg_facebook_ads__ad_history_updated_at.250a5a84e4": ["model.facebook_ads_source.stg_facebook_ads__ad_history"], "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__ad_history_ad_id__updated_at.2922c18b58": ["model.facebook_ads_source.stg_facebook_ads__ad_history"], "test.facebook_ads_source.not_null_stg_facebook_ads__ad_set_history_ad_set_id.e19a1df1bb": ["model.facebook_ads_source.stg_facebook_ads__ad_set_history"], "test.facebook_ads_source.not_null_stg_facebook_ads__ad_set_history_updated_at.ef7fafe0fa": ["model.facebook_ads_source.stg_facebook_ads__ad_set_history"], "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__ad_set_history_ad_set_id__updated_at.0a60ad0fef": ["model.facebook_ads_source.stg_facebook_ads__ad_set_history"], "test.facebook_ads_source.not_null_stg_facebook_ads__campaign_history_campaign_id.1ca7a83852": ["model.facebook_ads_source.stg_facebook_ads__campaign_history"], "test.facebook_ads_source.not_null_stg_facebook_ads__campaign_history_updated_at.9e59f99270": ["model.facebook_ads_source.stg_facebook_ads__campaign_history"], "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__campaign_history_campaign_id__updated_at.7437b392c2": ["model.facebook_ads_source.stg_facebook_ads__campaign_history"], "test.facebook_ads_source.not_null_stg_facebook_ads__creative_history__fivetran_synced.3b0593cb4f": ["model.facebook_ads_source.stg_facebook_ads__creative_history"], "test.facebook_ads_source.not_null_stg_facebook_ads__creative_history_creative_id.eb4d804261": ["model.facebook_ads_source.stg_facebook_ads__creative_history"], "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__creative_history_creative_id___fivetran_synced.69ddc26562": ["model.facebook_ads_source.stg_facebook_ads__creative_history"], "test.facebook_ads_source.not_null_stg_facebook_ads__basic_ad_ad_id.2611b250fc": ["model.facebook_ads_source.stg_facebook_ads__basic_ad"], "test.facebook_ads_source.not_null_stg_facebook_ads__basic_ad_account_id.d06f6d861b": ["model.facebook_ads_source.stg_facebook_ads__basic_ad"], "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__basic_ad_date_day__ad_id__account_id.bd909529e7": ["model.facebook_ads_source.stg_facebook_ads__basic_ad"], "source.facebook_ads_source.facebook_ads.account_history": [], "source.facebook_ads_source.facebook_ads.ad_history": [], "source.facebook_ads_source.facebook_ads.ad_set_history": [], "source.facebook_ads_source.facebook_ads.basic_ad": [], "source.facebook_ads_source.facebook_ads.campaign_history": [], "source.facebook_ads_source.facebook_ads.creative_history": []}, "child_map": {"seed.facebook_ads_integration_tests.facebook_ads_ad_history_data": [], "seed.facebook_ads_integration_tests.facebook_ads_creative_history_data": [], "seed.facebook_ads_integration_tests.facebook_ads_campaign_history_data": [], "seed.facebook_ads_integration_tests.facebook_ads_account_history_data": [], "seed.facebook_ads_integration_tests.facebook_ads_basic_ad_data": [], "seed.facebook_ads_integration_tests.facebook_ads_ad_set_history_data": [], "model.facebook_ads.facebook_ads__url_report": ["test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__url_report_date_day__account_id__campaign_id__ad_set_id__ad_id.03a7e82eb7", "test.facebook_ads.not_null_facebook_ads__url_report_base_url.b7757e50be"], "model.facebook_ads.facebook_ads__url_tags": ["model.facebook_ads.int_facebook_ads__creative_history", "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__url_tags__fivetran_id__key__type.ba044777d3", "test.facebook_ads.not_null_facebook_ads__url_tags__fivetran_id.151d9515f3"], "model.facebook_ads.facebook_ads__campaign_report": ["test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__campaign_report_date_day__account_id__campaign_id.7cd75107e6", "test.facebook_ads.not_null_facebook_ads__campaign_report_campaign_id.d4f96d8d21"], "model.facebook_ads.facebook_ads__account_report": ["test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__account_report_date_day__account_id.5a94423e40", "test.facebook_ads.not_null_facebook_ads__account_report_account_id.9be02b4024"], "model.facebook_ads.facebook_ads__ad_report": ["test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__ad_report_date_day__account_id__campaign_id__ad_set_id__ad_id.0a25b64738", "test.facebook_ads.not_null_facebook_ads__ad_report_ad_id.3811d9c238"], "model.facebook_ads.facebook_ads__ad_set_report": ["test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__ad_set_report_date_day__account_id__campaign_id__ad_set_id.3dd4da872f", "test.facebook_ads.not_null_facebook_ads__ad_set_report_ad_set_id.1ac870f5e4"], "model.facebook_ads.int_facebook_ads__creative_history": ["model.facebook_ads.facebook_ads__url_report"], "model.facebook_ads_source.stg_facebook_ads__basic_ad": ["model.facebook_ads.facebook_ads__account_report", "model.facebook_ads.facebook_ads__ad_report", "model.facebook_ads.facebook_ads__ad_set_report", "model.facebook_ads.facebook_ads__campaign_report", "model.facebook_ads.facebook_ads__url_report", "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__basic_ad_date_day__ad_id__account_id.bd909529e7", "test.facebook_ads_source.not_null_stg_facebook_ads__basic_ad_account_id.d06f6d861b", "test.facebook_ads_source.not_null_stg_facebook_ads__basic_ad_ad_id.2611b250fc"], "model.facebook_ads_source.stg_facebook_ads__creative_history": ["model.facebook_ads.facebook_ads__url_tags", "model.facebook_ads.int_facebook_ads__creative_history", "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__creative_history_creative_id___fivetran_synced.69ddc26562", "test.facebook_ads_source.not_null_stg_facebook_ads__creative_history__fivetran_synced.3b0593cb4f", "test.facebook_ads_source.not_null_stg_facebook_ads__creative_history_creative_id.eb4d804261"], "model.facebook_ads_source.stg_facebook_ads__campaign_history": ["model.facebook_ads.facebook_ads__ad_report", "model.facebook_ads.facebook_ads__ad_set_report", "model.facebook_ads.facebook_ads__campaign_report", "model.facebook_ads.facebook_ads__url_report", "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__campaign_history_campaign_id__updated_at.7437b392c2", "test.facebook_ads_source.not_null_stg_facebook_ads__campaign_history_campaign_id.1ca7a83852", "test.facebook_ads_source.not_null_stg_facebook_ads__campaign_history_updated_at.9e59f99270"], "model.facebook_ads_source.stg_facebook_ads__account_history": ["model.facebook_ads.facebook_ads__account_report", "model.facebook_ads.facebook_ads__ad_report", "model.facebook_ads.facebook_ads__ad_set_report", "model.facebook_ads.facebook_ads__campaign_report", "model.facebook_ads.facebook_ads__url_report", "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__account_history_account_id___fivetran_synced.f9b4d28fa2", "test.facebook_ads_source.not_null_stg_facebook_ads__account_history__fivetran_synced.0570e35e1f", "test.facebook_ads_source.not_null_stg_facebook_ads__account_history_account_id.f1cf38c40f"], "model.facebook_ads_source.stg_facebook_ads__ad_history": ["model.facebook_ads.facebook_ads__ad_report", "model.facebook_ads.facebook_ads__ad_set_report", "model.facebook_ads.facebook_ads__campaign_report", "model.facebook_ads.facebook_ads__url_report", "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__ad_history_ad_id__updated_at.2922c18b58", "test.facebook_ads_source.not_null_stg_facebook_ads__ad_history_ad_id.11429d3064", "test.facebook_ads_source.not_null_stg_facebook_ads__ad_history_updated_at.250a5a84e4"], "model.facebook_ads_source.stg_facebook_ads__ad_set_history": ["model.facebook_ads.facebook_ads__ad_report", "model.facebook_ads.facebook_ads__ad_set_report", "model.facebook_ads.facebook_ads__url_report", "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__ad_set_history_ad_set_id__updated_at.0a60ad0fef", "test.facebook_ads_source.not_null_stg_facebook_ads__ad_set_history_ad_set_id.e19a1df1bb", "test.facebook_ads_source.not_null_stg_facebook_ads__ad_set_history_updated_at.ef7fafe0fa"], "model.facebook_ads_source.stg_facebook_ads__ad_set_history_tmp": ["model.facebook_ads_source.stg_facebook_ads__ad_set_history", "model.facebook_ads_source.stg_facebook_ads__ad_set_history"], "model.facebook_ads_source.stg_facebook_ads__basic_ad_tmp": ["model.facebook_ads_source.stg_facebook_ads__basic_ad", "model.facebook_ads_source.stg_facebook_ads__basic_ad"], "model.facebook_ads_source.stg_facebook_ads__ad_history_tmp": ["model.facebook_ads_source.stg_facebook_ads__ad_history", "model.facebook_ads_source.stg_facebook_ads__ad_history"], "model.facebook_ads_source.stg_facebook_ads__campaign_history_tmp": ["model.facebook_ads_source.stg_facebook_ads__campaign_history", "model.facebook_ads_source.stg_facebook_ads__campaign_history"], "model.facebook_ads_source.stg_facebook_ads__creative_history_tmp": ["model.facebook_ads_source.stg_facebook_ads__creative_history", "model.facebook_ads_source.stg_facebook_ads__creative_history"], "model.facebook_ads_source.stg_facebook_ads__account_history_tmp": ["model.facebook_ads_source.stg_facebook_ads__account_history", "model.facebook_ads_source.stg_facebook_ads__account_history"], "test.facebook_ads.not_null_facebook_ads__url_report_base_url.b7757e50be": [], "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__url_report_date_day__account_id__campaign_id__ad_set_id__ad_id.03a7e82eb7": [], "test.facebook_ads.not_null_facebook_ads__ad_report_ad_id.3811d9c238": [], "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__ad_report_date_day__account_id__campaign_id__ad_set_id__ad_id.0a25b64738": [], "test.facebook_ads.not_null_facebook_ads__ad_set_report_ad_set_id.1ac870f5e4": [], "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__ad_set_report_date_day__account_id__campaign_id__ad_set_id.3dd4da872f": [], "test.facebook_ads.not_null_facebook_ads__campaign_report_campaign_id.d4f96d8d21": [], "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__campaign_report_date_day__account_id__campaign_id.7cd75107e6": [], "test.facebook_ads.not_null_facebook_ads__account_report_account_id.9be02b4024": [], "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__account_report_date_day__account_id.5a94423e40": [], "test.facebook_ads.not_null_facebook_ads__url_tags__fivetran_id.151d9515f3": [], "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__url_tags__fivetran_id__key__type.ba044777d3": [], "test.facebook_ads_source.not_null_stg_facebook_ads__account_history_account_id.f1cf38c40f": [], "test.facebook_ads_source.not_null_stg_facebook_ads__account_history__fivetran_synced.0570e35e1f": [], "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__account_history_account_id___fivetran_synced.f9b4d28fa2": [], "test.facebook_ads_source.not_null_stg_facebook_ads__ad_history_ad_id.11429d3064": [], "test.facebook_ads_source.not_null_stg_facebook_ads__ad_history_updated_at.250a5a84e4": [], "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__ad_history_ad_id__updated_at.2922c18b58": [], "test.facebook_ads_source.not_null_stg_facebook_ads__ad_set_history_ad_set_id.e19a1df1bb": [], "test.facebook_ads_source.not_null_stg_facebook_ads__ad_set_history_updated_at.ef7fafe0fa": [], "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__ad_set_history_ad_set_id__updated_at.0a60ad0fef": [], "test.facebook_ads_source.not_null_stg_facebook_ads__campaign_history_campaign_id.1ca7a83852": [], "test.facebook_ads_source.not_null_stg_facebook_ads__campaign_history_updated_at.9e59f99270": [], "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__campaign_history_campaign_id__updated_at.7437b392c2": [], "test.facebook_ads_source.not_null_stg_facebook_ads__creative_history__fivetran_synced.3b0593cb4f": [], "test.facebook_ads_source.not_null_stg_facebook_ads__creative_history_creative_id.eb4d804261": [], "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__creative_history_creative_id___fivetran_synced.69ddc26562": [], "test.facebook_ads_source.not_null_stg_facebook_ads__basic_ad_ad_id.2611b250fc": [], "test.facebook_ads_source.not_null_stg_facebook_ads__basic_ad_account_id.d06f6d861b": [], "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__basic_ad_date_day__ad_id__account_id.bd909529e7": [], "source.facebook_ads_source.facebook_ads.account_history": ["model.facebook_ads_source.stg_facebook_ads__account_history_tmp"], "source.facebook_ads_source.facebook_ads.ad_history": ["model.facebook_ads_source.stg_facebook_ads__ad_history_tmp"], "source.facebook_ads_source.facebook_ads.ad_set_history": ["model.facebook_ads_source.stg_facebook_ads__ad_set_history_tmp"], "source.facebook_ads_source.facebook_ads.basic_ad": ["model.facebook_ads_source.stg_facebook_ads__basic_ad_tmp"], "source.facebook_ads_source.facebook_ads.campaign_history": ["model.facebook_ads_source.stg_facebook_ads__campaign_history_tmp"], "source.facebook_ads_source.facebook_ads.creative_history": ["model.facebook_ads_source.stg_facebook_ads__creative_history_tmp"]}} \ No newline at end of file +{"metadata": {"dbt_schema_version": "https://schemas.getdbt.com/dbt/manifest/v7.json", "dbt_version": "1.3.0", "generated_at": "2022-12-20T02:59:25.949509Z", "invocation_id": "1be48695-e084-4dcc-9b9b-f71193bff422", "env": {}, "project_id": "6d850e6ac780f18e972b683bd77cbc61", "user_id": "8929baf0-9bc1-477e-9a57-eb8b0db4da62", "send_anonymous_usage_stats": true, "adapter_type": "postgres"}, "nodes": {"seed.facebook_ads_integration_tests.facebook_ads_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": {"id": "bigint", "account_id": "bigint", "campaign_id": "bigint", "ad_set_id": "bigint", "ad_id": "bigint", "creative_id": "bigint", "page_link": "varchar", "template_page_link": "varchar", "_fivetran_synced": "timestamp", "updated_time": "timestamp"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "facebook_ads_integration_tests", "fqn": ["facebook_ads_integration_tests", "facebook_ads_ad_history_data"], "unique_id": "seed.facebook_ads_integration_tests.facebook_ads_ad_history_data", "raw_code": "", "language": "sql", "package_name": "facebook_ads_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests", "path": "facebook_ads_ad_history_data.csv", "original_file_path": "seeds/facebook_ads_ad_history_data.csv", "name": "facebook_ads_ad_history_data", "alias": "facebook_ads_ad_history_data", "checksum": {"name": "sha256", "checksum": "95c960d78745b1652034ba4da5cc2a7d5b923e816a81c90360f1b28588b7befd"}, "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": {"column_types": {"id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "account_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "ad_set_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "ad_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "creative_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "page_link": "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}", "template_page_link": "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}", "_fivetran_synced": "timestamp", "updated_time": "timestamp"}}, "created_at": 1671505150.845363, "compiled_code": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"facebook_ads_integration_tests\".\"facebook_ads_ad_history_data\""}, "seed.facebook_ads_integration_tests.facebook_ads_creative_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": {"id": "bigint", "account_id": "bigint", "campaign_id": "bigint", "ad_set_id": "bigint", "ad_id": "bigint", "creative_id": "bigint", "page_link": "varchar", "template_page_link": "varchar", "_fivetran_synced": "timestamp", "updated_time": "timestamp"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "facebook_ads_integration_tests", "fqn": ["facebook_ads_integration_tests", "facebook_ads_creative_history_data"], "unique_id": "seed.facebook_ads_integration_tests.facebook_ads_creative_history_data", "raw_code": "", "language": "sql", "package_name": "facebook_ads_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests", "path": "facebook_ads_creative_history_data.csv", "original_file_path": "seeds/facebook_ads_creative_history_data.csv", "name": "facebook_ads_creative_history_data", "alias": "facebook_ads_creative_history_data", "checksum": {"name": "path", "checksum": "seeds/facebook_ads_creative_history_data.csv"}, "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": {"column_types": {"id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "account_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "ad_set_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "ad_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "creative_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "page_link": "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}", "template_page_link": "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}", "_fivetran_synced": "timestamp", "updated_time": "timestamp"}}, "created_at": 1671505150.852602, "compiled_code": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"facebook_ads_integration_tests\".\"facebook_ads_creative_history_data\""}, "seed.facebook_ads_integration_tests.facebook_ads_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": {"id": "bigint", "account_id": "bigint", "campaign_id": "bigint", "ad_set_id": "bigint", "ad_id": "bigint", "creative_id": "bigint", "page_link": "varchar", "template_page_link": "varchar", "_fivetran_synced": "timestamp", "updated_time": "timestamp"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "facebook_ads_integration_tests", "fqn": ["facebook_ads_integration_tests", "facebook_ads_campaign_history_data"], "unique_id": "seed.facebook_ads_integration_tests.facebook_ads_campaign_history_data", "raw_code": "", "language": "sql", "package_name": "facebook_ads_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests", "path": "facebook_ads_campaign_history_data.csv", "original_file_path": "seeds/facebook_ads_campaign_history_data.csv", "name": "facebook_ads_campaign_history_data", "alias": "facebook_ads_campaign_history_data", "checksum": {"name": "sha256", "checksum": "1dfd8244efe7c32be5fb93c8417575d79670225092a28cab9da03d0ad7773432"}, "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": {"column_types": {"id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "account_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "ad_set_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "ad_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "creative_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "page_link": "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}", "template_page_link": "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}", "_fivetran_synced": "timestamp", "updated_time": "timestamp"}}, "created_at": 1671505150.854123, "compiled_code": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"facebook_ads_integration_tests\".\"facebook_ads_campaign_history_data\""}, "seed.facebook_ads_integration_tests.facebook_ads_account_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": {"id": "bigint", "account_id": "bigint", "campaign_id": "bigint", "ad_set_id": "bigint", "ad_id": "bigint", "creative_id": "bigint", "page_link": "varchar", "template_page_link": "varchar", "_fivetran_synced": "timestamp", "updated_time": "timestamp"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "facebook_ads_integration_tests", "fqn": ["facebook_ads_integration_tests", "facebook_ads_account_history_data"], "unique_id": "seed.facebook_ads_integration_tests.facebook_ads_account_history_data", "raw_code": "", "language": "sql", "package_name": "facebook_ads_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests", "path": "facebook_ads_account_history_data.csv", "original_file_path": "seeds/facebook_ads_account_history_data.csv", "name": "facebook_ads_account_history_data", "alias": "facebook_ads_account_history_data", "checksum": {"name": "sha256", "checksum": "cd864f60b0ec016488416e66c22b5ff0ffcb882139124d92c3207f5abb0ae36d"}, "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": {"column_types": {"id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "account_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "ad_set_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "ad_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "creative_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "page_link": "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}", "template_page_link": "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}", "_fivetran_synced": "timestamp", "updated_time": "timestamp"}}, "created_at": 1671505150.855413, "compiled_code": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"facebook_ads_integration_tests\".\"facebook_ads_account_history_data\""}, "seed.facebook_ads_integration_tests.facebook_ads_basic_ad_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": {"id": "bigint", "account_id": "bigint", "campaign_id": "bigint", "ad_set_id": "bigint", "ad_id": "bigint", "creative_id": "bigint", "page_link": "varchar", "template_page_link": "varchar", "_fivetran_synced": "timestamp", "updated_time": "timestamp"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "facebook_ads_integration_tests", "fqn": ["facebook_ads_integration_tests", "facebook_ads_basic_ad_data"], "unique_id": "seed.facebook_ads_integration_tests.facebook_ads_basic_ad_data", "raw_code": "", "language": "sql", "package_name": "facebook_ads_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests", "path": "facebook_ads_basic_ad_data.csv", "original_file_path": "seeds/facebook_ads_basic_ad_data.csv", "name": "facebook_ads_basic_ad_data", "alias": "facebook_ads_basic_ad_data", "checksum": {"name": "sha256", "checksum": "66b31e24edd0ba75d3fee6ad4c1522fd9b43417943aac398f1c92f5076ba7ac0"}, "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": {"column_types": {"id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "account_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "ad_set_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "ad_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "creative_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "page_link": "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}", "template_page_link": "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}", "_fivetran_synced": "timestamp", "updated_time": "timestamp"}}, "created_at": 1671505150.857137, "compiled_code": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"facebook_ads_integration_tests\".\"facebook_ads_basic_ad_data\""}, "seed.facebook_ads_integration_tests.facebook_ads_ad_set_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": {"id": "bigint", "account_id": "bigint", "campaign_id": "bigint", "ad_set_id": "bigint", "ad_id": "bigint", "creative_id": "bigint", "page_link": "varchar", "template_page_link": "varchar", "_fivetran_synced": "timestamp", "updated_time": "timestamp"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "facebook_ads_integration_tests", "fqn": ["facebook_ads_integration_tests", "facebook_ads_ad_set_history_data"], "unique_id": "seed.facebook_ads_integration_tests.facebook_ads_ad_set_history_data", "raw_code": "", "language": "sql", "package_name": "facebook_ads_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests", "path": "facebook_ads_ad_set_history_data.csv", "original_file_path": "seeds/facebook_ads_ad_set_history_data.csv", "name": "facebook_ads_ad_set_history_data", "alias": "facebook_ads_ad_set_history_data", "checksum": {"name": "sha256", "checksum": "da4e6b48f3feaa4bd2c3783b125909a14c5317b3c1484b4f6af5d7c1d88f5bd7"}, "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": {"column_types": {"id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "account_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "ad_set_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "ad_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "creative_id": "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}", "page_link": "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}", "template_page_link": "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}", "_fivetran_synced": "timestamp", "updated_time": "timestamp"}}, "created_at": 1671505150.85868, "compiled_code": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"facebook_ads_integration_tests\".\"facebook_ads_ad_set_history_data\""}, "model.facebook_ads.facebook_ads__url_report": {"compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.fivetran_utils.persist_pass_through_columns", "macro.dbt_utils.group_by"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__basic_ad", "model.facebook_ads.int_facebook_ads__creative_history", "model.facebook_ads_source.stg_facebook_ads__account_history", "model.facebook_ads_source.stg_facebook_ads__ad_history", "model.facebook_ads_source.stg_facebook_ads__ad_set_history", "model.facebook_ads_source.stg_facebook_ads__campaign_history"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_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": "facebook_ads_integration_tests_facebook_ads", "fqn": ["facebook_ads", "facebook_ads__url_report"], "unique_id": "model.facebook_ads.facebook_ads__url_report", "raw_code": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nwith report as (\n\n select *\n from {{ var('basic_ad') }}\n\n), \n\ncreatives as (\n\n select *\n from {{ ref('int_facebook_ads__creative_history') }}\n\n), \n\naccounts as (\n\n select *\n from {{ var('account_history') }}\n where is_most_recent_record = true\n\n), \n\nads as (\n\n select *\n from {{ var('ad_history') }}\n where is_most_recent_record = true\n\n), \n\nad_sets as (\n\n select *\n from {{ var('ad_set_history') }}\n where is_most_recent_record = true\n\n), \n\ncampaigns as (\n\n select *\n from {{ var('campaign_history') }}\n where is_most_recent_record = true\n\n), \n\njoined as (\n\n select\n report.date_day,\n accounts.account_id,\n accounts.account_name,\n campaigns.campaign_id,\n campaigns.campaign_name,\n ad_sets.ad_set_id,\n ad_sets.ad_set_name,\n ads.ad_id,\n ads.ad_name,\n creatives.creative_id,\n creatives.creative_name,\n creatives.base_url,\n creatives.url_host,\n creatives.url_path,\n creatives.utm_source,\n creatives.utm_medium,\n creatives.utm_campaign,\n creatives.utm_content,\n creatives.utm_term,\n sum(report.clicks) as clicks,\n sum(report.impressions) as impressions,\n sum(report.spend) as spend\n\n {{ fivetran_utils.persist_pass_through_columns(pass_through_variable='facebook_ads__basic_ad_passthrough_metrics', transform = 'sum') }}\n from report\n left join ads \n on report.ad_id = ads.ad_id\n left join creatives\n on ads.creative_id = creatives.creative_id\n left join ad_sets\n on ads.ad_set_id = ad_sets.ad_set_id\n left join campaigns\n on ads.campaign_id = campaigns.campaign_id\n left join accounts\n on report.account_id = accounts.account_id \n\n {% if var('ad_reporting__url_report__using_null_filter', True) %}\n where creatives.url is not null\n {% endif %}\n \n {{ dbt_utils.group_by(19) }}\n)\n\nselect *\nfrom joined", "language": "sql", "package_name": "facebook_ads", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "facebook_ads__url_report.sql", "original_file_path": "models/facebook_ads__url_report.sql", "name": "facebook_ads__url_report", "alias": "facebook_ads__url_report", "checksum": {"name": "sha256", "checksum": "f70f450f715f519a00124348bc02f28ba3c9512aeb5f3ce0d57f01421e7a7f18"}, "tags": [], "refs": [["stg_facebook_ads__basic_ad"], ["int_facebook_ads__creative_history"], ["stg_facebook_ads__account_history"], ["stg_facebook_ads__ad_history"], ["stg_facebook_ads__ad_set_history"], ["stg_facebook_ads__campaign_history"]], "sources": [], "metrics": [], "description": "Each record represents the daily performance of a Facebook ad at the URL level.", "columns": {"date_day": {"name": "date_day", "description": "The date of the performance.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "The ID of the related account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_name": {"name": "account_name", "description": "The name of the related account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_id": {"name": "campaign_id", "description": "The ID of the related campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_name": {"name": "campaign_name", "description": "The name of the related campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_set_id": {"name": "ad_set_id", "description": "The ID of the related ad set.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_set_name": {"name": "ad_set_name", "description": "The name of the related ad set.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_id": {"name": "ad_id", "description": "The ID of the related ad.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_name": {"name": "ad_name", "description": "The name of the related ad.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "creative_id": {"name": "creative_id", "description": "The ID of the related creative.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "creative_name": {"name": "creative_name", "description": "The name of the related creative.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "base_url": {"name": "base_url", "description": "The base URL of the ad, extracted from the page_link and template_page_link.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "url_host": {"name": "url_host", "description": "The URL host of the ad, extracted from the page_link and template_page_link.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "url_path": {"name": "url_path", "description": "The URL path of the ad, extracted from the page_link and template_page_link.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "utm_source": {"name": "utm_source", "description": "The utm_source parameter of the ad, extracted from the page_link and template_page_link.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "utm_medium": {"name": "utm_medium", "description": "The utm_medium parameter of the ad, extracted from the page_link and template_page_link.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "utm_campaign": {"name": "utm_campaign", "description": "The utm_campaign parameter of the ad, extracted from the page_link and template_page_link.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "utm_content": {"name": "utm_content", "description": "The utm_content parameter of the ad, extracted from the page_link and template_page_link.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "utm_term": {"name": "utm_term", "description": "The utm_term parameter of the ad, extracted from the page_link and template_page_link.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clicks": {"name": "clicks", "description": "The number of clicks the ad had on the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "The number of impressions the ad had on the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The spend on the ad in the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": "facebook_ads://models/facebook.yml", "compiled_path": "target/compiled/facebook_ads/models/facebook_ads__url_report.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads", "materialized": "table", "enabled": true}, "created_at": 1671505151.187855, "compiled_code": "\n\nwith report as (\n\n select *\n from \"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__basic_ad\"\n\n), \n\ncreatives as (\n\n select *\n from \"postgres\".\"facebook_ads_integration_tests_facebook_ads\".\"int_facebook_ads__creative_history\"\n\n), \n\naccounts as (\n\n select *\n from \"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__account_history\"\n where is_most_recent_record = true\n\n), \n\nads as (\n\n select *\n from \"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__ad_history\"\n where is_most_recent_record = true\n\n), \n\nad_sets as (\n\n select *\n from \"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__ad_set_history\"\n where is_most_recent_record = true\n\n), \n\ncampaigns as (\n\n select *\n from \"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__campaign_history\"\n where is_most_recent_record = true\n\n), \n\njoined as (\n\n select\n report.date_day,\n accounts.account_id,\n accounts.account_name,\n campaigns.campaign_id,\n campaigns.campaign_name,\n ad_sets.ad_set_id,\n ad_sets.ad_set_name,\n ads.ad_id,\n ads.ad_name,\n creatives.creative_id,\n creatives.creative_name,\n creatives.base_url,\n creatives.url_host,\n creatives.url_path,\n creatives.utm_source,\n creatives.utm_medium,\n creatives.utm_campaign,\n creatives.utm_content,\n creatives.utm_term,\n sum(report.clicks) as clicks,\n sum(report.impressions) as impressions,\n sum(report.spend) as spend\n\n \n\n\n\n\n from report\n left join ads \n on report.ad_id = ads.ad_id\n left join creatives\n on ads.creative_id = creatives.creative_id\n left join ad_sets\n on ads.ad_set_id = ad_sets.ad_set_id\n left join campaigns\n on ads.campaign_id = campaigns.campaign_id\n left join accounts\n on report.account_id = accounts.account_id \n\n \n where creatives.url is not null\n \n \n group by 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19\n)\n\nselect *\nfrom joined", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"facebook_ads_integration_tests_facebook_ads\".\"facebook_ads__url_report\""}, "model.facebook_ads.facebook_ads__url_tags": {"compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.facebook_ads.get_url_tags_query"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__creative_history"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_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": "facebook_ads_integration_tests_facebook_ads", "fqn": ["facebook_ads", "facebook_ads__url_tags"], "unique_id": "model.facebook_ads.facebook_ads__url_tags", "raw_code": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nwith base as (\n\n select *\n from {{ var('creative_history') }}\n where is_most_recent_record = true\n), \n\nrequired_fields as (\n\n select\n _fivetran_id,\n creative_id,\n url_tags\n from base\n where url_tags is not null\n), \n\n{{ get_url_tags_query() }} \n\nselect *\nfrom fields", "language": "sql", "package_name": "facebook_ads", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "facebook_ads__url_tags.sql", "original_file_path": "models/facebook_ads__url_tags.sql", "name": "facebook_ads__url_tags", "alias": "facebook_ads__url_tags", "checksum": {"name": "sha256", "checksum": "94dcb7faf1441b289fcec62f3e81794a05a34cf10bf2955e8a8f8c18555f8ad2"}, "tags": [], "refs": [["stg_facebook_ads__creative_history"]], "sources": [], "metrics": [], "description": "Each record is a unique combination of creative_id and corresponding key, value, type contained in the url_tags field", "columns": {"_fivetran_id": {"name": "_fivetran_id", "description": "The unique fivetran ID for this record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "creative_id": {"name": "creative_id", "description": "The associated creative_id for this record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "key": {"name": "key", "description": "The url tag object name e.g. utm_source associated with this record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "value": {"name": "value", "description": "The value assigned to the url tag object associated with this record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "type": {"name": "type", "description": "The type assigned to the url tag object e.g. 'AD_VIDEO'.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": "facebook_ads://models/facebook.yml", "compiled_path": "target/compiled/facebook_ads/models/facebook_ads__url_tags.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads", "materialized": "table", "enabled": true}, "created_at": 1671505151.196767, "compiled_code": "\n\nwith base as (\n\n select *\n from \"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__creative_history\"\n where is_most_recent_record = true\n), \n\nrequired_fields as (\n\n select\n _fivetran_id,\n creative_id,\n url_tags\n from base\n where url_tags is not null\n), \n\n\n\n cleaned_json as (\n\n select\n _fivetran_id,\n creative_id,\n replace(trim(url_tags::text, '\"'),'\\\\','')::json as cleaned_url_tags\n from required_fields\n ), \n\n unnested as (\n\n select \n _fivetran_id, \n creative_id, \n url_tag_element\n from cleaned_json\n left join lateral json_array_elements(cleaned_url_tags) as url_tag_element on True\n where cleaned_url_tags is not null\n ), \n\n fields as (\n\n select\n _fivetran_id,\n creative_id,\n url_tag_element->>'key' as key,\n url_tag_element->>'value' as value,\n url_tag_element->>'type' as type\n from unnested\n )\n\n \n\nselect *\nfrom fields", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"facebook_ads_integration_tests_facebook_ads\".\"facebook_ads__url_tags\""}, "model.facebook_ads.facebook_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.facebook_ads_source.stg_facebook_ads__basic_ad", "model.facebook_ads_source.stg_facebook_ads__account_history", "model.facebook_ads_source.stg_facebook_ads__campaign_history", "model.facebook_ads_source.stg_facebook_ads__ad_history"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_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": "facebook_ads_integration_tests_facebook_ads", "fqn": ["facebook_ads", "facebook_ads__campaign_report"], "unique_id": "model.facebook_ads.facebook_ads__campaign_report", "raw_code": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nwith report as (\n\n select *\n from {{ var('basic_ad') }}\n\n), \n\naccounts as (\n\n select *\n from {{ var('account_history') }}\n where is_most_recent_record = true\n\n),\n\ncampaigns as (\n\n select *\n from {{ var('campaign_history') }}\n where is_most_recent_record = true\n\n),\n\nads as (\n\n select *\n from {{ var('ad_history') }}\n where is_most_recent_record = true\n\n),\n\njoined as (\n\n select \n report.date_day,\n accounts.account_id,\n accounts.account_name,\n campaigns.campaign_id,\n campaigns.campaign_name,\n campaigns.start_at,\n campaigns.end_at,\n campaigns.status,\n campaigns.daily_budget,\n campaigns.lifetime_budget,\n campaigns.budget_remaining,\n sum(report.clicks) as clicks,\n sum(report.impressions) as impressions,\n sum(report.spend) as spend\n\n {{ fivetran_utils.persist_pass_through_columns(pass_through_variable='facebook_ads__basic_ad_passthrough_metrics', transform = 'sum') }}\n from report \n left join accounts\n on report.account_id = accounts.account_id\n left join ads \n on report.ad_id = ads.ad_id\n left join campaigns\n on ads.campaign_id = campaigns.campaign_id\n {{ dbt_utils.group_by(11) }}\n)\n\nselect *\nfrom joined", "language": "sql", "package_name": "facebook_ads", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "facebook_ads__campaign_report.sql", "original_file_path": "models/facebook_ads__campaign_report.sql", "name": "facebook_ads__campaign_report", "alias": "facebook_ads__campaign_report", "checksum": {"name": "sha256", "checksum": "4bec447c9d29e7a26180ce14a68d0a1217d60f0d24bed7c89716b3520c053a75"}, "tags": [], "refs": [["stg_facebook_ads__basic_ad"], ["stg_facebook_ads__account_history"], ["stg_facebook_ads__campaign_history"], ["stg_facebook_ads__ad_history"]], "sources": [], "metrics": [], "description": "Each record represents the daily performance of a Facebook campaign.", "columns": {"date_day": {"name": "date_day", "description": "The date of the performance.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "The ID of the related account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_name": {"name": "account_name", "description": "The name of the related account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_id": {"name": "campaign_id", "description": "The ID of the related campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_name": {"name": "campaign_name", "description": "The name of the related campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clicks": {"name": "clicks", "description": "The number of clicks the ad had on the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "The number of impressions the ad had on the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The spend on the ad in the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": "facebook_ads://models/facebook.yml", "compiled_path": "target/compiled/facebook_ads/models/facebook_ads__campaign_report.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads", "materialized": "table", "enabled": true}, "created_at": 1671505151.194338, "compiled_code": "\n\nwith report as (\n\n select *\n from \"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__basic_ad\"\n\n), \n\naccounts as (\n\n select *\n from \"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__account_history\"\n where is_most_recent_record = true\n\n),\n\ncampaigns as (\n\n select *\n from \"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__campaign_history\"\n where is_most_recent_record = true\n\n),\n\nads as (\n\n select *\n from \"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__ad_history\"\n where is_most_recent_record = true\n\n),\n\njoined as (\n\n select \n report.date_day,\n accounts.account_id,\n accounts.account_name,\n campaigns.campaign_id,\n campaigns.campaign_name,\n campaigns.start_at,\n campaigns.end_at,\n campaigns.status,\n campaigns.daily_budget,\n campaigns.lifetime_budget,\n campaigns.budget_remaining,\n sum(report.clicks) as clicks,\n sum(report.impressions) as impressions,\n sum(report.spend) as spend\n\n \n\n\n\n\n from report \n left join accounts\n on report.account_id = accounts.account_id\n left join ads \n on report.ad_id = ads.ad_id\n left join campaigns\n on ads.campaign_id = campaigns.campaign_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\".\"facebook_ads_integration_tests_facebook_ads\".\"facebook_ads__campaign_report\""}, "model.facebook_ads.facebook_ads__account_report": {"compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.fivetran_utils.persist_pass_through_columns", "macro.dbt_utils.group_by"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__basic_ad", "model.facebook_ads_source.stg_facebook_ads__account_history"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_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": "facebook_ads_integration_tests_facebook_ads", "fqn": ["facebook_ads", "facebook_ads__account_report"], "unique_id": "model.facebook_ads.facebook_ads__account_report", "raw_code": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nwith report as (\n\n select *\n from {{ var('basic_ad') }}\n\n), \n\naccounts as (\n\n select *\n from {{ var('account_history') }}\n where is_most_recent_record = true\n\n),\n\njoined as (\n\n select \n report.date_day,\n accounts.account_id,\n accounts.account_name,\n accounts.account_status,\n accounts.business_country_code,\n accounts.created_at,\n accounts.currency,\n accounts.timezone_name,\n sum(report.clicks) as clicks,\n sum(report.impressions) as impressions,\n sum(report.spend) as spend\n\n {{ fivetran_utils.persist_pass_through_columns(pass_through_variable='facebook_ads__basic_ad_passthrough_metrics', transform = 'sum') }}\n from report \n left join accounts\n on report.account_id = accounts.account_id\n {{ dbt_utils.group_by(8) }}\n)\n\nselect *\nfrom joined", "language": "sql", "package_name": "facebook_ads", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "facebook_ads__account_report.sql", "original_file_path": "models/facebook_ads__account_report.sql", "name": "facebook_ads__account_report", "alias": "facebook_ads__account_report", "checksum": {"name": "sha256", "checksum": "845cdb5118e536d66d515c2e11eee71d380e406ba4f443bae4828ec70362841e"}, "tags": [], "refs": [["stg_facebook_ads__basic_ad"], ["stg_facebook_ads__account_history"]], "sources": [], "metrics": [], "description": "Each record represents the daily performance of a Facebook account.", "columns": {"date_day": {"name": "date_day", "description": "The date of the performance.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "The ID of the related account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_name": {"name": "account_name", "description": "The name of the related account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clicks": {"name": "clicks", "description": "The number of clicks the ad had on the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "The number of impressions the ad had on the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The spend on the ad in the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": "facebook_ads://models/facebook.yml", "compiled_path": "target/compiled/facebook_ads/models/facebook_ads__account_report.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads", "materialized": "table", "enabled": true}, "created_at": 1671505151.195599, "compiled_code": "\n\nwith report as (\n\n select *\n from \"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__basic_ad\"\n\n), \n\naccounts as (\n\n select *\n from \"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__account_history\"\n where is_most_recent_record = true\n\n),\n\njoined as (\n\n select \n report.date_day,\n accounts.account_id,\n accounts.account_name,\n accounts.account_status,\n accounts.business_country_code,\n accounts.created_at,\n accounts.currency,\n accounts.timezone_name,\n sum(report.clicks) as clicks,\n sum(report.impressions) as impressions,\n sum(report.spend) as spend\n\n \n\n\n\n\n from report \n left join accounts\n on report.account_id = accounts.account_id\n group by 1,2,3,4,5,6,7,8\n)\n\nselect *\nfrom joined", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"facebook_ads_integration_tests_facebook_ads\".\"facebook_ads__account_report\""}, "model.facebook_ads.facebook_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.facebook_ads_source.stg_facebook_ads__basic_ad", "model.facebook_ads_source.stg_facebook_ads__account_history", "model.facebook_ads_source.stg_facebook_ads__campaign_history", "model.facebook_ads_source.stg_facebook_ads__ad_set_history", "model.facebook_ads_source.stg_facebook_ads__ad_history"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_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": "facebook_ads_integration_tests_facebook_ads", "fqn": ["facebook_ads", "facebook_ads__ad_report"], "unique_id": "model.facebook_ads.facebook_ads__ad_report", "raw_code": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nwith report as (\n\n select *\n from {{ var('basic_ad') }}\n\n), \n\naccounts as (\n\n select *\n from {{ var('account_history') }}\n where is_most_recent_record = true\n\n),\n\ncampaigns as (\n\n select *\n from {{ var('campaign_history') }}\n where is_most_recent_record = true\n\n),\n\nad_sets as (\n\n select *\n from {{ var('ad_set_history') }}\n where is_most_recent_record = true\n\n),\n\nads as (\n\n select *\n from {{ var('ad_history') }}\n where is_most_recent_record = true\n\n),\n\njoined as (\n\n select \n report.date_day,\n accounts.account_id,\n accounts.account_name,\n campaigns.campaign_id,\n campaigns.campaign_name,\n ad_sets.ad_set_id,\n ad_sets.ad_set_name,\n ads.ad_id,\n ads.ad_name,\n sum(report.clicks) as clicks,\n sum(report.impressions) as impressions,\n sum(report.spend) as spend\n\n {{ fivetran_utils.persist_pass_through_columns(pass_through_variable='facebook_ads__basic_ad_passthrough_metrics', transform = 'sum') }}\n from report \n left join accounts\n on report.account_id = accounts.account_id\n left join ads \n on report.ad_id = ads.ad_id\n left join campaigns\n on ads.campaign_id = campaigns.campaign_id\n left join ad_sets\n on ads.ad_set_id = ad_sets.ad_set_id\n {{ dbt_utils.group_by(9) }}\n)\n\nselect *\nfrom joined", "language": "sql", "package_name": "facebook_ads", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "facebook_ads__ad_report.sql", "original_file_path": "models/facebook_ads__ad_report.sql", "name": "facebook_ads__ad_report", "alias": "facebook_ads__ad_report", "checksum": {"name": "sha256", "checksum": "36088a9abc521347aacc7d9bf0f56fd712441e94a2bc66ef334f85ff8f4761ea"}, "tags": [], "refs": [["stg_facebook_ads__basic_ad"], ["stg_facebook_ads__account_history"], ["stg_facebook_ads__campaign_history"], ["stg_facebook_ads__ad_set_history"], ["stg_facebook_ads__ad_history"]], "sources": [], "metrics": [], "description": "Each record represents the daily performance of a Facebook ad.", "columns": {"date_day": {"name": "date_day", "description": "The date of the performance.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "The ID of the related account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_name": {"name": "account_name", "description": "The name of the related account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_id": {"name": "campaign_id", "description": "The ID of the related campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_name": {"name": "campaign_name", "description": "The name of the related campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_set_id": {"name": "ad_set_id", "description": "The ID of the related ad set.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_set_name": {"name": "ad_set_name", "description": "The name of the related ad set.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_id": {"name": "ad_id", "description": "The ID of the related ad.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_name": {"name": "ad_name", "description": "The name of the related ad.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clicks": {"name": "clicks", "description": "The number of clicks the ad had on the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "The number of impressions the ad had on the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The spend on the ad in the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": "facebook_ads://models/facebook.yml", "compiled_path": "target/compiled/facebook_ads/models/facebook_ads__ad_report.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads", "materialized": "table", "enabled": true}, "created_at": 1671505151.19031, "compiled_code": "\n\nwith report as (\n\n select *\n from \"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__basic_ad\"\n\n), \n\naccounts as (\n\n select *\n from \"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__account_history\"\n where is_most_recent_record = true\n\n),\n\ncampaigns as (\n\n select *\n from \"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__campaign_history\"\n where is_most_recent_record = true\n\n),\n\nad_sets as (\n\n select *\n from \"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__ad_set_history\"\n where is_most_recent_record = true\n\n),\n\nads as (\n\n select *\n from \"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__ad_history\"\n where is_most_recent_record = true\n\n),\n\njoined as (\n\n select \n report.date_day,\n accounts.account_id,\n accounts.account_name,\n campaigns.campaign_id,\n campaigns.campaign_name,\n ad_sets.ad_set_id,\n ad_sets.ad_set_name,\n ads.ad_id,\n ads.ad_name,\n sum(report.clicks) as clicks,\n sum(report.impressions) as impressions,\n sum(report.spend) as spend\n\n \n\n\n\n\n from report \n left join accounts\n on report.account_id = accounts.account_id\n left join ads \n on report.ad_id = ads.ad_id\n left join campaigns\n on ads.campaign_id = campaigns.campaign_id\n left join ad_sets\n on ads.ad_set_id = ad_sets.ad_set_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\".\"facebook_ads_integration_tests_facebook_ads\".\"facebook_ads__ad_report\""}, "model.facebook_ads.facebook_ads__ad_set_report": {"compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.fivetran_utils.persist_pass_through_columns", "macro.dbt_utils.group_by"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__basic_ad", "model.facebook_ads_source.stg_facebook_ads__account_history", "model.facebook_ads_source.stg_facebook_ads__campaign_history", "model.facebook_ads_source.stg_facebook_ads__ad_set_history", "model.facebook_ads_source.stg_facebook_ads__ad_history"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_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": "facebook_ads_integration_tests_facebook_ads", "fqn": ["facebook_ads", "facebook_ads__ad_set_report"], "unique_id": "model.facebook_ads.facebook_ads__ad_set_report", "raw_code": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nwith report as (\n\n select *\n from {{ var('basic_ad') }}\n\n), \n\naccounts as (\n\n select *\n from {{ var('account_history') }}\n where is_most_recent_record = true\n\n),\n\ncampaigns as (\n\n select *\n from {{ var('campaign_history') }}\n where is_most_recent_record = true\n\n),\n\nad_sets as (\n\n select *\n from {{ var('ad_set_history') }}\n where is_most_recent_record = true\n\n),\n\nads as (\n\n select *\n from {{ var('ad_history') }}\n where is_most_recent_record = true\n\n),\n\njoined as (\n\n select \n report.date_day,\n accounts.account_id,\n accounts.account_name,\n campaigns.campaign_id,\n campaigns.campaign_name,\n ad_sets.ad_set_id,\n ad_sets.ad_set_name,\n ad_sets.start_at,\n ad_sets.end_at,\n ad_sets.bid_strategy,\n ad_sets.daily_budget,\n ad_sets.budget_remaining,\n sum(report.clicks) as clicks,\n sum(report.impressions) as impressions,\n sum(report.spend) as spend\n\n {{ fivetran_utils.persist_pass_through_columns(pass_through_variable='facebook_ads__basic_ad_passthrough_metrics', transform = 'sum') }}\n from report \n left join accounts\n on report.account_id = accounts.account_id\n left join ads \n on report.ad_id = ads.ad_id\n left join campaigns\n on ads.campaign_id = campaigns.campaign_id\n left join ad_sets\n on ads.ad_set_id = ad_sets.ad_set_id\n {{ dbt_utils.group_by(12) }}\n)\n\nselect *\nfrom joined", "language": "sql", "package_name": "facebook_ads", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "facebook_ads__ad_set_report.sql", "original_file_path": "models/facebook_ads__ad_set_report.sql", "name": "facebook_ads__ad_set_report", "alias": "facebook_ads__ad_set_report", "checksum": {"name": "sha256", "checksum": "d1b0e28fe240e405fe8f746c38d4fad26a8d43e10dcd6f375617b78095f87e01"}, "tags": [], "refs": [["stg_facebook_ads__basic_ad"], ["stg_facebook_ads__account_history"], ["stg_facebook_ads__campaign_history"], ["stg_facebook_ads__ad_set_history"], ["stg_facebook_ads__ad_history"]], "sources": [], "metrics": [], "description": "Each record represents the daily performance of a Facebook ad set.", "columns": {"date_day": {"name": "date_day", "description": "The date of the performance.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "The ID of the related account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_name": {"name": "account_name", "description": "The name of the related account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_id": {"name": "campaign_id", "description": "The ID of the related campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_name": {"name": "campaign_name", "description": "The name of the related campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_set_id": {"name": "ad_set_id", "description": "The ID of the related ad set.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_set_name": {"name": "ad_set_name", "description": "The name of the related ad set.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clicks": {"name": "clicks", "description": "The number of clicks the ad had on the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "The number of impressions the ad had on the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The spend on the ad in the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": "facebook_ads://models/facebook.yml", "compiled_path": "target/compiled/facebook_ads/models/facebook_ads__ad_set_report.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads", "materialized": "table", "enabled": true}, "created_at": 1671505151.1923048, "compiled_code": "\n\nwith report as (\n\n select *\n from \"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__basic_ad\"\n\n), \n\naccounts as (\n\n select *\n from \"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__account_history\"\n where is_most_recent_record = true\n\n),\n\ncampaigns as (\n\n select *\n from \"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__campaign_history\"\n where is_most_recent_record = true\n\n),\n\nad_sets as (\n\n select *\n from \"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__ad_set_history\"\n where is_most_recent_record = true\n\n),\n\nads as (\n\n select *\n from \"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__ad_history\"\n where is_most_recent_record = true\n\n),\n\njoined as (\n\n select \n report.date_day,\n accounts.account_id,\n accounts.account_name,\n campaigns.campaign_id,\n campaigns.campaign_name,\n ad_sets.ad_set_id,\n ad_sets.ad_set_name,\n ad_sets.start_at,\n ad_sets.end_at,\n ad_sets.bid_strategy,\n ad_sets.daily_budget,\n ad_sets.budget_remaining,\n sum(report.clicks) as clicks,\n sum(report.impressions) as impressions,\n sum(report.spend) as spend\n\n \n\n\n\n\n from report \n left join accounts\n on report.account_id = accounts.account_id\n left join ads \n on report.ad_id = ads.ad_id\n left join campaigns\n on ads.campaign_id = campaigns.campaign_id\n left join ad_sets\n on ads.ad_set_id = ad_sets.ad_set_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\".\"facebook_ads_integration_tests_facebook_ads\".\"facebook_ads__ad_set_report\""}, "model.facebook_ads.int_facebook_ads__creative_history": {"compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.dbt.split_part", "macro.dbt_utils.get_url_host", "macro.dbt_utils.get_url_path", "macro.dbt_utils.get_url_parameter"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__creative_history", "model.facebook_ads.facebook_ads__url_tags"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_ads", "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": "facebook_ads_integration_tests_facebook_ads", "fqn": ["facebook_ads", "intermediate", "int_facebook_ads__creative_history"], "unique_id": "model.facebook_ads.int_facebook_ads__creative_history", "raw_code": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\n{% set url_field = \"coalesce(page_link,template_page_link)\" %}\n\nwith base as (\n\n select *\n from {{ var('creative_history') }}\n where is_most_recent_record = true\n\n), \n\nurl_tags as (\n\n select *\n from {{ ref('facebook_ads__url_tags') }}\n), \n\nurl_tags_pivoted as (\n\n select \n _fivetran_id,\n creative_id,\n min(case when key = 'utm_source' then value end) as utm_source,\n min(case when key = 'utm_medium' then value end) as utm_medium,\n min(case when key = 'utm_campaign' then value end) as utm_campaign,\n min(case when key = 'utm_content' then value end) as utm_content,\n min(case when key = 'utm_term' then value end) as utm_term\n from url_tags\n group by 1,2\n\n), \n\nfields as (\n\n select\n base._fivetran_id,\n base.creative_id,\n base.account_id,\n base.creative_name,\n {{ url_field }} as url,\n {{ dbt.split_part(url_field, \"'?'\", 1) }} as base_url,\n {{ dbt_utils.get_url_host(url_field) }} as url_host,\n '/' || {{ dbt_utils.get_url_path(url_field) }} as url_path,\n coalesce(url_tags_pivoted.utm_source, {{ dbt_utils.get_url_parameter(url_field, 'utm_source') }}) as utm_source,\n coalesce(url_tags_pivoted.utm_medium, {{ dbt_utils.get_url_parameter(url_field, 'utm_medium') }}) as utm_medium,\n coalesce(url_tags_pivoted.utm_campaign, {{ dbt_utils.get_url_parameter(url_field, 'utm_campaign') }}) as utm_campaign,\n coalesce(url_tags_pivoted.utm_content, {{ dbt_utils.get_url_parameter(url_field, 'utm_content') }}) as utm_content,\n coalesce(url_tags_pivoted.utm_term, {{ dbt_utils.get_url_parameter(url_field, 'utm_term') }}) as utm_term\n from base\n left join url_tags_pivoted\n on base._fivetran_id = url_tags_pivoted._fivetran_id\n and base.creative_id = url_tags_pivoted.creative_id\n)\n\nselect *\nfrom fields", "language": "sql", "package_name": "facebook_ads", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "intermediate/int_facebook_ads__creative_history.sql", "original_file_path": "models/intermediate/int_facebook_ads__creative_history.sql", "name": "int_facebook_ads__creative_history", "alias": "int_facebook_ads__creative_history", "checksum": {"name": "sha256", "checksum": "58070e7fbe67471ca464a7f8fdb011e4e8582d1651e7b42b966218bdaf1b4235"}, "tags": [], "refs": [["stg_facebook_ads__creative_history"], ["facebook_ads__url_tags"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads/models/intermediate/int_facebook_ads__creative_history.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads", "materialized": "view", "enabled": true}, "created_at": 1671505150.949217, "compiled_code": "\n\n\n\nwith base as (\n\n select *\n from \"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__creative_history\"\n where is_most_recent_record = true\n\n), \n\nurl_tags as (\n\n select *\n from \"postgres\".\"facebook_ads_integration_tests_facebook_ads\".\"facebook_ads__url_tags\"\n), \n\nurl_tags_pivoted as (\n\n select \n _fivetran_id,\n creative_id,\n min(case when key = 'utm_source' then value end) as utm_source,\n min(case when key = 'utm_medium' then value end) as utm_medium,\n min(case when key = 'utm_campaign' then value end) as utm_campaign,\n min(case when key = 'utm_content' then value end) as utm_content,\n min(case when key = 'utm_term' then value end) as utm_term\n from url_tags\n group by 1,2\n\n), \n\nfields as (\n\n select\n base._fivetran_id,\n base.creative_id,\n base.account_id,\n base.creative_name,\n coalesce(page_link,template_page_link) as url,\n \n\n \n \n\n split_part(\n coalesce(page_link,template_page_link),\n '?',\n 1\n )\n\n\n \n\n as base_url,\n \n \n cast(\n\n \n \n\n split_part(\n \n\n \n \n\n split_part(\n \n\n replace(\n \n\n replace(\n \n\n replace(\n coalesce(page_link,template_page_link),\n 'android-app://',\n ''\n )\n\n\n,\n 'http://',\n ''\n )\n\n\n,\n 'https://',\n ''\n )\n\n\n,\n '/',\n 1\n )\n\n\n \n\n,\n '?',\n 1\n )\n\n\n \n\n as TEXT)\n as url_host,\n '/' || \n \n cast(\n\n \n \n\n split_part(\n \n\n right(\n \n\n replace(\n \n\n replace(\n coalesce(page_link,template_page_link),\n 'http://',\n ''\n )\n\n\n,\n 'https://',\n ''\n )\n\n\n,\n \n\n length(\n \n\n replace(\n \n\n replace(\n coalesce(page_link,template_page_link),\n 'http://',\n ''\n )\n\n\n,\n 'https://',\n ''\n )\n\n\n\n )-coalesce(\n nullif(\n\n position(\n '/' in \n\n replace(\n \n\n replace(\n coalesce(page_link,template_page_link),\n 'http://',\n ''\n )\n\n\n,\n 'https://',\n ''\n )\n\n\n\n ), 0),\n \n\n position(\n '?' in \n\n replace(\n \n\n replace(\n coalesce(page_link,template_page_link),\n 'http://',\n ''\n )\n\n\n,\n 'https://',\n ''\n )\n\n\n\n ) - 1\n )\n ),\n '?',\n 1\n )\n\n\n \n\n as TEXT)\n as url_path,\n coalesce(url_tags_pivoted.utm_source, nullif(\n\n \n \n\n split_part(\n \n\n \n \n\n split_part(\n coalesce(page_link,template_page_link),\n 'utm_source=',\n 2\n )\n\n\n \n\n,\n '&',\n 1\n )\n\n\n \n\n,'')) as utm_source,\n coalesce(url_tags_pivoted.utm_medium, nullif(\n\n \n \n\n split_part(\n \n\n \n \n\n split_part(\n coalesce(page_link,template_page_link),\n 'utm_medium=',\n 2\n )\n\n\n \n\n,\n '&',\n 1\n )\n\n\n \n\n,'')) as utm_medium,\n coalesce(url_tags_pivoted.utm_campaign, nullif(\n\n \n \n\n split_part(\n \n\n \n \n\n split_part(\n coalesce(page_link,template_page_link),\n 'utm_campaign=',\n 2\n )\n\n\n \n\n,\n '&',\n 1\n )\n\n\n \n\n,'')) as utm_campaign,\n coalesce(url_tags_pivoted.utm_content, nullif(\n\n \n \n\n split_part(\n \n\n \n \n\n split_part(\n coalesce(page_link,template_page_link),\n 'utm_content=',\n 2\n )\n\n\n \n\n,\n '&',\n 1\n )\n\n\n \n\n,'')) as utm_content,\n coalesce(url_tags_pivoted.utm_term, nullif(\n\n \n \n\n split_part(\n \n\n \n \n\n split_part(\n coalesce(page_link,template_page_link),\n 'utm_term=',\n 2\n )\n\n\n \n\n,\n '&',\n 1\n )\n\n\n \n\n,'')) as utm_term\n from base\n left join url_tags_pivoted\n on base._fivetran_id = url_tags_pivoted._fivetran_id\n and base.creative_id = url_tags_pivoted.creative_id\n)\n\nselect *\nfrom fields", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"facebook_ads_integration_tests_facebook_ads\".\"int_facebook_ads__creative_history\""}, "model.facebook_ads_source.stg_facebook_ads__basic_ad": {"compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.facebook_ads_source.get_basic_ad_columns", "macro.fivetran_utils.fill_staging_columns", "macro.dbt.type_bigint", "macro.fivetran_utils.fill_pass_through_columns"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__basic_ad_tmp", "model.facebook_ads_source.stg_facebook_ads__basic_ad_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_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": "facebook_ads_integration_tests_facebook_ads_source", "fqn": ["facebook_ads_source", "stg_facebook_ads__basic_ad"], "unique_id": "model.facebook_ads_source.stg_facebook_ads__basic_ad", "raw_code": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_facebook_ads__basic_ad_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_facebook_ads__basic_ad_tmp')),\n staging_columns=get_basic_ad_columns()\n )\n }}\n \n from base\n),\n\nfinal as (\n \n select \n cast(ad_id as {{ dbt.type_bigint() }}) as ad_id,\n ad_name,\n adset_name as ad_set_name,\n date as date_day,\n cast(account_id as {{ dbt.type_bigint() }}) as account_id,\n impressions,\n coalesce(inline_link_clicks,0) as clicks,\n spend,\n reach,\n frequency\n\n {{ fivetran_utils.fill_pass_through_columns('facebook_ads__basic_ad_passthrough_metrics') }}\n from fields\n)\n\nselect * \nfrom final", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "stg_facebook_ads__basic_ad.sql", "original_file_path": "models/stg_facebook_ads__basic_ad.sql", "name": "stg_facebook_ads__basic_ad", "alias": "stg_facebook_ads__basic_ad", "checksum": {"name": "sha256", "checksum": "2034249ba6885eae9434fc88a91b108e34b667b7e29c83711b29498b85da644a"}, "tags": [], "refs": [["stg_facebook_ads__basic_ad_tmp"], ["stg_facebook_ads__basic_ad_tmp"]], "sources": [], "metrics": [], "description": "Each record represents the daily performance of an ad in Facebook.", "columns": {"ad_id": {"name": "ad_id", "description": "The ID of the ad the report relates to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_name": {"name": "ad_name", "description": "Name of the ad the report relates to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_set_name": {"name": "ad_set_name", "description": "Name of the ad set the report relates to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "date_day": {"name": "date_day", "description": "The date of the reported performance.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "The ID of the ad account that this ad belongs to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "The number of impressions the ad had on the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clicks": {"name": "clicks", "description": "The number of clicks the ad had on the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The spend on the ad in the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "reach": {"name": "reach", "description": "The number of people who saw any content from your Page or about your Page. This metric is estimated.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "frequency": {"name": "frequency", "description": "The average number of times each person saw your ad; it is calculated as impressions divided by reach.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": "facebook_ads_source://models/stg_facebook_ads.yml", "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads__basic_ad.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads_source", "materialized": "table", "enabled": true}, "created_at": 1671505151.257708, "compiled_code": "\n\nwith base as (\n\n select * \n from \"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__basic_ad_tmp\"\n),\n\nfields as (\n\n select\n \n \n \n ad_id\n \n as \n \n ad_id\n \n, \n cast(null as TEXT) as \n \n ad_name\n \n , \n cast(null as TEXT) as \n \n adset_name\n \n , \n \n \n date\n \n as \n \n date\n \n, \n \n \n account_id\n \n as \n \n account_id\n \n, \n \n \n impressions\n \n as \n \n impressions\n \n, \n \n \n inline_link_clicks\n \n as \n \n inline_link_clicks\n \n, \n \n \n spend\n \n as \n \n spend\n \n, \n cast(null as INT) as \n \n reach\n \n , \n cast(null as FLOAT) as \n \n frequency\n \n \n\n\n \n from base\n),\n\nfinal as (\n \n select \n cast(ad_id as bigint) as ad_id,\n ad_name,\n adset_name as ad_set_name,\n date as date_day,\n cast(account_id as bigint) as account_id,\n impressions,\n coalesce(inline_link_clicks,0) as clicks,\n spend,\n reach,\n frequency\n\n \n\n\n\n\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__basic_ad\""}, "model.facebook_ads_source.stg_facebook_ads__creative_history": {"compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.facebook_ads_source.get_creative_history_columns", "macro.fivetran_utils.fill_staging_columns", "macro.dbt.type_bigint"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__creative_history_tmp", "model.facebook_ads_source.stg_facebook_ads__creative_history_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_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": "facebook_ads_integration_tests_facebook_ads_source", "fqn": ["facebook_ads_source", "stg_facebook_ads__creative_history"], "unique_id": "model.facebook_ads_source.stg_facebook_ads__creative_history", "raw_code": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_facebook_ads__creative_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_facebook_ads__creative_history_tmp')),\n staging_columns=get_creative_history_columns()\n )\n }}\n \n from base\n),\n\nfinal as (\n \n select \n _fivetran_id,\n _fivetran_synced,\n cast(id as {{ dbt.type_bigint() }}) as creative_id,\n cast(account_id as {{ dbt.type_bigint() }}) as account_id,\n name as creative_name,\n page_link,\n template_page_link,\n url_tags,\n asset_feed_spec_link_urls,\n object_story_link_data_child_attachments,\n object_story_link_data_caption, \n object_story_link_data_description, \n object_story_link_data_link, \n object_story_link_data_message,\n template_app_link_spec_ios,\n template_app_link_spec_ipad,\n template_app_link_spec_android,\n template_app_link_spec_iphone,\n row_number() over (partition by id order by _fivetran_synced desc) = 1 as is_most_recent_record\n from fields\n)\n\nselect * \nfrom final", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "stg_facebook_ads__creative_history.sql", "original_file_path": "models/stg_facebook_ads__creative_history.sql", "name": "stg_facebook_ads__creative_history", "alias": "stg_facebook_ads__creative_history", "checksum": {"name": "sha256", "checksum": "b881fe7a6d7f0ec06355c9073495a4e1f89529eceffc1771ca48044e6f401309"}, "tags": [], "refs": [["stg_facebook_ads__creative_history_tmp"], ["stg_facebook_ads__creative_history_tmp"]], "sources": [], "metrics": [], "description": "Each record in this table reflects a Facebook creative.", "columns": {"_fivetran_id": {"name": "_fivetran_id", "description": "Unique record identifier", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "When the record was last synced by Fivetran.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "creative_id": {"name": "creative_id", "description": "Unique ID for an ad creative.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "Ad account ID for the account this ad creative belongs to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "creative_name": {"name": "creative_name", "description": "Name of this ad creative as seen in the ad account's library.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "url_tags": {"name": "url_tags", "description": "A set of query string parameters which will replace or be appended to urls clicked from page post ads, message of the post, and canvas app install creatives only.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_most_recent_record": {"name": "is_most_recent_record", "description": "Indicates whether a record is the most recent version of that record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "page_link": {"name": "page_link", "description": "Link for the page.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "template_page_link": {"name": "template_page_link", "description": "URL destination of Facebook dynamic ads.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "asset_feed_spec_link_urls": {"name": "asset_feed_spec_link_urls", "description": "Link to the asset feed spec", "meta": {}, "data_type": null, "quote": null, "tags": []}, "object_story_link_data_child_attachments": {"name": "object_story_link_data_child_attachments", "description": "Link of the object story child attachments", "meta": {}, "data_type": null, "quote": null, "tags": []}, "object_story_link_data_caption": {"name": "object_story_link_data_caption", "description": "Link of the object story caption", "meta": {}, "data_type": null, "quote": null, "tags": []}, "object_story_link_data_description": {"name": "object_story_link_data_description", "description": "Link of the object story description", "meta": {}, "data_type": null, "quote": null, "tags": []}, "object_story_link_data_link": {"name": "object_story_link_data_link", "description": "Link of the object story link", "meta": {}, "data_type": null, "quote": null, "tags": []}, "object_story_link_data_message": {"name": "object_story_link_data_message", "description": "Link of the object story message", "meta": {}, "data_type": null, "quote": null, "tags": []}, "template_app_link_spec_ios": {"name": "template_app_link_spec_ios", "description": "Link of the object story spec for ios", "meta": {}, "data_type": null, "quote": null, "tags": []}, "template_app_link_spec_ipad": {"name": "template_app_link_spec_ipad", "description": "Link of the template app spec for ipad", "meta": {}, "data_type": null, "quote": null, "tags": []}, "template_app_link_spec_android": {"name": "template_app_link_spec_android", "description": "Link of the template app for android", "meta": {}, "data_type": null, "quote": null, "tags": []}, "template_app_link_spec_iphone": {"name": "template_app_link_spec_iphone", "description": "Link of the template app for iphone", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": "facebook_ads_source://models/stg_facebook_ads.yml", "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads__creative_history.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads_source", "materialized": "table", "enabled": true}, "created_at": 1671505151.255682, "compiled_code": "\n\nwith base as (\n\n select * \n from \"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__creative_history_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 _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n account_id\n \n as \n \n account_id\n \n, \n \n \n name\n \n as \n \n name\n \n, \n \n \n page_link\n \n as \n \n page_link\n \n, \n \n \n template_page_link\n \n as \n \n template_page_link\n \n, \n \n \n url_tags\n \n as \n \n url_tags\n \n, \n \n \n asset_feed_spec_link_urls\n \n as \n \n asset_feed_spec_link_urls\n \n, \n \n \n object_story_link_data_child_attachments\n \n as \n \n object_story_link_data_child_attachments\n \n, \n \n \n object_story_link_data_caption\n \n as \n \n object_story_link_data_caption\n \n, \n \n \n object_story_link_data_description\n \n as \n \n object_story_link_data_description\n \n, \n \n \n object_story_link_data_link\n \n as \n \n object_story_link_data_link\n \n, \n \n \n object_story_link_data_message\n \n as \n \n object_story_link_data_message\n \n, \n cast(null as TEXT) as \n \n template_app_link_spec_android\n \n , \n \n \n template_app_link_spec_ios\n \n as \n \n template_app_link_spec_ios\n \n, \n cast(null as TEXT) as \n \n template_app_link_spec_ipad\n \n , \n cast(null as TEXT) as \n \n template_app_link_spec_iphone\n \n \n\n\n \n from base\n),\n\nfinal as (\n \n select \n _fivetran_id,\n _fivetran_synced,\n cast(id as bigint) as creative_id,\n cast(account_id as bigint) as account_id,\n name as creative_name,\n page_link,\n template_page_link,\n url_tags,\n asset_feed_spec_link_urls,\n object_story_link_data_child_attachments,\n object_story_link_data_caption, \n object_story_link_data_description, \n object_story_link_data_link, \n object_story_link_data_message,\n template_app_link_spec_ios,\n template_app_link_spec_ipad,\n template_app_link_spec_android,\n template_app_link_spec_iphone,\n row_number() over (partition by id order by _fivetran_synced desc) = 1 as is_most_recent_record\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__creative_history\""}, "model.facebook_ads_source.stg_facebook_ads__campaign_history": {"compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.facebook_ads_source.get_campaign_history_columns", "macro.fivetran_utils.fill_staging_columns", "macro.dbt.type_bigint"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__campaign_history_tmp", "model.facebook_ads_source.stg_facebook_ads__campaign_history_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_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": "facebook_ads_integration_tests_facebook_ads_source", "fqn": ["facebook_ads_source", "stg_facebook_ads__campaign_history"], "unique_id": "model.facebook_ads_source.stg_facebook_ads__campaign_history", "raw_code": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_facebook_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_facebook_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 updated_time as updated_at,\n created_time as created_at,\n cast(account_id as {{ dbt.type_bigint() }}) as account_id,\n cast(id as {{ dbt.type_bigint() }}) as campaign_id,\n name as campaign_name,\n start_time as start_at,\n stop_time as end_at,\n status,\n daily_budget,\n lifetime_budget,\n budget_remaining,\n row_number() over (partition by id order by updated_time desc) = 1 as is_most_recent_record\n from fields\n\n)\n\nselect * \nfrom final", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "stg_facebook_ads__campaign_history.sql", "original_file_path": "models/stg_facebook_ads__campaign_history.sql", "name": "stg_facebook_ads__campaign_history", "alias": "stg_facebook_ads__campaign_history", "checksum": {"name": "sha256", "checksum": "d536771ac164bc64d15f6a8f03f6c06626d76f344c02de8d04bf97b978ed60d7"}, "tags": [], "refs": [["stg_facebook_ads__campaign_history_tmp"], ["stg_facebook_ads__campaign_history_tmp"]], "sources": [], "metrics": [], "description": "Each record in this table reflects a Facebook campaign.", "columns": {"campaign_id": {"name": "campaign_id", "description": "The ID of the campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "The ID of the ad account that this campaign belongs to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_name": {"name": "campaign_name", "description": "The name of the campaign.", "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. All records should have this value set to True given we filter on it.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "updated_at": {"name": "updated_at", "description": "The timestamp of the last update of a record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "The time the campaign was created.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "start_at": {"name": "start_at", "description": "Timestamp of designated campaign start time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "end_at": {"name": "end_at", "description": "Timestamp of designated campaign end time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "daily_budget": {"name": "daily_budget", "description": "Daily budget of campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "budget_remaining": {"name": "budget_remaining", "description": "Remaining budget of campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "lifetime_budget": {"name": "lifetime_budget", "description": "Lifetime budget of the campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status": {"name": "status", "description": "Status values are - 'ACTIVE', 'PAUSED', 'DELETED', 'ARCHIVED'.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": "facebook_ads_source://models/stg_facebook_ads.yml", "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads__campaign_history.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads_source", "materialized": "table", "enabled": true}, "created_at": 1671505151.252274, "compiled_code": "\n\nwith base as (\n\n select * \n from \"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__campaign_history_tmp\"\n),\n\nfields as (\n\n select\n \n \n \n updated_time\n \n as \n \n updated_time\n \n, \n cast(null as TIMESTAMP) as \n \n created_time\n \n , \n \n \n account_id\n \n as \n \n account_id\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 cast(null as TIMESTAMP) as \n \n start_time\n \n , \n cast(null as TIMESTAMP) as \n \n stop_time\n \n , \n cast(null as TEXT) as \n \n status\n \n , \n cast(null as INT) as \n \n daily_budget\n \n , \n cast(null as INT) as \n \n lifetime_budget\n \n , \n cast(null as FLOAT) as \n \n budget_remaining\n \n \n\n\n \n from base\n),\n\nfinal as (\n \n select \n updated_time as updated_at,\n created_time as created_at,\n cast(account_id as bigint) as account_id,\n cast(id as bigint) as campaign_id,\n name as campaign_name,\n start_time as start_at,\n stop_time as end_at,\n status,\n daily_budget,\n lifetime_budget,\n budget_remaining,\n row_number() over (partition by id order by updated_time desc) = 1 as is_most_recent_record\n from fields\n\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__campaign_history\""}, "model.facebook_ads_source.stg_facebook_ads__account_history": {"compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.facebook_ads_source.get_account_history_columns", "macro.fivetran_utils.fill_staging_columns", "macro.dbt.type_bigint"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__account_history_tmp", "model.facebook_ads_source.stg_facebook_ads__account_history_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_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": "facebook_ads_integration_tests_facebook_ads_source", "fqn": ["facebook_ads_source", "stg_facebook_ads__account_history"], "unique_id": "model.facebook_ads_source.stg_facebook_ads__account_history", "raw_code": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_facebook_ads__account_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_facebook_ads__account_history_tmp')),\n staging_columns=get_account_history_columns()\n )\n }}\n \n from base\n),\n\nfinal as (\n \n select \n cast(id as {{ dbt.type_bigint() }}) as account_id,\n _fivetran_synced,\n name as account_name,\n account_status,\n business_country_code,\n created_time as created_at,\n currency,\n timezone_name,\n row_number() over (partition by id order by _fivetran_synced desc) = 1 as is_most_recent_record\n from fields\n\n)\n\nselect * \nfrom final", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "stg_facebook_ads__account_history.sql", "original_file_path": "models/stg_facebook_ads__account_history.sql", "name": "stg_facebook_ads__account_history", "alias": "stg_facebook_ads__account_history", "checksum": {"name": "sha256", "checksum": "db38aeeedb4c0b457605036f2452543a77d1e65f0d7d13287fac1b705c1d1407"}, "tags": [], "refs": [["stg_facebook_ads__account_history_tmp"], ["stg_facebook_ads__account_history_tmp"]], "sources": [], "metrics": [], "description": "Each record in this table reflects a Facebook ad account.", "columns": {"account_id": {"name": "account_id", "description": "The ID of the ad account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_name": {"name": "account_name", "description": "Name of the account.", "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. All records should have this value set to True given we filter on it.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "When the record was last synced by Fivetran.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_status": {"name": "account_status", "description": "Current status of account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "business_country_code": {"name": "business_country_code", "description": "Country code of business associated to account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "The time account was created.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "currency": {"name": "currency", "description": "Currency associated with account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "timezone_name": {"name": "timezone_name", "description": "Timezone associated with account.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": "facebook_ads_source://models/stg_facebook_ads.yml", "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads__account_history.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads_source", "materialized": "table", "enabled": true}, "created_at": 1671505151.245876, "compiled_code": "\n\nwith base as (\n\n select * \n from \"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__account_history_tmp\"\n),\n\nfields as (\n\n select\n \n \n \n id\n \n as \n \n id\n \n, \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n name\n \n as \n \n name\n \n, \n cast(null as TEXT) as \n \n account_status\n \n , \n cast(null as TEXT) as \n \n business_country_code\n \n , \n cast(null as TIMESTAMP) as \n \n created_time\n \n , \n cast(null as TEXT) as \n \n currency\n \n , \n cast(null as TEXT) as \n \n timezone_name\n \n \n\n\n \n from base\n),\n\nfinal as (\n \n select \n cast(id as bigint) as account_id,\n _fivetran_synced,\n name as account_name,\n account_status,\n business_country_code,\n created_time as created_at,\n currency,\n timezone_name,\n row_number() over (partition by id order by _fivetran_synced desc) = 1 as is_most_recent_record\n from fields\n\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__account_history\""}, "model.facebook_ads_source.stg_facebook_ads__ad_history": {"compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.facebook_ads_source.get_ad_history_columns", "macro.fivetran_utils.fill_staging_columns", "macro.dbt.type_bigint"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__ad_history_tmp", "model.facebook_ads_source.stg_facebook_ads__ad_history_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_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": "facebook_ads_integration_tests_facebook_ads_source", "fqn": ["facebook_ads_source", "stg_facebook_ads__ad_history"], "unique_id": "model.facebook_ads_source.stg_facebook_ads__ad_history", "raw_code": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_facebook_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_facebook_ads__ad_history_tmp')),\n staging_columns=get_ad_history_columns()\n )\n }}\n \n from base\n),\n\nfinal as (\n \n select \n updated_time as updated_at,\n cast(id as {{ dbt.type_bigint() }}) as ad_id,\n name as ad_name,\n cast(account_id as {{ dbt.type_bigint() }}) as account_id,\n cast(ad_set_id as {{ dbt.type_bigint() }}) as ad_set_id, \n cast(campaign_id as {{ dbt.type_bigint() }}) as campaign_id,\n cast(creative_id as {{ dbt.type_bigint() }}) as creative_id,\n row_number() over (partition by id order by updated_time desc) = 1 as is_most_recent_record\n from fields\n)\n\nselect * \nfrom final", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "stg_facebook_ads__ad_history.sql", "original_file_path": "models/stg_facebook_ads__ad_history.sql", "name": "stg_facebook_ads__ad_history", "alias": "stg_facebook_ads__ad_history", "checksum": {"name": "sha256", "checksum": "19719ef45773ae189aeec4da0c5467b45bc6a253bbaf2a13ee271d63723e64da"}, "tags": [], "refs": [["stg_facebook_ads__ad_history_tmp"], ["stg_facebook_ads__ad_history_tmp"]], "sources": [], "metrics": [], "description": "Each record in this table reflects a Facebook ad.", "columns": {"ad_id": {"name": "ad_id", "description": "The ID of this ad.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "The ID of the ad account that this ad belongs to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_set_id": {"name": "ad_set_id", "description": "ID of the ad set that contains the ad.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_id": {"name": "campaign_id", "description": "Ad campaign that contains this ad.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "creative_id": {"name": "creative_id", "description": "The ID of the ad creative to be used by this ad.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_name": {"name": "ad_name", "description": "Name of the ad.", "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. All records should have this value set to True given we filter on it.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "updated_at": {"name": "updated_at", "description": "The timestamp of the last update of a record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": "facebook_ads_source://models/stg_facebook_ads.yml", "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads__ad_history.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads_source", "materialized": "table", "enabled": true}, "created_at": 1671505151.247424, "compiled_code": "\n\nwith base as (\n\n select * \n from \"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__ad_history_tmp\"\n),\n\nfields as (\n\n select\n \n \n \n updated_time\n \n as \n \n updated_time\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 account_id\n \n as \n \n account_id\n \n, \n \n \n ad_set_id\n \n as \n \n ad_set_id\n \n, \n \n \n campaign_id\n \n as \n \n campaign_id\n \n, \n \n \n creative_id\n \n as \n \n creative_id\n \n\n\n\n \n from base\n),\n\nfinal as (\n \n select \n updated_time as updated_at,\n cast(id as bigint) as ad_id,\n name as ad_name,\n cast(account_id as bigint) as account_id,\n cast(ad_set_id as bigint) as ad_set_id, \n cast(campaign_id as bigint) as campaign_id,\n cast(creative_id as bigint) as creative_id,\n row_number() over (partition by id order by updated_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\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__ad_history\""}, "model.facebook_ads_source.stg_facebook_ads__ad_set_history": {"compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.facebook_ads_source.get_ad_set_history_columns", "macro.fivetran_utils.fill_staging_columns", "macro.dbt.type_bigint"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__ad_set_history_tmp", "model.facebook_ads_source.stg_facebook_ads__ad_set_history_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_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": "facebook_ads_integration_tests_facebook_ads_source", "fqn": ["facebook_ads_source", "stg_facebook_ads__ad_set_history"], "unique_id": "model.facebook_ads_source.stg_facebook_ads__ad_set_history", "raw_code": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_facebook_ads__ad_set_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_facebook_ads__ad_set_history_tmp')),\n staging_columns=get_ad_set_history_columns()\n )\n }}\n \n from base\n),\n\nfinal as (\n \n select \n updated_time as updated_at,\n cast(id as {{ dbt.type_bigint() }}) as ad_set_id,\n name as ad_set_name,\n cast(account_id as {{ dbt.type_bigint() }}) as account_id,\n cast(campaign_id as {{ dbt.type_bigint() }}) as campaign_id,\n start_time as start_at,\n end_time as end_at,\n bid_strategy,\n daily_budget,\n budget_remaining,\n status,\n row_number() over (partition by id order by updated_time desc) = 1 as is_most_recent_record\n from fields\n\n)\n\nselect * \nfrom final", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "stg_facebook_ads__ad_set_history.sql", "original_file_path": "models/stg_facebook_ads__ad_set_history.sql", "name": "stg_facebook_ads__ad_set_history", "alias": "stg_facebook_ads__ad_set_history", "checksum": {"name": "sha256", "checksum": "32c6ae0ef94b4f88261a0dd4dda62e6e92de99a56ffbe8ae1360c6469052e212"}, "tags": [], "refs": [["stg_facebook_ads__ad_set_history_tmp"], ["stg_facebook_ads__ad_set_history_tmp"]], "sources": [], "metrics": [], "description": "Each record in this table reflects a Facebook ad set.", "columns": {"ad_set_id": {"name": "ad_set_id", "description": "The ID of the ad set.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "The ID of the ad account that this ad set belongs to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_id": {"name": "campaign_id", "description": "Ad campaign that contains this ad set.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_set_name": {"name": "ad_set_name", "description": "The name of the ad set.", "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. All records should have this value set to True given we filter on it.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "updated_at": {"name": "updated_at", "description": "The timestamp of the last update of a record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "start_at": {"name": "start_at", "description": "Timestamp of designated ad set start time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "end_at": {"name": "end_at", "description": "Timestamp of designated ad set end time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "bid_strategy": {"name": "bid_strategy", "description": "Bid strategy values are - 'LOWEST_COST_WITHOUT_CAP', 'LOWEST_COST_WITH_BID_CAP', 'COST_CAP', 'LOWEST_COST_WITH_MIN_ROAS'.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "daily_budget": {"name": "daily_budget", "description": "Daily budget of ad set.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "budget_remaining": {"name": "budget_remaining", "description": "Remaining budget of ad set.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status": {"name": "status", "description": "Status values are - 'ACTIVE', 'PAUSED', 'DELETED', 'ARCHIVED'.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": "facebook_ads_source://models/stg_facebook_ads.yml", "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads__ad_set_history.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads_source", "materialized": "table", "enabled": true}, "created_at": 1671505151.250048, "compiled_code": "\n\nwith base as (\n\n select * \n from \"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__ad_set_history_tmp\"\n),\n\nfields as (\n\n select\n \n \n \n updated_time\n \n as \n \n updated_time\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 account_id\n \n as \n \n account_id\n \n, \n \n \n campaign_id\n \n as \n \n campaign_id\n \n, \n cast(null as TIMESTAMP) as \n \n start_time\n \n , \n cast(null as TIMESTAMP) as \n \n end_time\n \n , \n cast(null as TEXT) as \n \n bid_strategy\n \n , \n cast(null as INT) as \n \n daily_budget\n \n , \n cast(null as INT) as \n \n budget_remaining\n \n , \n cast(null as TEXT) as \n \n status\n \n \n\n\n \n from base\n),\n\nfinal as (\n \n select \n updated_time as updated_at,\n cast(id as bigint) as ad_set_id,\n name as ad_set_name,\n cast(account_id as bigint) as account_id,\n cast(campaign_id as bigint) as campaign_id,\n start_time as start_at,\n end_time as end_at,\n bid_strategy,\n daily_budget,\n budget_remaining,\n status,\n row_number() over (partition by id order by updated_time desc) = 1 as is_most_recent_record\n from fields\n\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__ad_set_history\""}, "model.facebook_ads_source.stg_facebook_ads__ad_set_history_tmp": {"compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.facebook_ads_source.facebook_ads.ad_set_history"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_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": "facebook_ads_integration_tests_facebook_ads_source", "fqn": ["facebook_ads_source", "tmp", "stg_facebook_ads__ad_set_history_tmp"], "unique_id": "model.facebook_ads_source.stg_facebook_ads__ad_set_history_tmp", "raw_code": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nselect * \nfrom {{ var('ad_set_history') }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "tmp/stg_facebook_ads__ad_set_history_tmp.sql", "original_file_path": "models/tmp/stg_facebook_ads__ad_set_history_tmp.sql", "name": "stg_facebook_ads__ad_set_history_tmp", "alias": "stg_facebook_ads__ad_set_history_tmp", "checksum": {"name": "sha256", "checksum": "dad1782db9e8232b2613b5b9959963ad0d0ff99b7462524fc223610cd3e14442"}, "tags": [], "refs": [], "sources": [["facebook_ads", "ad_set_history"]], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/tmp/stg_facebook_ads__ad_set_history_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads_source", "materialized": "view", "enabled": true}, "created_at": 1671505151.119277, "compiled_code": "\n\nselect * \nfrom \"postgres\".\"facebook_ads_integration_tests\".\"facebook_ads_ad_set_history_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__ad_set_history_tmp\""}, "model.facebook_ads_source.stg_facebook_ads__basic_ad_tmp": {"compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.facebook_ads_source.facebook_ads.basic_ad"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_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": "facebook_ads_integration_tests_facebook_ads_source", "fqn": ["facebook_ads_source", "tmp", "stg_facebook_ads__basic_ad_tmp"], "unique_id": "model.facebook_ads_source.stg_facebook_ads__basic_ad_tmp", "raw_code": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nselect * \nfrom {{ var('basic_ad') }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "tmp/stg_facebook_ads__basic_ad_tmp.sql", "original_file_path": "models/tmp/stg_facebook_ads__basic_ad_tmp.sql", "name": "stg_facebook_ads__basic_ad_tmp", "alias": "stg_facebook_ads__basic_ad_tmp", "checksum": {"name": "sha256", "checksum": "46e4ec682f4ed2b33b3123c24ae2b20d9d9bce50ed7ef83b547dd83b57339f89"}, "tags": [], "refs": [], "sources": [["facebook_ads", "basic_ad"]], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/tmp/stg_facebook_ads__basic_ad_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads_source", "materialized": "view", "enabled": true}, "created_at": 1671505151.123769, "compiled_code": "\n\nselect * \nfrom \"postgres\".\"facebook_ads_integration_tests\".\"facebook_ads_basic_ad_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__basic_ad_tmp\""}, "model.facebook_ads_source.stg_facebook_ads__ad_history_tmp": {"compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.facebook_ads_source.facebook_ads.ad_history"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_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": "facebook_ads_integration_tests_facebook_ads_source", "fqn": ["facebook_ads_source", "tmp", "stg_facebook_ads__ad_history_tmp"], "unique_id": "model.facebook_ads_source.stg_facebook_ads__ad_history_tmp", "raw_code": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nselect * \nfrom {{ var('ad_history') }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "tmp/stg_facebook_ads__ad_history_tmp.sql", "original_file_path": "models/tmp/stg_facebook_ads__ad_history_tmp.sql", "name": "stg_facebook_ads__ad_history_tmp", "alias": "stg_facebook_ads__ad_history_tmp", "checksum": {"name": "sha256", "checksum": "438f57c6bd1ce2a8c4a73600c1e12878efc0a091f42b3a43ed0334067779eace"}, "tags": [], "refs": [], "sources": [["facebook_ads", "ad_history"]], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/tmp/stg_facebook_ads__ad_history_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads_source", "materialized": "view", "enabled": true}, "created_at": 1671505151.127886, "compiled_code": "\n\nselect * \nfrom \"postgres\".\"facebook_ads_integration_tests\".\"facebook_ads_ad_history_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__ad_history_tmp\""}, "model.facebook_ads_source.stg_facebook_ads__campaign_history_tmp": {"compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.facebook_ads_source.facebook_ads.campaign_history"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_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": "facebook_ads_integration_tests_facebook_ads_source", "fqn": ["facebook_ads_source", "tmp", "stg_facebook_ads__campaign_history_tmp"], "unique_id": "model.facebook_ads_source.stg_facebook_ads__campaign_history_tmp", "raw_code": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nselect * \nfrom {{ var('campaign_history') }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "tmp/stg_facebook_ads__campaign_history_tmp.sql", "original_file_path": "models/tmp/stg_facebook_ads__campaign_history_tmp.sql", "name": "stg_facebook_ads__campaign_history_tmp", "alias": "stg_facebook_ads__campaign_history_tmp", "checksum": {"name": "sha256", "checksum": "617b7e683421a5712cc129d02e07eeb0f5876b7fdeb680429b4d6069b4dcdfc1"}, "tags": [], "refs": [], "sources": [["facebook_ads", "campaign_history"]], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/tmp/stg_facebook_ads__campaign_history_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads_source", "materialized": "view", "enabled": true}, "created_at": 1671505151.1322649, "compiled_code": "\n\nselect * \nfrom \"postgres\".\"facebook_ads_integration_tests\".\"facebook_ads_campaign_history_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__campaign_history_tmp\""}, "model.facebook_ads_source.stg_facebook_ads__creative_history_tmp": {"compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.facebook_ads_source.facebook_ads.creative_history"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_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": "facebook_ads_integration_tests_facebook_ads_source", "fqn": ["facebook_ads_source", "tmp", "stg_facebook_ads__creative_history_tmp"], "unique_id": "model.facebook_ads_source.stg_facebook_ads__creative_history_tmp", "raw_code": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nselect * \nfrom {{ var('creative_history') }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "tmp/stg_facebook_ads__creative_history_tmp.sql", "original_file_path": "models/tmp/stg_facebook_ads__creative_history_tmp.sql", "name": "stg_facebook_ads__creative_history_tmp", "alias": "stg_facebook_ads__creative_history_tmp", "checksum": {"name": "sha256", "checksum": "9cf5ffb0bc31c525388d169c90fb8b6150e5141777b14337c0fee0730faeecd9"}, "tags": [], "refs": [], "sources": [["facebook_ads", "creative_history"]], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/tmp/stg_facebook_ads__creative_history_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads_source", "materialized": "view", "enabled": true}, "created_at": 1671505151.137643, "compiled_code": "\n\nselect * \nfrom \"postgres\".\"facebook_ads_integration_tests\".\"facebook_ads_creative_history_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__creative_history_tmp\""}, "model.facebook_ads_source.stg_facebook_ads__account_history_tmp": {"compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.facebook_ads_source.facebook_ads.account_history"]}, "config": {"enabled": true, "alias": null, "schema": "facebook_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": "facebook_ads_integration_tests_facebook_ads_source", "fqn": ["facebook_ads_source", "tmp", "stg_facebook_ads__account_history_tmp"], "unique_id": "model.facebook_ads_source.stg_facebook_ads__account_history_tmp", "raw_code": "{{ config(enabled=var('ad_reporting__facebook_ads_enabled', True)) }}\n\nselect * \nfrom {{ var('account_history') }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "tmp/stg_facebook_ads__account_history_tmp.sql", "original_file_path": "models/tmp/stg_facebook_ads__account_history_tmp.sql", "name": "stg_facebook_ads__account_history_tmp", "alias": "stg_facebook_ads__account_history_tmp", "checksum": {"name": "sha256", "checksum": "caa1f4a119ca187458bff00bd8682eabffdba914962ff8ae7d4cfe55f25833ff"}, "tags": [], "refs": [], "sources": [["facebook_ads", "account_history"]], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/tmp/stg_facebook_ads__account_history_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "facebook_ads_source", "materialized": "view", "enabled": true}, "created_at": 1671505151.171457, "compiled_code": "\n\nselect * \nfrom \"postgres\".\"facebook_ads_integration_tests\".\"facebook_ads_account_history_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__account_history_tmp\""}, "test.facebook_ads.not_null_facebook_ads__url_report_base_url.b7757e50be": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "base_url", "model": "{{ get_where_subquery(ref('facebook_ads__url_report')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.facebook_ads.facebook_ads__url_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": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads", "not_null_facebook_ads__url_report_base_url"], "unique_id": "test.facebook_ads.not_null_facebook_ads__url_report_base_url.b7757e50be", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}{{ config(enabled=True) }}", "language": "sql", "package_name": "facebook_ads", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "not_null_facebook_ads__url_report_base_url.sql", "original_file_path": "models/facebook.yml", "name": "not_null_facebook_ads__url_report_base_url", "alias": "not_null_facebook_ads__url_report_base_url", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["facebook_ads__url_report"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads/models/facebook.yml/not_null_facebook_ads__url_report_base_url.sql", "build_path": null, "deferred": false, "unrendered_config": {"enabled": true}, "created_at": 1671505151.201747, "compiled_code": "\n \n \n\n\n\nselect base_url\nfrom \"postgres\".\"facebook_ads_integration_tests_facebook_ads\".\"facebook_ads__url_report\"\nwhere base_url is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "base_url", "file_key_name": "models.facebook_ads__url_report"}, "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__url_report_date_day__account_id__campaign_id__ad_set_id__ad_id.03a7e82eb7": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["date_day", "account_id", "campaign_id", "ad_set_id", "ad_id"], "model": "{{ get_where_subquery(ref('facebook_ads__url_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.facebook_ads.facebook_ads__url_report"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_bf91f5ef1059f34c9059e06e293717eb", "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": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads", "dbt_utils_unique_combination_of_columns_facebook_ads__url_report_date_day__account_id__campaign_id__ad_set_id__ad_id"], "unique_id": "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__url_report_date_day__account_id__campaign_id__ad_set_id__ad_id.03a7e82eb7", "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(enabled=True,alias=\"dbt_utils_unique_combination_o_bf91f5ef1059f34c9059e06e293717eb\") }}", "language": "sql", "package_name": "facebook_ads", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "dbt_utils_unique_combination_o_bf91f5ef1059f34c9059e06e293717eb.sql", "original_file_path": "models/facebook.yml", "name": "dbt_utils_unique_combination_of_columns_facebook_ads__url_report_date_day__account_id__campaign_id__ad_set_id__ad_id", "alias": "dbt_utils_unique_combination_o_bf91f5ef1059f34c9059e06e293717eb", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["facebook_ads__url_report"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads/models/facebook.yml/dbt_utils_unique_combination_o_bf91f5ef1059f34c9059e06e293717eb.sql", "build_path": null, "deferred": false, "unrendered_config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_bf91f5ef1059f34c9059e06e293717eb"}, "created_at": 1671505151.203794, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n date_day, account_id, campaign_id, ad_set_id, ad_id\n from \"postgres\".\"facebook_ads_integration_tests_facebook_ads\".\"facebook_ads__url_report\"\n group by date_day, account_id, campaign_id, ad_set_id, ad_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.facebook_ads__url_report"}, "test.facebook_ads.not_null_facebook_ads__ad_report_ad_id.3811d9c238": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "ad_id", "model": "{{ get_where_subquery(ref('facebook_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.facebook_ads.facebook_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": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads", "not_null_facebook_ads__ad_report_ad_id"], "unique_id": "test.facebook_ads.not_null_facebook_ads__ad_report_ad_id.3811d9c238", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "facebook_ads", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "not_null_facebook_ads__ad_report_ad_id.sql", "original_file_path": "models/facebook.yml", "name": "not_null_facebook_ads__ad_report_ad_id", "alias": "not_null_facebook_ads__ad_report_ad_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["facebook_ads__ad_report"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads/models/facebook.yml/not_null_facebook_ads__ad_report_ad_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1671505151.213213, "compiled_code": "\n \n \n\n\n\nselect ad_id\nfrom \"postgres\".\"facebook_ads_integration_tests_facebook_ads\".\"facebook_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.facebook_ads__ad_report"}, "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__ad_report_date_day__account_id__campaign_id__ad_set_id__ad_id.0a25b64738": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["date_day", "account_id", "campaign_id", "ad_set_id", "ad_id"], "model": "{{ get_where_subquery(ref('facebook_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.facebook_ads.facebook_ads__ad_report"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_6751270b8425b93a72568a6ff0b52e2e", "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": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads", "dbt_utils_unique_combination_of_columns_facebook_ads__ad_report_date_day__account_id__campaign_id__ad_set_id__ad_id"], "unique_id": "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__ad_report_date_day__account_id__campaign_id__ad_set_id__ad_id.0a25b64738", "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_6751270b8425b93a72568a6ff0b52e2e\") }}", "language": "sql", "package_name": "facebook_ads", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "dbt_utils_unique_combination_o_6751270b8425b93a72568a6ff0b52e2e.sql", "original_file_path": "models/facebook.yml", "name": "dbt_utils_unique_combination_of_columns_facebook_ads__ad_report_date_day__account_id__campaign_id__ad_set_id__ad_id", "alias": "dbt_utils_unique_combination_o_6751270b8425b93a72568a6ff0b52e2e", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["facebook_ads__ad_report"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads/models/facebook.yml/dbt_utils_unique_combination_o_6751270b8425b93a72568a6ff0b52e2e.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_6751270b8425b93a72568a6ff0b52e2e"}, "created_at": 1671505151.214578, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n date_day, account_id, campaign_id, ad_set_id, ad_id\n from \"postgres\".\"facebook_ads_integration_tests_facebook_ads\".\"facebook_ads__ad_report\"\n group by date_day, account_id, campaign_id, ad_set_id, ad_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.facebook_ads__ad_report"}, "test.facebook_ads.not_null_facebook_ads__ad_set_report_ad_set_id.1ac870f5e4": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "ad_set_id", "model": "{{ get_where_subquery(ref('facebook_ads__ad_set_report')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.facebook_ads.facebook_ads__ad_set_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": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads", "not_null_facebook_ads__ad_set_report_ad_set_id"], "unique_id": "test.facebook_ads.not_null_facebook_ads__ad_set_report_ad_set_id.1ac870f5e4", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "facebook_ads", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "not_null_facebook_ads__ad_set_report_ad_set_id.sql", "original_file_path": "models/facebook.yml", "name": "not_null_facebook_ads__ad_set_report_ad_set_id", "alias": "not_null_facebook_ads__ad_set_report_ad_set_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["facebook_ads__ad_set_report"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads/models/facebook.yml/not_null_facebook_ads__ad_set_report_ad_set_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1671505151.218475, "compiled_code": "\n \n \n\n\n\nselect ad_set_id\nfrom \"postgres\".\"facebook_ads_integration_tests_facebook_ads\".\"facebook_ads__ad_set_report\"\nwhere ad_set_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "ad_set_id", "file_key_name": "models.facebook_ads__ad_set_report"}, "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__ad_set_report_date_day__account_id__campaign_id__ad_set_id.3dd4da872f": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["date_day", "account_id", "campaign_id", "ad_set_id"], "model": "{{ get_where_subquery(ref('facebook_ads__ad_set_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.facebook_ads.facebook_ads__ad_set_report"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_b03f58e6a60804a93ab31dbb358dad74", "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": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads", "dbt_utils_unique_combination_of_columns_facebook_ads__ad_set_report_date_day__account_id__campaign_id__ad_set_id"], "unique_id": "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__ad_set_report_date_day__account_id__campaign_id__ad_set_id.3dd4da872f", "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_b03f58e6a60804a93ab31dbb358dad74\") }}", "language": "sql", "package_name": "facebook_ads", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "dbt_utils_unique_combination_o_b03f58e6a60804a93ab31dbb358dad74.sql", "original_file_path": "models/facebook.yml", "name": "dbt_utils_unique_combination_of_columns_facebook_ads__ad_set_report_date_day__account_id__campaign_id__ad_set_id", "alias": "dbt_utils_unique_combination_o_b03f58e6a60804a93ab31dbb358dad74", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["facebook_ads__ad_set_report"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads/models/facebook.yml/dbt_utils_unique_combination_o_b03f58e6a60804a93ab31dbb358dad74.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_b03f58e6a60804a93ab31dbb358dad74"}, "created_at": 1671505151.219677, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n date_day, account_id, campaign_id, ad_set_id\n from \"postgres\".\"facebook_ads_integration_tests_facebook_ads\".\"facebook_ads__ad_set_report\"\n group by date_day, account_id, campaign_id, ad_set_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.facebook_ads__ad_set_report"}, "test.facebook_ads.not_null_facebook_ads__campaign_report_campaign_id.d4f96d8d21": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "campaign_id", "model": "{{ get_where_subquery(ref('facebook_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.facebook_ads.facebook_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": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads", "not_null_facebook_ads__campaign_report_campaign_id"], "unique_id": "test.facebook_ads.not_null_facebook_ads__campaign_report_campaign_id.d4f96d8d21", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "facebook_ads", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "not_null_facebook_ads__campaign_report_campaign_id.sql", "original_file_path": "models/facebook.yml", "name": "not_null_facebook_ads__campaign_report_campaign_id", "alias": "not_null_facebook_ads__campaign_report_campaign_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["facebook_ads__campaign_report"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads/models/facebook.yml/not_null_facebook_ads__campaign_report_campaign_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1671505151.224042, "compiled_code": "\n \n \n\n\n\nselect campaign_id\nfrom \"postgres\".\"facebook_ads_integration_tests_facebook_ads\".\"facebook_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.facebook_ads__campaign_report"}, "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__campaign_report_date_day__account_id__campaign_id.7cd75107e6": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["date_day", "account_id", "campaign_id"], "model": "{{ get_where_subquery(ref('facebook_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.facebook_ads.facebook_ads__campaign_report"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_cf7853fdf8e24958f5a0e3e1b7c1ced1", "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": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads", "dbt_utils_unique_combination_of_columns_facebook_ads__campaign_report_date_day__account_id__campaign_id"], "unique_id": "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__campaign_report_date_day__account_id__campaign_id.7cd75107e6", "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_cf7853fdf8e24958f5a0e3e1b7c1ced1\") }}", "language": "sql", "package_name": "facebook_ads", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "dbt_utils_unique_combination_o_cf7853fdf8e24958f5a0e3e1b7c1ced1.sql", "original_file_path": "models/facebook.yml", "name": "dbt_utils_unique_combination_of_columns_facebook_ads__campaign_report_date_day__account_id__campaign_id", "alias": "dbt_utils_unique_combination_o_cf7853fdf8e24958f5a0e3e1b7c1ced1", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["facebook_ads__campaign_report"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads/models/facebook.yml/dbt_utils_unique_combination_o_cf7853fdf8e24958f5a0e3e1b7c1ced1.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_cf7853fdf8e24958f5a0e3e1b7c1ced1"}, "created_at": 1671505151.225454, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n date_day, account_id, campaign_id\n from \"postgres\".\"facebook_ads_integration_tests_facebook_ads\".\"facebook_ads__campaign_report\"\n group by date_day, account_id, campaign_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.facebook_ads__campaign_report"}, "test.facebook_ads.not_null_facebook_ads__account_report_account_id.9be02b4024": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "account_id", "model": "{{ get_where_subquery(ref('facebook_ads__account_report')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.facebook_ads.facebook_ads__account_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": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads", "not_null_facebook_ads__account_report_account_id"], "unique_id": "test.facebook_ads.not_null_facebook_ads__account_report_account_id.9be02b4024", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "facebook_ads", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "not_null_facebook_ads__account_report_account_id.sql", "original_file_path": "models/facebook.yml", "name": "not_null_facebook_ads__account_report_account_id", "alias": "not_null_facebook_ads__account_report_account_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["facebook_ads__account_report"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads/models/facebook.yml/not_null_facebook_ads__account_report_account_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1671505151.22996, "compiled_code": "\n \n \n\n\n\nselect account_id\nfrom \"postgres\".\"facebook_ads_integration_tests_facebook_ads\".\"facebook_ads__account_report\"\nwhere account_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "account_id", "file_key_name": "models.facebook_ads__account_report"}, "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__account_report_date_day__account_id.5a94423e40": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["date_day", "account_id"], "model": "{{ get_where_subquery(ref('facebook_ads__account_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.facebook_ads.facebook_ads__account_report"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_19fe7721a9f8cd99b91dca268368654e", "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": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads", "dbt_utils_unique_combination_of_columns_facebook_ads__account_report_date_day__account_id"], "unique_id": "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__account_report_date_day__account_id.5a94423e40", "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_19fe7721a9f8cd99b91dca268368654e\") }}", "language": "sql", "package_name": "facebook_ads", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "dbt_utils_unique_combination_o_19fe7721a9f8cd99b91dca268368654e.sql", "original_file_path": "models/facebook.yml", "name": "dbt_utils_unique_combination_of_columns_facebook_ads__account_report_date_day__account_id", "alias": "dbt_utils_unique_combination_o_19fe7721a9f8cd99b91dca268368654e", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["facebook_ads__account_report"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads/models/facebook.yml/dbt_utils_unique_combination_o_19fe7721a9f8cd99b91dca268368654e.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_19fe7721a9f8cd99b91dca268368654e"}, "created_at": 1671505151.231783, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n date_day, account_id\n from \"postgres\".\"facebook_ads_integration_tests_facebook_ads\".\"facebook_ads__account_report\"\n group by date_day, account_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.facebook_ads__account_report"}, "test.facebook_ads.not_null_facebook_ads__url_tags__fivetran_id.151d9515f3": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "_fivetran_id", "model": "{{ get_where_subquery(ref('facebook_ads__url_tags')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.facebook_ads.facebook_ads__url_tags"]}, "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": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads", "not_null_facebook_ads__url_tags__fivetran_id"], "unique_id": "test.facebook_ads.not_null_facebook_ads__url_tags__fivetran_id.151d9515f3", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "facebook_ads", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "not_null_facebook_ads__url_tags__fivetran_id.sql", "original_file_path": "models/facebook.yml", "name": "not_null_facebook_ads__url_tags__fivetran_id", "alias": "not_null_facebook_ads__url_tags__fivetran_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["facebook_ads__url_tags"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads/models/facebook.yml/not_null_facebook_ads__url_tags__fivetran_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1671505151.2362041, "compiled_code": "\n \n \n\n\n\nselect _fivetran_id\nfrom \"postgres\".\"facebook_ads_integration_tests_facebook_ads\".\"facebook_ads__url_tags\"\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.facebook_ads__url_tags"}, "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__url_tags__fivetran_id__key__type.ba044777d3": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["_fivetran_id", "key", "type"], "model": "{{ get_where_subquery(ref('facebook_ads__url_tags')) }}"}, "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.facebook_ads.facebook_ads__url_tags"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_496bf013366c506c1f3135f19ec7080a", "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": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads", "dbt_utils_unique_combination_of_columns_facebook_ads__url_tags__fivetran_id__key__type"], "unique_id": "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__url_tags__fivetran_id__key__type.ba044777d3", "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_496bf013366c506c1f3135f19ec7080a\") }}", "language": "sql", "package_name": "facebook_ads", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "dbt_utils_unique_combination_o_496bf013366c506c1f3135f19ec7080a.sql", "original_file_path": "models/facebook.yml", "name": "dbt_utils_unique_combination_of_columns_facebook_ads__url_tags__fivetran_id__key__type", "alias": "dbt_utils_unique_combination_o_496bf013366c506c1f3135f19ec7080a", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["facebook_ads__url_tags"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads/models/facebook.yml/dbt_utils_unique_combination_o_496bf013366c506c1f3135f19ec7080a.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_496bf013366c506c1f3135f19ec7080a"}, "created_at": 1671505151.237379, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n _fivetran_id, key, type\n from \"postgres\".\"facebook_ads_integration_tests_facebook_ads\".\"facebook_ads__url_tags\"\n group by _fivetran_id, key, type\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.facebook_ads__url_tags"}, "test.facebook_ads_source.not_null_stg_facebook_ads__account_history_account_id.f1cf38c40f": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "account_id", "model": "{{ get_where_subquery(ref('stg_facebook_ads__account_history')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__account_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": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "not_null_stg_facebook_ads__account_history_account_id"], "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__account_history_account_id.f1cf38c40f", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "not_null_stg_facebook_ads__account_history_account_id.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "not_null_stg_facebook_ads__account_history_account_id", "alias": "not_null_stg_facebook_ads__account_history_account_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__account_history"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/not_null_stg_facebook_ads__account_history_account_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1671505151.2584682, "compiled_code": "\n \n \n\n\n\nselect account_id\nfrom \"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__account_history\"\nwhere account_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "account_id", "file_key_name": "models.stg_facebook_ads__account_history"}, "test.facebook_ads_source.not_null_stg_facebook_ads__account_history__fivetran_synced.0570e35e1f": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "_fivetran_synced", "model": "{{ get_where_subquery(ref('stg_facebook_ads__account_history')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__account_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": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "not_null_stg_facebook_ads__account_history__fivetran_synced"], "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__account_history__fivetran_synced.0570e35e1f", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "not_null_stg_facebook_ads__account_history__fivetran_synced.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "not_null_stg_facebook_ads__account_history__fivetran_synced", "alias": "not_null_stg_facebook_ads__account_history__fivetran_synced", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__account_history"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/not_null_stg_facebook_ads__account_history__fivetran_synced.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1671505151.2604392, "compiled_code": "\n \n \n\n\n\nselect _fivetran_synced\nfrom \"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__account_history\"\nwhere _fivetran_synced is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "_fivetran_synced", "file_key_name": "models.stg_facebook_ads__account_history"}, "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__account_history_account_id___fivetran_synced.f9b4d28fa2": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["account_id", "_fivetran_synced"], "model": "{{ get_where_subquery(ref('stg_facebook_ads__account_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.facebook_ads_source.stg_facebook_ads__account_history"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_6c9521eb7e9747df57d9737e83cb864f", "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": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "dbt_utils_unique_combination_of_columns_stg_facebook_ads__account_history_account_id___fivetran_synced"], "unique_id": "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__account_history_account_id___fivetran_synced.f9b4d28fa2", "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_6c9521eb7e9747df57d9737e83cb864f\") }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "dbt_utils_unique_combination_o_6c9521eb7e9747df57d9737e83cb864f.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_facebook_ads__account_history_account_id___fivetran_synced", "alias": "dbt_utils_unique_combination_o_6c9521eb7e9747df57d9737e83cb864f", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__account_history"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/dbt_utils_unique_combination_o_6c9521eb7e9747df57d9737e83cb864f.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_6c9521eb7e9747df57d9737e83cb864f"}, "created_at": 1671505151.261677, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n account_id, _fivetran_synced\n from \"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__account_history\"\n group by account_id, _fivetran_synced\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_facebook_ads__account_history"}, "test.facebook_ads_source.not_null_stg_facebook_ads__ad_history_ad_id.11429d3064": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "ad_id", "model": "{{ get_where_subquery(ref('stg_facebook_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.facebook_ads_source.stg_facebook_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": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "not_null_stg_facebook_ads__ad_history_ad_id"], "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__ad_history_ad_id.11429d3064", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "not_null_stg_facebook_ads__ad_history_ad_id.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "not_null_stg_facebook_ads__ad_history_ad_id", "alias": "not_null_stg_facebook_ads__ad_history_ad_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__ad_history"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/not_null_stg_facebook_ads__ad_history_ad_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1671505151.265695, "compiled_code": "\n \n \n\n\n\nselect ad_id\nfrom \"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_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_facebook_ads__ad_history"}, "test.facebook_ads_source.not_null_stg_facebook_ads__ad_history_updated_at.250a5a84e4": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "updated_at", "model": "{{ get_where_subquery(ref('stg_facebook_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.facebook_ads_source.stg_facebook_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": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "not_null_stg_facebook_ads__ad_history_updated_at"], "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__ad_history_updated_at.250a5a84e4", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "not_null_stg_facebook_ads__ad_history_updated_at.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "not_null_stg_facebook_ads__ad_history_updated_at", "alias": "not_null_stg_facebook_ads__ad_history_updated_at", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__ad_history"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/not_null_stg_facebook_ads__ad_history_updated_at.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1671505151.266769, "compiled_code": "\n \n \n\n\n\nselect updated_at\nfrom \"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__ad_history\"\nwhere updated_at is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "updated_at", "file_key_name": "models.stg_facebook_ads__ad_history"}, "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__ad_history_ad_id__updated_at.2922c18b58": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["ad_id", "updated_at"], "model": "{{ get_where_subquery(ref('stg_facebook_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.facebook_ads_source.stg_facebook_ads__ad_history"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_da2a7458e53ca8b420768a0c3e8e2137", "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": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "dbt_utils_unique_combination_of_columns_stg_facebook_ads__ad_history_ad_id__updated_at"], "unique_id": "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__ad_history_ad_id__updated_at.2922c18b58", "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_da2a7458e53ca8b420768a0c3e8e2137\") }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "dbt_utils_unique_combination_o_da2a7458e53ca8b420768a0c3e8e2137.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_facebook_ads__ad_history_ad_id__updated_at", "alias": "dbt_utils_unique_combination_o_da2a7458e53ca8b420768a0c3e8e2137", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__ad_history"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/dbt_utils_unique_combination_o_da2a7458e53ca8b420768a0c3e8e2137.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_da2a7458e53ca8b420768a0c3e8e2137"}, "created_at": 1671505151.267849, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n ad_id, updated_at\n from \"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__ad_history\"\n group by ad_id, updated_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_facebook_ads__ad_history"}, "test.facebook_ads_source.not_null_stg_facebook_ads__ad_set_history_ad_set_id.e19a1df1bb": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "ad_set_id", "model": "{{ get_where_subquery(ref('stg_facebook_ads__ad_set_history')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__ad_set_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": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "not_null_stg_facebook_ads__ad_set_history_ad_set_id"], "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__ad_set_history_ad_set_id.e19a1df1bb", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "not_null_stg_facebook_ads__ad_set_history_ad_set_id.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "not_null_stg_facebook_ads__ad_set_history_ad_set_id", "alias": "not_null_stg_facebook_ads__ad_set_history_ad_set_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__ad_set_history"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/not_null_stg_facebook_ads__ad_set_history_ad_set_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1671505151.271745, "compiled_code": "\n \n \n\n\n\nselect ad_set_id\nfrom \"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__ad_set_history\"\nwhere ad_set_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "ad_set_id", "file_key_name": "models.stg_facebook_ads__ad_set_history"}, "test.facebook_ads_source.not_null_stg_facebook_ads__ad_set_history_updated_at.ef7fafe0fa": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "updated_at", "model": "{{ get_where_subquery(ref('stg_facebook_ads__ad_set_history')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__ad_set_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": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "not_null_stg_facebook_ads__ad_set_history_updated_at"], "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__ad_set_history_updated_at.ef7fafe0fa", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "not_null_stg_facebook_ads__ad_set_history_updated_at.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "not_null_stg_facebook_ads__ad_set_history_updated_at", "alias": "not_null_stg_facebook_ads__ad_set_history_updated_at", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__ad_set_history"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/not_null_stg_facebook_ads__ad_set_history_updated_at.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1671505151.27285, "compiled_code": "\n \n \n\n\n\nselect updated_at\nfrom \"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__ad_set_history\"\nwhere updated_at is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "updated_at", "file_key_name": "models.stg_facebook_ads__ad_set_history"}, "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__ad_set_history_ad_set_id__updated_at.0a60ad0fef": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["ad_set_id", "updated_at"], "model": "{{ get_where_subquery(ref('stg_facebook_ads__ad_set_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.facebook_ads_source.stg_facebook_ads__ad_set_history"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_214e0ea8c1d3eb6e1c1fae451c60969f", "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": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "dbt_utils_unique_combination_of_columns_stg_facebook_ads__ad_set_history_ad_set_id__updated_at"], "unique_id": "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__ad_set_history_ad_set_id__updated_at.0a60ad0fef", "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_214e0ea8c1d3eb6e1c1fae451c60969f\") }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "dbt_utils_unique_combination_o_214e0ea8c1d3eb6e1c1fae451c60969f.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_facebook_ads__ad_set_history_ad_set_id__updated_at", "alias": "dbt_utils_unique_combination_o_214e0ea8c1d3eb6e1c1fae451c60969f", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__ad_set_history"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/dbt_utils_unique_combination_o_214e0ea8c1d3eb6e1c1fae451c60969f.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_214e0ea8c1d3eb6e1c1fae451c60969f"}, "created_at": 1671505151.274134, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n ad_set_id, updated_at\n from \"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__ad_set_history\"\n group by ad_set_id, updated_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_facebook_ads__ad_set_history"}, "test.facebook_ads_source.not_null_stg_facebook_ads__campaign_history_campaign_id.1ca7a83852": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "campaign_id", "model": "{{ get_where_subquery(ref('stg_facebook_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.facebook_ads_source.stg_facebook_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": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "not_null_stg_facebook_ads__campaign_history_campaign_id"], "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__campaign_history_campaign_id.1ca7a83852", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "not_null_stg_facebook_ads__campaign_history_campaign_id.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "not_null_stg_facebook_ads__campaign_history_campaign_id", "alias": "not_null_stg_facebook_ads__campaign_history_campaign_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__campaign_history"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/not_null_stg_facebook_ads__campaign_history_campaign_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1671505151.277416, "compiled_code": "\n \n \n\n\n\nselect campaign_id\nfrom \"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_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_facebook_ads__campaign_history"}, "test.facebook_ads_source.not_null_stg_facebook_ads__campaign_history_updated_at.9e59f99270": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "updated_at", "model": "{{ get_where_subquery(ref('stg_facebook_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.facebook_ads_source.stg_facebook_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": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "not_null_stg_facebook_ads__campaign_history_updated_at"], "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__campaign_history_updated_at.9e59f99270", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "not_null_stg_facebook_ads__campaign_history_updated_at.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "not_null_stg_facebook_ads__campaign_history_updated_at", "alias": "not_null_stg_facebook_ads__campaign_history_updated_at", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__campaign_history"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/not_null_stg_facebook_ads__campaign_history_updated_at.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1671505151.2787998, "compiled_code": "\n \n \n\n\n\nselect updated_at\nfrom \"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__campaign_history\"\nwhere updated_at is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "updated_at", "file_key_name": "models.stg_facebook_ads__campaign_history"}, "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__campaign_history_campaign_id__updated_at.7437b392c2": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["campaign_id", "updated_at"], "model": "{{ get_where_subquery(ref('stg_facebook_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.facebook_ads_source.stg_facebook_ads__campaign_history"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_6067330a8eb187d5024e9840cd7cbd78", "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": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "dbt_utils_unique_combination_of_columns_stg_facebook_ads__campaign_history_campaign_id__updated_at"], "unique_id": "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__campaign_history_campaign_id__updated_at.7437b392c2", "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_6067330a8eb187d5024e9840cd7cbd78\") }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "dbt_utils_unique_combination_o_6067330a8eb187d5024e9840cd7cbd78.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_facebook_ads__campaign_history_campaign_id__updated_at", "alias": "dbt_utils_unique_combination_o_6067330a8eb187d5024e9840cd7cbd78", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__campaign_history"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/dbt_utils_unique_combination_o_6067330a8eb187d5024e9840cd7cbd78.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_6067330a8eb187d5024e9840cd7cbd78"}, "created_at": 1671505151.279936, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n campaign_id, updated_at\n from \"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__campaign_history\"\n group by campaign_id, updated_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_facebook_ads__campaign_history"}, "test.facebook_ads_source.not_null_stg_facebook_ads__creative_history__fivetran_synced.3b0593cb4f": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "_fivetran_synced", "model": "{{ get_where_subquery(ref('stg_facebook_ads__creative_history')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__creative_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": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "not_null_stg_facebook_ads__creative_history__fivetran_synced"], "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__creative_history__fivetran_synced.3b0593cb4f", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "not_null_stg_facebook_ads__creative_history__fivetran_synced.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "not_null_stg_facebook_ads__creative_history__fivetran_synced", "alias": "not_null_stg_facebook_ads__creative_history__fivetran_synced", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__creative_history"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/not_null_stg_facebook_ads__creative_history__fivetran_synced.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1671505151.283699, "compiled_code": "\n \n \n\n\n\nselect _fivetran_synced\nfrom \"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__creative_history\"\nwhere _fivetran_synced is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "_fivetran_synced", "file_key_name": "models.stg_facebook_ads__creative_history"}, "test.facebook_ads_source.not_null_stg_facebook_ads__creative_history_creative_id.eb4d804261": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "creative_id", "model": "{{ get_where_subquery(ref('stg_facebook_ads__creative_history')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__creative_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": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "not_null_stg_facebook_ads__creative_history_creative_id"], "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__creative_history_creative_id.eb4d804261", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "not_null_stg_facebook_ads__creative_history_creative_id.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "not_null_stg_facebook_ads__creative_history_creative_id", "alias": "not_null_stg_facebook_ads__creative_history_creative_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__creative_history"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/not_null_stg_facebook_ads__creative_history_creative_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1671505151.285001, "compiled_code": "\n \n \n\n\n\nselect creative_id\nfrom \"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__creative_history\"\nwhere creative_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "creative_id", "file_key_name": "models.stg_facebook_ads__creative_history"}, "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__creative_history_creative_id___fivetran_synced.69ddc26562": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["creative_id", "_fivetran_synced"], "model": "{{ get_where_subquery(ref('stg_facebook_ads__creative_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.facebook_ads_source.stg_facebook_ads__creative_history"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_c52d893dfedd530a7cd19c495da30217", "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": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "dbt_utils_unique_combination_of_columns_stg_facebook_ads__creative_history_creative_id___fivetran_synced"], "unique_id": "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__creative_history_creative_id___fivetran_synced.69ddc26562", "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_c52d893dfedd530a7cd19c495da30217\") }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "dbt_utils_unique_combination_o_c52d893dfedd530a7cd19c495da30217.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_facebook_ads__creative_history_creative_id___fivetran_synced", "alias": "dbt_utils_unique_combination_o_c52d893dfedd530a7cd19c495da30217", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__creative_history"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/dbt_utils_unique_combination_o_c52d893dfedd530a7cd19c495da30217.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_c52d893dfedd530a7cd19c495da30217"}, "created_at": 1671505151.286195, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n creative_id, _fivetran_synced\n from \"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__creative_history\"\n group by creative_id, _fivetran_synced\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_facebook_ads__creative_history"}, "test.facebook_ads_source.not_null_stg_facebook_ads__basic_ad_ad_id.2611b250fc": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "ad_id", "model": "{{ get_where_subquery(ref('stg_facebook_ads__basic_ad')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__basic_ad"]}, "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": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "not_null_stg_facebook_ads__basic_ad_ad_id"], "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__basic_ad_ad_id.2611b250fc", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "not_null_stg_facebook_ads__basic_ad_ad_id.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "not_null_stg_facebook_ads__basic_ad_ad_id", "alias": "not_null_stg_facebook_ads__basic_ad_ad_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__basic_ad"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/not_null_stg_facebook_ads__basic_ad_ad_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1671505151.289794, "compiled_code": "\n \n \n\n\n\nselect ad_id\nfrom \"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__basic_ad\"\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_facebook_ads__basic_ad"}, "test.facebook_ads_source.not_null_stg_facebook_ads__basic_ad_account_id.d06f6d861b": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "account_id", "model": "{{ get_where_subquery(ref('stg_facebook_ads__basic_ad')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.facebook_ads_source.stg_facebook_ads__basic_ad"]}, "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": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "not_null_stg_facebook_ads__basic_ad_account_id"], "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__basic_ad_account_id.d06f6d861b", "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "not_null_stg_facebook_ads__basic_ad_account_id.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "not_null_stg_facebook_ads__basic_ad_account_id", "alias": "not_null_stg_facebook_ads__basic_ad_account_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__basic_ad"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/not_null_stg_facebook_ads__basic_ad_account_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1671505151.290987, "compiled_code": "\n \n \n\n\n\nselect account_id\nfrom \"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__basic_ad\"\nwhere account_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "account_id", "file_key_name": "models.stg_facebook_ads__basic_ad"}, "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__basic_ad_date_day__ad_id__account_id.bd909529e7": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["date_day", "ad_id", "account_id"], "model": "{{ get_where_subquery(ref('stg_facebook_ads__basic_ad')) }}"}, "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.facebook_ads_source.stg_facebook_ads__basic_ad"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_42caf2b48bab7db5c316ae2524dd0683", "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": "facebook_ads_integration_tests_dbt_test__audit", "fqn": ["facebook_ads_source", "dbt_utils_unique_combination_of_columns_stg_facebook_ads__basic_ad_date_day__ad_id__account_id"], "unique_id": "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__basic_ad_date_day__ad_id__account_id.bd909529e7", "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_42caf2b48bab7db5c316ae2524dd0683\") }}", "language": "sql", "package_name": "facebook_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "dbt_utils_unique_combination_o_42caf2b48bab7db5c316ae2524dd0683.sql", "original_file_path": "models/stg_facebook_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_facebook_ads__basic_ad_date_day__ad_id__account_id", "alias": "dbt_utils_unique_combination_o_42caf2b48bab7db5c316ae2524dd0683", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_facebook_ads__basic_ad"]], "sources": [], "metrics": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "compiled_path": "target/compiled/facebook_ads_source/models/stg_facebook_ads.yml/dbt_utils_unique_combination_o_42caf2b48bab7db5c316ae2524dd0683.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_42caf2b48bab7db5c316ae2524dd0683"}, "created_at": 1671505151.292354, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n date_day, ad_id, account_id\n from \"postgres\".\"facebook_ads_integration_tests_facebook_ads_source\".\"stg_facebook_ads__basic_ad\"\n group by date_day, ad_id, account_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_facebook_ads__basic_ad"}}, "sources": {"source.facebook_ads_source.facebook_ads.account_history": {"fqn": ["facebook_ads_source", "facebook_ads", "account_history"], "database": "postgres", "schema": "facebook_ads_integration_tests", "unique_id": "source.facebook_ads_source.facebook_ads.account_history", "package_name": "facebook_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "models/src_facebook_ads.yml", "original_file_path": "models/src_facebook_ads.yml", "name": "account_history", "source_name": "facebook_ads", "source_description": "", "loader": "Fivetran", "identifier": "facebook_ads_account_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 in this table reflects a version of a Facebook ad account.", "columns": {"id": {"name": "id", "description": "The ID of the ad account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Name of the account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "When the record was last synced by Fivetran.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_status": {"name": "account_status", "description": "Current status of account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "business_country_code": {"name": "business_country_code", "description": "Country code of business associated to account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_time": {"name": "created_time", "description": "The time account was created.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "currency": {"name": "currency", "description": "Currency associated with account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "timezone_name": {"name": "timezone_name", "description": "Timezone associated with account.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {"enabled": true}, "relation_name": "\"postgres\".\"facebook_ads_integration_tests\".\"facebook_ads_account_history_data\"", "created_at": 1671505151.319165}, "source.facebook_ads_source.facebook_ads.ad_history": {"fqn": ["facebook_ads_source", "facebook_ads", "ad_history"], "database": "postgres", "schema": "facebook_ads_integration_tests", "unique_id": "source.facebook_ads_source.facebook_ads.ad_history", "package_name": "facebook_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "models/src_facebook_ads.yml", "original_file_path": "models/src_facebook_ads.yml", "name": "ad_history", "source_name": "facebook_ads", "source_description": "", "loader": "Fivetran", "identifier": "facebook_ads_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 in this table reflects a version of a Facebook ad.", "columns": {"id": {"name": "id", "description": "The ID of this ad.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "The ID of the ad account that this ad belongs to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_set_id": {"name": "ad_set_id", "description": "ID of the ad set that contains the ad.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_id": {"name": "campaign_id", "description": "Ad campaign that contains this ad.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "creative_id": {"name": "creative_id", "description": "The ID of the ad creative to be used by this ad.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Name of the ad.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "When the record was last synced by Fivetran.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "updated_time": {"name": "updated_time", "description": "The timestamp of the last update of a record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {"enabled": true}, "relation_name": "\"postgres\".\"facebook_ads_integration_tests\".\"facebook_ads_ad_history_data\"", "created_at": 1671505151.320589}, "source.facebook_ads_source.facebook_ads.ad_set_history": {"fqn": ["facebook_ads_source", "facebook_ads", "ad_set_history"], "database": "postgres", "schema": "facebook_ads_integration_tests", "unique_id": "source.facebook_ads_source.facebook_ads.ad_set_history", "package_name": "facebook_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "models/src_facebook_ads.yml", "original_file_path": "models/src_facebook_ads.yml", "name": "ad_set_history", "source_name": "facebook_ads", "source_description": "", "loader": "Fivetran", "identifier": "facebook_ads_ad_set_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 in this table reflects a version of a Facebook ad set.", "columns": {"id": {"name": "id", "description": "The ID of the ad set.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "The ID of the ad account that this ad set belongs to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_id": {"name": "campaign_id", "description": "Ad campaign that contains this ad set.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "The name of the ad set.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "When the record was last synced by Fivetran.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "updated_time": {"name": "updated_time", "description": "The timestamp of the last update of a record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "start_time": {"name": "start_time", "description": "Timestamp of designated ad set start time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "end_time": {"name": "end_time", "description": "Timestamp of designated ad set end time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "bid_strategy": {"name": "bid_strategy", "description": "Bid strategy values are - 'LOWEST_COST_WITHOUT_CAP', 'LOWEST_COST_WITH_BID_CAP', 'COST_CAP', 'LOWEST_COST_WITH_MIN_ROAS'.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "daily_budget": {"name": "daily_budget", "description": "Daily budget of ad set.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "budget_remaining": {"name": "budget_remaining", "description": "Remaining budget of ad set.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status": {"name": "status", "description": "Status values are - 'ACTIVE', 'PAUSED', 'DELETED', 'ARCHIVED'.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {"enabled": true}, "relation_name": "\"postgres\".\"facebook_ads_integration_tests\".\"facebook_ads_ad_set_history_data\"", "created_at": 1671505151.3207319}, "source.facebook_ads_source.facebook_ads.basic_ad": {"fqn": ["facebook_ads_source", "facebook_ads", "basic_ad"], "database": "postgres", "schema": "facebook_ads_integration_tests", "unique_id": "source.facebook_ads_source.facebook_ads.basic_ad", "package_name": "facebook_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "models/src_facebook_ads.yml", "original_file_path": "models/src_facebook_ads.yml", "name": "basic_ad", "source_name": "facebook_ads", "source_description": "", "loader": "Fivetran", "identifier": "facebook_ads_basic_ad_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 Facebook.", "columns": {"ad_id": {"name": "ad_id", "description": "The ID of the ad the report relates to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_name": {"name": "ad_name", "description": "Name of the ad the report relates to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "adset_name": {"name": "adset_name", "description": "Name of the ad set the report relates to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "date": {"name": "date", "description": "The date of the reported performance.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "The ID of the ad account that this ad belongs to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "The number of impressions the ad had on the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "inline_link_clicks": {"name": "inline_link_clicks", "description": "The number of clicks the ad had on the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The spend on the ad in the given day.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "reach": {"name": "reach", "description": "The number of people who saw any content from your Page or about your Page. This metric is estimated.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "frequency": {"name": "frequency", "description": "The average number of times each person saw your ad; it is calculated as impressions divided by reach.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "When the record was last synced by Fivetran.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {"enabled": true}, "relation_name": "\"postgres\".\"facebook_ads_integration_tests\".\"facebook_ads_basic_ad_data\"", "created_at": 1671505151.320829}, "source.facebook_ads_source.facebook_ads.campaign_history": {"fqn": ["facebook_ads_source", "facebook_ads", "campaign_history"], "database": "postgres", "schema": "facebook_ads_integration_tests", "unique_id": "source.facebook_ads_source.facebook_ads.campaign_history", "package_name": "facebook_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "models/src_facebook_ads.yml", "original_file_path": "models/src_facebook_ads.yml", "name": "campaign_history", "source_name": "facebook_ads", "source_description": "", "loader": "Fivetran", "identifier": "facebook_ads_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 in this table reflects a version of a Facebook campaign.", "columns": {"id": {"name": "id", "description": "The ID of the campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "The ID of the ad account that this campaign belongs to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "The name of the campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "When the record was last synced by Fivetran.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "updated_time": {"name": "updated_time", "description": "The timestamp of the last update of a record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_time": {"name": "created_time", "description": "The time the campaign was created.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "start_time": {"name": "start_time", "description": "Timestamp of designated campaign start time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "stop_time": {"name": "stop_time", "description": "Timestamp of designated campaign end time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "daily_budget": {"name": "daily_budget", "description": "Daily budget of campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "budget_remaining": {"name": "budget_remaining", "description": "Remaining budget of campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "lifetime_budget": {"name": "lifetime_budget", "description": "Lifetime budget of the campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status": {"name": "status", "description": "Status values are - 'ACTIVE', 'PAUSED', 'DELETED', 'ARCHIVED'.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {"enabled": true}, "relation_name": "\"postgres\".\"facebook_ads_integration_tests\".\"facebook_ads_campaign_history_data\"", "created_at": 1671505151.320917}, "source.facebook_ads_source.facebook_ads.creative_history": {"fqn": ["facebook_ads_source", "facebook_ads", "creative_history"], "database": "postgres", "schema": "facebook_ads_integration_tests", "unique_id": "source.facebook_ads_source.facebook_ads.creative_history", "package_name": "facebook_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "models/src_facebook_ads.yml", "original_file_path": "models/src_facebook_ads.yml", "name": "creative_history", "source_name": "facebook_ads", "source_description": "", "loader": "Fivetran", "identifier": "facebook_ads_creative_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 in this table reflects a version of a Facebook creative.", "columns": {"_fivetran_id": {"name": "_fivetran_id", "description": "Unique record identifier", "meta": {}, "data_type": null, "quote": null, "tags": []}, "page_link": {"name": "page_link", "description": "URL destination of Facebook ads.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "template_page_link": {"name": "template_page_link", "description": "URL destination of Facebook dynamic ads.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "id": {"name": "id", "description": "Unique ID for an ad creative.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "Ad account ID for the account this ad creative belongs to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Name of this ad creative as seen in the ad account's library.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "url_tags": {"name": "url_tags", "description": "A set of query string parameters which will replace or be appended to urls clicked from page post ads, message of the post, and canvas app install creatives only.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "When the record was last synced by Fivetran.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "asset_feed_spec_link_urls": {"name": "asset_feed_spec_link_urls", "description": "Link to the asset feed spec", "meta": {}, "data_type": null, "quote": null, "tags": []}, "object_story_link_data_child_attachments": {"name": "object_story_link_data_child_attachments", "description": "Link of the object story child attachments", "meta": {}, "data_type": null, "quote": null, "tags": []}, "object_story_link_data_caption": {"name": "object_story_link_data_caption", "description": "Link of the object story caption", "meta": {}, "data_type": null, "quote": null, "tags": []}, "object_story_link_data_description": {"name": "object_story_link_data_description", "description": "Link of the object story description", "meta": {}, "data_type": null, "quote": null, "tags": []}, "object_story_link_data_link": {"name": "object_story_link_data_link", "description": "Link of the object story link", "meta": {}, "data_type": null, "quote": null, "tags": []}, "object_story_link_data_message": {"name": "object_story_link_data_message", "description": "Link of the object story message", "meta": {}, "data_type": null, "quote": null, "tags": []}, "template_app_link_spec_ios": {"name": "template_app_link_spec_ios", "description": "Link of the object story spec for ios", "meta": {}, "data_type": null, "quote": null, "tags": []}, "template_app_link_spec_ipad": {"name": "template_app_link_spec_ipad", "description": "Link of the template app spec for ipad", "meta": {}, "data_type": null, "quote": null, "tags": []}, "template_app_link_spec_android": {"name": "template_app_link_spec_android", "description": "Link of the template app for android", "meta": {}, "data_type": null, "quote": null, "tags": []}, "template_app_link_spec_iphone": {"name": "template_app_link_spec_iphone", "description": "Link of the template app for iphone", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {"enabled": true}, "relation_name": "\"postgres\".\"facebook_ads_integration_tests\".\"facebook_ads_creative_history_data\"", "created_at": 1671505151.321012}}, "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": 1671505150.183351, "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": 1671505150.183608, "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": 1671505150.183729, "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": 1671505150.183851, "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": 1671505150.184107, "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": 1671505150.1855931, "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": 1671505150.1864488, "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": 1671505150.192369, "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": 1671505150.192904, "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": 1671505150.193247, "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": 1671505150.193596, "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": 1671505150.194102, "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": 1671505150.194653, "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": 1671505150.194918, "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": 1671505150.195322, "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": 1671505150.195863, "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": 1671505150.196831, "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": 1671505150.1970649, "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": 1671505150.197408, "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": 1671505150.197697, "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": 1671505150.198164, "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": 1671505150.198417, "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": 1671505150.1990888, "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": 1671505150.199321, "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": 1671505150.199449, "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": 1671505150.2001421, "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": 1671505150.201174, "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": 1671505150.201557, "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": 1671505150.202537, "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": 1671505150.206244, "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": 1671505150.206744, "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": 1671505150.20743, "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": 1671505150.2082372, "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": 1671505150.209609, "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": 1671505150.209845, "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": 1671505150.2100039, "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": 1671505150.2101738, "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": 1671505150.210326, "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": 1671505150.210973, "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": 1671505150.2112992, "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": 1671505150.211624, "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": 1671505150.212208, "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": 1671505150.212499, "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": 1671505150.21623, "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": 1671505150.216424, "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": 1671505150.216657, "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": 1671505150.2174149, "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": 1671505150.217592, "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": 1671505150.2177742, "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": 1671505150.2224011, "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": 1671505150.2320378, "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": 1671505150.2440479, "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": 1671505150.244461, "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": 1671505150.244697, "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": 1671505150.244802, "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": 1671505150.2449589, "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": 1671505150.24508, "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": 1671505150.2453032, "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": 1671505150.2465012, "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": 1671505150.246752, "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": 1671505150.247179, "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": 1671505150.247704, "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": 1671505150.256928, "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": 1671505150.2594619, "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": 1671505150.260133, "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": 1671505150.2604742, "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": 1671505150.261006, "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": 1671505150.261429, "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": 1671505150.263381, "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": 1671505150.2639759, "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": 1671505150.264695, "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": 1671505150.2649522, "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": 1671505150.2666721, "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": 1671505150.273033, "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": 1671505150.274833, "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": 1671505150.2751172, "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": 1671505150.2787578, "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": 1671505150.2804632, "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": 1671505150.281695, "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": 1671505150.2906082, "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": 1671505150.291959, "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": 1671505150.292238, "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": 1671505150.294842, "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": 1671505150.2951932, "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": 1671505150.2955542, "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": 1671505150.2959208, "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": 1671505150.297547, "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": 1671505150.300765, "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": 1671505150.3010402, "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": 1671505150.3012118, "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": 1671505150.3015208, "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": 1671505150.3072488, "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": 1671505150.313057, "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": 1671505150.314358, "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": 1671505150.315642, "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": 1671505150.3165781, "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": 1671505150.319564, "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": 1671505150.320344, "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": 1671505150.320544, "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": 1671505150.320988, "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": 1671505150.321423, "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": 1671505150.324168, "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": 1671505150.324642, "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": 1671505150.324875, "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": 1671505150.326704, "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": 1671505150.3273401, "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": 1671505150.3275342, "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": 1671505150.327729, "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": 1671505150.328021, "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": 1671505150.3317142, "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": 1671505150.336729, "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": 1671505150.337703, "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": 1671505150.338072, "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": 1671505150.3386738, "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": 1671505150.3389912, "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": 1671505150.339159, "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": 1671505150.3393202, "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": 1671505150.339447, "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": 1671505150.339618, "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": 1671505150.3397472, "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": 1671505150.340281, "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": 1671505150.340485, "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": 1671505150.342101, "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": 1671505150.3428428, "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": 1671505150.3431091, "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": 1671505150.3438132, "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": 1671505150.3440828, "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": 1671505150.344394, "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": 1671505150.34493, "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": 1671505150.3452008, "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": 1671505150.345644, "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": 1671505150.3460338, "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": 1671505150.346366, "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": 1671505150.347052, "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": 1671505150.348792, "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": 1671505150.3817532, "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": 1671505150.382165, "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": 1671505150.384421, "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": 1671505150.385756, "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": 1671505150.386587, "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": 1671505150.3868642, "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": 1671505150.3873868, "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": 1671505150.387476, "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": 1671505150.387977, "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": 1671505150.388157, "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": 1671505150.38859, "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": 1671505150.3887308, "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": 1671505150.3890991, "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": 1671505150.3892212, "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": 1671505150.389672, "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": 1671505150.389847, "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": 1671505150.390165, "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": 1671505150.3902469, "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": 1671505150.3906019, "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": 1671505150.390749, "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": 1671505150.3911302, "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": 1671505150.3913689, "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": 1671505150.392082, "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": 1671505150.392496, "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": 1671505150.3929222, "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": 1671505150.393091, "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": 1671505150.39347, "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": 1671505150.393614, "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": 1671505150.393953, "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": 1671505150.394113, "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": 1671505150.39444, "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": 1671505150.3946009, "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": 1671505150.3949382, "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": 1671505150.395052, "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": 1671505150.395433, "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": 1671505150.3955789, "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": 1671505150.395914, "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": 1671505150.396021, "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": 1671505150.3970392, "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": 1671505150.397192, "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": 1671505150.397452, "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": 1671505150.397608, "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": 1671505150.397772, "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": 1671505150.39809, "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": 1671505150.398313, "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": 1671505150.39852, "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": 1671505150.398701, "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": 1671505150.398869, "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": 1671505150.3990479, "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": 1671505150.399214, "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": 1671505150.399385, "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": 1671505150.3995368, "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": 1671505150.400065, "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": 1671505150.4002109, "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": 1671505150.4005802, "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": 1671505150.4006982, "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": 1671505150.4011588, "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": 1671505150.401474, "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": 1671505150.401645, "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": 1671505150.40232, "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": 1671505150.402503, "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": 1671505150.402998, "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": 1671505150.40351, "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": 1671505150.403662, "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": 1671505150.40416, "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": 1671505150.404425, "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": 1671505150.404814, "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": 1671505150.404958, "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": 1671505150.405419, "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": 1671505150.405617, "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": 1671505150.405791, "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": 1671505150.405982, "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": 1671505150.406562, "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": 1671505150.406723, "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": 1671505150.406875, "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": 1671505150.4069839, "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": 1671505150.4071639, "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": 1671505150.4072409, "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": 1671505150.40742, "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": 1671505150.4075892, "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": 1671505150.4083672, "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": 1671505150.4086678, "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": 1671505150.4088519, "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": 1671505150.409317, "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": 1671505150.4128482, "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": 1671505150.4130292, "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": 1671505150.413265, "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": 1671505150.413573, "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": 1671505150.413831, "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": 1671505150.414179, "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": 1671505150.4143722, "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": 1671505150.414606, "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": 1671505150.414797, "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": 1671505150.414956, "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": 1671505150.415166, "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": 1671505150.415457, "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": 1671505150.415732, "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": 1671505150.4163399, "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": 1671505150.416702, "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": 1671505150.416862, "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": 1671505150.4170759, "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": 1671505150.417778, "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": 1671505150.41824, "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": 1671505150.420054, "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": 1671505150.4201841, "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": 1671505150.4203598, "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": 1671505150.420477, "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": 1671505150.4208431, "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": 1671505150.421046, "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": 1671505150.421155, "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": 1671505150.421389, "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": 1671505150.421592, "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": 1671505150.42183, "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": 1671505150.422036, "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": 1671505150.422281, "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": 1671505150.422991, "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": 1671505150.423299, "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": 1671505150.423564, "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": 1671505150.42381, "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": 1671505150.425123, "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": 1671505150.426144, "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": 1671505150.4263391, "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": 1671505150.42657, "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": 1671505150.426754, "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": 1671505150.4270358, "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": 1671505150.427548, "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": 1671505150.4292212, "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": 1671505150.429506, "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": 1671505150.429707, "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": 1671505150.4298701, "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": 1671505150.430059, "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": 1671505150.4303172, "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": 1671505150.4305332, "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": 1671505150.430847, "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": 1671505150.431041, "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": 1671505150.431208, "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": 1671505150.433098, "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": 1671505150.433398, "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": 1671505150.433738, "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": 1671505150.4339359, "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": 1671505150.434305, "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": 1671505150.4345431, "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": 1671505150.435306, "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": 1671505150.435605, "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": 1671505150.436448, "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": 1671505150.438195, "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": 1671505150.438704, "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": 1671505150.439192, "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": 1671505150.4396229, "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": 1671505150.439701, "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": 1671505150.440402, "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": 1671505150.440653, "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": 1671505150.440958, "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": 1671505150.4412532, "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/facebook_ads/dbt_facebook_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": 1671505150.441792, "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/facebook_ads/dbt_facebook_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": 1671505150.442443, "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/facebook_ads/dbt_facebook_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": 1671505150.443091, "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/facebook_ads/dbt_facebook_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": 1671505150.4437912, "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/facebook_ads/dbt_facebook_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": 1671505150.444291, "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/facebook_ads/dbt_facebook_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": 1671505150.444633, "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/facebook_ads/dbt_facebook_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": 1671505150.446164, "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/facebook_ads/dbt_facebook_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": 1671505150.4473011, "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/facebook_ads/dbt_facebook_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": 1671505150.44861, "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/facebook_ads/dbt_facebook_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": 1671505150.449854, "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/facebook_ads/dbt_facebook_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": 1671505150.4515169, "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/facebook_ads/dbt_facebook_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": 1671505150.451906, "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/facebook_ads/dbt_facebook_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": 1671505150.452851, "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/facebook_ads/dbt_facebook_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": 1671505150.453762, "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/facebook_ads/dbt_facebook_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": 1671505150.454355, "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/facebook_ads/dbt_facebook_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": 1671505150.4548411, "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/facebook_ads/dbt_facebook_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": 1671505150.45555, "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/facebook_ads/dbt_facebook_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": 1671505150.456204, "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/facebook_ads/dbt_facebook_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": 1671505150.4570081, "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/facebook_ads/dbt_facebook_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": 1671505150.4576051, "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/facebook_ads/dbt_facebook_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": 1671505150.45824, "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/facebook_ads/dbt_facebook_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": 1671505150.4587572, "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/facebook_ads/dbt_facebook_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": 1671505150.459538, "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/facebook_ads/dbt_facebook_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": 1671505150.4602501, "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/facebook_ads/dbt_facebook_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": 1671505150.460926, "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/facebook_ads/dbt_facebook_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": 1671505150.461279, "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/facebook_ads/dbt_facebook_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": 1671505150.461785, "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/facebook_ads/dbt_facebook_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": 1671505150.462153, "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/facebook_ads/dbt_facebook_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": 1671505150.462911, "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/facebook_ads/dbt_facebook_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": 1671505150.463773, "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/facebook_ads/dbt_facebook_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": 1671505150.46477, "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/facebook_ads/dbt_facebook_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": 1671505150.4657202, "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/facebook_ads/dbt_facebook_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": 1671505150.46674, "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/facebook_ads/dbt_facebook_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": 1671505150.46766, "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/facebook_ads/dbt_facebook_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": 1671505150.4683352, "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/facebook_ads/dbt_facebook_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": 1671505150.4686432, "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/facebook_ads/dbt_facebook_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": 1671505150.471968, "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/facebook_ads/dbt_facebook_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": 1671505150.47362, "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/facebook_ads/dbt_facebook_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": 1671505150.47405, "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/facebook_ads/dbt_facebook_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": 1671505150.474227, "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/facebook_ads/dbt_facebook_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": 1671505150.474782, "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/facebook_ads/dbt_facebook_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": 1671505150.475163, "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/facebook_ads/dbt_facebook_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": 1671505150.4753659, "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/facebook_ads/dbt_facebook_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": 1671505150.4757109, "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/facebook_ads/dbt_facebook_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": 1671505150.475886, "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/facebook_ads/dbt_facebook_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": 1671505150.476723, "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/facebook_ads/dbt_facebook_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": 1671505150.477744, "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/facebook_ads/dbt_facebook_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": 1671505150.4785569, "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/facebook_ads/dbt_facebook_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": 1671505150.4792068, "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/facebook_ads/dbt_facebook_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": 1671505150.4794612, "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/facebook_ads/dbt_facebook_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": 1671505150.479834, "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/facebook_ads/dbt_facebook_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": 1671505150.480271, "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/facebook_ads/dbt_facebook_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": 1671505150.4806259, "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/facebook_ads/dbt_facebook_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": 1671505150.481378, "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/facebook_ads/dbt_facebook_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": 1671505150.482422, "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/facebook_ads/dbt_facebook_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": 1671505150.483435, "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/facebook_ads/dbt_facebook_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": 1671505150.48388, "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/facebook_ads/dbt_facebook_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": 1671505150.484083, "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/facebook_ads/dbt_facebook_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": 1671505150.4847019, "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/facebook_ads/dbt_facebook_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": 1671505150.485698, "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/facebook_ads/dbt_facebook_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": 1671505150.486656, "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/facebook_ads/dbt_facebook_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": 1671505150.4873102, "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/facebook_ads/dbt_facebook_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": 1671505150.487772, "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/facebook_ads/dbt_facebook_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": 1671505150.489206, "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/facebook_ads/dbt_facebook_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": 1671505150.4906838, "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/facebook_ads/dbt_facebook_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": 1671505150.4921532, "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/facebook_ads/dbt_facebook_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": 1671505150.4941928, "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/facebook_ads/dbt_facebook_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": 1671505150.494648, "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/facebook_ads/dbt_facebook_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": 1671505150.4947891, "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/facebook_ads/dbt_facebook_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": 1671505150.497943, "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/facebook_ads/dbt_facebook_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": 1671505150.50161, "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/facebook_ads/dbt_facebook_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": 1671505150.5021498, "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/facebook_ads/dbt_facebook_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": 1671505150.50242, "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/facebook_ads/dbt_facebook_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": 1671505150.503244, "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/facebook_ads/dbt_facebook_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": 1671505150.503474, "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/facebook_ads/dbt_facebook_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": 1671505150.5036879, "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/facebook_ads/dbt_facebook_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": 1671505150.5038831, "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/facebook_ads/dbt_facebook_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": 1671505150.504082, "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/facebook_ads/dbt_facebook_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": 1671505150.504282, "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/facebook_ads/dbt_facebook_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": 1671505150.504771, "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/facebook_ads/dbt_facebook_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": 1671505150.5050209, "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/facebook_ads/dbt_facebook_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": 1671505150.5054982, "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/facebook_ads/dbt_facebook_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": 1671505150.506075, "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/facebook_ads/dbt_facebook_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": 1671505150.506531, "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/facebook_ads/dbt_facebook_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": 1671505150.50689, "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/facebook_ads/dbt_facebook_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": 1671505150.508725, "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/facebook_ads/dbt_facebook_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": 1671505150.509131, "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/facebook_ads/dbt_facebook_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": 1671505150.510129, "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/facebook_ads/dbt_facebook_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": 1671505150.510719, "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/facebook_ads/dbt_facebook_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": 1671505150.512152, "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/facebook_ads/dbt_facebook_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": 1671505150.514024, "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/facebook_ads/dbt_facebook_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": 1671505150.516714, "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/facebook_ads/dbt_facebook_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": 1671505150.5177422, "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/facebook_ads/dbt_facebook_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": 1671505150.518495, "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/facebook_ads/dbt_facebook_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": 1671505150.519294, "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/facebook_ads/dbt_facebook_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": 1671505150.521186, "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/facebook_ads/dbt_facebook_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": 1671505150.5216691, "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/facebook_ads/dbt_facebook_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": 1671505150.522138, "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/facebook_ads/dbt_facebook_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": 1671505150.52233, "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/facebook_ads/dbt_facebook_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": 1671505150.522878, "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/facebook_ads/dbt_facebook_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": 1671505150.523498, "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/facebook_ads/dbt_facebook_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": 1671505150.524066, "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/facebook_ads/dbt_facebook_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": 1671505150.5247328, "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/facebook_ads/dbt_facebook_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": 1671505150.525228, "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/facebook_ads/dbt_facebook_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": 1671505150.525368, "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/facebook_ads/dbt_facebook_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": 1671505150.525504, "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/facebook_ads/dbt_facebook_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": 1671505150.5260942, "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/facebook_ads/dbt_facebook_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": 1671505150.5269902, "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/facebook_ads/dbt_facebook_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": 1671505150.528167, "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/facebook_ads/dbt_facebook_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": 1671505150.5284622, "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/facebook_ads/dbt_facebook_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": 1671505150.529061, "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/facebook_ads/dbt_facebook_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": 1671505150.529901, "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/facebook_ads/dbt_facebook_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": 1671505150.5349948, "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/facebook_ads/dbt_facebook_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": 1671505150.535863, "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/facebook_ads/dbt_facebook_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": 1671505150.5368378, "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/facebook_ads/dbt_facebook_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": 1671505150.537602, "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/facebook_ads/dbt_facebook_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": 1671505150.5384362, "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/facebook_ads/dbt_facebook_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": 1671505150.539505, "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/facebook_ads/dbt_facebook_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": 1671505150.5399082, "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/facebook_ads/dbt_facebook_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": 1671505150.540127, "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/facebook_ads/dbt_facebook_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": 1671505150.543112, "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/facebook_ads/dbt_facebook_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": 1671505150.5507689, "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/facebook_ads/dbt_facebook_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": 1671505150.551169, "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/facebook_ads/dbt_facebook_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": 1671505150.5512488, "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/facebook_ads/dbt_facebook_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": 1671505150.5519319, "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/facebook_ads/dbt_facebook_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": 1671505150.553609, "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/facebook_ads/dbt_facebook_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": 1671505150.5539541, "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/facebook_ads/dbt_facebook_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": 1671505150.554234, "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/facebook_ads/dbt_facebook_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": 1671505150.554511, "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/facebook_ads/dbt_facebook_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": 1671505150.554999, "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/facebook_ads/dbt_facebook_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": 1671505150.555205, "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/facebook_ads/dbt_facebook_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": 1671505150.555532, "supported_languages": null}, "macro.facebook_ads.get_url_tags_query": {"unique_id": "macro.facebook_ads.get_url_tags_query", "package_name": "facebook_ads", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "macros/get_url_tag_query.sql", "original_file_path": "macros/get_url_tag_query.sql", "name": "get_url_tags_query", "macro_sql": "{% macro get_url_tags_query() %}\n {{ return(adapter.dispatch('get_url_tags_query') ()) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.facebook_ads.postgres__get_url_tags_query"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505150.556833, "supported_languages": null}, "macro.facebook_ads.bigquery__get_url_tags_query": {"unique_id": "macro.facebook_ads.bigquery__get_url_tags_query", "package_name": "facebook_ads", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "macros/get_url_tag_query.sql", "original_file_path": "macros/get_url_tag_query.sql", "name": "bigquery__get_url_tags_query", "macro_sql": "{% macro bigquery__get_url_tags_query() %}\n\n cleaned_json as (\n\n select\n _fivetran_id,\n creative_id,\n json_extract_array(replace(trim(url_tags, '\"'),'\\\\','')) as cleaned_url_tags\n from required_fields\n ), \n\n unnested as (\n\n select \n _fivetran_id, \n creative_id, \n url_tag_element\n from cleaned_json\n left join unnest(cleaned_url_tags) as url_tag_element\n where cleaned_url_tags is not null\n ), \n\n fields as (\n\n select\n _fivetran_id,\n creative_id,\n json_extract_scalar(url_tag_element, '$.key') as key,\n json_extract_scalar(url_tag_element, '$.value') as value,\n json_extract_scalar(url_tag_element, '$.type') as type\n from unnested\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": 1671505150.5569851, "supported_languages": null}, "macro.facebook_ads.postgres__get_url_tags_query": {"unique_id": "macro.facebook_ads.postgres__get_url_tags_query", "package_name": "facebook_ads", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "macros/get_url_tag_query.sql", "original_file_path": "macros/get_url_tag_query.sql", "name": "postgres__get_url_tags_query", "macro_sql": "{% macro postgres__get_url_tags_query() %}\n\n cleaned_json as (\n\n select\n _fivetran_id,\n creative_id,\n replace(trim(url_tags::text, '\"'),'\\\\','')::json as cleaned_url_tags\n from required_fields\n ), \n\n unnested as (\n\n select \n _fivetran_id, \n creative_id, \n url_tag_element\n from cleaned_json\n left join lateral json_array_elements(cleaned_url_tags) as url_tag_element on True\n where cleaned_url_tags is not null\n ), \n\n fields as (\n\n select\n _fivetran_id,\n creative_id,\n url_tag_element->>'key' as key,\n url_tag_element->>'value' as value,\n url_tag_element->>'type' as type\n from unnested\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": 1671505150.557108, "supported_languages": null}, "macro.facebook_ads.redshift__get_url_tags_query": {"unique_id": "macro.facebook_ads.redshift__get_url_tags_query", "package_name": "facebook_ads", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "macros/get_url_tag_query.sql", "original_file_path": "macros/get_url_tag_query.sql", "name": "redshift__get_url_tags_query", "macro_sql": "{% macro redshift__get_url_tags_query() %}\n\n numbers as (\n\n {{ dbt_utils.generate_series(upper_bound=1000) }}\n\n ), \n\n flattened_url_tags as (\n\n select\n _fivetran_id,\n creative_id,\n json_extract_array_element_text(required_fields.url_tags, numbers.generated_number::int - 1, true) as element\n from required_fields\n inner join numbers\n on json_array_length(required_fields.url_tags) >= numbers.generated_number\n ), \n\n fields as (\n\n select\n _fivetran_id,\n creative_id,\n json_extract_path_text(element,'key') as key,\n json_extract_path_text(element,'value') as value,\n json_extract_path_text(element,'type') as type\n from flattened_url_tags\n )\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.generate_series"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505150.557354, "supported_languages": null}, "macro.facebook_ads.snowflake__get_url_tags_query": {"unique_id": "macro.facebook_ads.snowflake__get_url_tags_query", "package_name": "facebook_ads", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "macros/get_url_tag_query.sql", "original_file_path": "macros/get_url_tag_query.sql", "name": "snowflake__get_url_tags_query", "macro_sql": "{% macro snowflake__get_url_tags_query() %}\n\n cleaned_fields as (\n\n select\n _fivetran_id,\n creative_id,\n parse_json(url_tags) as url_tags\n from required_fields\n where url_tags is not null\n ), \n\n fields as (\n\n select\n _fivetran_id,\n creative_id,\n url_tags.value:key::string as key,\n url_tags.value:value::string as value,\n url_tags.value:type::string as type\n from cleaned_fields,\n lateral flatten( input => url_tags ) as url_tags\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": 1671505150.557481, "supported_languages": null}, "macro.facebook_ads.spark__get_url_tags_query": {"unique_id": "macro.facebook_ads.spark__get_url_tags_query", "package_name": "facebook_ads", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads", "path": "macros/get_url_tag_query.sql", "original_file_path": "macros/get_url_tag_query.sql", "name": "spark__get_url_tags_query", "macro_sql": "{% macro spark__get_url_tags_query() %}\n\n cleaned_fields as (\n\n select\n _fivetran_id,\n creative_id,\n explode(from_json(url_tags, 'array>')) as url_tags\n from required_fields\n where url_tags is not null\n ), \n\n fields as (\n\n select\n _fivetran_id,\n creative_id,\n url_tags.key as key,\n url_tags.value as value,\n url_tags.type as type\n from cleaned_fields\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": 1671505150.55759, "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/facebook_ads/dbt_facebook_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": 1671505150.5583339, "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/facebook_ads/dbt_facebook_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": 1671505150.559438, "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/facebook_ads/dbt_facebook_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": 1671505150.559711, "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/facebook_ads/dbt_facebook_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": 1671505150.5598762, "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/facebook_ads/dbt_facebook_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": 1671505150.560041, "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/facebook_ads/dbt_facebook_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": 1671505150.5601852, "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/facebook_ads/dbt_facebook_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": 1671505150.560341, "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/facebook_ads/dbt_facebook_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": 1671505150.5612319, "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/facebook_ads/dbt_facebook_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": 1671505150.561992, "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/facebook_ads/dbt_facebook_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": 1671505150.5631502, "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/facebook_ads/dbt_facebook_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": 1671505150.5634098, "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/facebook_ads/dbt_facebook_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": 1671505150.563665, "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/facebook_ads/dbt_facebook_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": 1671505150.563971, "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/facebook_ads/dbt_facebook_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": 1671505150.564244, "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/facebook_ads/dbt_facebook_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": 1671505150.564533, "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/facebook_ads/dbt_facebook_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": 1671505150.5648131, "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/facebook_ads/dbt_facebook_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": 1671505150.565315, "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/facebook_ads/dbt_facebook_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": 1671505150.5654259, "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/facebook_ads/dbt_facebook_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": 1671505150.5655339, "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/facebook_ads/dbt_facebook_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": 1671505150.56564, "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/facebook_ads/dbt_facebook_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": 1671505150.5661309, "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/facebook_ads/dbt_facebook_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": 1671505150.566978, "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/facebook_ads/dbt_facebook_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": 1671505150.567904, "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/facebook_ads/dbt_facebook_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": 1671505150.568489, "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/facebook_ads/dbt_facebook_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": 1671505150.568636, "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/facebook_ads/dbt_facebook_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": 1671505150.568778, "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/facebook_ads/dbt_facebook_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": 1671505150.5689101, "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/facebook_ads/dbt_facebook_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": 1671505150.5690439, "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/facebook_ads/dbt_facebook_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": 1671505150.571918, "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/facebook_ads/dbt_facebook_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": 1671505150.572098, "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/facebook_ads/dbt_facebook_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": 1671505150.572261, "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/facebook_ads/dbt_facebook_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": 1671505150.572421, "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/facebook_ads/dbt_facebook_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": 1671505150.574241, "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/facebook_ads/dbt_facebook_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": 1671505150.575234, "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/facebook_ads/dbt_facebook_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": 1671505150.575383, "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/facebook_ads/dbt_facebook_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": 1671505150.575671, "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/facebook_ads/dbt_facebook_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": 1671505150.575969, "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/facebook_ads/dbt_facebook_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": 1671505150.576107, "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/facebook_ads/dbt_facebook_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": 1671505150.57624, "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/facebook_ads/dbt_facebook_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": 1671505150.5763671, "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/facebook_ads/dbt_facebook_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": 1671505150.57712, "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/facebook_ads/dbt_facebook_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": 1671505150.57776, "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/facebook_ads/dbt_facebook_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": 1671505150.578486, "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/facebook_ads/dbt_facebook_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": 1671505150.578706, "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/facebook_ads/dbt_facebook_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": 1671505150.578939, "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/facebook_ads/dbt_facebook_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": 1671505150.579326, "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/facebook_ads/dbt_facebook_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": 1671505150.580559, "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/facebook_ads/dbt_facebook_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": 1671505150.5848079, "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/facebook_ads/dbt_facebook_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": 1671505150.5851982, "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/facebook_ads/dbt_facebook_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": 1671505150.585723, "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/facebook_ads/dbt_facebook_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": 1671505150.58738, "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/facebook_ads/dbt_facebook_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": 1671505150.587946, "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/facebook_ads/dbt_facebook_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": 1671505150.5886312, "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/facebook_ads/dbt_facebook_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": 1671505150.588802, "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/facebook_ads/dbt_facebook_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": 1671505150.5889652, "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/facebook_ads/dbt_facebook_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": 1671505150.5891478, "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/facebook_ads/dbt_facebook_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": 1671505150.5893068, "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/facebook_ads/dbt_facebook_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": 1671505150.589461, "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/facebook_ads/dbt_facebook_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": 1671505150.590276, "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/facebook_ads/dbt_facebook_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": 1671505150.591297, "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/facebook_ads/dbt_facebook_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": 1671505150.592112, "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/facebook_ads/dbt_facebook_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": 1671505150.592285, "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/facebook_ads/dbt_facebook_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": 1671505150.5924501, "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/facebook_ads/dbt_facebook_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": 1671505150.592617, "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/facebook_ads/dbt_facebook_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": 1671505150.592774, "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/facebook_ads/dbt_facebook_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": 1671505150.5929558, "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/facebook_ads/dbt_facebook_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": 1671505150.593324, "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/facebook_ads/dbt_facebook_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": 1671505150.5934348, "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/facebook_ads/dbt_facebook_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": 1671505150.593628, "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/facebook_ads/dbt_facebook_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": 1671505150.594372, "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/facebook_ads/dbt_facebook_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": 1671505150.59583, "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/facebook_ads/dbt_facebook_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": 1671505150.598238, "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/facebook_ads/dbt_facebook_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": 1671505150.599784, "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/facebook_ads/dbt_facebook_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": 1671505150.600163, "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/facebook_ads/dbt_facebook_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": 1671505150.6002738, "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/facebook_ads/dbt_facebook_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": 1671505150.6003761, "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/facebook_ads/dbt_facebook_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": 1671505150.60087, "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/facebook_ads/dbt_facebook_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": 1671505150.601344, "supported_languages": null}, "macro.facebook_ads_source.get_ad_set_history_columns": {"unique_id": "macro.facebook_ads_source.get_ad_set_history_columns", "package_name": "facebook_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "macros/get_ad_set_history_columns.sql", "original_file_path": "macros/get_ad_set_history_columns.sql", "name": "get_ad_set_history_columns", "macro_sql": "{% macro get_ad_set_history_columns() %}\n\n{% set columns = [\n {\"name\": \"updated_time\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"id\", \"datatype\": dbt.type_int()},\n {\"name\": \"name\", \"datatype\": dbt.type_string()},\n {\"name\": \"account_id\", \"datatype\": dbt.type_int()},\n {\"name\": \"campaign_id\", \"datatype\": dbt.type_int()},\n {\"name\": \"start_time\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"end_time\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"bid_strategy\", \"datatype\": dbt.type_string()},\n {\"name\": \"daily_budget\", \"datatype\": dbt.type_int()},\n {\"name\": \"budget_remaining\", \"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_timestamp", "macro.dbt.type_int", "macro.dbt.type_string"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505150.6027, "supported_languages": null}, "macro.facebook_ads_source.get_creative_history_columns": {"unique_id": "macro.facebook_ads_source.get_creative_history_columns", "package_name": "facebook_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "macros/get_creative_history_columns.sql", "original_file_path": "macros/get_creative_history_columns.sql", "name": "get_creative_history_columns", "macro_sql": "{% macro get_creative_history_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"id\", \"datatype\": dbt.type_int()},\n {\"name\": \"account_id\", \"datatype\": dbt.type_int()},\n {\"name\": \"name\", \"datatype\": dbt.type_string()},\n {\"name\": \"page_link\", \"datatype\": dbt.type_string()},\n {\"name\": \"template_page_link\", \"datatype\": dbt.type_string()},\n {\"name\": \"url_tags\", \"datatype\": dbt.type_string()},\n {\"name\": \"asset_feed_spec_link_urls\", \"datatype\": dbt.type_string()},\n {\"name\": \"object_story_link_data_child_attachments\", \"datatype\": dbt.type_string()},\n {\"name\": \"object_story_link_data_caption\", \"datatype\": dbt.type_string()},\n {\"name\": \"object_story_link_data_description\", \"datatype\": dbt.type_string()},\n {\"name\": \"object_story_link_data_link\", \"datatype\": dbt.type_string()},\n {\"name\": \"object_story_link_data_message\", \"datatype\": dbt.type_string()},\n {\"name\": \"template_app_link_spec_android\", \"datatype\": dbt.type_string()},\n {\"name\": \"template_app_link_spec_ios\", \"datatype\": dbt.type_string()},\n {\"name\": \"template_app_link_spec_ipad\", \"datatype\": dbt.type_string()},\n {\"name\": \"template_app_link_spec_iphone\", \"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_timestamp", "macro.dbt.type_int"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505150.604831, "supported_languages": null}, "macro.facebook_ads_source.get_campaign_history_columns": {"unique_id": "macro.facebook_ads_source.get_campaign_history_columns", "package_name": "facebook_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_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\": \"updated_time\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"created_time\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"account_id\", \"datatype\": dbt.type_int()},\n {\"name\": \"id\", \"datatype\": dbt.type_int()},\n {\"name\": \"name\", \"datatype\": dbt.type_string()},\n {\"name\": \"start_time\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"stop_time\", \"datatype\": dbt.type_timestamp()}, \n {\"name\": \"status\", \"datatype\": dbt.type_string()},\n {\"name\": \"daily_budget\", \"datatype\": dbt.type_int()},\n {\"name\": \"lifetime_budget\", \"datatype\": dbt.type_int()},\n {\"name\": \"budget_remaining\", \"datatype\": dbt.type_float()}\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", "macro.dbt.type_float"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505150.606207, "supported_languages": null}, "macro.facebook_ads_source.get_basic_ad_columns": {"unique_id": "macro.facebook_ads_source.get_basic_ad_columns", "package_name": "facebook_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "macros/get_basic_ad_columns.sql", "original_file_path": "macros/get_basic_ad_columns.sql", "name": "get_basic_ad_columns", "macro_sql": "{% macro get_basic_ad_columns() %}\n\n{% set columns = [\n {\"name\": \"ad_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"ad_name\", \"datatype\": dbt.type_string()},\n {\"name\": \"adset_name\", \"datatype\": dbt.type_string()},\n {\"name\": \"date\", \"datatype\": \"date\"},\n {\"name\": \"account_id\", \"datatype\": dbt.type_int()},\n {\"name\": \"impressions\", \"datatype\": dbt.type_int()},\n {\"name\": \"inline_link_clicks\", \"datatype\": dbt.type_int()},\n {\"name\": \"spend\", \"datatype\": dbt.type_float()},\n {\"name\": \"reach\", \"datatype\": dbt.type_int()},\n {\"name\": \"frequency\", \"datatype\": dbt.type_float()}\n] %}\n\n{{ fivetran_utils.add_pass_through_columns(columns, var('facebook_ads__basic_ad_passthrough_metrics')) }}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.type_string", "macro.dbt.type_int", "macro.dbt.type_float", "macro.fivetran_utils.add_pass_through_columns"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1671505150.607705, "supported_languages": null}, "macro.facebook_ads_source.get_account_history_columns": {"unique_id": "macro.facebook_ads_source.get_account_history_columns", "package_name": "facebook_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "macros/get_account_history_columns.sql", "original_file_path": "macros/get_account_history_columns.sql", "name": "get_account_history_columns", "macro_sql": "{% macro get_account_history_columns() %}\n\n{% set columns = [\n {\"name\": \"id\", \"datatype\": dbt.type_int()},\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"name\", \"datatype\": dbt.type_string()},\n {\"name\": \"account_status\", \"datatype\": dbt.type_string()},\n {\"name\": \"business_country_code\", \"datatype\": dbt.type_string()},\n {\"name\": \"created_time\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"currency\", \"datatype\": dbt.type_string()},\n {\"name\": \"timezone_name\", \"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": 1671505150.6089442, "supported_languages": null}, "macro.facebook_ads_source.get_ad_history_columns": {"unique_id": "macro.facebook_ads_source.get_ad_history_columns", "package_name": "facebook_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_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\": \"updated_time\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"id\", \"datatype\": dbt.type_int()},\n {\"name\": \"name\", \"datatype\": dbt.type_string()},\n {\"name\": \"account_id\", \"datatype\": dbt.type_int()},\n {\"name\": \"ad_set_id\", \"datatype\": dbt.type_int()},\n {\"name\": \"campaign_id\", \"datatype\": dbt.type_int()},\n {\"name\": \"creative_id\", \"datatype\": dbt.type_int()}\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": 1671505150.609997, "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"}, "facebook_ads_source._fivetran_synced": {"unique_id": "facebook_ads_source._fivetran_synced", "package_name": "facebook_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "_fivetran_synced", "block_contents": "When the record was last synced by Fivetran."}, "facebook_ads_source.is_most_recent_record": {"unique_id": "facebook_ads_source.is_most_recent_record", "package_name": "facebook_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "is_most_recent_record", "block_contents": "Boolean representing whether a record is the most recent version of that record. All records should have this value set to True given we filter on it."}, "facebook_ads_source.updated_time": {"unique_id": "facebook_ads_source.updated_time", "package_name": "facebook_ads_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/facebook_ads/dbt_facebook_ads/integration_tests/dbt_packages/facebook_ads_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "updated_time", "block_contents": "The timestamp of the last update of a record."}}, "exposures": {}, "metrics": {}, "selectors": {}, "disabled": {}, "parent_map": {"seed.facebook_ads_integration_tests.facebook_ads_ad_history_data": [], "seed.facebook_ads_integration_tests.facebook_ads_creative_history_data": [], "seed.facebook_ads_integration_tests.facebook_ads_campaign_history_data": [], "seed.facebook_ads_integration_tests.facebook_ads_account_history_data": [], "seed.facebook_ads_integration_tests.facebook_ads_basic_ad_data": [], "seed.facebook_ads_integration_tests.facebook_ads_ad_set_history_data": [], "model.facebook_ads.facebook_ads__url_report": ["model.facebook_ads.int_facebook_ads__creative_history", "model.facebook_ads_source.stg_facebook_ads__account_history", "model.facebook_ads_source.stg_facebook_ads__ad_history", "model.facebook_ads_source.stg_facebook_ads__ad_set_history", "model.facebook_ads_source.stg_facebook_ads__basic_ad", "model.facebook_ads_source.stg_facebook_ads__campaign_history"], "model.facebook_ads.facebook_ads__url_tags": ["model.facebook_ads_source.stg_facebook_ads__creative_history"], "model.facebook_ads.facebook_ads__campaign_report": ["model.facebook_ads_source.stg_facebook_ads__account_history", "model.facebook_ads_source.stg_facebook_ads__ad_history", "model.facebook_ads_source.stg_facebook_ads__basic_ad", "model.facebook_ads_source.stg_facebook_ads__campaign_history"], "model.facebook_ads.facebook_ads__account_report": ["model.facebook_ads_source.stg_facebook_ads__account_history", "model.facebook_ads_source.stg_facebook_ads__basic_ad"], "model.facebook_ads.facebook_ads__ad_report": ["model.facebook_ads_source.stg_facebook_ads__account_history", "model.facebook_ads_source.stg_facebook_ads__ad_history", "model.facebook_ads_source.stg_facebook_ads__ad_set_history", "model.facebook_ads_source.stg_facebook_ads__basic_ad", "model.facebook_ads_source.stg_facebook_ads__campaign_history"], "model.facebook_ads.facebook_ads__ad_set_report": ["model.facebook_ads_source.stg_facebook_ads__account_history", "model.facebook_ads_source.stg_facebook_ads__ad_history", "model.facebook_ads_source.stg_facebook_ads__ad_set_history", "model.facebook_ads_source.stg_facebook_ads__basic_ad", "model.facebook_ads_source.stg_facebook_ads__campaign_history"], "model.facebook_ads.int_facebook_ads__creative_history": ["model.facebook_ads.facebook_ads__url_tags", "model.facebook_ads_source.stg_facebook_ads__creative_history"], "model.facebook_ads_source.stg_facebook_ads__basic_ad": ["model.facebook_ads_source.stg_facebook_ads__basic_ad_tmp", "model.facebook_ads_source.stg_facebook_ads__basic_ad_tmp"], "model.facebook_ads_source.stg_facebook_ads__creative_history": ["model.facebook_ads_source.stg_facebook_ads__creative_history_tmp", "model.facebook_ads_source.stg_facebook_ads__creative_history_tmp"], "model.facebook_ads_source.stg_facebook_ads__campaign_history": ["model.facebook_ads_source.stg_facebook_ads__campaign_history_tmp", "model.facebook_ads_source.stg_facebook_ads__campaign_history_tmp"], "model.facebook_ads_source.stg_facebook_ads__account_history": ["model.facebook_ads_source.stg_facebook_ads__account_history_tmp", "model.facebook_ads_source.stg_facebook_ads__account_history_tmp"], "model.facebook_ads_source.stg_facebook_ads__ad_history": ["model.facebook_ads_source.stg_facebook_ads__ad_history_tmp", "model.facebook_ads_source.stg_facebook_ads__ad_history_tmp"], "model.facebook_ads_source.stg_facebook_ads__ad_set_history": ["model.facebook_ads_source.stg_facebook_ads__ad_set_history_tmp", "model.facebook_ads_source.stg_facebook_ads__ad_set_history_tmp"], "model.facebook_ads_source.stg_facebook_ads__ad_set_history_tmp": ["source.facebook_ads_source.facebook_ads.ad_set_history"], "model.facebook_ads_source.stg_facebook_ads__basic_ad_tmp": ["source.facebook_ads_source.facebook_ads.basic_ad"], "model.facebook_ads_source.stg_facebook_ads__ad_history_tmp": ["source.facebook_ads_source.facebook_ads.ad_history"], "model.facebook_ads_source.stg_facebook_ads__campaign_history_tmp": ["source.facebook_ads_source.facebook_ads.campaign_history"], "model.facebook_ads_source.stg_facebook_ads__creative_history_tmp": ["source.facebook_ads_source.facebook_ads.creative_history"], "model.facebook_ads_source.stg_facebook_ads__account_history_tmp": ["source.facebook_ads_source.facebook_ads.account_history"], "test.facebook_ads.not_null_facebook_ads__url_report_base_url.b7757e50be": ["model.facebook_ads.facebook_ads__url_report"], "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__url_report_date_day__account_id__campaign_id__ad_set_id__ad_id.03a7e82eb7": ["model.facebook_ads.facebook_ads__url_report"], "test.facebook_ads.not_null_facebook_ads__ad_report_ad_id.3811d9c238": ["model.facebook_ads.facebook_ads__ad_report"], "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__ad_report_date_day__account_id__campaign_id__ad_set_id__ad_id.0a25b64738": ["model.facebook_ads.facebook_ads__ad_report"], "test.facebook_ads.not_null_facebook_ads__ad_set_report_ad_set_id.1ac870f5e4": ["model.facebook_ads.facebook_ads__ad_set_report"], "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__ad_set_report_date_day__account_id__campaign_id__ad_set_id.3dd4da872f": ["model.facebook_ads.facebook_ads__ad_set_report"], "test.facebook_ads.not_null_facebook_ads__campaign_report_campaign_id.d4f96d8d21": ["model.facebook_ads.facebook_ads__campaign_report"], "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__campaign_report_date_day__account_id__campaign_id.7cd75107e6": ["model.facebook_ads.facebook_ads__campaign_report"], "test.facebook_ads.not_null_facebook_ads__account_report_account_id.9be02b4024": ["model.facebook_ads.facebook_ads__account_report"], "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__account_report_date_day__account_id.5a94423e40": ["model.facebook_ads.facebook_ads__account_report"], "test.facebook_ads.not_null_facebook_ads__url_tags__fivetran_id.151d9515f3": ["model.facebook_ads.facebook_ads__url_tags"], "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__url_tags__fivetran_id__key__type.ba044777d3": ["model.facebook_ads.facebook_ads__url_tags"], "test.facebook_ads_source.not_null_stg_facebook_ads__account_history_account_id.f1cf38c40f": ["model.facebook_ads_source.stg_facebook_ads__account_history"], "test.facebook_ads_source.not_null_stg_facebook_ads__account_history__fivetran_synced.0570e35e1f": ["model.facebook_ads_source.stg_facebook_ads__account_history"], "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__account_history_account_id___fivetran_synced.f9b4d28fa2": ["model.facebook_ads_source.stg_facebook_ads__account_history"], "test.facebook_ads_source.not_null_stg_facebook_ads__ad_history_ad_id.11429d3064": ["model.facebook_ads_source.stg_facebook_ads__ad_history"], "test.facebook_ads_source.not_null_stg_facebook_ads__ad_history_updated_at.250a5a84e4": ["model.facebook_ads_source.stg_facebook_ads__ad_history"], "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__ad_history_ad_id__updated_at.2922c18b58": ["model.facebook_ads_source.stg_facebook_ads__ad_history"], "test.facebook_ads_source.not_null_stg_facebook_ads__ad_set_history_ad_set_id.e19a1df1bb": ["model.facebook_ads_source.stg_facebook_ads__ad_set_history"], "test.facebook_ads_source.not_null_stg_facebook_ads__ad_set_history_updated_at.ef7fafe0fa": ["model.facebook_ads_source.stg_facebook_ads__ad_set_history"], "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__ad_set_history_ad_set_id__updated_at.0a60ad0fef": ["model.facebook_ads_source.stg_facebook_ads__ad_set_history"], "test.facebook_ads_source.not_null_stg_facebook_ads__campaign_history_campaign_id.1ca7a83852": ["model.facebook_ads_source.stg_facebook_ads__campaign_history"], "test.facebook_ads_source.not_null_stg_facebook_ads__campaign_history_updated_at.9e59f99270": ["model.facebook_ads_source.stg_facebook_ads__campaign_history"], "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__campaign_history_campaign_id__updated_at.7437b392c2": ["model.facebook_ads_source.stg_facebook_ads__campaign_history"], "test.facebook_ads_source.not_null_stg_facebook_ads__creative_history__fivetran_synced.3b0593cb4f": ["model.facebook_ads_source.stg_facebook_ads__creative_history"], "test.facebook_ads_source.not_null_stg_facebook_ads__creative_history_creative_id.eb4d804261": ["model.facebook_ads_source.stg_facebook_ads__creative_history"], "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__creative_history_creative_id___fivetran_synced.69ddc26562": ["model.facebook_ads_source.stg_facebook_ads__creative_history"], "test.facebook_ads_source.not_null_stg_facebook_ads__basic_ad_ad_id.2611b250fc": ["model.facebook_ads_source.stg_facebook_ads__basic_ad"], "test.facebook_ads_source.not_null_stg_facebook_ads__basic_ad_account_id.d06f6d861b": ["model.facebook_ads_source.stg_facebook_ads__basic_ad"], "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__basic_ad_date_day__ad_id__account_id.bd909529e7": ["model.facebook_ads_source.stg_facebook_ads__basic_ad"], "source.facebook_ads_source.facebook_ads.account_history": [], "source.facebook_ads_source.facebook_ads.ad_history": [], "source.facebook_ads_source.facebook_ads.ad_set_history": [], "source.facebook_ads_source.facebook_ads.basic_ad": [], "source.facebook_ads_source.facebook_ads.campaign_history": [], "source.facebook_ads_source.facebook_ads.creative_history": []}, "child_map": {"seed.facebook_ads_integration_tests.facebook_ads_ad_history_data": [], "seed.facebook_ads_integration_tests.facebook_ads_creative_history_data": [], "seed.facebook_ads_integration_tests.facebook_ads_campaign_history_data": [], "seed.facebook_ads_integration_tests.facebook_ads_account_history_data": [], "seed.facebook_ads_integration_tests.facebook_ads_basic_ad_data": [], "seed.facebook_ads_integration_tests.facebook_ads_ad_set_history_data": [], "model.facebook_ads.facebook_ads__url_report": ["test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__url_report_date_day__account_id__campaign_id__ad_set_id__ad_id.03a7e82eb7", "test.facebook_ads.not_null_facebook_ads__url_report_base_url.b7757e50be"], "model.facebook_ads.facebook_ads__url_tags": ["model.facebook_ads.int_facebook_ads__creative_history", "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__url_tags__fivetran_id__key__type.ba044777d3", "test.facebook_ads.not_null_facebook_ads__url_tags__fivetran_id.151d9515f3"], "model.facebook_ads.facebook_ads__campaign_report": ["test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__campaign_report_date_day__account_id__campaign_id.7cd75107e6", "test.facebook_ads.not_null_facebook_ads__campaign_report_campaign_id.d4f96d8d21"], "model.facebook_ads.facebook_ads__account_report": ["test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__account_report_date_day__account_id.5a94423e40", "test.facebook_ads.not_null_facebook_ads__account_report_account_id.9be02b4024"], "model.facebook_ads.facebook_ads__ad_report": ["test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__ad_report_date_day__account_id__campaign_id__ad_set_id__ad_id.0a25b64738", "test.facebook_ads.not_null_facebook_ads__ad_report_ad_id.3811d9c238"], "model.facebook_ads.facebook_ads__ad_set_report": ["test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__ad_set_report_date_day__account_id__campaign_id__ad_set_id.3dd4da872f", "test.facebook_ads.not_null_facebook_ads__ad_set_report_ad_set_id.1ac870f5e4"], "model.facebook_ads.int_facebook_ads__creative_history": ["model.facebook_ads.facebook_ads__url_report"], "model.facebook_ads_source.stg_facebook_ads__basic_ad": ["model.facebook_ads.facebook_ads__account_report", "model.facebook_ads.facebook_ads__ad_report", "model.facebook_ads.facebook_ads__ad_set_report", "model.facebook_ads.facebook_ads__campaign_report", "model.facebook_ads.facebook_ads__url_report", "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__basic_ad_date_day__ad_id__account_id.bd909529e7", "test.facebook_ads_source.not_null_stg_facebook_ads__basic_ad_account_id.d06f6d861b", "test.facebook_ads_source.not_null_stg_facebook_ads__basic_ad_ad_id.2611b250fc"], "model.facebook_ads_source.stg_facebook_ads__creative_history": ["model.facebook_ads.facebook_ads__url_tags", "model.facebook_ads.int_facebook_ads__creative_history", "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__creative_history_creative_id___fivetran_synced.69ddc26562", "test.facebook_ads_source.not_null_stg_facebook_ads__creative_history__fivetran_synced.3b0593cb4f", "test.facebook_ads_source.not_null_stg_facebook_ads__creative_history_creative_id.eb4d804261"], "model.facebook_ads_source.stg_facebook_ads__campaign_history": ["model.facebook_ads.facebook_ads__ad_report", "model.facebook_ads.facebook_ads__ad_set_report", "model.facebook_ads.facebook_ads__campaign_report", "model.facebook_ads.facebook_ads__url_report", "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__campaign_history_campaign_id__updated_at.7437b392c2", "test.facebook_ads_source.not_null_stg_facebook_ads__campaign_history_campaign_id.1ca7a83852", "test.facebook_ads_source.not_null_stg_facebook_ads__campaign_history_updated_at.9e59f99270"], "model.facebook_ads_source.stg_facebook_ads__account_history": ["model.facebook_ads.facebook_ads__account_report", "model.facebook_ads.facebook_ads__ad_report", "model.facebook_ads.facebook_ads__ad_set_report", "model.facebook_ads.facebook_ads__campaign_report", "model.facebook_ads.facebook_ads__url_report", "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__account_history_account_id___fivetran_synced.f9b4d28fa2", "test.facebook_ads_source.not_null_stg_facebook_ads__account_history__fivetran_synced.0570e35e1f", "test.facebook_ads_source.not_null_stg_facebook_ads__account_history_account_id.f1cf38c40f"], "model.facebook_ads_source.stg_facebook_ads__ad_history": ["model.facebook_ads.facebook_ads__ad_report", "model.facebook_ads.facebook_ads__ad_set_report", "model.facebook_ads.facebook_ads__campaign_report", "model.facebook_ads.facebook_ads__url_report", "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__ad_history_ad_id__updated_at.2922c18b58", "test.facebook_ads_source.not_null_stg_facebook_ads__ad_history_ad_id.11429d3064", "test.facebook_ads_source.not_null_stg_facebook_ads__ad_history_updated_at.250a5a84e4"], "model.facebook_ads_source.stg_facebook_ads__ad_set_history": ["model.facebook_ads.facebook_ads__ad_report", "model.facebook_ads.facebook_ads__ad_set_report", "model.facebook_ads.facebook_ads__url_report", "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__ad_set_history_ad_set_id__updated_at.0a60ad0fef", "test.facebook_ads_source.not_null_stg_facebook_ads__ad_set_history_ad_set_id.e19a1df1bb", "test.facebook_ads_source.not_null_stg_facebook_ads__ad_set_history_updated_at.ef7fafe0fa"], "model.facebook_ads_source.stg_facebook_ads__ad_set_history_tmp": ["model.facebook_ads_source.stg_facebook_ads__ad_set_history", "model.facebook_ads_source.stg_facebook_ads__ad_set_history"], "model.facebook_ads_source.stg_facebook_ads__basic_ad_tmp": ["model.facebook_ads_source.stg_facebook_ads__basic_ad", "model.facebook_ads_source.stg_facebook_ads__basic_ad"], "model.facebook_ads_source.stg_facebook_ads__ad_history_tmp": ["model.facebook_ads_source.stg_facebook_ads__ad_history", "model.facebook_ads_source.stg_facebook_ads__ad_history"], "model.facebook_ads_source.stg_facebook_ads__campaign_history_tmp": ["model.facebook_ads_source.stg_facebook_ads__campaign_history", "model.facebook_ads_source.stg_facebook_ads__campaign_history"], "model.facebook_ads_source.stg_facebook_ads__creative_history_tmp": ["model.facebook_ads_source.stg_facebook_ads__creative_history", "model.facebook_ads_source.stg_facebook_ads__creative_history"], "model.facebook_ads_source.stg_facebook_ads__account_history_tmp": ["model.facebook_ads_source.stg_facebook_ads__account_history", "model.facebook_ads_source.stg_facebook_ads__account_history"], "test.facebook_ads.not_null_facebook_ads__url_report_base_url.b7757e50be": [], "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__url_report_date_day__account_id__campaign_id__ad_set_id__ad_id.03a7e82eb7": [], "test.facebook_ads.not_null_facebook_ads__ad_report_ad_id.3811d9c238": [], "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__ad_report_date_day__account_id__campaign_id__ad_set_id__ad_id.0a25b64738": [], "test.facebook_ads.not_null_facebook_ads__ad_set_report_ad_set_id.1ac870f5e4": [], "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__ad_set_report_date_day__account_id__campaign_id__ad_set_id.3dd4da872f": [], "test.facebook_ads.not_null_facebook_ads__campaign_report_campaign_id.d4f96d8d21": [], "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__campaign_report_date_day__account_id__campaign_id.7cd75107e6": [], "test.facebook_ads.not_null_facebook_ads__account_report_account_id.9be02b4024": [], "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__account_report_date_day__account_id.5a94423e40": [], "test.facebook_ads.not_null_facebook_ads__url_tags__fivetran_id.151d9515f3": [], "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__url_tags__fivetran_id__key__type.ba044777d3": [], "test.facebook_ads_source.not_null_stg_facebook_ads__account_history_account_id.f1cf38c40f": [], "test.facebook_ads_source.not_null_stg_facebook_ads__account_history__fivetran_synced.0570e35e1f": [], "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__account_history_account_id___fivetran_synced.f9b4d28fa2": [], "test.facebook_ads_source.not_null_stg_facebook_ads__ad_history_ad_id.11429d3064": [], "test.facebook_ads_source.not_null_stg_facebook_ads__ad_history_updated_at.250a5a84e4": [], "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__ad_history_ad_id__updated_at.2922c18b58": [], "test.facebook_ads_source.not_null_stg_facebook_ads__ad_set_history_ad_set_id.e19a1df1bb": [], "test.facebook_ads_source.not_null_stg_facebook_ads__ad_set_history_updated_at.ef7fafe0fa": [], "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__ad_set_history_ad_set_id__updated_at.0a60ad0fef": [], "test.facebook_ads_source.not_null_stg_facebook_ads__campaign_history_campaign_id.1ca7a83852": [], "test.facebook_ads_source.not_null_stg_facebook_ads__campaign_history_updated_at.9e59f99270": [], "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__campaign_history_campaign_id__updated_at.7437b392c2": [], "test.facebook_ads_source.not_null_stg_facebook_ads__creative_history__fivetran_synced.3b0593cb4f": [], "test.facebook_ads_source.not_null_stg_facebook_ads__creative_history_creative_id.eb4d804261": [], "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__creative_history_creative_id___fivetran_synced.69ddc26562": [], "test.facebook_ads_source.not_null_stg_facebook_ads__basic_ad_ad_id.2611b250fc": [], "test.facebook_ads_source.not_null_stg_facebook_ads__basic_ad_account_id.d06f6d861b": [], "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__basic_ad_date_day__ad_id__account_id.bd909529e7": [], "source.facebook_ads_source.facebook_ads.account_history": ["model.facebook_ads_source.stg_facebook_ads__account_history_tmp"], "source.facebook_ads_source.facebook_ads.ad_history": ["model.facebook_ads_source.stg_facebook_ads__ad_history_tmp"], "source.facebook_ads_source.facebook_ads.ad_set_history": ["model.facebook_ads_source.stg_facebook_ads__ad_set_history_tmp"], "source.facebook_ads_source.facebook_ads.basic_ad": ["model.facebook_ads_source.stg_facebook_ads__basic_ad_tmp"], "source.facebook_ads_source.facebook_ads.campaign_history": ["model.facebook_ads_source.stg_facebook_ads__campaign_history_tmp"], "source.facebook_ads_source.facebook_ads.creative_history": ["model.facebook_ads_source.stg_facebook_ads__creative_history_tmp"]}} \ No newline at end of file diff --git a/docs/run_results.json b/docs/run_results.json index edf6a19..f90d32d 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-14T23:03:28.224494Z", "invocation_id": "d5ef8e19-65f4-4fb7-ac37-ede0104ec68f", "env": {}}, "results": [{"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:25.663879Z", "completed_at": "2022-12-14T23:03:25.671200Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:25.671424Z", "completed_at": "2022-12-14T23:03:25.671443Z"}], "thread_id": "Thread-1", "execution_time": 0.010312795639038086, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads_source.stg_facebook_ads__account_history_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:25.674098Z", "completed_at": "2022-12-14T23:03:25.680003Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:25.680234Z", "completed_at": "2022-12-14T23:03:25.680243Z"}], "thread_id": "Thread-1", "execution_time": 0.006829738616943359, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads_source.stg_facebook_ads__ad_history_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:25.681562Z", "completed_at": "2022-12-14T23:03:25.684950Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:25.685135Z", "completed_at": "2022-12-14T23:03:25.685141Z"}], "thread_id": "Thread-1", "execution_time": 0.004364013671875, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads_source.stg_facebook_ads__ad_set_history_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:25.686000Z", "completed_at": "2022-12-14T23:03:25.689050Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:25.689287Z", "completed_at": "2022-12-14T23:03:25.689292Z"}], "thread_id": "Thread-1", "execution_time": 0.003893136978149414, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads_source.stg_facebook_ads__basic_ad_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:25.690423Z", "completed_at": "2022-12-14T23:03:25.693946Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:25.694149Z", "completed_at": "2022-12-14T23:03:25.694155Z"}], "thread_id": "Thread-1", "execution_time": 0.0044841766357421875, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads_source.stg_facebook_ads__campaign_history_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:25.695209Z", "completed_at": "2022-12-14T23:03:25.698218Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:25.698396Z", "completed_at": "2022-12-14T23:03:25.698401Z"}], "thread_id": "Thread-1", "execution_time": 0.0038471221923828125, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads_source.stg_facebook_ads__creative_history_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:25.699349Z", "completed_at": "2022-12-14T23:03:25.701625Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:25.701785Z", "completed_at": "2022-12-14T23:03:25.701790Z"}], "thread_id": "Thread-1", "execution_time": 0.0030508041381835938, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.facebook_ads_integration_tests.facebook_ads_account_history_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:25.702647Z", "completed_at": "2022-12-14T23:03:25.704011Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:25.704178Z", "completed_at": "2022-12-14T23:03:25.704182Z"}], "thread_id": "Thread-1", "execution_time": 0.0021250247955322266, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.facebook_ads_integration_tests.facebook_ads_ad_history_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:25.705126Z", "completed_at": "2022-12-14T23:03:25.706439Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:25.706584Z", "completed_at": "2022-12-14T23:03:25.706588Z"}], "thread_id": "Thread-1", "execution_time": 0.002042055130004883, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.facebook_ads_integration_tests.facebook_ads_ad_set_history_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:25.707440Z", "completed_at": "2022-12-14T23:03:25.708707Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:25.708853Z", "completed_at": "2022-12-14T23:03:25.708857Z"}], "thread_id": "Thread-1", "execution_time": 0.0020029544830322266, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.facebook_ads_integration_tests.facebook_ads_basic_ad_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:25.709650Z", "completed_at": "2022-12-14T23:03:25.710868Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:25.711006Z", "completed_at": "2022-12-14T23:03:25.711010Z"}], "thread_id": "Thread-1", "execution_time": 0.0018961429595947266, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.facebook_ads_integration_tests.facebook_ads_campaign_history_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:25.711776Z", "completed_at": "2022-12-14T23:03:25.712990Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:25.713129Z", "completed_at": "2022-12-14T23:03:25.713132Z"}], "thread_id": "Thread-1", "execution_time": 0.0018889904022216797, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.facebook_ads_integration_tests.facebook_ads_creative_history_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:25.713906Z", "completed_at": "2022-12-14T23:03:26.125191Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:26.125470Z", "completed_at": "2022-12-14T23:03:26.125482Z"}], "thread_id": "Thread-1", "execution_time": 0.41228508949279785, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads_source.stg_facebook_ads__account_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:26.126991Z", "completed_at": "2022-12-14T23:03:26.465773Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:26.466098Z", "completed_at": "2022-12-14T23:03:26.466118Z"}], "thread_id": "Thread-1", "execution_time": 0.3401341438293457, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads_source.stg_facebook_ads__ad_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:26.467934Z", "completed_at": "2022-12-14T23:03:26.911006Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:26.911363Z", "completed_at": "2022-12-14T23:03:26.911383Z"}], "thread_id": "Thread-1", "execution_time": 0.44454503059387207, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads_source.stg_facebook_ads__ad_set_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:26.913444Z", "completed_at": "2022-12-14T23:03:27.277587Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:27.277916Z", "completed_at": "2022-12-14T23:03:27.277927Z"}], "thread_id": "Thread-1", "execution_time": 0.36563682556152344, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads_source.stg_facebook_ads__basic_ad"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:27.279396Z", "completed_at": "2022-12-14T23:03:27.627514Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:27.627847Z", "completed_at": "2022-12-14T23:03:27.627866Z"}], "thread_id": "Thread-1", "execution_time": 0.34935784339904785, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads_source.stg_facebook_ads__campaign_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:27.629777Z", "completed_at": "2022-12-14T23:03:27.992034Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:27.992348Z", "completed_at": "2022-12-14T23:03:27.992364Z"}], "thread_id": "Thread-1", "execution_time": 0.36366796493530273, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads_source.stg_facebook_ads__creative_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:27.994168Z", "completed_at": "2022-12-14T23:03:28.008407Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:28.008617Z", "completed_at": "2022-12-14T23:03:28.008624Z"}], "thread_id": "Thread-1", "execution_time": 0.015348196029663086, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__account_history_account_id___fivetran_synced.f9b4d28fa2"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:28.009639Z", "completed_at": "2022-12-14T23:03:28.017919Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:28.018094Z", "completed_at": "2022-12-14T23:03:28.018099Z"}], "thread_id": "Thread-1", "execution_time": 0.009112119674682617, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__account_history__fivetran_synced.0570e35e1f"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:28.018988Z", "completed_at": "2022-12-14T23:03:28.022103Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:28.022275Z", "completed_at": "2022-12-14T23:03:28.022279Z"}], "thread_id": "Thread-1", "execution_time": 0.0038919448852539062, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__account_history_account_id.f1cf38c40f"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:28.023126Z", "completed_at": "2022-12-14T23:03:28.026819Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:28.026979Z", "completed_at": "2022-12-14T23:03:28.026983Z"}], "thread_id": "Thread-1", "execution_time": 0.004428863525390625, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__ad_history_ad_id__updated_at.2922c18b58"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:28.027783Z", "completed_at": "2022-12-14T23:03:28.030611Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:28.030763Z", "completed_at": "2022-12-14T23:03:28.030769Z"}], "thread_id": "Thread-1", "execution_time": 0.003531932830810547, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__ad_history_ad_id.11429d3064"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:28.031539Z", "completed_at": "2022-12-14T23:03:28.034343Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:28.034500Z", "completed_at": "2022-12-14T23:03:28.034504Z"}], "thread_id": "Thread-1", "execution_time": 0.0034902095794677734, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__ad_history_updated_at.250a5a84e4"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:28.035255Z", "completed_at": "2022-12-14T23:03:28.039165Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:28.039318Z", "completed_at": "2022-12-14T23:03:28.039322Z"}], "thread_id": "Thread-1", "execution_time": 0.0045850276947021484, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__ad_set_history_ad_set_id__updated_at.0a60ad0fef"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:28.040043Z", "completed_at": "2022-12-14T23:03:28.042633Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:28.042778Z", "completed_at": "2022-12-14T23:03:28.042782Z"}], "thread_id": "Thread-1", "execution_time": 0.003231048583984375, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__ad_set_history_ad_set_id.e19a1df1bb"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:28.043587Z", "completed_at": "2022-12-14T23:03:28.046076Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:28.046220Z", "completed_at": "2022-12-14T23:03:28.046223Z"}], "thread_id": "Thread-1", "execution_time": 0.003229856491088867, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__ad_set_history_updated_at.ef7fafe0fa"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:28.046915Z", "completed_at": "2022-12-14T23:03:28.053281Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:28.053416Z", "completed_at": "2022-12-14T23:03:28.053420Z"}], "thread_id": "Thread-1", "execution_time": 0.006979227066040039, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads.facebook_ads__account_report"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:28.054199Z", "completed_at": "2022-12-14T23:03:28.057431Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:28.057578Z", "completed_at": "2022-12-14T23:03:28.057582Z"}], "thread_id": "Thread-1", "execution_time": 0.0038938522338867188, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__basic_ad_date_day__ad_id__account_id.bd909529e7"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:28.058245Z", "completed_at": "2022-12-14T23:03:28.060650Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:28.060786Z", "completed_at": "2022-12-14T23:03:28.060789Z"}], "thread_id": "Thread-1", "execution_time": 0.002998828887939453, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__basic_ad_account_id.d06f6d861b"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:28.061435Z", "completed_at": "2022-12-14T23:03:28.064467Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:28.064603Z", "completed_at": "2022-12-14T23:03:28.064607Z"}], "thread_id": "Thread-1", "execution_time": 0.003628969192504883, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__basic_ad_ad_id.2611b250fc"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:28.065284Z", "completed_at": "2022-12-14T23:03:28.069904Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:28.070042Z", "completed_at": "2022-12-14T23:03:28.070046Z"}], "thread_id": "Thread-1", "execution_time": 0.005248069763183594, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads.facebook_ads__ad_report"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:28.070767Z", "completed_at": "2022-12-14T23:03:28.075328Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:28.075484Z", "completed_at": "2022-12-14T23:03:28.075488Z"}], "thread_id": "Thread-1", "execution_time": 0.005193948745727539, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads.facebook_ads__ad_set_report"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:28.076223Z", "completed_at": "2022-12-14T23:03:28.080313Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:28.080452Z", "completed_at": "2022-12-14T23:03:28.080455Z"}], "thread_id": "Thread-1", "execution_time": 0.00469517707824707, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads.facebook_ads__campaign_report"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:28.081169Z", "completed_at": "2022-12-14T23:03:28.084135Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:28.084272Z", "completed_at": "2022-12-14T23:03:28.084276Z"}], "thread_id": "Thread-1", "execution_time": 0.003571033477783203, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__campaign_history_campaign_id__updated_at.7437b392c2"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:28.084943Z", "completed_at": "2022-12-14T23:03:28.087908Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:28.088059Z", "completed_at": "2022-12-14T23:03:28.088062Z"}], "thread_id": "Thread-1", "execution_time": 0.0035860538482666016, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__campaign_history_campaign_id.1ca7a83852"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:28.088742Z", "completed_at": "2022-12-14T23:03:28.091051Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:28.091183Z", "completed_at": "2022-12-14T23:03:28.091186Z"}], "thread_id": "Thread-1", "execution_time": 0.002917766571044922, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__campaign_history_updated_at.9e59f99270"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:28.091831Z", "completed_at": "2022-12-14T23:03:28.095073Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:28.095229Z", "completed_at": "2022-12-14T23:03:28.095232Z"}], "thread_id": "Thread-1", "execution_time": 0.0038700103759765625, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads.facebook_ads__url_tags"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:28.095958Z", "completed_at": "2022-12-14T23:03:28.098861Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:28.099003Z", "completed_at": "2022-12-14T23:03:28.099006Z"}], "thread_id": "Thread-1", "execution_time": 0.0035169124603271484, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__creative_history_creative_id___fivetran_synced.69ddc26562"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:28.099654Z", "completed_at": "2022-12-14T23:03:28.102012Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:28.102143Z", "completed_at": "2022-12-14T23:03:28.102146Z"}], "thread_id": "Thread-1", "execution_time": 0.002949953079223633, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__creative_history__fivetran_synced.3b0593cb4f"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:28.102799Z", "completed_at": "2022-12-14T23:03:28.105110Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:28.105252Z", "completed_at": "2022-12-14T23:03:28.105255Z"}], "thread_id": "Thread-1", "execution_time": 0.002917766571044922, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__creative_history_creative_id.eb4d804261"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:28.106615Z", "completed_at": "2022-12-14T23:03:28.109555Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:28.109692Z", "completed_at": "2022-12-14T23:03:28.109695Z"}], "thread_id": "Thread-1", "execution_time": 0.004252910614013672, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__account_report_date_day__account_id.5a94423e40"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:28.110370Z", "completed_at": "2022-12-14T23:03:28.112719Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:28.112851Z", "completed_at": "2022-12-14T23:03:28.112854Z"}], "thread_id": "Thread-1", "execution_time": 0.0029518604278564453, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads.not_null_facebook_ads__account_report_account_id.9be02b4024"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:28.113499Z", "completed_at": "2022-12-14T23:03:28.116972Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:28.117117Z", "completed_at": "2022-12-14T23:03:28.117120Z"}], "thread_id": "Thread-1", "execution_time": 0.004080295562744141, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__ad_report_date_day__account_id__campaign_id__ad_set_id__ad_id.0a25b64738"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:28.117781Z", "completed_at": "2022-12-14T23:03:28.120086Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:28.120233Z", "completed_at": "2022-12-14T23:03:28.120236Z"}], "thread_id": "Thread-1", "execution_time": 0.00292205810546875, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads.not_null_facebook_ads__ad_report_ad_id.3811d9c238"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:28.120894Z", "completed_at": "2022-12-14T23:03:28.124186Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:28.124319Z", "completed_at": "2022-12-14T23:03:28.124322Z"}], "thread_id": "Thread-1", "execution_time": 0.003887176513671875, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__ad_set_report_date_day__account_id__campaign_id__ad_set_id.3dd4da872f"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:28.124973Z", "completed_at": "2022-12-14T23:03:28.127945Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:28.128083Z", "completed_at": "2022-12-14T23:03:28.128086Z"}], "thread_id": "Thread-1", "execution_time": 0.0035719871520996094, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads.not_null_facebook_ads__ad_set_report_ad_set_id.1ac870f5e4"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:28.128738Z", "completed_at": "2022-12-14T23:03:28.173954Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:28.174111Z", "completed_at": "2022-12-14T23:03:28.174117Z"}], "thread_id": "Thread-1", "execution_time": 0.045867919921875, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__campaign_report_date_day__account_id__campaign_id.7cd75107e6"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:28.174901Z", "completed_at": "2022-12-14T23:03:28.177651Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:28.177800Z", "completed_at": "2022-12-14T23:03:28.177804Z"}], "thread_id": "Thread-1", "execution_time": 0.003459930419921875, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads.not_null_facebook_ads__campaign_report_campaign_id.d4f96d8d21"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:28.178543Z", "completed_at": "2022-12-14T23:03:28.200038Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:28.200200Z", "completed_at": "2022-12-14T23:03:28.200205Z"}], "thread_id": "Thread-1", "execution_time": 0.022197961807250977, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads.int_facebook_ads__creative_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:28.201088Z", "completed_at": "2022-12-14T23:03:28.204743Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:28.204892Z", "completed_at": "2022-12-14T23:03:28.204896Z"}], "thread_id": "Thread-1", "execution_time": 0.004332065582275391, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__url_tags__fivetran_id__key__type.ba044777d3"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:28.205647Z", "completed_at": "2022-12-14T23:03:28.209039Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:28.209194Z", "completed_at": "2022-12-14T23:03:28.209201Z"}], "thread_id": "Thread-1", "execution_time": 0.004065752029418945, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads.not_null_facebook_ads__url_tags__fivetran_id.151d9515f3"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:28.210027Z", "completed_at": "2022-12-14T23:03:28.215423Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:28.215587Z", "completed_at": "2022-12-14T23:03:28.215591Z"}], "thread_id": "Thread-1", "execution_time": 0.006105899810791016, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads.facebook_ads__url_report"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:28.216581Z", "completed_at": "2022-12-14T23:03:28.220368Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:28.220509Z", "completed_at": "2022-12-14T23:03:28.220513Z"}], "thread_id": "Thread-1", "execution_time": 0.004475831985473633, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__url_report_date_day__account_id__campaign_id__ad_set_id__ad_id.03a7e82eb7"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-14T23:03:28.221189Z", "completed_at": "2022-12-14T23:03:28.223665Z"}, {"name": "execute", "started_at": "2022-12-14T23:03:28.223798Z", "completed_at": "2022-12-14T23:03:28.223802Z"}], "thread_id": "Thread-1", "execution_time": 0.003081083297729492, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads.not_null_facebook_ads__url_report_base_url.b7757e50be"}], "elapsed_time": 5.012248754501343, "args": {"write_json": true, "use_colors": true, "printer_width": 80, "version_check": true, "partial_parse": true, "static_parser": true, "profiles_dir": "/Users/catherinefritz/.dbt", "send_anonymous_usage_stats": true, "event_buffer_size": 100000, "quiet": false, "no_print": false, "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.3.0", "generated_at": "2022-12-20T02:59:28.600076Z", "invocation_id": "1be48695-e084-4dcc-9b9b-f71193bff422", "env": {}}, "results": [{"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T02:59:27.716157Z", "completed_at": "2022-12-20T02:59:27.725471Z"}, {"name": "execute", "started_at": "2022-12-20T02:59:27.726237Z", "completed_at": "2022-12-20T02:59:27.726246Z"}], "thread_id": "Thread-1", "execution_time": 0.012023210525512695, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads_source.stg_facebook_ads__account_history_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T02:59:27.716320Z", "completed_at": "2022-12-20T02:59:27.725552Z"}, {"name": "execute", "started_at": "2022-12-20T02:59:27.726330Z", "completed_at": "2022-12-20T02:59:27.726333Z"}], "thread_id": "Thread-2", "execution_time": 0.01197504997253418, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads_source.stg_facebook_ads__ad_history_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T02:59:27.716387Z", "completed_at": "2022-12-20T02:59:27.725736Z"}, {"name": "execute", "started_at": "2022-12-20T02:59:27.726489Z", "completed_at": "2022-12-20T02:59:27.726491Z"}], "thread_id": "Thread-3", "execution_time": 0.012118101119995117, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads_source.stg_facebook_ads__ad_set_history_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T02:59:27.718955Z", "completed_at": "2022-12-20T02:59:27.726054Z"}, {"name": "execute", "started_at": "2022-12-20T02:59:27.727218Z", "completed_at": "2022-12-20T02:59:27.727221Z"}], "thread_id": "Thread-4", "execution_time": 0.012430906295776367, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads_source.stg_facebook_ads__basic_ad_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T02:59:27.730672Z", "completed_at": "2022-12-20T02:59:27.739188Z"}, {"name": "execute", "started_at": "2022-12-20T02:59:27.740018Z", "completed_at": "2022-12-20T02:59:27.740025Z"}], "thread_id": "Thread-3", "execution_time": 0.011163949966430664, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.facebook_ads_integration_tests.facebook_ads_account_history_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T02:59:27.730309Z", "completed_at": "2022-12-20T02:59:27.739288Z"}, {"name": "execute", "started_at": "2022-12-20T02:59:27.740106Z", "completed_at": "2022-12-20T02:59:27.740109Z"}], "thread_id": "Thread-1", "execution_time": 0.012397050857543945, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads_source.stg_facebook_ads__campaign_history_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T02:59:27.730413Z", "completed_at": "2022-12-20T02:59:27.739383Z"}, {"name": "execute", "started_at": "2022-12-20T02:59:27.740181Z", "completed_at": "2022-12-20T02:59:27.740183Z"}], "thread_id": "Thread-2", "execution_time": 0.012428998947143555, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads_source.stg_facebook_ads__creative_history_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T02:59:27.736767Z", "completed_at": "2022-12-20T02:59:27.739502Z"}, {"name": "execute", "started_at": "2022-12-20T02:59:27.740260Z", "completed_at": "2022-12-20T02:59:27.740262Z"}], "thread_id": "Thread-4", "execution_time": 0.011543750762939453, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.facebook_ads_integration_tests.facebook_ads_ad_history_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T02:59:27.743562Z", "completed_at": "2022-12-20T02:59:27.748462Z"}, {"name": "execute", "started_at": "2022-12-20T02:59:27.749116Z", "completed_at": "2022-12-20T02:59:27.749122Z"}], "thread_id": "Thread-3", "execution_time": 0.008187055587768555, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.facebook_ads_integration_tests.facebook_ads_ad_set_history_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T02:59:27.743655Z", "completed_at": "2022-12-20T02:59:27.748573Z"}, {"name": "execute", "started_at": "2022-12-20T02:59:27.749191Z", "completed_at": "2022-12-20T02:59:27.749193Z"}], "thread_id": "Thread-1", "execution_time": 0.008280038833618164, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.facebook_ads_integration_tests.facebook_ads_basic_ad_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T02:59:27.743890Z", "completed_at": "2022-12-20T02:59:27.748657Z"}, {"name": "execute", "started_at": "2022-12-20T02:59:27.749259Z", "completed_at": "2022-12-20T02:59:27.749261Z"}], "thread_id": "Thread-2", "execution_time": 0.008339166641235352, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.facebook_ads_integration_tests.facebook_ads_campaign_history_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T02:59:27.743996Z", "completed_at": "2022-12-20T02:59:27.748734Z"}, {"name": "execute", "started_at": "2022-12-20T02:59:27.749325Z", "completed_at": "2022-12-20T02:59:27.749327Z"}], "thread_id": "Thread-4", "execution_time": 0.008398771286010742, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.facebook_ads_integration_tests.facebook_ads_creative_history_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T02:59:27.753331Z", "completed_at": "2022-12-20T02:59:28.080713Z"}, {"name": "execute", "started_at": "2022-12-20T02:59:28.081126Z", "completed_at": "2022-12-20T02:59:28.081129Z"}], "thread_id": "Thread-3", "execution_time": 0.35457897186279297, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads_source.stg_facebook_ads__account_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T02:59:27.753408Z", "completed_at": "2022-12-20T02:59:28.080605Z"}, {"name": "execute", "started_at": "2022-12-20T02:59:28.081029Z", "completed_at": "2022-12-20T02:59:28.081036Z"}], "thread_id": "Thread-1", "execution_time": 0.35469794273376465, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads_source.stg_facebook_ads__ad_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T02:59:27.753542Z", "completed_at": "2022-12-20T02:59:28.209909Z"}, {"name": "execute", "started_at": "2022-12-20T02:59:28.210085Z", "completed_at": "2022-12-20T02:59:28.210092Z"}], "thread_id": "Thread-4", "execution_time": 0.4813821315765381, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads_source.stg_facebook_ads__basic_ad"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T02:59:28.235063Z", "completed_at": "2022-12-20T02:59:28.243538Z"}, {"name": "execute", "started_at": "2022-12-20T02:59:28.243722Z", "completed_at": "2022-12-20T02:59:28.243728Z"}], "thread_id": "Thread-4", "execution_time": 0.00934600830078125, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__account_history_account_id___fivetran_synced.f9b4d28fa2"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T02:59:28.244629Z", "completed_at": "2022-12-20T02:59:28.252463Z"}, {"name": "execute", "started_at": "2022-12-20T02:59:28.252640Z", "completed_at": "2022-12-20T02:59:28.252645Z"}], "thread_id": "Thread-4", "execution_time": 0.00859522819519043, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__account_history__fivetran_synced.0570e35e1f"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T02:59:28.253611Z", "completed_at": "2022-12-20T02:59:28.257178Z"}, {"name": "execute", "started_at": "2022-12-20T02:59:28.257354Z", "completed_at": "2022-12-20T02:59:28.257360Z"}], "thread_id": "Thread-4", "execution_time": 0.004394054412841797, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__account_history_account_id.f1cf38c40f"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T02:59:28.258428Z", "completed_at": "2022-12-20T02:59:28.262921Z"}, {"name": "execute", "started_at": "2022-12-20T02:59:28.263169Z", "completed_at": "2022-12-20T02:59:28.263175Z"}], "thread_id": "Thread-4", "execution_time": 0.005568027496337891, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__ad_history_ad_id__updated_at.2922c18b58"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T02:59:28.264270Z", "completed_at": "2022-12-20T02:59:28.267236Z"}, {"name": "execute", "started_at": "2022-12-20T02:59:28.267403Z", "completed_at": "2022-12-20T02:59:28.267409Z"}], "thread_id": "Thread-4", "execution_time": 0.003761768341064453, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__ad_history_ad_id.11429d3064"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T02:59:28.268260Z", "completed_at": "2022-12-20T02:59:28.270971Z"}, {"name": "execute", "started_at": "2022-12-20T02:59:28.271125Z", "completed_at": "2022-12-20T02:59:28.271130Z"}], "thread_id": "Thread-4", "execution_time": 0.0034379959106445312, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__ad_history_updated_at.250a5a84e4"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T02:59:28.271845Z", "completed_at": "2022-12-20T02:59:28.278388Z"}, {"name": "execute", "started_at": "2022-12-20T02:59:28.278551Z", "completed_at": "2022-12-20T02:59:28.278556Z"}], "thread_id": "Thread-4", "execution_time": 0.007205963134765625, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads.facebook_ads__account_report"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T02:59:28.279392Z", "completed_at": "2022-12-20T02:59:28.282699Z"}, {"name": "execute", "started_at": "2022-12-20T02:59:28.282856Z", "completed_at": "2022-12-20T02:59:28.282861Z"}], "thread_id": "Thread-4", "execution_time": 0.0039789676666259766, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__basic_ad_date_day__ad_id__account_id.bd909529e7"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T02:59:28.283581Z", "completed_at": "2022-12-20T02:59:28.286802Z"}, {"name": "execute", "started_at": "2022-12-20T02:59:28.286961Z", "completed_at": "2022-12-20T02:59:28.286967Z"}], "thread_id": "Thread-4", "execution_time": 0.003885030746459961, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__basic_ad_account_id.d06f6d861b"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T02:59:28.287832Z", "completed_at": "2022-12-20T02:59:28.290609Z"}, {"name": "execute", "started_at": "2022-12-20T02:59:28.290777Z", "completed_at": "2022-12-20T02:59:28.290782Z"}], "thread_id": "Thread-4", "execution_time": 0.003522157669067383, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__basic_ad_ad_id.2611b250fc"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T02:59:28.291651Z", "completed_at": "2022-12-20T02:59:28.295093Z"}, {"name": "execute", "started_at": "2022-12-20T02:59:28.295267Z", "completed_at": "2022-12-20T02:59:28.295272Z"}], "thread_id": "Thread-4", "execution_time": 0.004221916198730469, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__account_report_date_day__account_id.5a94423e40"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T02:59:28.296064Z", "completed_at": "2022-12-20T02:59:28.298671Z"}, {"name": "execute", "started_at": "2022-12-20T02:59:28.298835Z", "completed_at": "2022-12-20T02:59:28.298840Z"}], "thread_id": "Thread-4", "execution_time": 0.0033121109008789062, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads.not_null_facebook_ads__account_report_account_id.9be02b4024"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T02:59:27.753477Z", "completed_at": "2022-12-20T02:59:28.377924Z"}, {"name": "execute", "started_at": "2022-12-20T02:59:28.378109Z", "completed_at": "2022-12-20T02:59:28.378116Z"}], "thread_id": "Thread-2", "execution_time": 0.6501708030700684, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads_source.stg_facebook_ads__ad_set_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T02:59:28.108581Z", "completed_at": "2022-12-20T02:59:28.388863Z"}, {"name": "execute", "started_at": "2022-12-20T02:59:28.389075Z", "completed_at": "2022-12-20T02:59:28.389081Z"}], "thread_id": "Thread-1", "execution_time": 0.3291339874267578, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads_source.stg_facebook_ads__creative_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T02:59:28.403967Z", "completed_at": "2022-12-20T02:59:28.437548Z"}, {"name": "execute", "started_at": "2022-12-20T02:59:28.438339Z", "completed_at": "2022-12-20T02:59:28.438343Z"}], "thread_id": "Thread-4", "execution_time": 0.03542494773864746, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__ad_set_history_ad_set_id__updated_at.0a60ad0fef"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T02:59:28.404045Z", "completed_at": "2022-12-20T02:59:28.437977Z"}, {"name": "execute", "started_at": "2022-12-20T02:59:28.438487Z", "completed_at": "2022-12-20T02:59:28.438489Z"}], "thread_id": "Thread-2", "execution_time": 0.03805279731750488, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__ad_set_history_ad_set_id.e19a1df1bb"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T02:59:28.438414Z", "completed_at": "2022-12-20T02:59:28.442767Z"}, {"name": "execute", "started_at": "2022-12-20T02:59:28.443405Z", "completed_at": "2022-12-20T02:59:28.443412Z"}], "thread_id": "Thread-1", "execution_time": 0.01252293586730957, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__ad_set_history_updated_at.ef7fafe0fa"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T02:59:28.443148Z", "completed_at": "2022-12-20T02:59:28.450968Z"}, {"name": "execute", "started_at": "2022-12-20T02:59:28.451492Z", "completed_at": "2022-12-20T02:59:28.451497Z"}], "thread_id": "Thread-4", "execution_time": 0.012291669845581055, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads.facebook_ads__url_tags"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T02:59:28.443273Z", "completed_at": "2022-12-20T02:59:28.451039Z"}, {"name": "execute", "started_at": "2022-12-20T02:59:28.451590Z", "completed_at": "2022-12-20T02:59:28.451594Z"}], "thread_id": "Thread-2", "execution_time": 0.012345075607299805, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__creative_history_creative_id___fivetran_synced.69ddc26562"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T02:59:28.451410Z", "completed_at": "2022-12-20T02:59:28.455391Z"}, {"name": "execute", "started_at": "2022-12-20T02:59:28.456630Z", "completed_at": "2022-12-20T02:59:28.456636Z"}], "thread_id": "Thread-1", "execution_time": 0.006473064422607422, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__creative_history__fivetran_synced.3b0593cb4f"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T02:59:28.456808Z", "completed_at": "2022-12-20T02:59:28.485221Z"}, {"name": "execute", "started_at": "2022-12-20T02:59:28.485604Z", "completed_at": "2022-12-20T02:59:28.485611Z"}], "thread_id": "Thread-4", "execution_time": 0.033454179763793945, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__creative_history_creative_id.eb4d804261"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T02:59:28.457382Z", "completed_at": "2022-12-20T02:59:28.489044Z"}, {"name": "execute", "started_at": "2022-12-20T02:59:28.489714Z", "completed_at": "2022-12-20T02:59:28.489718Z"}], "thread_id": "Thread-2", "execution_time": 0.03402304649353027, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads.int_facebook_ads__creative_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T02:59:28.485514Z", "completed_at": "2022-12-20T02:59:28.489777Z"}, {"name": "execute", "started_at": "2022-12-20T02:59:28.490560Z", "completed_at": "2022-12-20T02:59:28.490563Z"}], "thread_id": "Thread-1", "execution_time": 0.005894899368286133, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__url_tags__fivetran_id__key__type.ba044777d3"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T02:59:28.490638Z", "completed_at": "2022-12-20T02:59:28.499825Z"}, {"name": "execute", "started_at": "2022-12-20T02:59:28.500099Z", "completed_at": "2022-12-20T02:59:28.500105Z"}], "thread_id": "Thread-4", "execution_time": 0.010604143142700195, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads.not_null_facebook_ads__url_tags__fivetran_id.151d9515f3"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T02:59:28.108453Z", "completed_at": "2022-12-20T02:59:28.500016Z"}, {"name": "execute", "started_at": "2022-12-20T02:59:28.500591Z", "completed_at": "2022-12-20T02:59:28.500594Z"}], "thread_id": "Thread-3", "execution_time": 0.4182922840118408, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads_source.stg_facebook_ads__campaign_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T02:59:28.527937Z", "completed_at": "2022-12-20T02:59:28.547702Z"}, {"name": "execute", "started_at": "2022-12-20T02:59:28.548654Z", "completed_at": "2022-12-20T02:59:28.548662Z"}], "thread_id": "Thread-2", "execution_time": 0.02246880531311035, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads.facebook_ads__ad_report"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T02:59:28.528222Z", "completed_at": "2022-12-20T02:59:28.548026Z"}, {"name": "execute", "started_at": "2022-12-20T02:59:28.548747Z", "completed_at": "2022-12-20T02:59:28.548749Z"}], "thread_id": "Thread-1", "execution_time": 0.02237224578857422, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads.facebook_ads__ad_set_report"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T02:59:28.534742Z", "completed_at": "2022-12-20T02:59:28.548116Z"}, {"name": "execute", "started_at": "2022-12-20T02:59:28.548910Z", "completed_at": "2022-12-20T02:59:28.548913Z"}], "thread_id": "Thread-4", "execution_time": 0.022417306900024414, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads.facebook_ads__campaign_report"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T02:59:28.534837Z", "completed_at": "2022-12-20T02:59:28.548464Z"}, {"name": "execute", "started_at": "2022-12-20T02:59:28.549630Z", "completed_at": "2022-12-20T02:59:28.549633Z"}], "thread_id": "Thread-3", "execution_time": 0.023002147674560547, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.dbt_utils_unique_combination_of_columns_stg_facebook_ads__campaign_history_campaign_id__updated_at.7437b392c2"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T02:59:28.552483Z", "completed_at": "2022-12-20T02:59:28.568008Z"}, {"name": "execute", "started_at": "2022-12-20T02:59:28.568739Z", "completed_at": "2022-12-20T02:59:28.568745Z"}], "thread_id": "Thread-2", "execution_time": 0.01817798614501953, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__campaign_history_campaign_id.1ca7a83852"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T02:59:28.552574Z", "completed_at": "2022-12-20T02:59:28.568190Z"}, {"name": "execute", "started_at": "2022-12-20T02:59:28.568812Z", "completed_at": "2022-12-20T02:59:28.568815Z"}], "thread_id": "Thread-1", "execution_time": 0.018203020095825195, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads_source.not_null_stg_facebook_ads__campaign_history_updated_at.9e59f99270"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T02:59:28.552782Z", "completed_at": "2022-12-20T02:59:28.568355Z"}, {"name": "execute", "started_at": "2022-12-20T02:59:28.568949Z", "completed_at": "2022-12-20T02:59:28.568952Z"}], "thread_id": "Thread-4", "execution_time": 0.018123149871826172, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.facebook_ads.facebook_ads__url_report"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T02:59:28.557881Z", "completed_at": "2022-12-20T02:59:28.568593Z"}, {"name": "execute", "started_at": "2022-12-20T02:59:28.569619Z", "completed_at": "2022-12-20T02:59:28.569622Z"}], "thread_id": "Thread-3", "execution_time": 0.018220186233520508, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__ad_report_date_day__account_id__campaign_id__ad_set_id__ad_id.0a25b64738"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T02:59:28.571802Z", "completed_at": "2022-12-20T02:59:28.584260Z"}, {"name": "execute", "started_at": "2022-12-20T02:59:28.585051Z", "completed_at": "2022-12-20T02:59:28.585063Z"}], "thread_id": "Thread-2", "execution_time": 0.014928102493286133, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads.not_null_facebook_ads__ad_report_ad_id.3811d9c238"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T02:59:28.571888Z", "completed_at": "2022-12-20T02:59:28.584334Z"}, {"name": "execute", "started_at": "2022-12-20T02:59:28.585237Z", "completed_at": "2022-12-20T02:59:28.585240Z"}], "thread_id": "Thread-1", "execution_time": 0.015105962753295898, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__ad_set_report_date_day__account_id__campaign_id__ad_set_id.3dd4da872f"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T02:59:28.577807Z", "completed_at": "2022-12-20T02:59:28.584795Z"}, {"name": "execute", "started_at": "2022-12-20T02:59:28.585734Z", "completed_at": "2022-12-20T02:59:28.585738Z"}], "thread_id": "Thread-3", "execution_time": 0.014962911605834961, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__campaign_report_date_day__account_id__campaign_id.7cd75107e6"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T02:59:28.572033Z", "completed_at": "2022-12-20T02:59:28.584959Z"}, {"name": "execute", "started_at": "2022-12-20T02:59:28.586099Z", "completed_at": "2022-12-20T02:59:28.586103Z"}], "thread_id": "Thread-4", "execution_time": 0.01571202278137207, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads.not_null_facebook_ads__ad_set_report_ad_set_id.1ac870f5e4"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T02:59:28.588092Z", "completed_at": "2022-12-20T02:59:28.597267Z"}, {"name": "execute", "started_at": "2022-12-20T02:59:28.597545Z", "completed_at": "2022-12-20T02:59:28.597551Z"}], "thread_id": "Thread-2", "execution_time": 0.010973930358886719, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads.not_null_facebook_ads__campaign_report_campaign_id.d4f96d8d21"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T02:59:28.588255Z", "completed_at": "2022-12-20T02:59:28.597468Z"}, {"name": "execute", "started_at": "2022-12-20T02:59:28.598212Z", "completed_at": "2022-12-20T02:59:28.598219Z"}], "thread_id": "Thread-1", "execution_time": 0.011287927627563477, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads.dbt_utils_unique_combination_of_columns_facebook_ads__url_report_date_day__account_id__campaign_id__ad_set_id__ad_id.03a7e82eb7"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-12-20T02:59:28.590947Z", "completed_at": "2022-12-20T02:59:28.597699Z"}, {"name": "execute", "started_at": "2022-12-20T02:59:28.598834Z", "completed_at": "2022-12-20T02:59:28.598838Z"}], "thread_id": "Thread-3", "execution_time": 0.011381864547729492, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.facebook_ads.not_null_facebook_ads__url_report_base_url.b7757e50be"}], "elapsed_time": 2.606321096420288, "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 From 858d7985e9e9f50c14572735c3213a465efb5be7 Mon Sep 17 00:00:00 2001 From: fivetran-joemarkiewicz Date: Wed, 21 Dec 2022 10:34:14 -0600 Subject: [PATCH 40/40] update package dependency --- packages.yml | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/packages.yml b/packages.yml index dffd789..d946533 100644 --- a/packages.yml +++ b/packages.yml @@ -1,7 +1,3 @@ packages: -# - package: fivetran/facebook_ads_source -# version: [">=0.6.0", "<0.7.0"] - -- git: https://github.com/fivetran/dbt_facebook_ads_source.git - revision: MagicBot/dbt-utils-cross-db-migration - warn-unpinned: false \ No newline at end of file +- package: fivetran/facebook_ads_source + version: [">=0.6.0", "<0.7.0"] \ No newline at end of file